/* XMLHTTP */

function getHTTPObject()
{
	var objXMLHttp = null;
	try {
		objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	 	try {
	 		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} catch(e) {
	 		objXMLHttp = new XMLHttpRequest();
	 	}
	}
	return objXMLHttp;
}

var http = getHTTPObject();
var isBusy = false;

/* Retrieve owner of bank giro or postal giro */

function getRecipient(number)
{
	document.getElementById('invoiceRecipient').value = 'Test AB';
}

/* Show/hide the box for adding new recipients */

function toggleAddRecipient()
{
	var addRecipient = document.getElementById('addRecipient');
	if (addRecipient.style.display == 'none') {
		addRecipient.style.display = 'block';
	} else {
		addRecipient.style.display = 'none';
	}
}

/* Retrieve bank- or postalgiro account owner */

function checkGiroOwner()
{
	if (isBusy) {
		http.onreadystatechange = function () {}
		http.abort();
	}
	if (document.getElementById('invoiceRecipientNumber')) {
		if (document.getElementById('invoiceRecipientType2').checked == true) {
			document.getElementById('invoiceRecipientName').value = '';
			document.getElementById('invoiceRecipientCheck').innerHTML = 'Hämtar mottagare ...';
			http.open("GET", "/js/checkplusgiro.php?account=" + document.getElementById('invoiceRecipientNumber').value, true);
			http.onreadystatechange = handleCheckGiroOwner;
			http.send(null);
			isBusy = true;
		} else if (document.getElementById('invoiceRecipientType1').checked == true) {
			document.getElementById('invoiceRecipientName').value = '';
			document.getElementById('invoiceRecipientCheck').innerHTML = 'Hämtar mottagare ...';
			http.open("GET", "/js/checkbankgiro.php?account=" + document.getElementById('invoiceRecipientNumber').value, true);
			http.onreadystatechange = handleCheckGiroOwner;
			http.send(null);
			isBusy = true;
		}
	}
}

function handleCheckGiroOwner()
{
	if (http.readyState == 4) {
		isBusy = false;
		if (http.responseText.substr(0,4) == '8296') {
			if (document.getElementById('invoiceRecipientName')) {
				document.getElementById('invoiceRecipientName').value = http.responseText.substr(4);
				document.getElementById('invoiceRecipientCheck').innerHTML = '';
			}
		} else {
			document.getElementById('invoiceRecipientCheck').innerHTML = 'Ingen träff';
		}
	}
}

/* Retrieve postal address */

function checkPostCode(postcode)
{
	if (isBusy) {
		http.onreadystatechange = function () {}
		http.abort();
	}
	http.open("GET", "/js/checkpostcode.php?postcode="+postcode.value, true);
	http.onreadystatechange = handleCheckPostCode;
	http.send(null);
	isBusy = true;
}

function handleCheckPostCode()
{
	if (http.readyState == 4) {
		isBusy = false;
		if (http.responseText.substr(0,4) == '2092') {
			if (document.getElementById("registerPostal")) {
				document.getElementById("registerPostal").value = http.responseText.substr(4);
			} else if (document.getElementById("customerPostal")) {
				document.getElementById("customerPostal").value = http.responseText.substr(4);
			}
			return;
		}
	}
}