/*
'**************************************************************************************
'Name of the program	:	Common validations
'Purpose of the program	:	Common validations for fortescrow pages
'Author					:	DNS Software Technologies Pvt. Ltd. (RT)
'
'   Date            Person      				Description
'   ----            ------      				-----------
'   04/Dec/2003    Sarang Hasabnis				Created for common validations for fortescrow pages
'*************************************************************************************
*/

/*
1. Special characters set - 
	` ~ ! @ # $ % ^ & * ( ) - = \ _ + | [ ] { } ; ' : " , . / ? > <
2. Characters set - 
	a - z
	A - Z
3. Numbers set -
	0 - 9

first name, last name - set 2
user name, password initials - set 2, set 3,- _

*/


function CharacterValidation(parmValidChars, parmString){
 var ValidCharacters = parmValidChars;
 var i;
 for(var z = 0; z < parmString.length; z++){
  i = ValidCharacters.indexOf(parmString.charAt(z));
  
  if(i == -1) 
   return false;
 }  
 return true;
}
function fnValidateCharacters(parmValue,parmField) {
    var ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'" ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }
function fnValidateCharactersWithSpace(parmValue,parmField) {
    var ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz. " ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }

function CheckAlphaNumericValue(parmValue,parmField) {
    var ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@/&',.-1234567890_'" ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }

function CheckAlphaNumericValueWithSpace(parmValue,parmField) {
    var ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz[]()-@&',._1234567890 " ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }

function fnCheckAlphaNumericValueWebAddress(parmValue,parmField) {
    var ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_//:.,-1234567890" ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }

function fnValidateNumericValue(parmValue,parmField) {
    var ValidCharacters = "+()1234567890.,-[] " ;
    if(!CharacterValidation(ValidCharacters, parmValue)){
       alert("Invalid Characters in " + parmField) ;
       return false;
     }
     return true ;
 }

function fnIsValidEmail(parmEmailID) {
	if (parmEmailID == "" || parmEmailID.length <= 0){	
		return false;
	}	
	
	var intIndex = parmEmailID.indexOf("@",0);
	if (intIndex <= 0){	
		return false;
	}			

	var intIndex1 = parmEmailID.indexOf("@",intIndex+1);
	if (intIndex1 != -1){
		return false;
	}			
		
	var intIndex1 = parmEmailID.indexOf(".",intIndex+1);
	if (intIndex1 == -1){
		return false;
	}			
			
	var intIndex1 = parmEmailID.indexOf(" ",0);
	if (intIndex1 != -1){	
		return false;
	}	
	
	var intDoubleQuotes = parmEmailID.indexOf('"',0);
	if (intDoubleQuotes != -1){	
		return false;
	}			
	var lastcharacterindex = parmEmailID.indexOf(".",parmEmailID.length-1);
	if(lastcharacterindex == parmEmailID.length-1){
		return false;
	}
		
	return true;
}

// validation function for comparing two dates
function CompareDates(cDate1, cDate2, cOp, cMsg) {
alert(cDate1);
alert(cDate2);
    alert(cOp);
	var bRet=false;
    if ( isEmpty(cDate1) || isEmpty(cDate2) ) return true;
	var oDate1 = new dateObject(cDate1);
	var oDate2 = new dateObject(cDate2);

    if ( cOp == "<" ) {
            alert(cOp);
        bRet = ( oDate1.dateNumber < oDate2.dateNumber ? true : false);
    } else if ( cOp == "<=" ) {
        bRet = ( oDate1.dateNumber <= oDate2.dateNumber ? true : false);
    } else if ( cOp == ">" ) {
        bRet = ( oDate1.dateNumber > oDate2.dateNumber ? true : false);
    } else if ( cOp == ">=" ) {
        bRet = ( oDate1.dateNumber >= oDate2.dateNumber ? true : false);
    } else if ( cOp == "==" ) {
        bRet = ( oDate1.dateNumber == oDate2.dateNumber ? true : false);
    } else if ( cOp == "!=" ) {
        bRet = ( oDate1.dateNumber != oDate2.dateNumber ? true : false);
    }
    if ( !bRet ) {
        alert(cMsg);
        return false;
    }
    return false;
    return true;
}
