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, minimize=no, status=no, menubar=no, location=no, scrollbars=no');
}

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 validate1(frm)
{
	if(!isEmpty(document.contact.name1,"Name"))
		return false;

	if(!checkSpecialName(document.contact.name1,"Name"))
		return false;

	if(!isEmpty(document.contact.address,"Address"))
		return false;

	if(!isEmpty(document.contact.city,"City"))
		return false;

	if(!checkSpecialName(document.contact.city,"City"))
		return false;

	if(document.contact.state[document.contact.state.selectedIndex].value==0){
		alert("Select a State");
		document.contact.state.focus();
		return false;
	}

	if(!isEmpty(document.contact.zip,"Zip Code"))
		return false;

	if (!isNumber(document.contact.zip.value))
	{
		alert("Zip Code can only be numeric");
		document.contact.zip.focus();
		document.contact.zip.select();
		return false;
	}
		
	if(!isZip(document.contact.zip))
		return false;

	if ( (!deleteBlanks(document.contact.telephone1.value)) && (!deleteBlanks(document.contact.telephone2.value)) && (!deleteBlanks(document.contact.telephone3.value)) ) {
		alert("Please enter Phone");
		document.contact.telephone1.focus();
		return false;
	}

	if(!isTel(document.contact.telephone1,document.contact.telephone2,document.contact.telephone3,"Phone ")) {
		return false;
	}	

	if(!isTel(document.contact.fax1,document.contact.fax2,document.contact.fax3,"Fax")) {
		return false;
	}	

	if(!isEmpty(document.contact.email,"Email"))
		return false;

	if(!emailCheck(document.contact.email))
		return false;

	if(!isEmpty(document.contact.date,"Date of Incident"))
		return false;

}