/*This validation is using with fValidator - Functions used here
Validate()
isProper(string)
isProperAlphaNum(string)
deleteBlanks(entry)
CharsInBag(s)
isInteger(s)
echeck(str)
ismaxlength(obj)
numbersonly(e, decimal)
clearText(thefield)
replaceText(thefield)
checkAlphaChar*/

	function Validate(){

	var name = document.download.name.value;
	var email = document.download.email.value;

	if(!isEmpty(document.download.name,"name")) {
    return false;
    }
	
	if(!checkAlphaChar(name)) {
		alert("Please enter valid name");
		document.download.name.focus();
		return false;
	}
    
	if(!isEmpty(document.download.email,"email")) {
    return false;
    }
	if(!checkemail(email) || !checkBlanks(email)) {
		alert("Please enter valid email");
		document.download.email.focus();
		return false;
	}
    
	var phone =  checkPhone(document.download.phone.value);
	phone =  checkPhoneBlanks(phone);

	if(!isEmpty(document.download.phone,"phone")) {
    return false;
    }
	
	if((phone.length > 0)) {
		if((phone.length > 0 && phone.length < 10 )){
			alert('Please enter valid phone number');
			document.download.phone.focus();
			retVal =  false;
			return false;
		}
		if ((isNaN(parseInt(phone)))){
			alert('Please enter valid phone number');
			document.download.phone.focus();
			retVal =  false;
			return false;
		}
	}
	if(!checkAlphaChar(document.download.city.value)) {
			alert("Please enter valid city");
			document.download.city.focus();
			return false;
		}

     
	      
	//alert('End of the function');
	}
	//Main function ends here

	function isProper(string) {
	
	   if (!string) return false;
	   var iChars = "*|,\":<>[]{}`\;()@&$#%1234567890";
	
	   for (var i = 0; i < string.length; i++) {
		  if (iChars.indexOf(string.charAt(i)) != -1)
			 return false;
	   }
	   return true;
	} 

	function isProperAlphaNum(string) {
	
	   if (!string) return false;
	   var iChars = "*|,\":<>[]{}`\;()@&$#%";
	
	   for (var i = 0; i < string.length; i++) {
		  if (iChars.indexOf(string.charAt(i)) != -1)
			 return false;
	   }
	   return true;
	} 

	function deleteBlanks(entry)
	{
		var len = entry.length ;
		var foundBlank = 1;
		while(foundBlank == 1 && len > 0) 
		{
			var indx = entry.indexOf(" ");
			if(indx == -1) 
				foundBlank = 0 ;
			else
				entry = entry.substring(0,indx) + entry.substring(indx+1,len);
			len = entry.length;
		}
		return entry;
	}

	var bugchars = '!#$^&*()+|}{[]?><~%:;/,=`"\'';
	function CharsInBag(s)
	{   var i;
	var lchar="";
		// Search through string's characters one by one.
		// If character is not in bag.
		for (i = 0; i < s.length; i++)
		{   
			// Check that current character isn't whitespace.
			var c = s.charAt(i);
			if(i>0)lchar=s.charAt(i-1)
			if (bugchars.indexOf(c) != -1 || (lchar=="." && c==".")) return false;
		}
		return true;
	}
	
	function isInteger(s)
	{   var i;
		for (i = 0; i < s.length; i++)
		{   
			// Check that current character is not a number.
			var c = s.charAt(i);
			if ((c >= "0") && (c <= "9") && (c != ".")) return false;
		}
		// All characters are numbers.
		return true;
	}
	function checkemail(email){
	var re = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
	var email = email.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
	if (!re.test(email)) {
		return false;
	}
	var domainarr = email.split("@");
	var tottaldot = domainarr[1].split(".");
	if(tottaldot.length>4) { return false; }
	return true;
}


	/*Delete blanks from the words
	  onblur="trim_text(this.value,'fieldname','formname');"*/
	/*function trim_text(str) {
		str = str.replace(/^\s+|\s+$/g, '');
		return str;
	}*/
	
	function trim_text(str,controlname,frm)
{
	str = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
	cname = eval("document.forms[frm]."+controlname);
	cname.value=str;
	return cname;
}

