function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }
    obj.display=v; }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //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_preloadImages.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_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkForm(theForm) {
    var why = "";  
    why += checkEmail(theForm.Email.value);
    why += checkText(theForm.FirstName.value, "your first name.");
    why += checkText(theForm.LastName.value, "your last name.");
    why += checkPhone(theForm.WorkPhone.value, "your preferred phone number.");
    why += checkDropdown(theForm.Gender.value, "Please select your gender.");
    why += checkDropdown(theForm.Interested.value, "Please select your service of interest.");
    why += checkDropdown(theForm.OfficeName.value, "Please select your preferred location.");			
    why += checkDropdown(theForm.Advertisement.value, "Please select how you found us.");	

    if (why != "") {
       alert(why);
       return false;
    }
	return true;
}

function checkContactForm(theForm) {
    var why = "";  
    why += checkDropdown(theForm.Topic.value, "Please select a topic.");	
    why += checkEmail(theForm.Email.value);
    why += checkText(theForm.FirstName.value, "your first name.");
    why += checkText(theForm.LastName.value, "your last name.");
    why += checkPhone(theForm.WorkPhone.value, "your phone number.");	
		

    if (why != "") {
       alert(why);
       return false;
    }
	return true;
}

function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "Please enter a valid email address.\n";
}
    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
	//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}

function checkText (strng, formfield) {
 var error = "";
 if (strng == "") {
    error = "Please enter " + formfield + "\n";
 }
 return error;
 }

function checkPhone (strng) { 	
 	var error = ""; 
	if (strng == "") {
	   error = "Please enter a preferred phone number.\n";
	   return error;
	}

	var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters

	if (isNaN(parseInt(stripped))) {
	 	error = "The phone number contains illegal characters.";
	}

	if (!(stripped.length == 10)) {
		error = "The phone number is not a complete phone number with area code.\n";
	}
 	return error;
 }

function checkDropdown(choice, strng) {
    var error = "";
    if (choice == "") {
       error = strng + "\n";
    }    
return error;
}    

