var fPercMetNHG = 4.25;
var fMaxMetNHG = 240000;    
var fPercZonderNHG = 7;

function FormatNumber(expr, decplaces) {
	var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
	
	while (str.length <= decplaces) {
		str = "0" + str;
	}
	
	var decpoint = str.length - decplaces;
	
	return str.substring(0,decpoint) + "." + str.substring(decpoint, str.length);
} 

function calc() {
    sError = '';

    
    if (document.getElementById('jaarinkomen').value == '') {
        document.getElementById('jaarinkomen').value = '0';
    }

    if (document.getElementById('jaarinkomenPartner').value == '') {
        document.getElementById('jaarinkomenPartner').value = '0';
    }
    
    if (isNaN(parseFloat(document.getElementById('jaarinkomen').value))) {
        sError += 'Veld jaarinkomen is niet correct ingevoerd.<br>';
    } else {
        fJaarinkomen = parseFloat(document.getElementById('jaarinkomen').value);
        document.getElementById('jaarinkomen').value = FormatNumber(fJaarinkomen, 2);
    }
    if (isNaN(parseFloat(document.getElementById('jaarinkomenPartner').value))) {
        sError += 'Veld jaarinkomen partner is niet correct ingevoerd.<br>';
    } else {
        fJaarinkomenPartner = parseFloat(document.getElementById('jaarinkomenPartner').value);
        document.getElementById('jaarinkomenPartner').value = FormatNumber(fJaarinkomenPartner, 2);
    }

    if (sError > '') {
        //Fout
        document.getElementById('output').innerHTML = sError;
    } else {
        //Ok
        fNhg = (document.getElementById('nhg1').checked);

        if (fNhg) {
            fValue = ((fJaarinkomen + fJaarinkomenPartner)*fPercMetNHG);
            if (fValue > fMaxMetNHG) {
				fValue = fMaxMetNHG;
				alert("U kunt maximaal euro; 240.000,- lenen met NHG\n Voor een hogere lening kies zonder NHG");
			}
        } else {
            fValue = ((fJaarinkomen + fJaarinkomenPartner)*fPercZonderNHG);
        }

        //output            
        document.getElementById('output').innerHTML = 'Uw maximale hypotheek is:<br> <strong><center>'+ formatCurrency(fValue) + '</center></strong>';

        document.getElementById('output2').style.visibility = "visible";
        return fValue;
    }
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '&euro; ' + num + ',' + cents);
}


function OpenWin(mypage,myname,w,h,features) {
     if(screen.width){
     var winl = (screen.width-w)/2;
     var wint = (screen.height-h)/2;
     }else{winl = 0;wint =0;}
     if (winl < 0) winl = 0;
     if (wint < 0) wint = 0;
     var settings = 'height=' + h + ',';
     settings += 'width=' + w + ',';
     settings += 'top=' + wint + ',';
     settings += 'left=' + winl + ',';
     settings += features;
     win = window.open(mypage,myname,settings);
//             win = window.open(mypage,myname,"");
     win.window.focus();

  }

function checkIfEmpty(field) {
	if (document.getElementById(field).value != "") {
   		return true;
	} else {
//   		alert(field + " is verplicht");
	    document.getElementById(field).focus();
	   return false;
 	}
}

function IsEmailValid(checkThisEmail) {
	var myEMailIsValid = true;
	var myAtSymbolAt = document.getElementById(checkThisEmail).value.indexOf('@');
	var myLastDotAt = document.getElementById(checkThisEmail).value.lastIndexOf('.');
	var mySpaceAt = document.getElementById(checkThisEmail).value.indexOf(' ');
	var myLength = document.getElementById(checkThisEmail).length;
	
	
	// at least one @ must be present and not before position 2
	// @yellow.com : NOT valid
	// x@yellow.com : VALID
	
	if (myAtSymbolAt < 1 ) 
	 {myEMailIsValid = false}
	
	// at least one . (dot) afer the @ is required
	// x@yellow : NOT valid
	// x.y@yellow : NOT valid
	// x@yellow.org : VALID
	
	if (myLastDotAt < myAtSymbolAt) 
	 {myEMailIsValid = false}
	
	// at least two characters [com, uk, fr, ...] must occur after the last . (dot)
	// x.y@yellow. : NOT valid
	// x.y@yellow.a : NOT valid
	// x.y@yellow.ca : VALID
	
	if (myLength - myLastDotAt <= 2) 
	 {myEMailIsValid = false}
	
	
	// no empty space " " is permitted (one may trim the email)
	// x.y@yell ow.com : NOT valid
	
	if (mySpaceAt != -1) 
	 {myEMailIsValid = false}
	
	
	if (myEMailIsValid == true) {
//		document.getElementById(checkThisEmail).style.backgroundColor = "white";
		return true;
	} else {
//    	alert("email is not correct");
//    	document.getElementById(checkThisEmail).style.backgroundColor = "#FFCCCC";
		document.getElementById(checkThisEmail).focus();
		return false;
	}
}
