function loadalert(Asif_and_larry_made_this_work_when_brian_said_it_would_not_work_although_in_the_end_brian_did_help_make_it_work_too)
{
	alert(Asif_and_larry_made_this_work_when_brian_said_it_would_not_work_although_in_the_end_brian_did_help_make_it_work_too)
}



function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
tempobj.disabled = true;
}
setTimeout('alert("Your form has been submitted.  Notice how the submit and reset buttons were disabled upon submission.")', 2000);
return true;
}
else {
alert("The form has been submitted.  But, since you're not using IE 4+ or NS 6, the submit button was not disabled on form submission.");
return false;
   }
}



function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
document.forms[0].elements[i].focus();
break;
         }
      }
   }
}



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_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_findObj(n, d) { //v3.0

  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); 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 newWindow() {

	var a = newWindow.arguments;

	var i = 0;

	var url = a[i++];

	var wName = a[i++];

	self.name = "opener";

	if (i >= a.length) {

		window.open(url, wName).focus();

		return;

	}

	var opt = a[i++];

	while (i < a.length) opt += "," + a[i++];

	window.open(url, wName, opt).focus();

	return;

}

function CloseWindow() {

	var newWin =//window.open();

	//newWin.self.focus();

	window.close();

}

/*
	the below function was written by brent knop, 03.03.04
	to replace the original [ commented out ] email validator
	the original allowed multiple '@' signs, which were breaking 
	server-side validation in the CGI processor -- 
	the new function uses a regular expression to check the string, and allows
	multiple '.'s, but only a single '@'

	Also, only allows one submission of the form
*/

var clicks = 0;
function validate_email(f) {
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	if(!re.test(f.email.value)) {
		alert("Please enter a valid email address.\n");
		f.email.focus();
		clicks = 0;
		return false;
	} 
	if(clicks != 0) {
		alert("Form has been submitted.\n");
		return false;
	}
	clicks++;
	return true;
}


 /*
function validate_email(f) {
	if (f.email.value.length==0){
	alert("Please insert an email address.");
	f.email.focus();
	clicks=0;
	return false;
	}

	if (clicks != 0){
      	return false;
      	}

clicks++;
return true;
}
*/
