//  This file contains set function to validate any form
/*  The Functions are 
	1. ValidateID, 	2. ValidateNum,	3. ValidateMail,	4. ValidateDOB,	5. ValidateAge,	6. ValidateName
*/

// To check any blank space with in the value
function isBlank(s) { 
 var len = s.length;
 var i;
 for (i=0;i<len;i++) {
  if(s.charAt(i)!="") 
  return false
 }
 return true
}

function validateId(fieldName,fieldValue) {
 var validan="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_";
 var string=fieldValue;
 var length=string.length;
 if ( fieldValue==null ) return false;
 if(length>16 || length<4) return false;

 for(i=0;i<=length;i++) {
    var substring=string.substr(i,1);
    if(validan.indexOf(substring)==-1)
      return false;
 }
 return true;
}

function validateNum(fieldName,fieldValue) {
 var validn="0123456789()-+ ";
 var string=fieldValue;
 var length=string.length;
 if ( length == 0 ) return false; 
 if(isBlank(fieldValue)) return false;
 for(i=0;i<=length;i++) {
   var substring=string.substr(i,1);
   if(validn.indexOf(substring)==-1)
     return false;
 }
 return true;
}

function validateMail(fieldName,fieldValue) {
 var string=fieldValue;
 var length=string.length;
    if(isBlank(fieldValue)) return false
    var i = 1;
    var sLength = fieldValue.length;

    // look for @, @ may start from 2nd location (ie 1)
	if ( string.indexOf("@",1) == -1 ) return false;
    // look for ., . may start from 4nd location (ie 3) a@b.com
	if ( string.indexOf("@",3) == -1 ) return false;
	// If dot is the last character error
	if ( string.indexOf("@",3) == length-1 ) return false;
    return true;
}

function validateName(fieldName,fieldValue){
 if(isBlank(fieldValue)) return false
      var validname="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' .";
      var theLength=fieldValue.length;
           	
	for(var i=0;i<theLength;i++){
		var theChar=fieldValue.substr(i,1);
		if(validname.indexOf(theChar)==-1 ) return false;
	}
     return true;
}

function validate(fieldName,fieldValue){
      var validname="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz './#,0123456789";
      var theLength=fieldValue.length;
            	
	for(var i=0;i<theLength;i++){
		var theChar=fieldValue.substr(i,1);
		if(validname.indexOf(theChar)==-1 ) return false;
	}
     return true;
}

function validateAge(fieldName,fieldValue){
	if(isNaN(fieldValue) || fieldValue>100 || fieldValue.length==0 || fieldvalue < 0 )
  		return false;
	else
	    return true;
}

function validDOB(days,months,year){
	if(isNaN(days) || isNaN(months) || isNaN(year))
      return false;
    var daysvalue=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if ( months <1 || months > 12 )
		return false;
	if(year%4==0 ||year%100==0)
	    if ( months == 2 )
		    if ( days <= 29 && days > 0 ) 
			    return true;
	if ( days > daysvalue[months-1] || days < 1 ) return false;
	return true;
}