/*
This file is used by all the ".asp" files to check the field contains like
null,date,number,etc., 
*/




function IsValidTime(timeStr)
 {
	var bValidFlag=false;
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		 bValidFlag=false;
	}

	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];

	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 23) 
	{
		alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
		bValidFlag=false;
	}

	if (hour <= 12 && ampm == null) 
	{
		if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) 
		{
			alert("You must specify AM or PM.");
			bValidFlag=false;
		}
	}
	if  (hour > 12 && ampm != null) 
	{
		alert("You can't specify AM or PM for military time.");
		bValidFlag=false;
	}
	if (minute<0 || minute > 59) 
	{
		alert ("Minute must be between 0 and 59.");
		bValidFlag=false;
	}
	if (second != null && (second < 0 || second > 59)) 
	{
		alert ("Second must be between 0 and 59.");
		bValidFlag=false;
	}
	bValidFlag=false;
	}





function checkFields(frmName,arrFieldName,arrCheckType,arrMessage) 
{
//document.xyz.length 
        
var nTotalFields=frmName.length;
var sCheckName;
var nFieldPosition;
var bValidField=false;
var sFieldName;
var sFieldValue;
var nLoop;
         
	for(nLoop=0;nLoop<nTotalFields;nLoop++) 
	{
         
		sCheckName="N";
        nFieldPosition=0;
        sFieldName=frmName.elements[nLoop].name;
         
        for(nFieldLoop=0;nFieldLoop<arrFieldName.length;nFieldLoop++) 
        {
			if(sFieldName==arrFieldName[nFieldLoop]) 
			{
				sCheckName="Y";
				sFieldValue=frmName.elements[nLoop].value;
				nFieldPosition=nFieldLoop;
			}   // end if
		 } // end for nFieldLoop
                    
		if(sCheckName=="Y") 
		{
              
			var sCheckType=arrCheckType[nFieldPosition];
			bValidField=false;
			switch (sCheckType.substr(0,4)) 
			{
				
				case "null" : 
					bValidField=funCheckNull(sFieldValue);
                    break;
				case "numb" : 
					bValidField=funCheckNumber(sFieldValue);
	                break;
				case "rang" :   
					bValidField=funCheckRange(sFieldValue,sCheckType.substr(6,(sCheckType.length-1)))
                    break;
				case "mail" :
					bValidField=funCheckMail(sFieldValue);
					break;
				case "date" :
					bValidField=funCheckDate(sFieldValue);
					break;
				case "tele" :
					bValidField=funCheckTele(sFieldValue);
					break; 									   
                                    
			} // end switch
			if(bValidField) 
			{
				alert(arrMessage[nFieldPosition]);
				break; 
			}
		} // end if  
	}// end Main for loop
	if(bValidField) 
	{
		return false;  
	}
    else 
    {
		return true;
	}
		
} // end Main function

function funlenpwd(sFieldValue)
	{
		var bValidFlag;
		if(sFieldValue.length<3)
			{
				bValidFlag=false;
			}
	    else 
			{ 
				bValidFlag=true;
			}
		return bValidFlag;

	}
function funlenpwd2(sFieldValue)
	{
		var bValidFlag;
		if(sFieldValue.length>3)
			{
				bValidFlag=false;
			}
	    else 
			{ 
				bValidFlag=true;
			}
		return bValidFlag;

	}
       
function funCheckNull(sFieldValue) 
{

	 // cheking for Null
		 
	var bValidFlag;
    if (sFieldValue=="") 
    {
		bValidFlag=true;
	}
    else 
    { 
		bValidFlag=false;
	}
    return bValidFlag;
        
}  // end of funCheckNull      

function funCheckNumber(sFieldValue) 
{

	 // cheking for number
	var nLoop;	 
		
	var bValidFlag=false;
        
    if(sFieldValue.length!=0) 
    {
		for(nFunLoop=0;nFunLoop<sFieldValue.length;nFunLoop++) 
		{
        
          if ((sFieldValue.charAt(nFunLoop) < "0") ||(sFieldValue.charAt(nFunLoop) > "9")) 
          {
			bValidFlag=true;
          } //end if
		} // end for
	}
    else
    {
		bValidFlag=true;
	} 
    return bValidFlag;
        
} // end of funCheckNumber                 
     
function funCheckRange(sFieldValue,sRange) 
{

	 // cheking for Range
					 
	var nLowerValue;
    var nUpperValue;
    var nDividePosition;
    var bValidFlag=false;
    var bNumberFlag=false;
			        
	bNumberFlag=funCheckNumber(sFieldValue);
			         
    if (bNumberFlag) 
    {
		bValidFlag=true;
	}
    else
    {
		nDividePosition=sRange.indexOf(",");
        nLowerValue=parseInt(sRange.substr(0,nDividePosition));
        nUpperValue=parseInt(sRange.substr(nDividePosition+1,sRange.length-1));
					                        
        if ((parseInt(sFieldValue) < nLowerValue) || (parseInt(sFieldValue) > nUpperValue)) 
        {
			bValidFlag=true; 
		}
    }
    return bValidFlag;
			         
} // end of funCheckRange

        
function funCheckMail(sFieldValue) 
{
	
	 // cheking for Mail
		 
	var nAtPosition=0;            
    var nDotPosition=0;
    var nLength;
    var bValidFlag=false;
    var nLessPos=0;
      
	sFieldValue=funTrim(sFieldValue);
	if (sFieldValue.indexOf("<") != -1)
	{
		return true;
	}
	if (sFieldValue.indexOf(">") != -1)
	{
		return true;
	}	
	if (sFieldValue.indexOf(" ") != -1)
	{
		bValidFlag=true;
	}
	else
	{  
		if (sFieldValue.length<3) 
		{
			bValidFlag=true; 
		}
		else
		{
			nAtPosition=sFieldValue.indexOf("@");
			nDotPosition=sFieldValue.indexOf(".",nAtPosition);
                          
			if ((nAtPosition < 1) || (nDotPosition <=nAtPosition+2)|| (nDotPosition==sFieldValue.length-1)) 
			{
				bValidFlag=true; 
			}
		}
	}               
    return bValidFlag;
         
} // end of funCheckMail


