// JavaScript functions
var secs
var timerID = null
var timerRunning = false
var delay = 500

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 1
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
	//Set play mechanisim to off
	playSShow = 0;
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
        //alert("3 seconds up")
		//MM_swapImgRestore()
		MM_showHideLayers('sm1','','hide');
		document['btn_school'].src = "images/btn_school.jpg";
    }
    else
    {
        //self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}



function jsValidation(frmName, reqFields){
	
	var noFields = reqFields.length;
	
	
	//start loop test for basic vaildation
	for(i=0; i< noFields; i++){
		
		if(reqFields[i][1] == "text" || reqFields[i][1] == "number" || reqFields[i][1] == "email"){//validate to ensure user input for text / number fields
		
			//validate for no user input
			if(eval('document.'+frmName+'.'+reqFields[i][0]+'.value') == "")
			{
			alert("You must enter your " + reqFields[i][0] + " before proceeding with your submission! ")
			document.forms[frmName].elements[reqFields[i][0]].focus();
			//document.feedbackForm.name.focus();
			return false
			}
			//validate for user input for min max char
			if(eval('document.'+frmName+'.'+reqFields[i][0]+'.value') != "")
			{
				if(reqFields[i][2] >0 && reqFields[i][3] >0){
					if(document.forms[frmName].elements[reqFields[i][0]].value.length < reqFields[i][2]){
						alert(reqFields[i][0] + " is too short. Please try again.");
						document.forms[frmName].elements[reqFields[i][0]].focus();
						return false;
					}
					
					if(document.forms[frmName].elements[reqFields[i][0]].value.length > reqFields[i][3]){
						alert(reqFields[i][0] + " is too long. Please try again.");
						document.forms[frmName].elements[reqFields[i][0]].focus();
						return false;
					}
					
				}
			}
			
			
			if(reqFields[i][1] == "number"){// Check for number formatting
				 var validChars = "-0123456789";
					
				for (var j=0; j < document.forms[frmName].elements[reqFields[i][0]].value.length; j++) {
					temp = "" + document.forms[frmName].elements[reqFields[i][0]].value.substring(j, j+1);
					if (validChars.indexOf(temp) == -1) {
						alert("Invalid characters in " + reqFields[i][0] + "  Please try again.");
						document.forms[frmName].elements[reqFields[i][0]].focus();
						return false;
					}
				}
				 
			}//end Check number formatting	
			
			if(reqFields[i][1] == "email"){// Check for email formatting
				var emailAddress = document.forms[frmName].elements[reqFields[i][0]].value;
				 var invalidChars = " ~!#$%^&*()+|=`[]{};:<>,?/\\\"'\r\n";
					
				for (var j=0; j < emailAddress.length; j++) {
					temp = "" + emailAddress.substring(j, j+1);
					if (invalidChars.indexOf(temp) > -1) {
						alert("Invalid characters in " + reqFields[i][0] + "  Please try again.");
						document.forms[frmName].elements[reqFields[i][0]].focus();
						return false;
					}
				}
				atPos=emailAddress.indexOf("@",1)//check email address for @ symbol
				if(atPos == -1){
					alert("@ is missing from " + reqFields[i][0] + "  Please try again.");
					document.forms[frmName].elements[reqFields[i][0]].focus();
					return false
				}//end @ symbol check
				
				
				peroidPos=emailAddress.indexOf(".",atPos)
				if(peroidPos == -1){
					alert("Invalid address format for " + reqFields[i][0] + "  Please try again.");
					document.forms[frmName].elements[reqFields[i][0]].focus();
					return false
				}
				if(peroidPos+3 > emailAddress.length){
					alert("Invalid address format for " + reqFields[i][0] + "  Please try again.");
					document.forms[frmName].elements[reqFields[i][0]].focus();
					return false
				}
				 
			}//end Check email formatting	 
	
		}//End validation for user input text/numbers

			

	
		if(reqFields[i][1] == "radio"){// Check for radio button formatting
		
			// set var radio_choice to false
			var radio_choice = false;

			// Loop from zero to the one minus the number of radio button selections
			for (counter = 0; counter < document.forms[frmName].elements[reqFields[i][0]].length; counter++){
			
				if(document.forms[frmName].elements[reqFields[i][0]][counter].checked){
					radio_choice = true; 
				}
				if (!radio_choice){
					// If there were no selections made display an alert box 
					alert(reqFields[i][0] + ": You must make a selection to contine. Please try again.");
					document.forms[frmName].elements[reqFields[i][0]][0].focus();
					return false
				}
			
			}		
			 
		}//end Check radio button formatting
		
		if(reqFields[i][1] == "checkbox"){// Check for check box formatting
			if(!document.forms[frmName].elements[reqFields[i][0]].checked){
				alert("You must check " + reqFields[i][0] + " to contine. Please try again.");
				document.forms[frmName].elements[reqFields[i][0]].focus();
				return false
			}
			 
		}//end Check check box formatting
		
		if(reqFields[i][1] == "dropdown"){// Check for dropdown formatting
		
			//document.forms[frmName].elements[reqFields[i][0]].options[document.forms[frmName].elements[reqFields[i][0]].selectedIndex].value
			if(document.forms[frmName].elements[reqFields[i][0]].value=="na"){
				alert(reqFields[i][0] + ": Please make a selection to contine. Please try again.");
				document.forms[frmName].elements[reqFields[i][0]].focus();
				return false
			}
			 
		}//end Check drop down formatting	
	
	}//end the loop test
	return true
		
}