function Send (form, location)
{
	form.method = 'post';
	form.action = location;
	form.submit();
	
	return false;
}

if (!window.XMLHttpRequest)
{
    window.XMLHttpRequest = function()
    {
        var types = [
            'Microsoft.XMLHTTP',
            'MSXML2.XMLHTTP.5.0',
            'MSXML2.XMLHTTP.4.0',
            'MSXML2.XMLHTTP.3.0',
            'MSXML2.XMLHTTP'
        ];
		
        for (var i = 0; i < types.length; i++)
        {
            try
            {
                return new ActiveXObject(types[i]);
            }
            catch(e) {}
        }
    
        return undefined;
    }
}

var requests = new Array();

function SendAddressRequest(action, url, value)
{
	var i = requests.length;
	
	requests[i] = new XMLHttpRequest();
	requests[i].open(action, url);
	requests[i].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
	requests[i].onreadystatechange = function()
    {
		if (requests[i].readyState == 4)
		{
			var response = requests[i].responseText;
			var update = new Array();
			
			if (response.indexOf('|') != -1)
			{
				update = response.split('|');
				
				if (update[0] == 'true')
				{
					document.getElementById('adres1').innerHTML = update[1] + ' ' + document.getElementById('housenr').value;
					document.getElementById('adres2').innerHTML = document.getElementById('zip').value.toUpperCase() + ' ' + update[2];
					
					document.getElementById('street').value = update[1];
					document.getElementById('housenumber').value = document.getElementById('housenr').value;
					document.getElementById('zipcode').value = document.getElementById('zip').value.toUpperCase();
					document.getElementById('city').value = update[2];
				}
				else
				{
					document.getElementById('adres1').innerHTML = 'Postcode is ongeldig';
					document.getElementById('adres2').innerHTML = '';
					//alert ('Postcode is ongeldig');
				}
				
			}
	    }
    }

    requests[i].send(value);
}

function updatecv(number)
{
	document.getElementById('cv').value = number;
}

function LoadAddress()
{
//		document.getElementById('street').disabled = false;
//		document.getElementById('housenumber').disabled = false;
//		document.getElementById('city').disabled = false;
//		document.getElementById('zipcode').disabled = false;
	
	var errorflag = true;
	
	var zipcode = document.getElementById('zip').value.toUpperCase();
	var housenumber = document.getElementById('housenr').value;
	
	// checken of er een een huisnummer is ingevuld.
	if (housenumber.length == 0)
	{
		errorflag = false;
	}
	
	// checken of er een spatie in de postcode zit
	var zipcodearray = zipcode.split(" ");
	if (zipcodearray.length > 1)
	{
		zipcode = zipcodearray[0] + zipcodearray[1];
	}
	
	rExp = /^[1-9]\d{3}[A-Z]{2}$/;

	if (!rExp.exec(zipcode)) 
	{
		errorflag = false;
	}
	
	if (errorflag == false)
	{
		if (zipcodearray.length > 0 && housenumber.length > 0)
		{
			alert ('De postcode en/of huisnummer zijn niet geldig');
		}
		
		return false;
	}
	else
	{
//		document.getElementById('street').disabled = true;
//		document.getElementById('housenumber').disabled = true;
//		document.getElementById('city').disabled = true;
//		document.getElementById('zipcode').disabled = true;
		document.getElementById('phonenumber').focus();
		
		// Postcode en huisnummer zijn geldig ingevuld, dus gaan we een adres-request verzenden
		SendAddressRequest('post', '/ajax/address/', 'zipcode=' + zipcode + '&housenumber=' + housenumber);		
		
	}
}
