<!-- Begin
	
// function to print the current page
function printWindow()
{
  input_box=confirm("If this page does not print correctly\r\n\r\n  1. Select File-Page Setup in your browser,\r\n  2. Reset the left and right margins to 0.25,\r\n  3. Reset the top and bottom margins to 0.75,       \r\n  4. Ensure the printer is set to Portrait.\r\n\r\nClick Cancel to change the print options,\r\nor click OK to print with your current settings.\r\n  ")
  bV = parseInt(navigator.appVersion);
  if (bV >= 4)
  	if (input_box==true) window.print();
  	else return;
  else
  	alert ("This operation is not supported by your browser.\r\nSelect File-Print to print the page.")
}


// function to popup a window
function popup(url,name) 
{
  window.open(url,name,"resizable=yes,menubar=no,toolbar=no,location=no,directories=no,scrollbars=1,width=780,height=550");
}


// function to open a window with variable features
function openWindow(URL,Name,features)
{
  window.open(URL,Name,features);
}


// function to open the topic forums window with variable features
function openForumWindow(URL,Name,features,u,p)
{
  forum = window.open(URL,Name,features);
  forum.username = u;
  forum.password = p;
}

// function to popup a window
function messageboard(url,name) 
{
  window.open(url,name,"resizable=yes,menubar=no,toolbar=no,location=no,directories=no,scrollbars=1,width=800,height=550");
}

//function to see if data has been saved on exit
function checkexit()
{
  input_box=confirm("You have not saved your changes.\r\nDo you wish to save before exiting?\r\n  \r\nClick 'OK' to save or 'CANCEL' to exit.")
  bV = parseInt(navigator.appVersion);
     if (bV >= 4)
  	if (input_box==true)
  	  alert ("Your data has been saved");
	else
	  return;
      else
  	alert ("This operation is not supported by your browser.\r\nSelect File-Print to print the page.")
}
	

//  End -->

//function to pop up the help window

function openHelpWindow(URL,Name,features) {
  window.open(URL,Name,features);
}


//function to pop up help

function toggleDiv(id,flagit) {


if (flagit=="1"){
if (document.layers) document.layers[''+id+''].visibility = "show"
else if (document.all) document.all[''+id+''].style.visibility = "visible"
else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible"
}
else
if (flagit=="0"){
if (document.layers) document.layers[''+id+''].visibility = "hide"
else if (document.all) document.all[''+id+''].style.visibility = "hidden"
else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"
}
}

function numberDependsOnNumber(field1,field2,intQuestion)
{
	if (field1.value != 0 && field2.value == 0)
	{
		alert('Please enter a value for question ' + intQuestion + '.');
		field2.select();
		return false;
	}
	return true
}

