/******* THIS CODE WILL CHEK VALUE ENTERED ARE NUMERIC AND FUNCTION REMOVES WHITE SPACES OF 
LEFT AND RIGHT SIDE LIKE TRIM FUNCTN IN VBSCRIPT  ***************/
var fieldVal;
var remChar = " ";		
function chekNo(fieldName){
	fieldVal = lhTrim(fieldName.value, remChar);
	if(fieldVal == ""){
		alert("Please Enter Value");
		fieldName.focus();
		return false;
	}
	if(isNumInt(fieldVal))
		fieldName.value = Math.abs(parseInt(fieldVal));
	else{
		alert("Please Enter Positive Integer Value");
		fieldName.value = '';
		fieldName.focus();
		return false;
	}
	return true;
}
function isNumInt(inStr){
  return (!isNaN(parseInt(inStr))) ? true : false;
}

function chekBlank(fieldName,fieldDesc){	
	//alert("In ChekBlank");	
	fieldVal = lhTrim(fieldName.value, remChar);
	if(fieldVal == ""){
		alert("Please Enter " + fieldDesc);
		//alert(fieldName);
		fieldName.focus();
		return false;
	}
	return true;
}

function lhTrim(inStr,remChar){
	var retStr = inStr;
	if (remChar.length){
		while(''+retStr.charAt(0)==remChar){
			retStr=retStr.substring(1,retStr.length);
		}while(''+retStr.charAt(retStr.length-1)==remChar){
			retStr=retStr.substring(0,retStr.length-1);
		}
	}
	return retStr;
}
/*************************** CODE ENDS HERE ******************************************/

function isBlank(s){
	var len=s.length;
	var i;
	for(i=0;i<len;++i){
	  if(s.charAt(i)!=" "){
		  //alert("Field should not be blank");
		  return false;
	  }
	}
	return true;
}
function validate(fieldName,fieldValue){
   if(isBlank(fieldValue.value)){
	 alert(fieldName+" cannot be blank.");
	 return false;
	}
   return true
}
function chekSpecialChar(fieldName,fieldValue1){
	fieldValue = fieldValue1.value;
	//chars=new Array("~","`","!","#","$","%","^","&","*","(",")","+","=","|","\\","{","}","[","]",":",";","'","/","'","<",">","?",","," ","\"");
	//var varLen=fieldValue.length; 	alert("chars.length= " + chars.length)
	chars=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","-","_",".","@");
	for(var i=0;i<fieldValue.length;i++){
		for(j=0 ;j<chars.length ;j++){
			//if(fieldValue.charAt(i).toString()==chars[j].toString()){
			if(fieldValue.charAt(i)==chars[j]){
				alert("I= " + i + " ,fieldValue= " + fieldValue.charAt(i) + " ,Chars= " + chars[j]);
				//alert("Character does not Match");
				alert("Character Matched");
			}
			else{
				alert("Character does not Match---J= " + chars[j] + "I= " + i);
				return false;
			}	
		}	
	}
}	

function chekLogin(fieldName,fieldValue1){
	//alert("In chekLogin");
	fieldValue = fieldValue1.value;
	if(!chekBlank(fieldValue1,fieldName)){
			return false;
		}
	//var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.@"
	var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}
