// Takes an array of image-information (img, imagesrc)
function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
				document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
			}
	}
}

function isEmptyStr(aString) {
	return (aString.match(/^(\s*)$/)!=null);
}

function stringToDate(aString) {
	var matches = aString.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);
	if (matches) {
	
		var d = parseInt(matches[1], 10);
		var m = parseInt(matches[2], 10);
		var y = parseInt(matches[3], 10);
		
		//alert ("d:" + d + " m:" + m + " y: " + y); 
		
		return new Date(y, m, d);
	}
	return null;
}

function openWindow(URL, Name, Width, Height) {
  var top = (screen.availHeight/2) - (Height/2);
  var left = (screen.availWidth/2) - (Width/2);
  var options = 'width=' + Width + ',' + 'height=' + Height + ',' + 'top=' + top  + ',' + 'left=' + left + ',' + 'resizeable=no, scrollbars=yes';
  var win = window.open(URL, Name, options);
  win.focus();
}

//------------------------------------------------------------------------------
// Functies voor de inkomens check
//------------------------------------------------------------------------------

function isValidDutchMoney(value) {
	value = new String(value);
	if (value.charAt(0)=='€') value = value.substr(1, value.length-1);
	value = value.replace(/\./g, '');
	return (value.match(/^(\d+(,\d{1,2})?)?$/)!=null);
}

function removeEuro(obj) {
	var bedrag = obj.value;
	if (bedrag.charAt(0)=='€') bedrag = bedrag.substr(1, bedrag.length-1);
	bedrag = bedrag.replace(/\./g, '');
	obj.value = bedrag;
	obj.select();
}

function toNederlandsBedrag(obj) {
	if (isValidDutchMoney(obj.value))
    {
		if (obj.value!='')
			obj.value = '€' + addDots(replaceDots(getNederlandsBedrag(obj.value).toFixed(2)));
	} else {
		alert(obj.value + ' is geen geldig bedrag!');
		obj.select();
		obj.focus();
	}
}

function getNederlandsBedrag(bedrag) {
	bedrag = new String(bedrag);
	if (bedrag.charAt(0)=='€') bedrag = bedrag.substr(1, bedrag.length-1);
	return parseFloat(replaceCommas(bedrag));
}

function replaceDots(value) {
	value = new String(value);
	return value.replace(/\./g, ',');
}

function addDots(value) {
	value = new String(value);
	var a = value.split(',');
	
	var b = a[0].split('');
	a[0] = '';
	c=0;
	
	d = b.length;
	
	for (var i=d; i>0; i--) {
		if (c==3) {
			a[0] = '.' + a[0];
			c=0;
		}
		c++;
		a[0] = b[i-1] + a[0];
	}
	return a.join(',');
}

function replaceCommas(value) {
	value = new String(value);
	value = value.replace(/\./g, '');
	return value.replace(/,/g, '.');
}

function checkInkomen() {
    
    error = '';
    
    //Bepaal of er een medeaanvrager is
    var partner = (document.formulier.partnerinkomen !== undefined)
    
    //Correctie lege velden
    if (document.formulier.inkomen.value == '') document.formulier.inkomen.value = '€0,00'
    if (partner && (document.formulier.partnerinkomen.value == '')) document.formulier.partnerinkomen.value = '€0,00'
    
    //Maak velden wit
    document.formulier.inkomen.style.backgroundColor = 'white';
    if (partner) document.formulier.partnerinkomen.style.backgroundColor = 'white';
    
    //Controle of inkomen ingevuld is
    if (partner)
    {
        if ((document.formulier.inkomen.value == '€0,00') && (document.formulier.partnerinkomen.value == '€0,00'))
        {
            error += '- Het (gezamenlijk) fiscaal jaarinkomen is niet ingevuld\n';
            document.formulier.inkomen.style.backgroundColor = '#FFFE99';
            document.formulier.partnerinkomen.style.backgroundColor = '#FFFE99';
        }
        if (!isValidDutchMoney(document.formulier.inkomen.value))
        {
            error += '- Het inkomen van de aanvrager bevat een ongeldig bedrag';
            document.formulier.inkomen.style.backgroundColor = '#FFFE99';
        }
        if (!isValidDutchMoney(document.formulier.partnerinkomen.value))
        {
            error += '- Het inkomen van de medeaanvrager bevat een ongeldig bedrag';
            document.formulier.inkomen.style.backgroundColor = '#FFFE99';
        }
    }
    else
    {
        if (document.formulier.inkomen.value == '€0,00')
        {
            error += '- Het inkomen van de aanvrager is niet ingevuld\n';
            document.formulier.inkomen.style.backgroundColor = '#FFFE99';
        }
        if (!isValidDutchMoney(document.formulier.inkomen.value))
        {
            error += '- Het inkomen van de aanvrager bevat een ongeldig bedrag';
            document.formulier.inkomen.style.backgroundColor = '#FFFE99';
        }
    }
            
    //Was er een error?
    if (error != '')
    {
        alert("De woonbon kan niet ingestuurd worden vanwege de volgende reden(en):\n\n" + error);
        return false;
    }
    
    //Alles ok
    return true;
}

function submitWoonbon(HeeftPartner, url)
{
    removeEuro(document.formulier.inkomen);
    var inkomen = parseFloat(replaceCommas(document.formulier.inkomen.value));
    
    if (HeeftPartner)
    {
        removeEuro(document.formulier.partnerinkomen);
        var partnerinkomen = parseFloat(replaceCommas(document.formulier.partnerinkomen.value));
    }
    
    url = url + '&inkomen=' + inkomen;
    if (HeeftPartner) url += '&partnerinkomen=' + partnerinkomen;
    
    //alert('all ok');
    document.location = url;
}
