function number_format( number, decimals, dec_point, thousands_sep ) {
  
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    if (s.indexOf(dec) === -1 && prec > 1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}


function rand(l,u) // lower bound and upper bound
 {
     return Math.floor((Math.random() * (u-l+1))+l);
 }
    
 
 function stap1() {
      document.getElementById('stap').src= "http://hypotheek-check.nu/stap1.gif";  
    document.getElementById('stap2').style.display= "none";  
    document.getElementById('stap1').style.display= "block";  
   document.getElementById('errs').style.display= 'none';  
   
 }
 function stap1_3() {
      location.href='/offerte' 
   
 }
 
 function close_errs() {
      document.getElementById('errs').style.display ='none';
   
 }
 
 function f_sm(){
   var err ="";

   
   if(document.getElementById('geslacht').selectedIndex == 0){
     err += "Vult u astublieft uw geslacht in.<br>";
     document.getElementById('geslacht').style.border ='double red';
   }else {document.getElementById('geslacht').style.border ='double green';}
   
   
   if(document.getElementById('initialen').value == ''){
     err += "Uw initialen ontbreken.<br>";
     document.getElementById('initialen').style.border ='1px solid red';
   }else {document.getElementById('initialen').style.border ='1px solid green';}
   
   if(document.getElementById('naam').value == ''){
     err += "Uw naam is nog leeg.<br>";
     document.getElementById('naam').style.border ='1px solid red';
   }else {document.getElementById('naam').style.border ='1px solid green';}
   
   if(document.getElementById('Geboortedatum_dag').selectedIndex == 0){
      err += "Uw geboortedag is nog leeg.<br>";
     document.getElementById('Geboortedatum_dag').style.border ='double red';
   }else {document.getElementById('Geboortedatum_dag').style.border ='double green';}
   
   if(document.getElementById('Geboortedatum_maand').selectedIndex == 0){
      err += "Uw geboortemaand is nog leeg.<br>";
     document.getElementById('Geboortedatum_maand').style.border ='double red';
   }else {document.getElementById('Geboortedatum_maand').style.border ='double green';}
   
   if(document.getElementById('Geboortedatum_jaar').selectedIndex == 0){
      err += "Uw geboortejaar is nog leeg.<br>";
     document.getElementById('Geboortedatum_jaar').style.border ='double red';
   }else {document.getElementById('Geboortedatum_jaar').style.border ='double green';}
   
   if(document.getElementById('straat').value == ''){
     err += "Uw straatnaam is nog leeg.<br>";
     document.getElementById('straat').style.border ='1px solid red';
   } else {document.getElementById('straat').style.border ='1px solid green';}
   
   if(document.getElementById('huisnr').value == ''){
     err += "Uw huisnummer is nog leeg.<br>";
     document.getElementById('huisnr').style.border ='1px solid red';
   } else {document.getElementById('huisnr').style.border ='1px solid green';}
   
   if(validatePostalCode(document.getElementById('postcode').value) == false){
     err += "Uw postcode is incorrect ingevuld.<br>";
     document.getElementById('postcode').style.border ='1px solid red';
   } else {document.getElementById('postcode').style.border ='1px solid green';}
   
   if(document.getElementById('woonplaats').value == ''){
     err += "Uw woonplaats is leeg.<br>";
     document.getElementById('woonplaats').style.border ='1px solid red';
   } else {document.getElementById('woonplaats').style.border ='1px solid green';}
   
   if(checkInternationalPhone(document.getElementById('tel').value) == false){
     err += "Uw telefoonnummer is niet correct, vul een 10-cijferig nummer in.<br>";
     document.getElementById('tel').style.border ='1px solid red';
     $('melding_telnr').style.display = 'block';
   } else {document.getElementById('tel').style.border ='1px solid green';
   $('melding_telnr').style.display = 'none';
   }
   
   
   if(document.getElementById('rabo').selectedIndex == 0){
    if(document.getElementById('email').value == ''){
     document.getElementById('email').style.border ='1px solid red';
	 err += "Uw emailadres is nodig om u een vrijblijvende berekening te sturen.<br>";
	 }
   }else {document.getElementById('email').style.border ='1px solid green';}
   
    document.getElementById('errs').style.display= 'block';  
    document.getElementById('errs').innerHTML= err + "<br><b>[sluiten]</b>";  
   if(err != ''){return false; }
   
   //if something wrong with the lead... 
   
    if( $('changed_bruto').value != '') {
      var p =  $('changed_bruto').value;
    }
    else{
       var p = ($('bruto').value * 1) + ($('maandinkomen2').value * 1);
    }
    if(p != 0){
      var factor = $('aankoopsom').value / (p * 12.96 )
    }
    
      document.getElementById('errs').style.display= 'none';  
    if(factor < 5.05){
      document.getElementById('smallform').submit();   
    }
    else{
      //als vragen al gesteld zijn Sm...
        if($('e_melding').style.display == 'block'){
          document.getElementById('smallform').submit(); 
        }
      //end
      //div extra vragen
      var inkomens = ($('bruto').value * 1) + ($('maandinkomen2').value *1);
      
      $('extra_vragen').style.display = 'block';
      $('container').style.background = "url(bg.jpg)";
      $('stap1_normal').style.display = 'none';
      $('melding1').style.display = 'none';
      $('but').style.marginLeft = '15px';
      $('terugbut').style.display = 'inline';
      $('opgegeven_inkomen').innerHTML = '(<b>&euro; '+ number_format(inkomens,0,",",".")+',-</b>) ';
      $('as').innerHTML = '(<b>&euro; '+ number_format($('aankoopsom').value,0,",",".")+',-</b>) ';
      $('e_melding').style.display ='block';
      
    }
   //end
 }
 
 function f_back(){
   $('extra_vragen').style.display = 'none';
   $('stap1_normal').style.display = 'block';
   $('container').style.background = "url(bg.jpg)";
   $('terugbut').style.display = 'none';
   $('but').style.marginLeft = '250px';
   $('e_melding').style.display = 'none';
 }
 
 
 function stap2() {
   var err = "";
   if(document.getElementById('maandinkomen').value == ''){
     err += "Uw maandinkomen is niet ingevuld.<br>";
     document.getElementById('maandinkomen').style.border ='1px solid red';
   }
   else if(checkNumeric(document.getElementById('maandinkomen'),0,6000000,'','','') == false ){
     err += "Uw maandinkomen is niet numeriek.<br>";
     document.getElementById('maandinkomen').style.border ='1px solid red';
   } 
   else{document.getElementById('maandinkomen').style.border ='1px solid green';}
   
   if(checkNumeric(document.getElementById('aankoopsom'),40000,6000000,'','','') == false ){
     err += "Uw aankoopsom is niet numeriek.<br>";
     document.getElementById('aankoopsom').style.border ='1px solid red';
   }
   else if(document.getElementById('aankoopsom').value == ''){
     err += "U heeft niet aangegeven howveel u wilt lenen is niet ingevuld.<br>";
     document.getElementById('aankoopsom').style.border ='1px solid red';
   }
   else{document.getElementById('aankoopsom').style.border ='1px solid green';}
   
   if(document.getElementById('reden').selectedIndex == 0){
     err += "U heeft geen fase opgegeven.<br>";
     document.getElementById('reden').style.border ='double red';
   }
   if(document.getElementById('partner').selectedIndex == 0){
     err += "U heeft niet aangegeven of u een partner heeft.<br>";
     document.getElementById('partner').style.border ='double red';
   }
    document.getElementById('errs').style.display= 'block';  
    document.getElementById('errs').innerHTML= err;  
   if(err != ''){return false; }
    document.getElementById('stap').src= "http://hypotheek-check.nu/stap2.gif";  
    document.getElementById('stap1').style.display= "none";  
    document.getElementById('stap2').style.display= "block";  
   document.getElementById('errs').style.display= 'none';  
 }
 
 
  
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
  
  function validatePostalCode(strPC) {
  return typeof strPC=='string'
    ?strPC.match(/[1-9][0-9]{3} ?[a-zA-Z]{2}/)==strPC
    :false;
}
  
function checkNumeric(objName,minval, maxval,comma,period,hyphen)
{
	var numberfield = objName;
	if (chkNumeric(objName,minval,maxval,comma,period,hyphen) == false)
	{
		numberfield.select();
		numberfield.focus();
		return false;
	}
	else
	{
		return true;
	}
}
 
 
function chkNumeric(objName,minval,maxval,comma,period,hyphen)
{
var checkOK = "0123456789" + comma + period + hyphen;
var checkStr = objName;
var allValid = true;
var decPoints = 0;
var allNum = "";

for (i = 0;  i < checkStr.value.length;  i++)
{
ch = checkStr.value.charAt(i);
for (j = 0;  j < checkOK.length;  j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
if (ch != ",")
allNum += ch;
}
if (!allValid)
{	
alertsay = "Tik alleen getallen zoals \""
alertsay = alertsay + checkOK + "\" in het \"" + checkStr.name + "\" veld."
alert(alertsay);
return false;
}

// set the minimum and maximum
var chkVal = allNum;
var prsVal = parseInt(allNum);
if (chkVal != "" && !(prsVal >= minval && prsVal <= maxval))
{
alertsay = "Tik een groter getal dan "
alertsay = alertsay + minval + " en kleiner dan "
alertsay = alertsay + maxval + " in het \"" + checkStr.name + "\" veld."
alert(alertsay);
var x = objName.id;
document.getElementById(x).focus();
document.getElementById(x).style.border='1px solid red';
return (false);
}
}
 
 function partner_jn() {
   var x =  document.getElementById('partner')
   if(x.selectedIndex == 1){
    document.getElementById('partnerinkomen').style.display='block';
   }
   else{
      document.getElementById('partnerinkomen').style.display='none';
   }
 }
 

function update_rekentool(){
     var a = "maatschappij,nhg_5jr,Variabel,jr_2,jr_05,jr_10,jr_15,jr_30,min_hypo,max_hypo,aflvrij_percentage|Aegon Hypotheken,4.80,3.40,4.70,5.40,5.85,6.25,6.30,10000,,90|AFAB,4.95,3.85,5.00,5.50,6.10,6.40,,35000,,90|BLG Hypotheken,4.65,4.05,,5.35,5.95 ,6.65,,25000,,75|DBV Finance,5.00,3.70,,5.60,6.15,6.35,6.50,50000,1000000,75|Direktbank,5.05,,,5.45,6.00,6.35,,25000,,90|Florius,4.60,4.10,,5.30,6.00,6.40,6.70,40000,5000000,100|HypInvest,5.30,3.9,4.85,5.70,6.35,6.50,6.50,68000,500000,100|Hypotrust,4.95,,4.85,5.35,5.85,6.15,,35000,455000,90|ING,4.60,,5.10,5.20,5.70,6.40,,30000,,100|MNF Bank,4.65,4.10,5.60,5.35,6.05,6.45,6.75,15000,,100|Nationale Nederlanden,4.90,,5.05,5.50,6.05,6.50,,15000,,90|Alkmaar Hypotheken,5.10,3.90,,5.50,6.05,6.40,,40000,1000000,100|Reaal,4.50,3.95,,5.20,5.90,6.30,6.60,40000,1000000,100|Rabobank,4.90,4.0,,5.1,,,,,,|RVS,4.90,,5.05,5.50,6.15,6.60,,15000,,90|SNS,4.60,,,5.20,5.85,6.40,6.65,25000,,100|WestlandUtrecht,5.00,,4.95,5.60,6.05,6.55,,25000,,100|Zwitserleven,4.55,4.10,,5.35,6.05,6.45,6.75,40000,1500000,90|DSB BANK,4.75,,4.55,5.10,5.75,6.65,,25000,750000,90|Allianz,4.45,4.20,4.80,5.15,6.05,6.30,6.35,,,|Moneyou,4.50,3.85,,5.25,6.00,6.35,6.60,,,|ABN AMRO,4.75,4.30,4.65,5.35,5.95,6.55,6.85,,,|Obvion,4.70,,4.40,5.10,5.80,6.20,6.60,,,|Bank of Scotland,4.55,3.85,,5.10,5.95,6.50,6.60,,,|Europe life,5.00,3.70,,5.60,6.15,6.35,6.50,,,|Avero Achmea,5.00,,5.80,5.60,6.60,6.60,7.20,,,|ASR verzekeringen,5.25,5.00,4.90,5.45,6.00,5.85,6.40,,,|Fortis,5.25,5.00,4.90,5.45,6.00,5.85,6.40,,,|Capitalum,5.25,4.15,4.80,5.75,6.20,6.30,6.55,,,|Argenta,5.50,,,5.75,6.55,,,,,|Delta Lloyd,4.80,3.50,4.55,5.35,5.85,6.80,7.30,,,|Qent hypotheken	,4.75,3.75,,5.15,5.70,,,,,|UCB hypotheken,4.70,,,5.60,6.10,6.30,,,,|Woonfonds,5.30,4.40,5.90,6.60,7.00,7.20,,,,|Acadium Bastion,5.00,,,5.20,5.65,5.90,,,,|Falcon Leven,4.90,3.85,5.30,5.50,5.70,6.30,,,,|Friesland Bank,4.50,5.15,5.00,5.70,6.20,,,,,|BNP Paribas,4.75,3.80,5.40,5.90,6.20,6.50,,,,|Postbank,4.60,5.10,5.20,5.90,6.60,,,,,";
    var hyponaam_array = a.split("|");
    var regel = hyponaam_array[1];
    
    var r1 = rand(1,36);
  
    for (i=0; i < hyponaam_array.length; i++) {
       var b = hyponaam_array[i].split(",");
       if(i == r1){var hyponaam1 = b[0];var rente1 = b[1];
       var ll1 = hyponaam1.toLowerCase(); 
       var logoo1 = ll1.replace(" ",""); 
       logoo1 = logoo1.replace(" ",""); 
       var logo1 = "http://hypotheekrente.net/logos/"+logoo1+".jpg";
       }
    }    
}