// Detect if browser is Netscape 3+ or IE 4+
bName = navigator.appName;
bVer = parseInt(navigator.appVersion);
	br="n2";
	if(bName=="Netscape" && bVer >= 4){br="n4";}
	if(bName=="Netscape" && bVer >= 5){br="n5";}
	if(bName=="Microsoft Internet Explorer" && bVer >= 4){br="ie4";}
	if(bName=="Microsoft Internet Explorer" && bVer >= 5){br="ie4";}

// style sheet references
if(br=="ie4")
	{document.write("<link type='text/css' rel='stylesheet' href='docs/master.css'>")} //IE
else if(br=="n5")
	{document.write("<link type='text/css' rel='stylesheet' href='docs/master-ns6.css'>")} //NS5
else if(br=="n4")
	{document.write("<link type='text/css' rel='stylesheet' href='docs/master-ns.css'>")} //NS
else
	{document.write("<link type='text/css' rel='stylesheet' href='docs/master-ns.css'>")} //OTHER

function isEmpty(inputStr) {
	if(inputStr.value=="" || inputStr.value==null) {return true;}
	return false;
}

function chkEmptyValue(field){
	var myfield=field;
	if(isEmpty(myfield)){
		alert("Field can not be empty.\n\nPlease enter valid data as described in the on screen instructions.");
		myfield.select();
		myfield.focus();
		return false;
	}
	return true;
}

function chkEn(sct){
	var enrq="en"
	if(sct.name.indexOf("_en")==-1){enrq="rq"}
	var fld=sct.name.substring(0,sct.name.indexOf("_"+enrq))
	if(enrq=="rq"){
		if(document.form_0.elements[fld+"_rq"].checked){
			document.form_0.elements[fld+"_en"].checked=true
		}
	}
	if(enrq=="en"){
		if(document.form_0.elements[fld+"_en"].checked==false){
			document.form_0.elements[fld+"_rq"].checked=false
		}
	}
	return
}

function chkEnEP(sct){
	var enrq="en"
	if(sct.name.indexOf("_en")==-1){enrq="rq"}
	var fld=sct.name.substring(0,sct.name.indexOf("_"+enrq))
	if(enrq=="rq"){
		if(document.entrypoint.elements[fld+"_rq"].checked){
			document.entrypoint.elements[fld+"_en"].checked=true
		}
	}
	if(enrq=="en"){
		if(document.entrypoint.elements[fld+"_en"].checked==false){
			document.entrypoint.elements[fld+"_rq"].checked=false
		}
	}
	return
}

function toUpper(fld){
	fld.value=fld.value.toUpperCase();
	return;
}

function toLower(fld){
	fld.value=fld.value.toLowerCase();
	return;
}

function toNumber(fld,defval){
	var defval="";
	if(fld.value=="" || fld.value=="0"){
		fld.value=defval;
		return;
	}
	if(parseInt(fld.value)){
		fld.value=parseInt(fld.value)
		return true;
	}else{
		fld.value=defval;
		fld.focus();
		alert('Please enter only numbers in this field.');
		return false;
	}
}

function toFloat(fld){
	if(isNaN(fld.value)){
		fld.value="";
		fld.focus();
		alert('Please enter only numbers in this field.');
		return false;
	} else {
		if(parseFloat(fld.value)){fld.value=parseFloat(fld.value)};
		return true;
	}
}

function toPhone(fld){
	var err_msg;
	var p;
	toUpper(fld);
	if(fld.value.length==0){return true;}
	for(p=0;p<fld.value.length;p++){
		if(isNaN(fld.value.substring(p,p+1)) && (fld.value.substring(p,p+1)!='-') || (fld.value.substring(p,p+1)==' ')){
			fld.select();
			fld.focus();
			err_msg='Please specify the phone number in the following format.\n\n###-###-####';
			alert(err_msg);
			return false;
		}
	}
	if(fld.value.length==7){
		if(!isNaN(fld.value)){ fld.value=fld.value.substring(0,3)+'-'+fld.value.substring(3,7); }
		err_msg='Please include the area code.\n\n###-###-####';
	}
	if(fld.value.length==10 && !isNaN(fld.value)){
		fld.value=fld.value.substring(0,3)+'-'+fld.value.substring(3,6)+'-'+fld.value.substring(6,10);
		return true;
	}
	if(fld.value.length==12){
		if(!isNaN(fld.value.substring(0,3)) && fld.value.substring(3,4)=='-' && !isNaN(fld.value.substring(4,7)) && fld.value.substring(7,8)=='-' && !isNaN(fld.value.substring(8,12))){
			return true;
		}
	}
	fld.select();
	fld.focus();
	if(err_msg==null){err_msg='Please specify the phone number in the following format.\n\n###-###-####';}
	alert(err_msg);
	return false;
}

