// 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_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 chkRegForm() {
  if(document.frmRegForm.fldFName.value == ""){
    alert('You must fill in your first name.');
	document.frmRegForm.fldFName.select();
	document.frmRegForm.fldFName.focus();
	return false;
  }
  if(document.frmRegForm.fldLName.value == ""){
    alert('You must fill in your last name.');
	document.frmRegForm.fldLName.select();
	document.frmRegForm.fldLName.focus();
	return false;
  }
  if(document.frmRegForm.fldBirthDate.value == ""){
    alert('You must fill in your birth date.');
	document.frmRegForm.fldBirthDate.select();
	document.frmRegForm.fldBirthDate.focus();
	return false;
  }
  /*
  if(document.frmRegForm.fldCompName.value == ""){
    alert('You must fill in your company name.');
	document.frmRegForm.fldCompName.select();
	document.frmRegForm.fldCompName.focus();
	return false;
  }
  */
  if(document.frmRegForm.fldStrAddr.value == ""){
    alert('You must fill in your street address.');
	document.frmRegForm.fldStrAddr.select();
	document.frmRegForm.fldStrAddr.focus();
	return false;
  }
  if(document.frmRegForm.fldCity.value == ""){
    alert('You must fill in your city.');
	document.frmRegForm.fldCity.select();
	document.frmRegForm.fldCity.focus();
	return false;
  }
  if(document.frmRegForm.fldZip.value == ""){
    alert('You must fill in your zip code.');
	document.frmRegForm.fldZip.select();
	document.frmRegForm.fldZip.focus();
	return false;
  }
  if(document.frmRegForm.fldPhone.value == ""){
    alert('You must fill in your phone number.');
	document.frmRegForm.fldPhone.select();
	document.frmRegForm.fldPhone.focus();
	return false;
  }
  if(document.frmRegForm.fldEmail.value == ""){
    alert('You must fill in your email address.');
	document.frmRegForm.fldEmail.select();
	document.frmRegForm.fldEmail.focus();
	return false;
  }
  var emailStr=document.frmRegForm.fldEmail.value
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  var matchArray=emailStr.match(emailPat)
  if (matchArray==null) {
	alert("Email address seems incorrect (check @ and .'s)")
	return false
  }
  var user=matchArray[1]
  var domain=matchArray[2]

  if (user.match(userPat)==null) {
	alert("The username doesn't seem to be valid.")
	return false
  }

  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null) {
	for (var i=1;i<=4;i++) {
	  if (IPArray[i]>255) {
		alert("Destination IP address is invalid!")
		return false
	  }
	}
	return true
  }

  var domainArray=domain.match(domainPat)
  if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
	return false
  }

  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  var len=domArr.length
  if (domArr[domArr.length-1].length<2 || 
	domArr[domArr.length-1].length>3) {
	alert("The address must end in a three-letter domain, or two letter country.")
	return false
  }

  if (len<2) {
	var errStr="This address is missing a hostname!"
	alert(errStr)
	return false
  }

  if(document.frmRegForm.fldCannot.checked != true){
    if((document.frmRegForm.fldRegType[0].checked == false) && (document.frmRegForm.fldRegType[1].checked == false)){
      alert('You must choose either 5k Run or 5k Walk.');
	  document.frmRegForm.fldRegType[0].select();
	  document.frmRegForm.fldRegType[0].focus();
	  return false;
	}
  }
  if((document.frmRegForm.fldTShirt[0].checked == false) && (document.frmRegForm.fldTShirt[1].checked == false) && (document.frmRegForm.fldTShirt[2].checked == false) && (document.frmRegForm.fldTShirt[3].checked == false) && (document.frmRegForm.fldTShirt[4].checked == false) && (document.frmRegForm.fldTShirt[5].checked == false)){
    alert('You must choose a t-shirt size.');
	document.frmRegForm.fldTShirt[0].select();
	document.frmRegForm.fldTShirt[0].focus();
	return false;
  }
  if(document.frmRegForm.fldParticipant.value == ""){
    alert('You must fill in your name.');
	document.frmRegForm.fldParticipant.select();
	document.frmRegForm.fldParticipant.focus();
	return false;
  }
  if(document.frmRegForm.fldDate.value == ""){
    alert('You must fill in todays date.');
	document.frmRegForm.fldDate.select();
	document.frmRegForm.fldDate.focus();
	return false;
  }
}
