/*
	This file contains all common functions that are used on the FORM pages
		1. checkNum()		Ensures a form element has all numeric input
		2. checkLength()	Checks the length of a number
		3. toLower()		Makes an input all lowercase
		4. toUpper()		Makes an input all uppercase
*/


// 1. Ensures a form element has all numeric input
////////////////////////////////////////////////
function checkNum(obj) {
	v = obj.value
	var regExp = /^[0-9]*$/
	if ( regExp.test(v) == false )   
	{
	    	alert("Please enter a number.")
			obj.value = v.substr(0,v.length-1)
	}
}

// 2. Checks the length of a number
////////////////////////////////////////////////
function checkLength(obj, length) {
	v = obj.value;
	if ( v.length != length )   
	{
	    	alert("Please enter a number that is " + length + " digits long.");
			
	}
}
// 3. Makes an input all lowercase
////////////////////////////////////////////////
function toLower(form) {
		myString = form.value.toLowerCase();
		form.value = myString;
}
// 4. Makes an input all uppercase
////////////////////////////////////////////////
function toUpper(form) {
		myLength = form.value.length;
		myString = form.value.toUpperCase();
		form.value = myString;
}

// 4. Ensures the date is in the correct format
////////////////////////////////////////////////
function checkdate(input){
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	var returnval=false
	if (!validformat.test(input.value))
		alert("Invalid Date Format. Please format your date as MM/DD/YYYY and submit again.")
	else { //Detailed check for valid date ranges
		var monthfield=input.value.split("/")[0]
		var dayfield=input.value.split("/")[1]
		var yearfield=input.value.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
			alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
		else
			returnval=true
	}
	if (returnval==false) input.select()
		return returnval
}
// 4. Ensures the email is in the correct format
////////////////////////////////////////////////
function validate_email(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail address.")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail address.")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail address.")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail address.")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail address.")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail address.")
		    return false
		 }

 		 return true					
	}
	
var popUpWin=0;

function popUpWindow(URLStr, left, top, width, height)

{

  if(popUpWin)

  {

    if(!popUpWin.closed) popUpWin.close();

  }

  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');

}

