
// []------------------------------------------------------------[]
// |															 |
// |		Created By  : SIVAKUMAR								 |
// |		Created On	: 09/04/2002							 |
// |		Modified On	:                                        |
// []------------------------------------------------------------[]

// []************************************************************[]

//	1.  CheckEmpty
//	2.  CheckWhiteSpace
//	3.  CheckFloat
//	4.  CheckInteger
//	5.  CheckAlphabet
//	6.  CheckAlphaNumeric
//	7.  CheckLeap
//	8.  CheckDate
//	9.  CheckEmail
//	10. CheckPinCode
//	11.	CheckSignedInteger
//	12.	CheckSignedFloat
//	13. TrimSpace
//	14. ReplaceSingleQuote
//	15. CheckAlphaNumericSpaces
//  16. ReplaceCommawithSpace
//  17. CheckForSingleQuotes

// []************************************************************[]

function CheckEmpty(field,str) {
	var Val;		
	Val = field.value;
    	if(Val==""||Val==null) {    
		alert(str + " cannot be empty. ");
		field.focus();
		return false;
	}
	return true;
}

//*****************************************************************************

function CheckWhiteSpace (field,str)
{
	var i;
	var whitespace = " \t\n\r";
	var Val;		
	Val = field.value;
	if (Val.length==0) return true;
	
    for (i = 0; i < Val.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = Val.charAt(i);
        if (whitespace.indexOf(c) == -1) return true;
    }

	if (Val.length != 0)
	{
		alert(str + " cannot contain only spaces. ");
		field.focus();
	}
    return false;
}

//******************************************************************************

function CheckFloat(field,str)
{
	var Val;		
	Val = field.value;
	if(isNaN(Val))
	{
		alert(str + " should be Numeric. ");
		field.focus();
		return false;
	}
	return true;
}

//******************************************************************************

function CheckInteger(field,str) {

	var Val;
	var Onechar;

	Val=field.value;
 	Onechar=Val.charAt(0);
	
	for(x=0;x<Val.length; x++) {
	   Onechar=Val.charAt(x);
	    if((Onechar<"0" || Onechar>"9")) {
		 alert(str + " field should contain only Numbers");
		 field.focus();
		 return false;
	   }
	}        
	return true;
}

//******************************************************************************

function CheckAlphabet(field,str) {

	var Val;		
	var Onechar;	
	Val = field.value;
 	Onechar=Val.charAt(0); 
	
	for(x=0;x<Val.length; x++) {   
	   Onechar=Val.charAt(x);  
	   if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z")) {
//	   if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z") && (Onechar != " ")) {
		 alert(str + " field should contain only alphabets");
		 field.focus();
		 return false;
	   }
	}        
	
return true;
}
//******************************************************************************

function CheckAlphaNumeric(field,str) {

	var Val;         
	var Onechar;	
	Val=field.value; 
 	Onechar=Val.charAt(0);  

	for(x=0;x<Val.length; x++) {   
	   Onechar=Val.charAt(x);  
		if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z") && (Onechar < "0" || Onechar > "9")) {
			alert("\" " + str + " \"" + " field should contain only Alphabets or Numbers. ");
			field.focus();
			return false;
	   }
	}        
	return true;
}

//******************************************************************************

function CheckLeap(field)
{
  var YYYY = parseInt(field.value);

  if ( (YYYY % 4 == 0 && YYYY % 100 != 0) || (YYYY % 400 == 0) )
   return true;
  else
   return false;
}

//******************************************************************************

function CheckDate(DD,strDD,MM,strMM,YYYY,strYYYY,str)
// you should have three text boxes showing dd mm and yyyy in your form separatley
{

var Months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var dd     = DD.value;
var mm     = MM.value;
var yyyy   = YYYY.value;

 if (CheckLeap(YYYY) && CheckNumber(YYYY,strYYYY)) 
   Months[1] = 29;
 
 if (CheckNumber(DD,strDD) && CheckNumber(MM,strMM) && CheckNumber(YYYY,strYYYY) )
 { 
    
 	if (mm > 12 || dd>31 || yyyy<1800 || mm<1 || dd<1) 
 	{
		alert(str + " field is of invalid date.");
  	   MM.focus();	
           return false;
 	}
 	else
 	{
  	   if (dd > Months[mm-1]) {
			alert(str + " field is of invalid date.");
			MM.focus();
	   		return false;
           }
  	   else
   			return true;
	 }
 }

}

