// Cross browser object builder
function GetXmlHttpObject()
	{
	if (window.XMLHttpRequest)
	   {
          // If IE7, Mozilla, Safari, etc: Use native object
          var xmlHttp = new XMLHttpRequest();
          }
       else
          {
          if (window.ActiveXObject)
             {
             // ...otherwise, use the ActiveX control for IE5.x and IE6
             var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
             }
          }
	return xmlHttp;
	}
   
// make an ajax call from a form (s) 
// with field names cn, sn, and zn and values c, st, and z
function ajaxPoster(s, cn, sn, zn, c, st, z, send)
    {
	try
	   {
	   document.getElementById("valid").value = "invalid";
	   document.getElementById("submitbutton").disabled =true
       var http = GetXmlHttpObject();
	   var url = "includes/addressValidator.cfm";
	   var params = "";
	   params = "frm="+s+"&cname="+cn+"&sname="+sn+"&zname="+zn+"&City="+c+"&State="+st+"&Zip="+z;
	   var l = params.length;
	   http.open("POST", url, true);
	   http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	   http.setRequestHeader("Content-length", params.length);
	   http.setRequestHeader("Connection", "close");
	   http.onreadystatechange=function() 
	                                   {
									   document.getElementById("tester").style.visibility = "visible";
									   document.getElementById("tester").innerHTML = "Checking address...";
                                       if ((http.readyState==4) && (http.status == 200))
									      {
										  document.getElementById("tester").innerHTML = "";
										  document.getElementById("tester").style.visibility = "visible";
										  document.getElementById("tester").innerHTML = http.responseText.substring(0, http.responseText.indexOf('endHere'));				  
											if (http.responseText.search(/Validated/i) >= 0)
									        {
											document.getElementById("submitbutton").disabled =false;
		                                    document.getElementById("valid").value = "valid";
											}
											else{
											document.getElementById("submitbutton").disabled =true
											document.getElementById("valid").value = "invalid";
											}
                                          }
									   }
	   http.send(params);
	   }
	catch(err)
	   {
	   alert(err.description);
	   }
	}
	
// make an ajax call from a form (s) 
// with field names cn, sn, and zn and values c, st, and z
function ajaxPosterMultiField(s, cn, sn, zn, c, st, z, tfield, vfield, secure)
    {
	try
	   {
	   //document.getElementById(vfield).value = "invalid";
       var http = GetXmlHttpObject();
	   var url = "includes/addressValidator.cfm";
	   var params = "";
	   params = "frm="+s+"&cname="+cn+"&sname="+sn+"&zname="+zn+"&City="+c+"&State="+st+"&Zip="+z+"&tfield="+tfield+"&vfield="+vfield;
	   var l = params.length;
	   http.open("POST", url, false);
	   http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	   http.setRequestHeader("Content-length", params.length);
	   http.setRequestHeader("Connection", "close");
	   http.onreadystatechange=function() 
	                                   {
									   document.getElementById(tfield).style.visibility = "visible";
									   document.getElementById(tfield).innerHTML = "Checking address...";
                                       if ((http.readyState==4) && (http.status == 200))
									      {
										  document.getElementById(tfield).innerHTML = "";
										  document.getElementById(tfield).style.visibility = "visible";
										  document.getElementById(tfield).innerHTML = http.responseText.substring(0, http.responseText.indexOf('endHere'));							  
									      if (http.responseText.search("Validated") > 0)
									         {
											 document.getElementById(vfield).focus();
		                                     document.getElementById(vfield).value = "valid";
											 document.getElementById(vfield).blur();	
											 }
                                          }
									   }
	   http.send(params);
	   return "success";
	   }
	catch(err)
	   {
	   alert(err.description);
	   return "failure";
	   }
	}

	
function updateFields(f, cname, sname, zname, c, s, z)
   {
   try
      {
      document.forms[f].cname.value = c; 
      document.forms[f].sname.value = s;  
      document.forms[f].zname.value = z;  
	  }
   catch(err)
      {
	  document.getElementById(cname).value = c;
	  document.getElementById(sname).value = s;
	  document.getElementById(zname).value = z;
	  }
   var send = confirm("Is this correct");
   try
      {
      if (send == true) 
	     {
/*		 document.getElementById("tester").style.height = 1;
		 document.getElementById("tester").style.width = 1;*/
		 document.getElementById("tester").style.visibility = "hidden";
		 document.getElementById("valid").value = "valid";
		 }
	  }
   catch(err)
      {
      if (send == true) 
	     {
/*		 document.all["tester"].style.height = 1;
		 document.all["tester"].style.width = 1;*/
		 document.all["tester"].style.visibility = "hidden";
		 document.all["valid"].value = "valid";
		 }
	  }  
	  return send;
   }

	
function updateMultiFields(f, cname, sname, zname, c, s, z, tname, vname)
   {
   try
      {
      document.forms[f].cname.value = c; 
      document.forms[f].sname.value = s;  
      document.forms[f].zname.value = z;  
	  }
   catch(err)
      {
	  document.getElementById(cname).value = c;
	  document.getElementById(sname).value = s;
	  document.getElementById(zname).value = z;
	  }
   var send = confirm("Is this correct");
   try
      {
      if (send == true) 
	     {
		 document.getElementById(tname).style.height = 1;
		 document.getElementById(tname).style.width = 1;
		 document.getElementById(tname).style.visibility = "hidden";
		 document.getElementById(vname).value = "valid";
		 }
	  }
   catch(err)
      {
      if (send == true) 
	     {
		 document.all[tname].style.height = 1;
		 document.all[tname].style.width = 1;
		 document.all[tname].style.visibility = "hidden";
		 document.all[vname].value = "valid";
		 }
	  }  
	  return send;
   }
   
   function changeStyle(row)
      {
	  try
	     {
	     document.getElementById(row).style.color = "red"; 
		 }
	  catch(err)
	     {
		 try
		    {
		    document.all.row.style.color = "red";
			}
			catch(err) {}
		 }  
	  }
	  
   function changeBack(row)
      {
	  try
	     {
	     document.getElementById(row).style.color = "blue"; 
		 }
	  catch(err)
	     {
		 try
		    {
		    document.all.row.style.color = "blue";
			}
			catch(err) {}
		 }  
	  }
