// JavaScript quote form validation script

	function Validation(){
		var contact_greeting			=  document.contact_quick.contact_greeting.value;
		var contact_email				=  document.contact_quick.contact_email.value;
		var contact_home_phone			=  document.contact_quick.contact_home_phone.value;

		if(!checkAlphaChar(contact_greeting) || contact_greeting == '* Address me as') {
			alert("Enter valid 'Address me as'");
			document.contact_quick.contact_greeting.focus();
			return false;
		}

		if(!checkemail(contact_email) || !checkBlanks(contact_email)) {
			alert("Enter valid 'Email'");
			document.contact_quick.contact_email.focus();
			return false;
		}
		if(contact_home_phone != 'Phone') {
			contact_home_phone = checkPhoneBlanks(contact_home_phone);
			if(contact_home_phone > 0 && contact_home_phone < 10) {
				alert("Enter valid phone");
				document.contact_quick.contact_home_phone.focus();
				return false;	
			}
		}
	}

function contactValidation() {

	var contact_greeting	= document.contact_main.contact_greeting.value;
	var contact_address		= document.contact_main.contact_address.value;
	var contact_country		= document.contact_main.contact_country.value;
	var contact_state		= document.contact_main.contact_state.value;
	var contact_city		= document.contact_main.contact_city.value;
	var contact_zip			= document.contact_main.contact_zip.value;
	var contact_phone		= document.contact_main.contact_phone.value;
	var contact_cell		= document.contact_main.contact_cell.value;
	var contact_email		= document.contact_main.contact_email.value;
	var contact_term		= document.contact_main.contact_term.value;
	var security_code		= document.contact_main.security_code.value;
	

	if(!checkAlphaChar(contact_greeting)) {
		alert("Enter valid name");
		document.contact_main.contact_greeting.focus();
		return false;
	}
	if(checkBlanks(contact_address)) {
		if(!checkSpecialChars(contact_address) || !checkurl(contact_address)) {
			alert("Enter valid address");
			document.contact_main.contact_address.focus();
			return false;
		}
	}
	if(checkBlanks(contact_country)) {
		if(!checkAlphaChar(contact_country) || !checkurl(contact_country)) {
			alert("Enter valid country");
			document.contact_main.contact_country.focus();
			return false;
		}
	}
	if(checkBlanks(contact_state)) {
		if(!checkBlanks(contact_state) || !checkAlphaChar(contact_state) || !checkurl(contact_state)) {
			alert("Enter valid state");
			document.contact_main.contact_state.focus();
			return false;
		}
	}
	if(checkBlanks(contact_city)) {
		if(!checkBlanks(contact_city) || !checkAlphaChar(contact_city) || !checkurl(contact_city)) {
			alert("Enter valid city");
			document.contact_main.contact_city.focus();
			return false;
		}
	}
	if(checkBlanks(contact_zip)) {
		if(!checkBlanks(contact_zip) || !checkSpecialChars(contact_zip) || contact_zip.length < 5) {
				alert("Enter valid zip");
				document.contact_main.contact_zip.focus();
				return false;
		}
	}
	contact_phone = checkPhoneBlanks(contact_phone);
	if(checkBlanks(contact_phone)) {
		if(contact_phone > 0 && contact_phone < 10) {
			alert("Enter valid phone");
			document.contact_main.contact_phone.focus();
			return false;	
		}
	}
	contact_cell = checkPhoneBlanks(contact_cell);
	if(checkBlanks(contact_cell)) {
		if(contact_cell > 0 && contact_cell < 10) {
			alert("Enter valid cell phone");
			document.contact_main.contact_cell.focus();
			return false;	
		}
	}

	if(!checkemail(contact_email) || !checkBlanks(contact_email)) {
		alert("Enter valid Email");
		document.contact_main.contact_email.focus();
		return false;
	}
	if(security_code.length<5) {
		alert("Enter valid security code");
		document.contact_main.security_code.focus();
		return false;
	}
}


/*Delete blanks from the words
  onblur="trim_text(this.value,'fieldname','formname');"*/
function trim_text(str) {
	str = str.replace(/^\s+|\s+$/g, '');
	return str;
}

/*This function is checking the value is
- a url
- a special character
- or a blank
*/
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;
   }
   var count = 0;
   for (var i = 0; i < strval.length; i++) {
	   var newval = strval.charAt(i);
	   if(newval == ".")
		   count++;
		   
   }
   if(count >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 checkSpecialChars(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 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 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 allowed only to enter numbers
onkeypress="return numbersonly(event, false);"
*/

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;
}


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;
	if(trim_text(email) !="") {
		if (!re.test(email))
		{
			return false;
		}
	}	
	return true;
}

//Function checking the maximum characters in a textarea
//onkeyup="return ismaxlength(this)"
function ismaxlength(obj){
	var mlength=250; 
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}

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 len;
}

function clearText(thefield) {
  if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} 
function replaceText(thefield) {
  if (thefield.value=="") { thefield.value = thefield.defaultValue }
}

/**************************/
function popUpWin(url, type, strWidth, strHeight){
	closeWin();
	if (type == "fullScreen"){
		strWidth = screen.availWidth - 10;
		strHeight = screen.availHeight - 160;
	}
	var tools="";
	if (type == "standard" || type == "fullScreen") tools = "resizable=no,toolbar=no,location=no,scroll=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",top=0,left=0";
	if (type == "console") tools = "resizable=no,toolbar=no,location=no,directories=no,status=no,scroll=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
	newWindow = window.open(url, 'newWin', tools);
	newWindow.focus();
}