//******************************************************************************

function CheckEmail(field)
{
	 var mailvalue = field.value;        // to store the value of the input
	 var maillength = mailvalue.length; // to find the length of the input value
	 var validmail = true;
	 var count = 0; 	// to count the number of @ in the input 

      // TO CHECK WHETHER "@" OR "." IS AT THE BEGINNING  
  
   if(mailvalue.indexOf("@") == "0" || mailvalue.indexOf(".") == "0")
      {
          alert(" Error-Invalid Email:- @ or . should not be in first position");
          return false;
      }

    // To check whether @ or . is there or not

   if(mailvalue.indexOf("@") == -1 || mailvalue.indexOf(".") == -1)
            validmail = false;

    var positionat = mailvalue.indexOf("@");
    var positiondot = mailvalue.indexOf("."); 

   //checks whether @ and . are adjacent 
 
   if((mailvalue.indexOf(".") == positionat +1)||(mailvalue.indexOf("@") == positiondot +1))
     { 
        validmail = false; 
     }
   if((maillength - 1) == positiondot || (maillength-1) == positionat)     
    { 
      validmail = false;
    }

   // CHECK FOR MORE THAN ONE "@" SYMBOL 

   for(var i=0;i<maillength;i++)
     {
           if(mailvalue.charAt(i) == "@")
   	      count = count +1;
           if(count > 1)
	     {              
       	      validmail = false; 
	      break;
	     }
     } 
    
    if(validmail == false)
      {
         alert("Invalid Email");
         field.focus();
         return false;
      }
return true;
}

//******************************************************************************

function CheckPinCode(field,str)
{
	if(CheckInteger(field,str) && field.value.length == 6) 
	{
		if(field.value>599999 && field.value<700000)return true;
		else
		{
			alert(str + " field is not valid.");
			field.focus();
			return false;
		}
	
	}
	
	else 
	{
		alert(str + " field is not valid.")	;
		field.focus();
		return false;
	}
}

//*******************************************************************************

function CheckSignedInteger(field,str)
{   
		var Val;
		var OneChar;
		Val = field.value;
        var startPos = 0;
        // skip leading + or -
        if ( (Val.charAt(0) == "-") || (Val.charAt(0) == "+") )
			startPos = 1;    
		
		for(x=startPos;x<Val.length; x++) {
		   Onechar=Val.charAt(x);
		   if((Onechar<"0" || Onechar>"9")) {
			alert(str + " field should contain only Numbers with only one sign in the begining.");
			field.focus();
			return false;
			}
		}

        //return (CheckInteger(Val.substring(startPos, Val.length),str ))
		return true;
}

//*******************************************************************************

function CheckSignedFloat(field,str)
{
	var Val;		
	Val = field.value;
	if(isNaN(Val))
	{
		alert(str + " field should contain only Numeric value with only one sign in the begining. ");
		field.focus();
		return false;
	}
	return true;
}

//*******************************************************************************

function TrimSpace(Val)
{
        if(Val.length==0) {    
            return Val;
          }                  
        
	var frontSpaceCount=0;
        var backSpaceCount=0;
        
        for(loopCounter=0;loopCounter< Val.length;loopCounter++)   {   
             if(parseInt(Val.charCodeAt(loopCounter)) == 32)  { 
                        frontSpaceCount+=1;       
              } 
             else 
               break;
	}

        if (frontSpaceCount != Val.length) 
         {
           for(loopCounter=Val.length-1;loopCounter>=0;loopCounter--)
            {
              if(parseInt(Val.charCodeAt(loopCounter)) == 32)                        
                   backSpaceCount+=1;
              else     
                break;
            }
        
         }

        if(frontSpaceCount > 0)  
            Val= Val.substring(frontSpaceCount,Val.length)
        if(backSpaceCount>0)   
            Val= Val.substring(0,Val.length-backSpaceCount)
  
return(Val)
}

//*******************************************************************************

function ReplaceSingleQuote(Val) {
	
	var FieldLength;
	var Onechar;
      
    FieldLength=Val.length;
 	//Onechar=Val.charAt(0);
	
	for(x=0;x<FieldLength; x++) {
	   Onechar=Val.charAt(x);
	    if(Onechar == "'") {
			//alert(Val.substring(0,x));
			//alert(Val.substring(x+1,Val.length));
			Val = Val.substring(0,x) + "`" + Val.substring(x+1,Val.length)
	   }
	}        
	return Val;
}



