function validate_email(field) {
	if (deleteExtremeSpaces(field).value != "") {
		var commapos = field.value.indexOf(',');
		var doublequotepos = field.value.indexOf("'");
		var singlequotepos = field.value.indexOf('"');

		if (commapos != -1 || singlequotepos != -1 || doublequotepos != -1) {
			alert("You have entered an invalid character in Email address.");
			field.focus();
			return false;
		}

		var curratpos = field.value.indexOf('@');
		var currdotpos = field.value.indexOf('.');
		var lastdotpos = field.value.lastIndexOf('.');
		var nextatpos = field.value.lastIndexOf('@');
		var spacepos = field.value.indexOf(' ');
		if (curratpos < 1 || curratpos >= field.value.length - 1 ||
			currdotpos < 1 || lastdotpos >= field.value.length - 2 ||
			lastdotpos < field.value.length - 4 || curratpos != nextatpos || spacepos > 0) {
			alert("The email address format you have entered is incorrect. Please enter a valid email address.");
			field.focus();
			return false;
		}
	}

	return true;
}

function checkPhoneNumberKeys(field,evt) {
	if (document.all) {
		var c = evt.keyCode;
		return (c == 13 || (c >= '0'.charCodeAt() && c <= '9'.charCodeAt()));
	} else {
		return false;
	}
}

var n;
var p;
var p1;
function ValidatePhone(fieldref) {
	p = p1.value;
	// examine each character for non-numeric character..
	var clearIt = false;
	for (var i = 0;!clearIt && i <p.length;i++) {
		switch (p.charCodeAt(i)) {
			case 48:
			case 49:
			case 50:
			case 51:
			case 52:
			case 53:
			case 54:
			case 55:
			case 56: // 0-9 we are fine...
			case 57:
				break;
			case 40:
				if (i != 0) {
					clearIt = true;
				}
				break;
			case 41:
				if (i != 4) {
					clearIt = true;
				}
				break;
			case 32:
				if (i != 5) {
					clearIt = true;
				}
				break;
			case 45 :
				if (i != 9) {
					clearIt = true;
				}
				break;
			default:
				clearIt = true;
		}
	}

	if (clearIt) {
		fieldref.value = '';
		return;
	}

	if (p.length == 3) {
		pp = p;
		d4 = p.indexOf('(');
		d5 = p.indexOf(')');
		if (d4 == -1) {
			pp = "("+pp;
		}

		if (d5 == -1) {
			pp = pp+")";
		}

		fieldref.value = "";
		fieldref.value = pp;
	}

	if (p.length > 3) {
		d1 = p.indexOf('(');
		d2 = p.indexOf(')');
		if (d2 == -1) {
			l30 = p.length;
			p30 = p.substring(0,4);
			p30 = p30+")";
			p31 = p.substring(4,l30);
			pp = p30+p31;
			fieldref.value = "";
			fieldref.value = pp;
		}
	}

	if (p.length > 5) {
		p11 = p.substring(d1+1,d2);
		if (p11.length > 3) {
			p12 = p11;
			l12 = p12.length;
			l15 = p.length;
			p13 = p11.substring(0,3);
			p14 = p11.substring(3,l12);
			p15 = p.substring(d2+1,l15);
			fieldref.value = "";
			pp = "("+p13+")"+p14+p15;
			fieldref.value = pp;
		}

		l16 = p.length;
		p16 = p.substring(d2+1,l16);
		l17 = p16.length;
		if (l17 > 3&&p16.indexOf('-') == -1) {
			p17 = p.substring(d2+1,d2+4);
			p18 = p.substring(d2+4,l16);
			p19 = p.substring(0,d2+1)+" ";
			pp = p19+p17+"-"+p18;
			fieldref.value = "";
			fieldref.value = pp;
		}
	}
}

function getIt(m) {
	n = (m.name.indexOf(":") != -1) ? m.id : m.name;
	p1 = m;
}

function formatPhoneNumber(val) {
	var myval = val+"";
	myval = myval.replace(/\(/,"");
	myval = myval.replace(/\)/,"");
	myval = myval.replace(/ /,"");
	myval = myval.replace(/-/,"");

	if (myval.length < 10) {
		return val;
	}

	var retValue = '('+myval.substring(0,3)+') '+myval.substring(3,6)+"-"+myval.substring(6);
	return retValue;
}

function validate_phone_fax(field,fieldtxt) {
	if ((field.value != null) && (trim(field.value) != "") && !checkForZeroesInFormattedPhone(field.value)) {
		alert ("Please enter a valid 10-digit "+ fieldtxt + ".");
		field.value = "";
		field.focus();
		return false;
	}
}

function checkForZeroesInFormattedPhone(val) {
	if (val == null || val.length != 14) {
		return false;
	}

	var areacode = val.substring(1,4);
	var next3digits = val.substring(6,9);
	if (parseInt(areacode,10) == 0 || parseInt(next3digits,10) == 0) {
		return false;
	}

	// first digit of area code cannot be zero..
	if (areacode.substring(0,1) == "0") return false;

	return true;
}


function checkEmail(email) {

	var error="";
	if (email == "") {
	   error = "You didn't enter an email address.\n";
	   return error;
	}
	var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(email))) { 
			error = "Please enter a valid email address.\n";
		} else {
			//test email for illegal characters
	       var illegalChars= "/[\(\)\<\>\,\;\:\\\"\[\]]/";
		   if (email.match(illegalChars)) {
			  error = "The email address contains illegal characters.\n";
		}

			
  }
  return error;
}

// username - 4-10 chars, uc, lc, and underscore only.

function checkUsername (strng) {

var error = "";
if (strng == "") {
   error = "Please Enter contact name.\n";
}


   // var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 20)) {
       error = "Name should be having at least 4 and maximum 20 charactes.\n";
    }
   /* else if (illegalChars.test(strng)) {
    error = "The username contains illegal characters.\n";
    }*/ 
return error;
} 

// username - 4-10 chars, uc, lc, and underscore only.

function checkComments (strng) {

var error = "";
if (strng == "") {
   error = "Please Enter your Message\n";
}


    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 20)) {
       error = "Please Enter your Message";
    }
return error;
} 

function checkCompanyName(strng) {

var error = "";
if (strng == "") {
   error = "Please Enter your Company Name\n";
}


    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 20)) {
       error = "Please Enter your Company Name";
    }
return error;
} 