//Function for checking the maximun characters in the teaxt area
	function ismaxlength(obj){
	/*var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""*/
	var mlength=250; 
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
	}
	//Function using to enter numbers only

	function numbersonly(e, decimal) {
		var key;
		var keychar;
	  
		 if (window.event) {
			key = window.event.keyCode;
		  }
		  else if (e) {
			 key = e.which;
		  }
		  else {
			 return true;
		  }
		  
		  keychar = String.fromCharCode(key);
	  
		  if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
			 return true;
		  }
		  else if ((("0123456789").indexOf(keychar) > -1)) {
			 return true;
		  }
		  else if (decimal && (keychar == ".")) { 
			return true;
		  }
		  else
			 return false;
	}

	//Validate Month
	function isValiddate(dateval) {
		var key = "/";
		var mm = dateval.split("/") ;
		if(mm[0] > 12) {
			return false;
		}
		return true;
	}

	//Checking the phone number is valid or not
	function checkPhone(entry)
	{
		var len = entry.length ;
		var foundBlank = 1;
		while(foundBlank == 1 && len > 0) 
		{
			var indx = entry.indexOf("-");
			if(indx == -1) 
				foundBlank = 0 ;
			else
				entry = entry.substring(0,indx) + entry.substring(indx+1,len);
			len = entry.length;
		}
		return entry;
	}

	//Checking the phone fileld is blank or not
	function checkPhoneBlanks(entry)
	{
		var len = entry.length ;
		var foundBlank = 1;
		while(foundBlank == 1 && len > 0) 
		{
			var indx = entry.indexOf("_");
			if(indx == -1) 
				foundBlank = 0 ;
			else
				entry = entry.substring(0,indx) + entry.substring(indx+1,len);
			len = entry.length;
		}
		return entry;
	}



//------------------- for clearing and replacing text in form input fields and textareas -------------------//
function clearText(thefield) {
  if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} 
function replaceText(thefield) {
  if (thefield.value=="") { thefield.value = thefield.defaultValue; }
}

function checkurl(urlval) {
	var urlval = urlval;
	myRegExp = new RegExp("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
	if(myRegExp.test(urlval)) {
		return false;
	} else {
		myRegExp = new RegExp("^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
		if(myRegExp.test(urlval)) {
			return false;
		}
	}
	return true;
}


function checkAlphaChar(strval) {
	var retVal = true;
	var strval = strval;
	myRegExp = new RegExp("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
	if(myRegExp.test(strval)) {
		retVal = false;
	} else {
		myRegExp = new RegExp("^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
		if(myRegExp.test(strval)) {
			retVal = false;
		}
	}
	/*Here checking the field contains only alpha characters*/
   if (!strval) return false;
   var iChars = "!*|,\":<>[]{}.`;()@&$#%^+-_=?/'%~'\\1234567890";

   for (var i = 0; i < strval.length; i++) {
	  if (iChars.indexOf(strval.charAt(i)) != -1)
		 return false;
   }
	/*Checking the value is blank*/
	var len = strval.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) 
	{
		var indx = strval.indexOf(" ");
		if(indx == -1) 
			foundBlank = 0 ;
		else
			strval = strval.substring(0,indx) + strval.substring(indx+1,len);
		len = strval.length;
	}
	retVal = len;
	return retVal;
}

function checkBlanks(entry)
{
	var len = entry.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) 
	{
		var indx = entry.indexOf(" ");
		if(indx == -1) 
			foundBlank = 0 ;
		else
			entry = entry.substring(0,indx) + entry.substring(indx+1,len);
		len = entry.length;
	}
	return entry;
}
function isEmpty(val,valName)

{

	//alert(val);

	if(!deleteBlanks(val.value))

	{

		alert( "Please Enter " + valName);
		
		val.focus();

		return false;	

	}

	return true;

}
