// JavaScript Document

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function switchShowHideText(oContentDiv, oLabelDiv) {
	var obj, objLabel;
	obj = MM_findObj(oContentDiv);
	objLabel = MM_findObj(oLabelDiv);
	obj.style.display = (obj.style.display=='')?'none':'';
	objLabel.innerHTML = (obj.style.display=='none')?'More [+]':'Less [&minus;]';
}

 
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateRequiredForCompact(fld, txtlabel) {
	var error ="";

	if (fld.value == txtlabel ) {
		fld.style.background = 'Yellow';
		error = txtlabel + " is required.\n";
	} else {
		fld.style.background = 'White';		
	}

	return error;
}


function validateRequired(fld, txtlabel) {
	var error ="";
	
	if (fld.value.length == 0) {
		fld.style.background = 'Yellow';
			error = document.getElementById(txtlabel).innerHTML + " is required.\n"
	} else {
		fld.style.background = 'White';
	}

	return error;
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "Please enter an E-mail Address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid E-mail Address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The E-mail Address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
 
function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\+\ ]/g, '');    
 
   if (fld.value == "") {
        error = "Please enter a Phone Number.\n";
        fld.style.background = 'Yellow';
    } else if (isNaN(parseInt(stripped))) {
        error = "The Phone Number contains illegal characters.\n";
        fld.style.background = 'Yellow';
    }
    return error;
}

function clearField(fld) {
     if (fld.value == fld.defaultValue) {
         fld.value = ""
     }
}

function restoreField(fld) {
     if (fld.value == "") {
         fld.value = fld.defaultValue
     }
}

function validateFormOnSubmit(theForm) {
var reason = "";
 
  reason += validateRequired(theForm.first_name, "label_first_name");
  reason += validateRequired(theForm.last_name, "label_last_name");
  reason += validateRequired(theForm.title, "label_title");
  reason += validateRequired(theForm.company, "label_company");  
    
  reason += validateEmail(theForm.email);
  reason += validatePhone(theForm.phone);
  
 
      
  if (reason != "") {
    alert("Some fields need your attention:\n\n" + reason);
    return false;
  } else {
  	return true;
  }
  
}

function validateDownloadOnSubmit(theForm) {
var reason = "";
 
  reason += validateRequired(theForm.first_name, "label_first_name");
  reason += validateRequired(theForm.last_name, "label_last_name");
  reason += validateRequired(theForm.title, "label_title");
  reason += validateRequired(theForm.company, "label_company"); 
  reason += validateRequired(theForm.userid, "label_userid");
  reason += validateRequired(theForm.pswd, "label_pswd");   
  reason += validateEmail(theForm.email);
  
 
      
  if (reason != "") {
    alert("Some fields need your attention:\n\n" + reason);
    return false;
  } else {
  	return true;
  }
  
}

function validateFormQuickSignUp(theForm) {
var reason = "";
 
  reason += validateRequiredForCompact(theForm.first_name, "First Name");
  reason += validateRequiredForCompact(theForm.last_name, "Last Name");
  reason += validateEmail(theForm.email);

  if (reason != "") {
    alert(reason);
    return false;
  } else {
  	return true;
  }
   
}