function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=760,height=600,left=50,top=50');");
}

function window_open() {
	var newWindow;
    var urlstring = 'calendar1.htm';
    newWindow = window.open(urlstring, '', 'height=200, width=280, toolbar=no, left=300, top=300, minimize=no, status=no, menubar=no, location=no, scrollbars=no');
}

//function islte(day1,month1,year1,day2,month2,year2,valName1,valName2)
function islte(date)
{
	dd1=day1[day1.selectedIndex].value;
	mm1=month1[month1.selectedIndex].value;
	yy1=year1[year1.selectedIndex].value;
	/*if (!isDate(day1,month1,year1,valName1))
		return false;*/

	dd2=day2;
	mm2=month2;
	yy2=year2;

	if(dd1<10)
		dd1="0"+dd1;
	if(mm1<10)
		mm1="0"+mm1;
	if(dd2<10)
		dd2="0"+dd2;
	if(mm2<10)
		mm2="0"+mm2;

	if((yy1+"-"+mm1+"-"+dd1) > (yy2+"-"+mm2+"-"+dd2))
	{
		alert("Date of Incident can only be on or before today");
		date.focus();
		return false;
	}
	return true;
}

function checktel(tel,valname)
{
	val1=tel.value;
	if (val1!="")
	{
		for (var i=0;i<val1.length;i++)
		{
			var val = val1.charAt(i);
			if ((val1.length<12 ) || (i!=7 && i!=3 && (val<"0" || val>"9") ) || ( (i==3 || i==7) && val!="-" ))
			{
				alert("Please enter "+ valname + " in the format 999-999-9999");
				tel.focus();
				tel.select();
				return false;
			}
		}
	}
	return true;
}

function isTel(val1,val2,val3,valName) {
	inv=0;
	v=val1.value+val2.value+val3.value;
	if (v!="") {
		if (v.length<10)
			inv=1;
		for (var i=0;i<v.length && inv==0;i++) {
			if ( v.charAt(i)<"0" || v.charAt(i)>"9")
				inv=1;
		}
		if (inv==1) {
			alert (valName + " is invalid")
			val1.focus();
			val1.select();
			return false;
		}
	}
	return true;
}

function checkSpecialName(val,valName) {
	myRegExp = new RegExp("[^a-z, ,']", "i"); 
	res=myRegExp.test(val.value);
	 if(res){
		alert('Numbers and Special Characters not allowed in '+valName);
		val.focus();
		val.select();
		return false;
	}
	return true;
}

function deleteBlanks(entry)
{
	var len = entry.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) 
	{
		var indx = entry.indexOf(" ");
		if(indx == -1) 
			foundBlank = 0 ;
		else
			entry = entry.substring(0,indx) + entry.substring(indx+1,len);
		len = entry.length;
	}
	return entry;
}

//alows only A-Z, 0-9 and spaces
function isValidText(frmElement, fieldName) {
	myRegExp = new RegExp("[^a-z,0-9,\\s]", "i"); 
	if(myRegExp.test(frmElement.value)) {
		alert("Special characters not allowed in " + fieldName);
		frmElement.focus();
		frmElement.select();
		retVal = false;
	}
	else {
		retVal = true;
	}
	return retVal;
}

function isNumber(val)
{
	count=0;
	str = val.toString();
	for (i=0;i<str.length;i++)
	{
		ch = str.substr(i, 1);
   	    if (ch<"0" || ch>"9")
			return false;
	}
    return true;
}

function isEmpty(val,valName)
{
	if (!deleteBlanks(val.value))
	{
		alert('Please enter '+ valName);
		val.focus();
		return false;	
	}
	return true;
}

function isZip(frmElement) {
	var str = frmElement.value;
	for(var i=0; i < str.length; i++) {
		if(str.charAt(i) == '.') {
			alert('Invalid Zip');
			frmElement.select();
			frmElement.focus();
			return false;
		}
	}
	return true;	
}

