function getElement(objectId) {
    // checkW3C DOM, then MSIE 4, then NN 4.
    if(document.getElementById && document.getElementById(objectId)) {
  	return document.getElementById(objectId);
     }
     else if (document.all && document.all(objectId)) {  
  	return document.all(objectId);
     } else {
  	return false;
     }
}

function validateForm(field, blank) {
	
var thefield = getElement(field).value;
//Is the field blank?
	if(thefield != "") 
	{
			if(field == "f1")
				if(checkName(thefield)=="") {
					getElement("f1rule").style.color = "#009900";
					getElement("f1rule").innerHTML = "Thank You";
				} else {
					getElement("f1rule").style.color = "#F00";
					getElement("f1rule").innerHTML = checkName(thefield);
				}
			else if(field == "f2")
				if(checkPhone(thefield)=="") {
					getElement("f2rule").style.color = "#009900";
					getElement("f2rule").innerHTML = "Thank You";
				} else {
					getElement("f2rule").style.color = "#F00";
					getElement("f2rule").innerHTML = checkPhone(thefield);
				}
			else if(field == "f3")
				if(checkEmail(thefield)=="") {
					getElement("f3rule").style.color = "#009900";
					getElement("f3rule").innerHTML = "Thank You";
				} else {
					getElement("f3rule").style.color = "#F00";
					getElement("f3rule").innerHTML = checkEmail(thefield);
				}
			else if(field == "f4")
				if(checkURL(thefield)=="") {
					getElement("f4rule").style.color = "#009900";
					getElement("f4rule").innerHTML = "Thank You";
				} else {
					getElement("f4rule").style.color = "#F00";
					getElement("f4rule").innerHTML = checkURL(thefield);
				}
	} else {
		if(!blank) {
			if(field == "f1"){
				getElement("f1rule").style.color = "#000";
				getElement("f1rule").innerHTML = "(First Last)";
			}
			else if(field == "f2"){
				getElement("f2rule").style.color = "#000";
				getElement("f2rule").innerHTML = "(xxx) xxx-xxxx";
			}
			else if(field == "f3"){
				getElement("f3rule").style.color = "#000";
				getElement("f3rule").innerHTML = "(name@domain.com)";
			}
			else if(field == "f4"){
				getElement("f4rule").style.color = "#000";
				getElement("f4rule").innerHTML = "(www.domain.com)";
			}
		} else {
			getElement(field+"rule").innerHTML = "";
		}
	}
}


//Clears form fields on refresh (FF glitch)
function refreshClear(x) {
	if(x) {
		$("#f1").val("");
		$("#f2").val("");
		$("#f3").val("");
		$("#f4").val("");
	}
}

// non-empty name textbox

function checkName(strng) {
var error = "";
  if (strng.length < 2) {
     error = "Please enter your name"
  }
return error;	  
}

// email - valid format, no illegal characters
function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "Improper E-mail";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Improper E-mail";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "Improper E-mail";
       }
    }
return error;    
}

// phone number - strip out delimiters and check for 10 digits

function checkPhone (strng) {
var error = "";
if (strng == "") {
   error = "Improper Phone";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "Improper Phone";
  
    }
    if (!(stripped.length == 10)) {
	error = "Improper Phone";
    } 
return error;
}

// web address - must follow standard format

function checkURL (strng) {
var error = "";
if (strng == "") {
	error = "Improper URL";
}

var urlRegxp = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/;
    if (!(urlRegxp.test(strng))) { 
       error = "Improper URL";
    }
return error;
}

