   var request = false;
   try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }
     }
   }

   if (!request)
     alert("Error initializing XMLHttpRequest!");

   function updatePage() {
     if (request.readyState == 4) {
       if (request.status == 200) {
         var response = request.responseText;
		 document.getElementById("stepA").innerHTML=response;
       } else
         alert("status is " + request.status);
     }
   }

   function checkEmail() {
        var email = document.getElementById("email").value;
        var url = "scripts/test.php?action=checkEmail&email="+escape(email);
        request.open("GET", url, true);
        request.onreadystatechange = updatePage;
        request.send(null);
   }

   function checkVCode() {
        var vcode = document.getElementById("vcode").value;
        var url = "scripts/test.php?action=checkVCode&vcode="+escape(vcode);
        request.open("GET", url, true);
        request.onreadystatechange = updatePage;
        request.send(null);
   }

   function updatePcPage() {
     if (request.readyState == 4) {
       if (request.status == 200) {
         var response = request.responseText.split("|");
         if(response[0] == 1) {
            document.getElementById("pcPort").style.display="none";
            document.getElementById("pcState").style.display="block";
            document.getElementById("cState").innerHTML=response[1];
         }
         if(response[0] == 0) {
            document.getElementById("pcState").style.display="none";
            document.getElementById("pcPort").style.display="block";
            document.getElementById("cPort").innerHTML=response[1];
         }
       } else
         alert("status is " + request.status);
     }
   }

   function updatePcInfo() {
     if (request.readyState == 4) {
       if (request.status == 200) {
            document.getElementById("pcInfo").style.visibility="visible";
            var response = request.responseText;
		    document.getElementById("pcInfo").innerHTML=response;
       } else
         alert("status is " + request.status);
     }
   }

   function updatePcPortPage() {
     if (request.readyState == 4) {
       if (request.status == 200) {
            document.getElementById("pcPort").style.display="block"
            var response = request.responseText;
		    document.getElementById("cPort").innerHTML=response;
       } else
         alert("status is " + request.status);
     }
   }

   function hideStatePort () {
        document.getElementById("pcState").style.display="none";
        document.getElementById("pcPort").style.display="none";
   }

   function countryChanged() {
        var pci=document.getElementById("pcInfo");
        if(pci) pci.style.visibility="hidden";
        var cid = document.getElementById("cname").value;
        var url = "portcodes?action=countryChange&cid="+escape(cid);
        request.open("GET", url, true);
        request.onreadystatechange = updatePcPage;
        request.send(null);
   }

   function stateChange() {
        document.getElementById("pcInfo").style.visibility="hidden";
        var cid = document.getElementById("cname").value;
        var sid = document.getElementById("state").value;
        var url = "portcodes?action=stateChange&cid=" + escape(cid) + "&sid=" + escape(sid);
        request.open("GET", url, true);
        request.onreadystatechange = updatePcPortPage;
        request.send(null);
   }

   function selectPort() {
        var pid = document.getElementById("port").value;
        var url = "portcodes?action=selectPort&pid="+escape(pid);
        request.open("GET", url, true);
        request.onreadystatechange = updatePcInfo;
        request.send(null);
   }

   function updateStPage() {
     if (request.readyState == 4) {
       if (request.status == 200) {
            document.getElementById("stInfo").style.display="block";
            var response = request.responseText;
		    document.getElementById("stInfo").innerHTML=response;
       } else
         alert("status is " + request.status);
     }
   }

   function ShippingTermsChanged()
   {
        var sti=document.getElementById("stInfo");
        if(sti) sti.style.display="none";
        var cid = document.getElementById("glossary").value;
        var url = "portcodes?action=ShippingTermsChanged&cid="+escape(cid);
        request.open("GET", url, true);
        if(sti) sti.style.display="block";
        request.onreadystatechange = updateStPage;
        request.send(null);
   }

   function updateMembers() {
     if (request.readyState == 4) {
       if (request.status == 200) {
          var m=document.getElementById("members");
          m.style.display="block";
		    m.innerHTML=request.responseText;
       } else
         alert("status is " + request.status);
     }
   }

	function show_members(cid)
	{
	    var url = "service?action=serviceChange&cid="+escape(cid);
	    request.open("GET", url, true);
	    request.onreadystatechange = updateMembers;
	    request.send(null);
	}