function funCheckDate(sFieldValue)
{

	 // cheking for Date
		 
	var dGivenDate;
    var dGenDate;
    var bValidFlag=false;
        
    dGivenDate=new Date(sFieldValue);
    dGenDate=new Date(sFieldValue);
    dGivenDate=sFieldValue;
		
	if ((parseInt(dGivenDate.substr(0,2)))!=dGenDate.getDate()) 
	{
		bValidFlag=true;   
	}                  
		 
	return bValidFlag;
	    
} // end of funCheckDate
	    
function funTrim(sFieldValue) 
{
		// Used for trim the given value
		   
		var nLeft;
		var nRight;
		var nLength;
		
		if (sFieldValue.length==0) 
			{
				return sFieldValue;
			}
		else
			{
				nLeft=0;
				nLength=sFieldValue.length;
				while ( (sFieldValue.charAt(nLeft)==" ") && (nLeft < nLength))
				{
					nLeft=nLeft+1;
				}
				if (nLeft !=nLength) 
				{
					nRight=nLength-1;
					while ((sFieldValue.charAt(nRight)==" ") && (nRight > 0 ))
					{
						nRight=nRight-1;
					}
					if (nRight > nLeft) 
					{
						nLength=nRight-nLeft+1;
						sFieldValue=sFieldValue.substr(nLeft,nLength);
					}
				}
				else
				{
				sFieldValue="";
				}
				//alert("***"+sFieldValue+nLeft)
				return sFieldValue;
			}
} // end of funTrim
	
function funCheckTele(sFieldValue)
{
		// cheking for Telephone
		
		var bValidFlag=false;
		var nLoop;
		sFieldValue=funTrim(sFieldValue);
		if (sFieldValue.length==0) 
			{
				return true;
			}
		else
			{	nLength=sFieldValue.length;   
				for(nLoop=0;nLoop<nLength;nLoop++)
					{	cChar=sFieldValue.charAt(nLoop);
						if ( ((cChar>="0") && (cChar <="9")) || (cChar==" ") || (cChar=="(") || (cChar==")") || (cChar=="-") || (cChar=="+") )
							{
								cchar=0;
							}
						else
							{
								bValidFlag=true;
							}
					}
				return bValidFlag;
			}		
} // end of funCheckTele

function validDate(sd,sm,sy)
{

	//var value = false;
	curmonth = sm;  
	curday = sd;
	curyear = sy;
	var bValidFlag;
 	if ((curmonth== "Apr" || curmonth== "Jun" || curmonth== "Sep" || curmonth== "Nov") && curday==31) 	
	{
	if(curmonth=="Apr")	curmonth="April"
	if(curmonth=="Jun")	curmonth="June"
	if(curmonth=="Sep")	curmonth="September"
	if(curmonth=="Nov")	curmonth="November"
		alert("Month "+ curmonth +" doesn't have 31 days!")
		bValidFlag = true;
	}
		else 
    { 
		bValidFlag=false;
	}
	
	if (curmonth == "Feb")
	{
		 // check for february 29th
		var isleap = (curyear % 4 == 0 && (curyear % 100 != 0 || curyear % 400 == 0));

		if (curday>29 || (curday==29 && !isleap))
		{
			alert("February " + curyear + " doesn't have " + curday + " days!");
			bValidFlag = true;
		}
		else 
			{ 
				bValidFlag=false;
			}   		
	
	}
	
    return bValidFlag;
	
}

function validateSpace(str)
{
	var bValidFlag ;
	var strArray = str.split(" ");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}	
	else
		bValidFlag = false;
	return bValidFlag;
}


function validatesingleqoute(str)
{
	var bValidFlag  = false;
	var strArray = str.split("'");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		return bValidFlag;
		
	}	
}



function validateCharacter(str)
{
	var bValidFlag  = false;
	var strArray = str.split("~");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}	
	var strArray = str.split("`");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}	
	var strArray = str.split("!");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}	
	var strArray = str.split("@");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("#");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}	
	var strArray = str.split("$");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("%");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	
	var strArray = str.split("^");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("&");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("*");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("(");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split(")");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("-");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("=");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("+");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	
	var strArray = str.split("\\");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	} 
	
	var strArray = str.split("|");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	
	var strArray = str.split("{");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("}");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("[");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("]");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	
	var strArray = str.split(":");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split(";");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("'");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	/*
	var strArray = str.split("");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	*/
	
	
	var strArray = str.split("<");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split(",");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split(">");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split(".");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("?");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	var strArray = str.split("/");
	if(strArray.length > 1)
	{
		bValidFlag = true;
		//alert(message);
		
	}
	return bValidFlag;
	
}



