
//-------------------------------------------------------------------------
//  AJAX stuff
//-------------------------------------------------------------------------
   var iNum
   var myPC = '';
   var myDiv = null;
   function doHttpRequest(i) {
     iNum = i;
// new code uses postcodefind as the field entered and postcode as the address field
// coded to handle either way.
//     var pc = document.getElementById("postcode"+iNum).value;
     pcE = document.getElementById("postcodefind"+iNum);
     if (pcE != null)
       { var pc = document.getElementById("postcodefind"+iNum).value; }
     else
       { var pc = document.getElementById("postcode"+iNum).value; }
     myPC = pc;

     var hs = document.getElementById("house"+iNum).value;
     if (hs == 'House no/Name') { hs = ''; }
     hs = Trim(hs);
     var iURL = httpMode+"/AFDajax.asp?postcode="+pc+"&house="+hs+"&num="+iNum

     http.open("GET", iURL, true);
     pauseComp(200);
     http.onreadystatechange = function(){ getHttpRes(); };
     http.send(null);
   }

   function getHttpRes() {
     showRes = false;
     if (http.readyState == 1) {
       res = 'Waiting for response................';
       showRes = true;
     }

     if (http.readyState == 4) { 
       res = http.responseText;
       showRes = true;
     }
     
     if (showRes) {
       el = document.getElementById('house'+iNum);
       x = el.offsetLeft; y = el.offsetTop;
       w = el.offsetWidth;
       while((el=el.offsetParent) != null) { x += el.offsetLeft; y += el.offsetTop; }

       if (myDiv == null)
       {
          myDiv = document.createElement('div');
          myDiv.setAttribute('id', 'myDiv');
          myDiv.className = 'AFDClass';
          myDiv.style.position = "absolute";
          document.body.appendChild(myDiv);
       }

       el = myDiv; //document.getElementById('addrSel'+iNum);
       s1  = '<table border="0" bgcolor="#BDC59D" style="border:1px solid #980000">';
       s1 += '<tr>';
       s1 += '<td align="left">&nbsp;Address Selector</td>';
       s1 += '<td align="right"><a href="javascript:ajaxCloseDiv()">Close</a>&nbsp;</td>';
       s1 += '</tr>';
       s1 += '<tr>';
       s1 += '<td colspan="2" bgcolor="white">';
       s1 += '<div id="addrList'+iNum+'" style="z-index:100;">';
       s2  = '</div>';
       s2 += '</td>';
       s2 += '</tr>';
       s2 += '</table>';

       el.style.visibility = 'visible';
       el.style.display = 'block';
       el.innerHTML = s1+res+s2;

       w1 = el.offsetWidth;
       x = x - Math.round((w1-w) / 2);
       el.style.left = x + 'px';
       el.style.top = y-20 + 'px';  // the -20 is to cover a selector on the register page
      }
   }

   function getXHTTP() {
     var xhttp;
      try {   // The following "try" blocks get the XMLHTTP object for various browsers…
         xhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
         try {
           xhttp = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e2) {
 		 // This block handles Mozilla/Firefox browsers...
	       try {
	         xhttp = new XMLHttpRequest();
	       } catch (e3) {
	         xhttp = false;
	       }
         }
       }
     return xhttp; // Return the XMLHTTP object
   }

   function showAddress(iNum) {
      if (iNum=='undefined') iNum='';
      var a = document.getElementById("addressList"+iNum).value;
      if (a != '')
      {
        var x = /\t/;
        a = a.replace(x,'');
        a = Trim(a);
        a = a.replace(/, /g,',');
        var b = a.split(",");
        if (b.length > 2) { var c = b[b.length-2]; } else { var c = ''; }
        if (b.length > 1) { var d = b[b.length-1]; } else { var d = ''; }
        var i = c.indexOf('Not Found');
        if (i>0) c = '';
        b.length = b.length-2;
        a = b.join('\n');
        if (document.getElementById("address"+iNum) != null) {document.getElementById("address"+iNum).value=a; }
        if (document.getElementById("street"+iNum) != null) {document.getElementById("street"+iNum).value=a; }
        if (document.getElementById("city"+iNum) != null) { document.getElementById("city"+iNum).value=c; }
        if (document.getElementById("town"+iNum) != null) { document.getElementById("town"+iNum).value=c; }
        if (document.getElementById("postcode"+iNum) != null) { document.getElementById("postcode"+iNum).value=d; }
      }
      if (document.getElementById("addrList"+iNum) != null) { document.getElementById("addrList"+iNum).style.display='none'; }
      if (document.getElementById("addrSel"+iNum) != null) { document.getElementById("addrSel"+iNum).style.display='none'; }
      myDiv.style.display='none';
   }

   function pauseComp(millis) {
      var date = new Date();
      var curDate = null;
      do { curDate = new Date(); }
      while(curDate-date < millis);
   }

			function ajaxCloseDiv()	{
      if (document.getElementById("addrSel"+iNum) != null){ document.getElementById("addrSel"+iNum).style.display='none'; }
      myDiv.style.display='none';
			}
//-------------------------------------------------------------------------