var req;

function loadXMLDoc(url) 
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.open("GET", url, true);
        req.onreadystatechange = processReqChange;
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.open("GET", url, true);
            req.onreadystatechange = processReqChange;
            req.send();
        }
    }
}

function processReqChange() 
{ 
    // only if req shows "complete"
    if (req.readyState == 4)
	  {
        // only if "OK"
        if (req.status == 200) 
		  {
			document.getElementById('VerifyZip').style.display = 'none';
	      	response  = req.responseXML.documentElement;
			resultfound = response.getElementsByTagName('nofound')[0].firstChild.data;
		    result1 = 'Invalid';
			result2 = 'Invalid';
			for (i = 0; i < resultfound; i++)
			   {
			    result1 = response.getElementsByTagName('city')[i].firstChild.data;
				result2 = response.getElementsByTagName('state')[i].firstChild.data;
				}
			DisplayResult(result1,result2);
          } 
		else 
		  {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
          }
      }
}

function checkZip(input)
{
	input = trimVar(input);
	if (trimVar(input) == '') return;
	if (!ValidZip(input))
		DisplayResult('Invalid', 'Invalid')
	else
	  {
		document.getElementById('VerifyZip').style.display = 'inline';
		framename = 'ItemBody';
		scrname = Zip_scrname+'?FrameCall=Yes&ZipCode='+input;
		document.getElementById(framename).src           = scrname;
	  }
}
function DisplayResult(data1, data2, data3)
{
	data = document.GetDetail;
	if (data1 == 'Invalid' || data2 == 'Invalid')
	  {
		data.City.value = '';
		data.State.value = '';
		data.EveArea.value = '';
		alert('Invalid Zip Code: '+data.Zip.value);
		data.Zip.value = '';
		data.City.select();
		data.Zip.focus();
	  }
	else
	  {
		data.City.value = data1;
		data.State.value = data2;
		data.EveArea.value = data3;
		data.City.focus();
		data.City.select();
	  }
	document.getElementById('VerifyZip').style.display = 'none';
}

function trimVar(txt)
{
	// trim leading spaces
	while(''+txt.charAt(0)==' ')
		txt=txt.substring(1,txt.length);		
		
	// trim trailing spaces
	while(''+txt.charAt(txt.length-1)==' ')
		txt=txt.substring(0,txt.length-1);
			
	return 	txt;
}

function echeck(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 ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

function ValidateEMail(emailID){
	
	if ((emailID.value==null)||(emailID.value=="")){
//		alert("Please Enter your Email ID")
//		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }

function CheckPhone(nn)
{
	data = document.GetDetail;
	if (nn == 1)
	  {
		if (trimVar(data.EveArea.value) == '' && trimVar(data.EvePhone.value) == '') return;
		tmpphone = trimVar(data.EveArea.value) + ' ' + trimVar(data.EvePhone.value);
		tmpno1 = trimVar(data.EveArea.value);
		tmpno2 = trimVar(data.EvePhone.value);
		if (tmpno1 == '000' || tmpno2 == '0000000' || tmpno2 == '000-0000' || tmpno2 == '000 0000' || !ValidPhoneNumber(tmpphone))
		  {
			alert('Invalid Contact Number!');
			data.EveArea.focus();
			return false;
		  }
	  }
	if (nn == 2)
	  {
		if (trimVar(data.DayArea.value) == '' && trimVar(data.DayPhone.value) == '') return;
		tmpphone = trimVar(data.DayArea.value) + ' ' + trimVar(data.DayPhone.value);
		tmpno1 = trimVar(data.DayArea.value);
		tmpno2 = trimVar(data.DayPhone.value);
		if (tmpno1 == '000' || tmpno2 == '0000000' || tmpno2 == '000-0000' || tmpno2 == '000 0000' || !ValidPhoneNumber(tmpphone))
		  {
			alert('Invalid Alternate Number!');
			data.DayArea.focus();
			return false;
		  }
	  }
	return true;
}
function ValidZip(Zip)
{
	//Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.
	var stringValue = new String(Zip);
	var stringLength = stringValue.length;
	if ((stringLength!=5)&&(stringLength!=9)&&(stringLength!=10))
		return false;
	if(stringLength==5)
	{
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
				return false;
		}
	}
	if(stringLength==9)
	{
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
				return false;
		}
	}
	if(stringLength==10)
	{
		var zip=stringValue.substring(0,5)
		var symbol=stringValue.substring(5,6)
		var plus4=stringValue.substring(6,10)
		if(symbol!="-")
			return false;
		for (var i = 0; i < zip.length; i++)
		{
			value = zip.charAt(i)
			if (!((value >= 0) && (value <=9)))
				return false;
		}
		for (var i = 0; i < plus4.length; i++)
		{
			value = plus4.charAt(i)
			if (!((value >= 0) && (value <=9)))
				return false;
		}
	}
	return true;
}
function ValidPhoneNumber(PhoneNumber)
{
	var PNum = new String(PhoneNumber);
	
	//	555-555-5555
	//	(555)555-5555
	//	(555) 555-5555
	//	555-5555
//	var regex = /^[0-9]{3,3}\ [0-9]{7,7}$|^[0-9]{3,3}\-[0-9]{3,3}\-[0-9]{4,4}$|^\([0-9]{3,3}\) [0-9]{3,3}\-[0-9]{4,4}$|^\([0-9]{3,3}\)[0-9]{3,3}\-[0-9]{4,4}$|^[0-9]{3,3}\-[0-9]{4,4}$/;
	//	555 5555555
	//	555 555-5555
	//	555 555 5555
	var regex = /^[0-9]{3,3}\ [0-9]{7,7}$|^[0-9]{3,3}\ [0-9]{3,3}\-[0-9]{4,4}$|^[0-9]{3,3}\ [0-9]{3,3}\ [0-9]{4,4}$/;
	return regex.test(PNum);
}