// Function To Check Entered Email Is Containing Any Special Characters 
function emailCheck(emailStr) {
	var retVal = false;
	femailStr= emailStr;
	emailStr = emailStr.value;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]$!%^()+|=~*&#?/'{}`"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
		while(true) {
			if (matchArray==null) {			
				alert("Invalid E-mail.")
				femailStr.focus();
				break;
			}
			var user=matchArray[1]
			var domain=matchArray[2]
			if (user.match(userPat)==null) {
				alert("Invalid E-mail. The email address doesn't seem to be valid.")
				femailStr.focus();
				break;
			}
			var IPArray=domain.match(ipDomainPat)							   
				if (IPArray!=null) {
					for (var i=1;i<=4;i++) {
						if (IPArray[i]>255) {
							alert("Invalid E-mail. Destination IP address is invalid!")
							return false;
						}	
					}			
					return true;		
				}										
			var domainArray=domain.match(domainPat)	
			if (domainArray==null) {		
				alert("Invalid E-mail. The domain name doesn't seem to be valid.")
				femailStr.focus();
				break;
			}
			
			var atomPat=new RegExp(atom,"g")	
			var domArr=domain.match(atomPat)	
			var len=domArr.length
			if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {			
			   alert("Invalid E-mail. The E-mail must end in a three-letter domain, or two letter country.")
			   femailStr.focus();
			   break;
			}
			if (len < 2) {	
			   var errStr="Invalid E-mail. This address is missing a hostname!"
			   alert(errStr)
				femailStr.focus();
			   break;
			}			
		   retVal = true;
		   break;		   
	   }		
   return retVal;
}	

function islte(){
	var str = document.contact.date.value;
	
	dd1=str.substring(3,5);
	mm1=str.substring(0,2);
	yy1=str.substring(6);
	
	var today = new Date();
	dd2=today.getDate();
	mm2=today.getMonth()+1;
	yy2=today.getYear();
	
	/*if(dd1<10)
		dd1="0"+dd1;
	if(mm1<10)
		mm1="0"+mm1;*/
	if(dd2<10)
		dd2="0"+dd2;
	if(mm2<10)
		mm2="0"+mm2;
	
	if((yy1+"-"+mm1+"-"+dd1) > (yy2+"-"+mm2+"-"+dd2)){
		alert("Date of Incident can only be on or before today");
		document.contact.date.focus();
		return false;
	}
	
	return true;
}

function validate() {
	var retVal = false;
	while(true) {
		
		if(!isEmpty(document.contact.name,"Name"))
			break;
			
		if(!checkSpecialName(document.contact.name,"Name"))
			break;
			
		if(!isEmpty(document.contact.address,"Address"))
			break;

		if(!isEmpty(document.contact.city,"City"))
			break;

		if(!checkSpecialName(document.contact.city,"City"))
			break;

		if(document.contact.state[document.contact.state.selectedIndex].value==0){
			alert("Select a State");
			document.contact.state.focus();
			break;;
		}
		
		if(!isEmpty(document.contact.zip,"Zip Code"))
			break;

		if (!isNumber(document.contact.zip.value)){
			alert("Zip Code can only be numeric");
			document.contact.zip.focus();
			document.contact.zip.select();
			break;
		}
		
		if(!isZip(document.contact.zip))
			break;

	if ( (!deleteBlanks_1(document.contact.telephone1.value)) && (!deleteBlanks_1(document.contact.telephone2.value)) && (!deleteBlanks_1(document.contact.telephone3.value)) )
	{
		alert("Phone is required");
		document.contact.telephone1.focus();
		return false;	
	}

	if(!isTel_1(document.contact.telephone1,document.contact.telephone2,document.contact.telephone3,"Phone"))
		return false;
		
		if(!isEmpty(document.contact.email,"Email Address")) {
			break;
		}
		
		if (deleteBlanks(document.contact.email.value)) {
			if(!emailCheck(document.contact.email)) {
				break;
			}
		}

		if(document.contact.date.value!=""){
			if(!islte()) 
				break;
		}
		
		if (document.contact.email.value != deleteBlanks(document.contact.email.value)) {
			if (confirm("The spaces in Email will be removed")) {
				document.contact.email.value =  deleteBlanks(document.contact.email.value);
			}
			document.contact.email.focus();
			document.contact.email.select();
			break;
		}

		retVal = true;
		break;
	}
	return retVal;
}