function numberDependsOnYes(fldNum,fldYes,intQuestion)
{
	if (fldNum.value != '' && fldNum.value != '0' && !fldYes.checked)
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function yesNoDependsOnNumber(fldYes,fldNo,fldNumber,message)
{
	if ((fldYes.checked || fldNo.checked) && fldNumber.value == 0)
	{
		alert(message);
		fldNumber.select();
		return false;
	}
	return true;
}

function radioDependsOnText(rad1,rad2,rad3,rad4,rad5,fldTxt,message)
{
	if ((rad1.checked || rad2.checked || rad3.checked || rad4.checked || rad5.checked) && fldTxt.value == '')
	{
		alert(message);
		fldTxt.select();
		return false;
	}
	return true;
}

function fourRadiosDependOnYes(rad1,rad2,rad3,rad4,fldYes,intQuestion)
{
	if ((rad1.checked || rad2.checked || rad3.checked || rad4.checked) && !fldYes.checked)
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function fiveRadiosDependOnNumberw(rad1,rad2,rad3,rad4,rad5,fldNum,intQuestion)
{
	if ((rad1.checked || rad2.checked || rad3.checked || rad4.checked || rad5.checked) && !fldNum.value > '0')
	{

		var bln = confirm('You checked one of the buttons on question ' + intQuestion + ' but did not enter an amount.\n\rClick OK to continue without making any changes.\n\rClick CANCEL to return to the page and make your changes.');
			
		if (!bln)
		{
			fldNum.focus();
			return false
		}

	}
	return true;
}

function twoRadiosDependOnYes(rad1,rad2,fldYes,intQuestion)
{
	if ((rad1.checked || rad2.checked) && !fldYes.checked)
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function textDependsOnNumber(fldText,fldNumber,message)
{
	if (fldText.value != '' && fldNumber.value == 0)
	{
		alert(message);
		fldNumber.select();
		return false;
	}
	return true;
}

function numberDependsOnText(field1,field2,message)
{
	if (field1.value != 0 && field2.value == '')
	{
		alert(message);
		field2.select();
		return false;
	}
	return true;
}

function yesNoDependsOnYesNo(fldYes1,fldNo1,fldYes2,fldNo2,intQuestion)
{
	if ((fldYes1.checked || fldNo1.checked) && !fldYes2.checked && !fldNo2.checked)
	{
		alert('Please anwser Yes or No for Question ' + intQuestion + '.');
		fldYes2.focus();
		return false;
	}
	return true;
}

function yesNoDependsOnYes(fldYes1,fldNo,fldYes2,intQuestion)
{
	if (!fldYes2.checked && (fldYes1.checked || fldNo.checked))
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes2.focus();
		return false;
	}
	return true
}

function yesDependsOnText(fldYes,fldText,message)
{
	if ((fldYes.checked) && fldText.value == "")
	{
		alert(message);
		fldText.select();
		return false;
	}
	return true;
}


function yesDependsOnNumber(fldyes,fldNumber,message)
{
	if ((fldyes.checked) && fldNumber.value == 0)
	{
		alert(message);
		fldNumber.select();
		return false;
	}
	return true;
}


function noDependsOnNumber(fldno,fldNumber,message)
{
	if ((fldno.checked) && fldNumber.value == 0)
	{
		alert(message);
		fldNumber.select();
		return false;
	}
	return true;
}

function chkDependsOnText(fldchk,fldText,message)
{
	if ((fldchk.checked) && fldText.value == "")
	{
		alert(message);
		fldText.select();
		return false;
	}
	return true;
}

function checkDependsOnYes(fldChk,fldYes,intQuestion)
{
	if (fldChk.checked && !fldYes.checked)
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function checkDependsOnNumber(fldChk,fldNumber,intQuestion)
{
	if (fldChk.checked && (fldNumber.value == '' || fldNumber.value == '0'))
	{
		alert('Please enter a value for question ' + intQuestion + '.');
		fldNumber.select();
		return false;
	}
	return true;
}

function textDependsOnYes(fldTxt,fldYes,intQuestion)
{
	if (fldTxt.value != '' && !fldYes.checked)
	{
		alert('Please answer Yes or No for question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function textDependsOnYesNo(fldTxt,fldYes,fldNo,intQuestion)
{
	if (fldTxt.value != '' && !fldYes.checked && !fldNo.checked)
	{
		alert('Please answer Yes or No for Question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function otherDependsOnTwoRadios(fldTxt,rad1,rad2,msg)
{
	if (fldTxt.value != '' && (!rad1.checked && !rad2.checked))
	{
		alert(msg);
		fldTxt.select();
		return false;
	}
	return true;
}

function TwoRadiosDependOnOther(rad1,rad2,fldTxt,msg)
{
	if ((rad1.checked || rad2.checked) && fldTxt.value == '')
	{
		alert(msg);
		fldTxt.focus();
		return false;
	}
	return true;
}

function otherDependsOnFiveRadios(fldTxt,rad1,rad2,rad3,rad4,rad5,msg)
{
	if (fldTxt.value != '' && (!rad1.checked && !rad2.checked && !rad3.checked && !rad4.checked && !rad5.checked))
	{
		alert(msg);
		fldTxt.select();
		return false;
	}
	return true;
}

function FiveRadiosDependOnOther(rad1,rad2,rad3,rad4,rad5,fldTxt,msg)
{
	if ((rad1.checked || rad2.checked || rad3.checked || rad4.checked || rad5.checked) && fldTxt.value == '')
	{
		alert(msg);
		fldTxt.focus();
		return false;
	}
	return true;
}

function numberDependsOnYesNo(fldNumber,fldYes,fldNo,intQuestion)
{
	if (fldNumber != 0 && (!fldYes.checked || !fldNo.checked))
	{
		alert('Please anwser Yes or No for Question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function selectDependsOnYes(fldSelect,intDefaultValue,fldYes,intQuestion)
{
	if (fldSelect.value == intDefaultValue && !fldYes.checked)
	{
		alert('Please answer Yes for Question ' + intQuestion + '.');
		fldYes.focus();
		return false;
	}
	return true;
}

function selectDependsNumberw(fldSelect,intDefaultValue,fldNum,msg)
{

	if (fldSelect.value != intDefaultValue && fldNum.value == '')

	{
		var bln = confirm(msg);
			
		if (!bln)
		{
			fldNum.focus();
			return false
		}
	}
	return true;
}

function IsInt(field)
{
	if (field.value == '')
		return true;
	
	var strString = field.value;
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
			blnResult = false;
	}
		
	if (blnResult)
		return true;
	else
		return false;

}


function IsNumeric(field, intQuestion)
{
	if (field.value == '')
		return true;

	var strString = field.value;
	var strValidChars = "0123456789.-(),";
	var strChar;
	var blnResult = true;
	var blnGotDecimal = false;
	
	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
			blnResult = false;
		
		if (strChar == "." && !blnGotDecimal)
			blnGotDecimal = true;
		else if (strChar == "." && blnGotDecimal)
			blnResult = false;
		
		if ((strChar == '-' && i != 0 && i != strString.length - 1) || (strChar == '(' && i != 0) || (strChar == ')' && i != strString.length -1))
			blnResult = false;
	}
	
	if (strString.charAt(0) == '(' && strString.charAt(strString.length - 1) != ')')
		blnResult = false;
	
	if (strString.charAt(strString.length -	1) == ')' && strString.charAt(0) != '(')
		blnResult = false;
	
	if (strString.charAt(0) == '-' && strString.charAt(strString.length - 1) == '-')
		blnResult = false;
	
	if (blnResult)
		return true;
	else
	{
		alert('Please enter a numerical value for question ' + intQuestion + '.'); 
		field.select(); 
		return false;
	}			
}

function percent(field, intQuestion)
{
	if (!IsNumeric(field,intQuestion))
		return false;

	if (parseFloat(field.value) > 100.0 || parseFloat(field.value) < -100.0)
	{
		alert('The value you entered: [' + field.value + '] is not valid for Question ' + intQuestion +
			'.\n\rThis value must be a valid percent.');
		field.select();
		return false;
	}
	return true;
}

function IsYear(field, intQuestion)
{
	var blnResult = true;
	
	var dateNow = new Date(Date());
	
	if (!IsInt(field))
		blnResult = false;
	if (parseInt(field.value) < 1800)
		blnResult = false;
	if (parseInt(field.value) > parseInt(dateNow.getYear()) + 1)
		blnResult = false;
	
	
	if (blnResult)
		return true;
	else
	{
		alert('Please enter a valid year for Question ' + intQuestion + ' .');
		field.select();
		return false
	}
}

function pageUnload(bln, form)
{
	toggleDiv('PleaseWait',1);
	if (!bln)
		if (confirm('You are about to navigate away from this page.\nWould you like to save your data entered?\n\r\n\rClick OK to save.\n\rClick CANCEL to disregard any changes.'))
			form.submit();
}

//funtion to edit dates
// Declaring valid date character, minimum year and maximum year

var dtCh= "/";
var minYear=1900;
var dateNow = new Date(Date());
var maxYear=dateNow.getYear();

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr, intQuestion){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert('The date format should be : mm/dd/yyyy for Question ' + intQuestion + ' .')
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert('Please enter a valid month for Question ' + intQuestion + ' .')
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert('Please enter a valid day for Question ' + intQuestion + ' .')
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert('Please enter a valid 4 digit year between '+minYear+' and '+maxYear+ ' for Question ' + intQuestion + ' .')
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert('Please enter a valid date for Question ' + intQuestion + ' .')
		return false
	}
return true
}

function ValidDate(field, intQuestion){

	if (field.value == "") {
		return true
	}

	if (isDate(field.value, intQuestion)==false){
		field.select()
		return false
	}
    return 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_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 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];}}
}