function chekPassword(fieldName,fieldValue1){
	//alert("In chekZip");
	fieldValue = fieldValue1.value;
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.@#!$~*"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}

function chekPwd(fieldName,fieldValue1){
	fieldValue= fieldValue1.value;
	chars=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","-","_",".","@","#","!","$","~","*")
		//var varLen=document.form1.password.value.length;
		for(var i=0;i<fieldValue.length;i++){
			for(j=0 ;j<chars.length ;j++){
				if(fieldValue.charAt(i)!=chars[j]){
					alert("Please do not enter special characters in the " + fieldName);
					document.form1.password.focus();
					return false;
				}
			}
		}
}
function chekName(fieldName,fieldValue1){
	//alert("In chekZip");
	fieldValue = fieldValue1.value;
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}
function chekEmail(fieldName,fieldValue1){
	fieldValue = fieldValue1.value;
	if(!chekBlank(fieldValue1,fieldName)){
				return false;
			}
	//fieldValue = lhTrim(fieldValue, remChar);
	//alert("In chekEmail fieldValue= " + fieldValue);
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.@"
		for(var i=0; i<fieldValue.length; i++){
			if(valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		if(fieldValue.indexOf('@') < 1 ){
			alert(fieldName + " is not valid ");
			fieldValue1.focus();
			return false;
		}
		/*if(fieldValue.indexOf('.') < 2){
			alert("Enter correct E-mail ID in " + fieldName);
			fieldValue1.focus();
			return false;
		}	*/
		//._- Special Character is not allowed immediately Before @ --- Validatn
		   for(i=0 ;i<=fieldValue.length ;i++){
		   		if(fieldValue.charAt(i) == "@"){
					//alert("I= " + i + " , @ Char = " + fieldValue.charAt(i));
					if(fieldValue.charAt(i-1) == "." || fieldValue.charAt(i-1) == "_" || fieldValue.charAt(i-1) == "-"){
						//alert("Special Character is not allowed immediately Before @ ");
						alert("E-mail ID is not valid ");
						fieldValue1.focus();
						return false;
					}
				}	
		   }
		   //Special Character is not allowed immediately After @ --- Validatn
		   for(i=0 ;i<=fieldValue.length ;i++){
		   		if(fieldValue.charAt(i) == "@"){
					//alert("I= " + i + " , @ Char = " + fieldValue.charAt(i));
					if(fieldValue.charAt(i+1) == "." || fieldValue.charAt(i-1) == "_" || fieldValue.charAt(i-1) == "-"){
						//alert("Special Character is not allowed immediately After @ ");
						alert("E-mail ID is not valid ");
						fieldValue1.focus();
						return false;
					}
				}	
		   }
		   // Special Character should not be first character --- Validatn
		   var valid="0123456789-_.@"
		   for(i=0 ;i<=fieldValue.length ;i++){
				if(valid.indexOf(fieldValue.charAt(0)) >= 0) {
					//alert('I= ' + i + " , First Field Value= " + fieldValue.charAt(0));
					alert('Special Character should not be first character');
					fieldValue1.focus();
					return false;
				}
			}
			//Duplicate @ not allowed
			var flag1 = false
			for(i=0 ;i<=fieldValue.length ;i++){
				if(fieldValue.charAt(i) == "@" && flag1 == true){
					alert("Duplicate @ not allowed");
					fieldValue1.focus();
					return false;
				}
				if(fieldValue.charAt(i) == "@"){
					var flag1 = true
					//alert("I= " + i + " , @ Char = " + fieldValue.charAt(i));
				}				
			}
			//AT LEASET ONE DOT SHOULD APPEAR AFTER @
			for(i=0 ;i<=fieldValue.length ;i++){
				if(fieldValue.charAt(i) == "@"){
					var newSubString = fieldValue.substring(i+1,fieldValue.length);
					//alert("newSubString= " + newSubString);
					if(newSubString.indexOf(".") == -1){
						//alert("Please enter dot after @");
						alert("E-mail ID is not valid ");
						fieldValue1.focus();
						return false;
					}
				}
			}
			//AT LEASET 2 CHARACTER APPEAR AFTER LAST DOT
			var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
			fieldValue = fieldValue1.value;
			for(i=0 ;i<=fieldValue.length ;i++){
				var newSubString = fieldValue.substring(fieldValue.lastIndexOf(".") + 1,fieldValue.length);
				//alert("Last Index= " + fieldValue.lastIndexOf(".") + "newSubString= " + newSubString);
				//alert("Length of New Sub String= " + newSubString.length);
				//return false;  || valid.indexOf(fieldValue.charAt(i)) == -1
				if(newSubString.length < 2 || valid.indexOf(newSubString.charAt(i)) == -1){
					//alert("At Least 2 character should appear after last Dot \n Only Alphabets are allowed");
					alert("E-mail ID is not valid ");
					fieldValue1.focus();
					return false;
				}	
			}
		//return true;
}

function chekPhone(fieldName,fieldValue1){
	//alert("In chekPhone");
	fieldValue = fieldValue1.value;
	var valid="0123456789-/+,"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}

function chekAddress(fieldName,fieldValue1){
	//alert("In chekAddress");
	fieldValue = fieldValue1.value;
	var valid="%"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == 0) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
}

function chekCity(fieldName,fieldValue1){
	//alert("In chekPhone");
	fieldValue = fieldValue1.value;
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_."
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}

function chekZip(fieldName,fieldValue1){
	//alert("In chekZip");
	fieldValue = fieldValue1.value;
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"
		for (var i=0; i<fieldValue.length; i++){
			if (valid.indexOf(fieldValue.charAt(i)) == -1) {
				alert('Invalid characters in ' + fieldName);
				fieldValue1.focus();					
				return false;
			}
		}
		//return true;
}
//COUNTRY VALIDATION GOES HERE
function chekCountry(){
	if(document.form1.country.selectedIndex == 0){
		alert("Please Select Country");
		document.form1.country.focus();
		return false;
	}
	return true;
}
//COUNTRY VALIDATION ENDS HERE