//*******************************************************************************
function CheckSpecialCharacters(field,str)
 {
	var FieldLength;
	var Onechar;
	var Val;
	Val = field.value;
	var a =  new Array("@","#","$","%","^","&","*","(",")","!","~","|","'","<",">","{","}","+",";","=","_","\"");
    FieldLength=Val.length;
 	Onechar=Val.charAt(0);
	for(x=0;x<FieldLength; x++)
	 {
	   Onechar=Val.charAt(x);
	   for(i=0;i<22;i++)
	    {
	      if(Onechar == a[i]) 
			{
			  alert (str + "Cannot Contain Special Characters");
			  field.focus();
			  return false;
	        }
	  }
	 }
       return true;
     }
//*****************************************************************************     
	 function CheckComboValue(field,str)
	 {
		var Val;
		Val = field.value;
	  if (Val == 0){
	      alert ("Please Select the " + str + "!!")
		  field.focus();
	      return false;
	    }
	    return true;
	    }


//****************************************************************************

function CheckOptionValue(field,str)
    {
	 var Val;
	 var fieldlength;
     fieldlength = field.length;
     for (var i = 0; i < fieldlength; i++)
       {if (field[i].checked) return true;  
       }
     alert ("Please Select " + str + "!!");  
     return false;
    }
    
    
//****************************************************************************
    
    
function CheckAlphabetspace(field,str) {

	var Val;		
	var Onechar;	
	Val = field.value;
 	Onechar=Val.charAt(0); 
	
	for(x=0;x<Val.length; x++) {   
	   Onechar=Val.charAt(x);  
//	   if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z")) {
	   if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z") && (Onechar != " ")) {
		 alert(str + " field should contain only alphabets");
		 field.focus();
		 return false;
	   }
	}        
	
return true;
}

//****************************************************************************
//This new Function added By Kalyan on May 08,2002 for AlphbetNumeric with white Spaces
//For Adding (Police Staion (Staion table) details)
function CheckAlphaNumericSpaces(field,str) {

	var Val;         
	var Onechar;	
	Val=field.value; 
 	Onechar=Val.charAt(0);  

	for(x=0;x<Val.length; x++) {   
	   Onechar=Val.charAt(x);  
		if((Onechar<"a" || Onechar>"z") && (Onechar<"A" || Onechar>"Z") && (Onechar < "0" || Onechar > "9") && (Onechar != " ")) {
			alert("\" " + str + " \"" + " field should contain only Alphabets or Numbers. ");
			field.focus();
			return false;
	   }
	}        
	return true;
}
//************************************************************************************

function CheckZero(field,str)
{
	if (parseInt(field.value) == 0 )
	{
			alert("\" " + str + " \"" + " field should not be Zero..!!. ");
			field.focus();
			return false;
	}
	return true;
}

//************************************************************************************
function NotAuth(strMessage)
{
 alert(strMessage);
 return;	
	
}

//*******************************************************************************

function ReplaceCommawithSpace(Val) {
	
	var FieldLength;
	var Onechar;
      
    FieldLength=Val.length;
 	//Onechar=Val.charAt(0);
	
	for(x=0;x<FieldLength; x++) {
	   Onechar=Val.charAt(x);
	    if(Onechar == ",") {
			//alert(Val.substring(0,x));
			//alert(Val.substring(x+1,Val.length));
			Val = Val.substring(0,x) + " " + Val.substring(x+1,Val.length)
	   }
	}        
	return Val;
}



//*******************************************************************************

function CheckForSingleQuotes(field,str)
 {
	var FieldLength;
	var Onechar;
	var Val;
	Val = field.value;
	var a =  new Array("'");
    FieldLength=Val.length;
 	Onechar=Val.charAt(0);
	for(x=0;x<FieldLength; x++)
	 {
	   Onechar=Val.charAt(x);
	   for(i=0;i<22;i++)
	    {
	      if(Onechar == a[i]) 
			{
			  alert (str + "Cannot Contain Single Quote");
			  field.focus();
			  return false;
	        }
	  }
	 }
       return true;
     }

//*******************************************************************************
