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 load_xml_content_string(xmlData) {
		if (window.ActiveXObject) {
			//for IE
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async="false";
			xmlDoc.loadXML(xmlData);
			return xmlDoc;
		} else if (document.implementation && document.implementation.createDocument) {
			//for Mozila
			parser=new DOMParser();
			xmlDoc=parser.parseFromString(xmlData,"text/xml");
			return xmlDoc;
		}
	}

   function updatePage() {
     if (request.readyState == 4) {
       if (request.status == 200) {
       	 var data = load_xml_content_string(request.responseText);
       	 var error = xmlDoc.documentElement.childNodes[0].firstChild.nodeValue;
       	 switch(error) {
       	 	case "0":
       	 		var balance = xmlDoc.documentElement.childNodes[1].firstChild.nodeValue;
       	 		try {
       	 			var transid = xmlDoc.documentElement.childNodes[2].firstChild.nodeValue;
       	 			alert("Ihre Konto wurde mit der Transaction "+transid+" aufgeladen\nIhre Karte hat noch "+balance+" Guthaben");
       	 		}
       	 		catch(show) {
       	 			alert("Ihre Karte hat noch "+balance+" Guthaben");
       	 		}
       	 		break;
       	 	case "1":
       	 		alert("Der eingegeben Pin ist nicht gültig");
       	 		break;
       	 	case "2":
       	 		alert("Sie haben nicht genug Guthaben auf Ihre Karte");
       	 		break;
		case "4":
			alert("Es ist nicht möglich mehr als 150 CHF zu übertragen");
                        break;
       	 	case "3":
       	 		alert("Der gewählte Konto existiert nicht oder kann nicht mit diesem Karte nachgeladen werden");
       	 		break;
         	default:
       	 		alert("Es ist ein Systemfehler aufgetreten, bitte kontaktieren der shop provider error="+error);
       	 }
       } else
         alert("status is " + request.status);
     }
   }
   
   function getCustomerInfo() {
     	var pin = document.getElementById("src").value;
     	if (pin.length == 0) return;
     	var dst = document.getElementById("dst").value;
     	var amount = document.getElementById("amount").value;
     	var comment = document.getElementById("comment").value;
     	var params = "format=1&cardpin="+escape(pin)+"&dstaccount="+escape(dst)+"&amount="+escape(amount)+"&comment="+escape(comment);
     	var url = "/voucher.php";
     	request.open("POST", url, true);
     	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 		request.setRequestHeader("Content-length", params.length);
 		request.setRequestHeader("Connection", "close");
     	request.onreadystatechange = updatePage;
     	request.send(params);
   }
