function MM_preloadMovie() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadMovie.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function var_dump(obj) {
   if(typeof obj == "object") {
      return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
   } else {
      return "Type: "+typeof(obj)+"\nValue: "+obj;
   }
}//end function var_dump


//used on test_final.asp, test_audio.asp
function validate(theForm) {
	var formGood = true;
	var f = theForm;
	errMsg = '';
	
	if ((f.first_name.value.length < 2) || (f.last_name.value.length < 2) ) {
		errMsg += "please fill in your name \n";
		formGood = false;
	}	
	ph = f.phone.value;
	num = ph.charAt(1);
	if (ph.length < 7 || isNaN(num)) {
		errMsg += "please enter a valid phone number \n";
		formGood = false;
	}
	email = f.email.value;
	if (email.indexOf('@') < 1 ||  email.indexOf('.') < 1) {
		errMsg += "please enter a valid email address \n";
		formGood = false;
	}
	if (errMsg > '') alert(errMsg);
	return formGood;
}

//used on the contact_request_quote.asp, and application.asp
function validateCRQ(theForm) {
	var formGood = true;
	var f = theForm;
	errMsg = '';
	
	if (theForm == document.ServiceInquiryForm)
	{
		if (f.facility_name.value.length < 3) {
			errMsg += "please fill in the facility name \n";
			formGood = false;
		}
	}
	if ((f.first_name.value.length < 2) || (f.last_name.value.length < 2) ) {
		errMsg += "please fill in your name \n";
		formGood = false;
	}
	if (f.address1.value.length < 3) {
		errMsg += "please fill in the street address \n";
		formGood = false;
	}	
	if (f.city.value.length < 3) {
		errMsg += "please fill in the city \n";
		formGood = false;
	}
	if (f.state_or_province.selectedIndex < 0) {
		errMsg += "please select your state \n";
		formGood = false;
	}
	zip = f.zip_code.value;
	num = zip.charAt(1);
	if (zip.length < 5 || isNaN(num)) {
		errMsg += "please enter a valid zip code \n";
		formGood = false;
	}
	
	ph = f.phone.value;
	num = ph.charAt(1);
	if (ph.length < 7 || isNaN(num)) {
		errMsg += "please enter a valid phone number \n";
		formGood = false;
	}
	email = f.email.value;
	if (email.indexOf('@') < 1 ||  email.indexOf('.') < 1) {
		errMsg += "please enter a valid email address \n";
		formGood = false;
	}
	var fax_regex = new RegExp(/^\d{0,1}[-.\s]{0,1}[(]{0,1}[1-9]{1}\d{2}[)]{0,1}[-.\s]{1}[1-9]{1}\d{2}[-.]{1}\d{4}$/);
	var fax = f.fax.value;
	if(!fax_regex.test(fax) && fax.length > 0) {
		errMsg += "please enter a valid fax number";
		formGood = false;
	}
	
	if (errMsg > '') alert(errMsg);
	return formGood;
}
