function checkForm(frm) {

	if (typeof errors == 'undefined') {
		errors=0;
		resetForm(frm);
	}

	if (typeof dsp == 'undefined'){
		dsp="";
	}

	if (typeof alrt == 'undefined'){
		alrt=0;
	}

	checkBrowser();
		
	with (document[frm]) {

		if (chkEmail == 1) {
		  resetHighlight('Email',frm);
		}

		
		  
		  cntr = 0;
		  while (cntr <= (arrFields.length -1)) {
			   if (!ns4) {          
					resetHighlight(arrFields[cntr],frm);
			   }
			   cntr++;
		  }

		  cntr = 0;
		  txt_error=0;
		  while (cntr <= (arrFields.length -1)) {
			   if (eval(arrFields[cntr]).value == "") {

					str = String(arrFields[cntr]);
					
					doHighlight(1, str, frm);
					//eval(arrFields[cntr]).focus();
					if (txt_error==0) {
						dsp+="*Required field(s) not completed in form<br>"
						txt_error=1;
					}
					errors=1;
			   }
			   cntr++;
		  }

		  if (chkEmail == 1) {
			  re = /^[\w\-\.\_]+\@[\w\-]+\.[\w\-\.]+/
			  if(!re.test(Email.value)) {
				   dsp+="*Please enter a properly formatted E-mail \naddress like: yourname@host.com<br>";
				   doHighlight(1, 'Email', frm);
				   errors=1;
			  }
		  }

		  if (chkImage == 1) {
			if (fileImage.value != "") {

					str = fileImage.value;
					len = str.length;

					if (fileImage.value) {
						i = len;
						rslt = "";

						while (i <= len && i != 0) {
							s = str.substring(i,i-1);
							if (s != "\\") {
								rslt = s + rslt;
							} else {
								break;
							}
							i = i - 1;
						}
					}

				ext = str.split(".");
				re = /jpg|jpeg|JPG|JPEG+/

				if (!re.test(ext[(ext.length-1)])) {
						doHighlight(1, 'fileImage',frm);
						dsp+="*Please enter a .JPG file.<br>";
						//fileImage.focus();
						errors=1;
					}/* else {
						fileName = fileImage.value;
						var imgURL = 'file:///' + fileName;
						var img = new Image();

						img.src = imgURL;

						if (img.width > 400) {
						   doHighlight(1, 'fileImage');
						   dsp+="*Your image is " + img.width + " pixels wide.\nPlease enter a image 400 pixels\nwide or smaller.<br>";
						   //fileImage.focus();
						   errors=1;
						}
					}*/
			}
		}

	}
	if (errors==1){
		if (dsp!=""){
			if (alrt==0) {
				LayerWrite(frm,'<span class="red">'+dsp+'</span>');
			} else {
				dsp_new = dsp.replace(/<br>/g, "\n");
				setTimeout('alert(dsp_new);',1000);
			}
		}
		return false;
	}
	return true;
}

function doHighlight(cntr, txt, frm) {

     if (!ns4) {
          document.forms[frm][txt].style.backgroundColor = bgColor[cntr];
          if (cntr <= 5) {
               cntr++;
               var id = setTimeout("doHighlight(" + cntr + ", '" + txt + "', '" + frm + "')", 25);
          }
     } else {
          dsp+="*Please make an entry\n";
     }
}

function resetHighlight(txt,frm) {
    if (typeof(document.forms[frm][txt].type) != "undefined" && document.forms[frm][txt].type != "checkbox") {
		document.forms[frm][txt].style.backgroundColor = bgColor[0];
	}
}

function resetForm(frm) {
	LayerWrite(frm,'');
	errors=0;
	dsp="";

	for (i=0; i <= document[frm].length - 2; i++) {
		if (document[frm][i].name!='') {
			resetHighlight(document[frm][i].name,''+frm+'');
		}
	}
}

function checkBrowser() {
	ns4 = (document.layers)? true:false
	ie4 = (document.all)? true:false


	if (ns4) {
		alrt=1;
	}

	// Microsoft Stupidity Check.
	if (ie4) {
		alrt=0;
		if (navigator.userAgent.indexOf('MSIE 5')>0) {
			ie5 = true;
		} else {
			ie5 = false;
		}
	} else {
		ie5 = false;
	}

	if (navigator.userAgent.indexOf("Firefox")>0)	{
		ns4=true;
		ie4=false;
		ie5=false;
		alrt=1;
	}
}

function LayerWrite(frm,txt) {
		if (alrt==0) {
			if (ns4) {
					var lyr = document[frm].divErrors.document
					lyr.write(txt)
					lyr.close()
			}
			else if (ie4) document[frm].all['divErrors'].innerHTML = txt;
		}			
}