// JavaScript Document
arrValidForm01 = new Array(
/* new Array("id of input"				,	"plain English name of input"					, "required"), */
new Array("contact_email"			,	"Email Address"										, "required_email"),
new Array("contact_home_phone"		,	"Phone Number"										, "required_phone") 
  /* the final input should not have a comma */
);





function EK_validateForm(objFormToValidate, arrValidationMain){
	results = "";
	temp = "";
	for (i=0;i<arrValidationMain.length;i++) {
		inputElementToFind = arrValidationMain[i][0];
		if (objFormToValidate[inputElementToFind]) {
			temp=EK_validateElement(arrValidationMain[i], objFormToValidate);
			if(temp) {
				results += temp + "\r\n";
			}
		} else {
			results += "Validation Error: " + "\'" + arrValidationMain[i][0] + "\' Is not an input element in the form " + "\'" + objFormToValidate.name + "\r\n";
		}
	}
	if(results){
		alert(results);
		return false;
	} else {return true}
}

function EK_validateElement(arrOfValidationArgs, objFormToValidate) {
nameOfElement = arrOfValidationArgs[0];
errorText = arrOfValidationArgs[1];
validationType = arrOfValidationArgs[2];
inputObj = objFormToValidate[nameOfElement];
switch (validationType)
{
   case "required" :
		if (inputObj.defaultValue == inputObj.value) {
			return "The field labeled " + "\'" + errorText + "\'" + " cannot be left empty.";
		}
      break;
   case "required_email" :
		if ( 
				(inputObj.defaultValue == inputObj.value)
				|| (inputObj.value.indexOf("@")<=0)
				|| (inputObj.value.indexOf(".")<3)
				|| (inputObj.value.length<(inputObj.value.indexOf(".")+2))
			) {
			return "The field labeled " + "\'" + errorText + "\'" + " must contain a valid email address.";
		}
      break;
   case "required_zip" :
		if ( 
				(inputObj.defaultValue == inputObj.value)
				|| isNaN(inputObj.value)
				|| (inputObj.value.length != 5)
			) {
			return "The field labeled " + "\'" + errorText + "\'" + " must contain a valid zip code.";
		}
      break;
   case "required_dropdown" :
		if ( 
				inputObj.selectedIndex == 0
			) {
			return "In the field labeled " + "\'" + errorText + "\'" + " you must make a selection.";
		}
      break;
	case "required_phone" :
		numberOfRequiredDigits = 10;
		if(		inputObj.value
				&& (inputObj.defaultValue != inputObj.value)
				&& (inputObj.value.length >= numberOfRequiredDigits)
				) {
			numSring = new String();
			for(x=0; x<inputObj.value.length ; x++) {
				if(!isNaN(inputObj.value.charAt(x)) && (inputObj.value.charAt(x)!=" ")){
					numSring += inputObj.value.charAt(x);
				}
			}
			if (numSring.length == 10){
				inputObj.value =(
									"("
									+ numSring.substring(0,3) + ") "
									+ numSring.substring(3,6) + "-"
									+ numSring.substring(6,10)
								)
			} else {
				return "The field labeled " + "\'" + errorText + "\'" + " must contain a valid 10 digit phone number."
			}
		} else {
			return "The field labeled " + "\'" + errorText + "\'" + " must contain a valid 10 digit phone number."
		}
	break;
   default :
		return "Validation Error: No Validation Type Chosen for " + "\'" + errorText + "\'";
}
}

//-->

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];dv = o.defaultValue;
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if ((r&&v.length==0)||v==dv){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]||v==dv){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('Please fill out these required fields:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}
