// JavaScript Document
function vContact (myform) {
	if (trim(myform.fname.value) == ''){
		alert ('Please provide your First Name.');
		myform.fname.focus();
		return false;
	}
	if (trim(myform.lname.value) == ''){
		alert ('Please provide your Last Name.');
		myform.lname.focus();
		return false;
	}	
	if (trim(myform.address.value) == ''){
		alert ('Please provide your Address.');
		myform.address.focus();
		return false;
	}
	if (trim(myform.city.value) == ''){
		alert ('Please provide your City.');
		myform.city.focus();
		return false;
	}
	if (trim(myform.state.value) == ''){
		alert ('Please provide your State.');
		myform.state.focus();
		return false;
	}
	if (trim(myform.zip.value) == ''){
		alert ('Please provide your Zip Code.');
		myform.zip.focus();
		return false;
	}
	if (trim(myform.phone.value) == ''){
		alert ('Please provide your Phone Number.');
		myform.phone.focus();
		return false;
	}
	if (trim(myform.email.value) == '' || !email_validate(trim(myform.email.value))){
		alert ('Please provide a valid E-mail Address.');
		myform.email.focus();
		return false;
	}
	//alert ("An error has occurred. Try again later.");
	myform.submit();
}

function vContact2 (myform) {

	if (trim(myform.fname.value) == ''){
		alert ('Please provide your First Name.');
		myform.fname.focus();
		return false;
	}
	
	if (trim(myform.lname.value) == ''){
		alert ('Please provide your Last Name.');
		myform.lname.focus();
		return false;
	}	
	
	if (trim(myform.email.value) == '' || !email_validate(trim(myform.email.value))){
		alert ('Please provide a valid E-mail Address.');
		myform.email.focus();
		return false;
	}
	
	if (trim(myform.userid.value) == '' || trim(myform.userid.value).length < 6 ){
		alert ('Please provide a user id of at least 6 characters.');
		myform.userid.focus();
		return false;
	}	
	
	if (trim(myform.userpass.value) == '' || trim(myform.userpass.value).length < 6 ){
		alert ('Please provide a password of at least 6 characters.');
		myform.userpass.focus();
		return false;
	}	
	
	//alert ("An error has occurred. Try again later.");
	myform.submit();
}

function email_validate(myEmail){
	//mac ie does not seem to like regular expressions
	if (macie_sniff())
		return true;
	//it doesn't even like slash notation in a script
	//var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var filter = new RegExp("^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$");
	if (filter.test(myEmail.toLowerCase()))
		return true;
	return false;
}

function textCounter(field, maxlimit) {
	if (field.value.length > maxlimit) {
		// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	} 
}

function trim(myString){
	if (macie_sniff())
		return myString;
	myString = myString.replace(/\r/g, " ");
	//There are regex switchs for printing /nonprinting characters 
	//but they stripped some characters either needed or left some not wanted,
	//thats why the following replacement exists.
	myString = myString.replace(/[^ A-Za-z0-9`~!@#\$%\^&\*\(\)-_=\+\\\|\]\[\}\{'";:\?\/\.>,<]/g, "");
	myString = myString.replace(/'/g, "");
	myString = myString.replace(/ +/g, " ");  
	myString = myString.replace(/^\s/g, "");
	myString = myString.replace(/\s$/g, "");	
	if (myString == ' '){myString = ''};
	return myString;
}

//~~~~~~~~~~~~~~~~~~~~~~~~Platform Handlers~~~~~~~~~~~~~~~~~~~~~~~~//

function macie_sniff(){
	var agt=navigator.userAgent.toLowerCase();
	var is_mac    = (agt.indexOf("mac")!=-1);
	var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));	
	if (is_mac && is_ie)
		return 1;
	return 0;
}