function toURL(fld){
	var e;
	toLower(fld);
	//record length so that we can be sure '.' is not last
	e=fld.value;

	// check that we have a value:
	if ((e==null)||(e=="")){return true;}

	var httppos=e.indexOf("http");
	if (httppos!=0){
		fld.select();
		fld.focus();
		alert('Please enter a valid Web Address address including the HTTP:// or HTTPS://.');
		return false;
	}
	return true;
}

function toEmail(fld){
	var e,l;
	trim(fld);
	toLower(fld);
	//record length so that we can be sure '.' is not last
	e=fld.value;
	l=e.length;

	// check that we have a value:
	if ((e==null)||(e=="")){return true;}

	var spacepos=e.indexOf(" ");
		if (spacepos>=1){
			fld.select();
			fld.focus();
			alert('Please enter a valid e-mail address.');
			return false;
	}
	var atpos=e.indexOf("@");
	if (atpos<1){
		fld.select();
		fld.focus();
		alert('Please enter a valid e-mail address.');
		return false;
	}
	var dotpos=e.indexOf(".")
	if (((l-dotpos)<2)||(dotpos==-1)){
		fld.select();
		fld.focus();
		alert('Please enter a valid e-mail address.');
		return false;
	}
	return true;
}

function toText(fld){
	trim(fld);
	return true;
}

function toDate(fld){
	trim(fld);
	if(fld.value==""){return}
	if(fld.value.length!=10){
		fld.select();
		fld.focus();
		alert('Please enter date in the following format:\n\nmm/dd/yyyy (i.e. 04/09/1975)');
		return false;
	}
	mm=fld.value.substr(0,2);
	sep1=fld.value.substr(2,1);
	dd=fld.value.substr(3,2);
	sep2=fld.value.substr(5,1);
	yyyy=fld.value.substr(6,4);
	if(!isNaN(mm) && !isNaN(dd) && !isNaN(yyyy) && (sep1=="-" || sep1=="/") && (sep2=="-" || sep2=="/")){
		mm--;
		test=new Date(yyyy,mm,dd);
		if (test.getFullYear() !=yyyy || test.getMonth() != mm || test.getDate() != dd) {
			fld.select();
			fld.focus();
			alert('The date entered is not valid.\nPlease enter date in the following format:\n\nmm/dd/yyyy (i.e. 04/09/1975)');
			return false;
		}
		return true;
	}
	alert('Please enter date in the following format:\n\nmm/dd/yyyy (i.e. 06/04/1964)');
	fld.select();
	fld.focus();
	return;
}

function toTime(fld){
	trim(fld);
	if(fld.value==""){return}
	var timePat = /^(\d{1,2}):(\d{2})$/;
	var matchArray=fld.value.match(timePat);
	if (matchArray == null) {
		alert('The time entered is not valid.\n\nPlease enter time in the following military format:\n\nhh:mm\n\n- enter 8:30am as 08:30\n- enter 9:24pm as 21:24');
		return false;
	}
	hh=matchArray[1];
	mm=matchArray[2];

	if((hh<0 || hh>23) || (mm<0 || mm>59)){
		fld.select();
		fld.focus();
		alert('The time entered is not valid.\n\nPlease enter time in the following military format:\n\nhh:mm\n\n- enter 8:30am as 08:30\n- enter 9:24pm as 21:24');
		return false;
	}else{
		return true;
	}
	alert('Please enter time in the following military format:\n\nhh:mm\n\n- enter 8:30am as 08:30\n- enter 9:24pm as 21:24');
	fld.select();
	fld.focus();
	return;
}

function trim(fld){ //trim spaces from beginning and end of string
	trimstr=new String(fld.value);
	while(''+trimstr.charAt(0)==' ')
		trimstr=trimstr.substring(1,trimstr.length);
	while(''+trimstr.charAt(trimstr.length-1)==' ')
		trimstr=trimstr.substring(0,trimstr.length-1);
	fld.value=trimstr;
}
