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 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);
return (false);
}
}




/*fixme*/
  function why1(){alert('Maak de keuze die het best overeenkomt met uw wens.')}
  function why2(){alert('Vul hier in voor welk bedrag u een woning wenst aan te kopen of reeds heeft aangekocht. Vul het bedrag exclusief "kosten koper" (kk) in.')}
  function why3(){alert('Vul hier het bedrag in van uw huidige hypotheek vermeerderd met eventueel geld voor verbouwing en of extra financieringsruimte (of huidige hypotheek plus kredieten indien het doel van de financiering inlossen van kredieten is). ')}  
  function why4(){alert('Vul hier de waarde in van uw huidige woning. Als richtlijn kunt u kijken naar eventueel recent verkochte soortgelijke woningen bij u in de omgeving. De WOZ-waarde is tegenwoordig ook een goed richtlijn voor de waarde van uw woning. ')}  
  function why5(){alert('Geef hier aan wat uw huidige woonsituatie is, woont u bijvoorbeeld in bij uw ouders of huurt u een woonruimte dan kunt u dat hier aangeven. Indien u bijvoorbeeld reeds een woning bezit kan dit mogelijk van positieve invloed hebben op de uitkomst. ')}  
  function why6(){alert('U bent aan het orienteren, wat is uw bruto jaarinkomen? Op basis van uw bruto jaarinkomen kunnen wij u een indicatie geven van welk bedrag u aan hypotheek kan krijgen. U kunt zich dan gaan orienteren op een woning in deze prijscategorie.')}  
  function why7(){alert('Kies hier de bron van inkomsten die het beste bij uw situatie past')}  
  function why7a(){alert('Kies hier de bron van inkomsten die het beste bij de situatie van uw partner past')}  
  function why8(){alert('Het bruto jaarinkomen kunt u berekenen door uw bruto maandsalaris x13 te doen, dit is dan inclusief vakantie geld. Heeft u een 13e maand dan kunt u er nog een bruto maandsalaris bij optellen.')}  
  function why9(){alert('Hiermee wordt geld bedoeld dat u beschikbaar heeft of overwaarde op uw huidige woning. En u dit zou kunnen gebruiken voor uw woning en daarmee uw hypotheeksom te beperken. ')}  
  function why10(){alert('Het bedrag dat open staat op bijvoorbeeld een doorlopend krediet of een persoonlijke lening. ')}  
  function why12(){alert('Het BKR registreert alle kredieten, maar ook mobiele telefoon abonnementen. Indien u 3 maanden betalingsachterstand heeft dan kan het zijn dat u hier een negatieve registratie heeft. Indien u het niet weet laat u het vakje leeg. ')}  
  function why11(){alert('Uw naam hebben wij nodig om u vriendelijk aan te kunnen schrijven en spreken. Uw voornaam of initialen en achternaam volstaan, bijvoorbeeld "J.P. de Vries".')}  
  function why13(){alert('')}  
  function why14(){alert('')}  
  
  
  function validate_all(){
    var error = "";
    if(document.getElementById("group1").style.display != "none" && document.getElementById("gewenste_hypotheeksom").value == '' ){
      error +="Vul een bedrag in bij gewenste hypotheeksom. Ga hierbij uit van uw huidige hypotheeksom vermeerderd met het bedrag dat u bij wil lenen. Als u niks bij wilt lenen houdt dan uw huidige hypotheekbedrag aan. ";
      alert('Vul een bedrag in bij gewenste hypotheeksom. Ga hierbij uit van uw huidige hypotheeksom vermeerderd met het bedrag dat u bij wil lenen. Als u niks bij wilt lenen houdt dan uw huidige hypotheekbedrag aan. ');
      document.getElementById("gewenste_hypotheeksom").style.border="1px solid red";
    }
    if(document.getElementById("group1").style.display != "none" && document.getElementById("waarde_huidig").value == '' ){
      error +="Vul een bedrag in bij  waarde van de woning. De WOZ-waarde kan een goede indicatie zijn van deze waarde. ";
      alert('Vul een bedrag in bij  waarde van de woning. De WOZ-waarde kan een goede indicatie zijn van deze waarde. ');
      document.getElementById("waarde_huidig").style.border="1px solid red";
    }
    if(document.getElementById("group2").style.display != "none" && document.getElementById("woonsituatie").value == '' ){
      error +="We hebben uw huidige woonsituatie nodig voor een goede berekening.";
      alert('We hebben uw huidige woonsituatie nodig voor een goede berekening');
    }
    if(document.getElementById("group2").style.display != "none" && document.getElementById("gewenste_aankoopsom").value == '' ){
      error +="Gewenste hypotheeksom is nodig voor berekening";
      alert('Om een berekening voor u te maken hebben we de door u de gewenste aankoopsom nodig. Dit mag een indicatief bedrag zijn indien u de precieze gewenste hypotheeksom nog niet weet. De bijkomende kosten rekenen wij automatisch voor u uit');
      document.getElementById("gewenste_aankoopsom").focus();
      document.getElementById("gewenste_aankoopsom").style.border="1px solid red";
    }    
    if(document.getElementById("group3").style.display != "none" && document.getElementById("jaarsalaris").value == '' ){
      error +="Vul het bruto jaarinkomen in. Voor het maken van een goede berekening  voor de hypotheek is dit noodzakelijk";
      document.getElementById("jaarsalaris").style.border="1px solid red";
      alert('Vul het bruto jaarinkomen in. Voor het maken van een goede berekening  voor de hypotheek is dit noodzakelijk');
    }    
    if(document.getElementById("stap3").style.display != "none" && document.getElementById("bruto_jaarink_aanvrager").value == '' ){
      error +="Vul het bruto jaarinkomen in. Voor het maken van een goede berekening  voor de hypotheek is dit noodzakelijk";
      document.getElementById("jaarsalaris").style.border="1px solid red";
      alert('Vul het bruto jaarinkomen in. Voor het maken van een goede berekening  voor de hypotheek is dit noodzakelijk');
    }    
//    if(document.getElementById("no_partner").checked !== false && document.getElementById("jaarsalaris_partner").value == '' && document.getElementById("group3").style.display != "none" )    {
//      error +="Indien er sprake is van een tweede aanvrager dient u ook zijn/haar jaarsalaris in te vullen, zodat wij een berekening kunnen maken. Indien er geen sprake is van een tweede aanvrager, zet dan het vinkje";
//      alert('Indien er sprake is van een tweede aanvrager dient u ook zijn/haar jaarsalaris in te vullen, zodat wij een berekening kunnen maken. Indien er geen sprake is van een tweede aanvrager, zet dan het vinkje.');
//      document.getElementById("jaarsalaris_partner").style.border="1px solid red";
//    }
    if(document.getElementById("stap2").style.display != "none"){
      if(document.getElementById("checkb_2eaanvrager").checked !== false && ((document.getElementById("inkomsten_aanvrager").value == '' || document.getElementById("inkomsten_aanvrager2").value == '') && document.getElementById("stap2").style.display != "none"))    {
        error += "Vul hier in uit welke bron u en de tweede aanvrager uw inkomstenen putten"
        alert("Vul hier in uit welke bron u en de tweede aanvrager uw inkomstenen putten.");
      }
      if(document.getElementById("checkb_2eaanvrager").checked == false && document.getElementById("inkomsten_aanvrager").value == '') {
        error += "Vul hier in uit welke bron u uw inkomsten put"
        alert("Vul hier in uit welke bron u uw inkomsten put");
      }
    }
    if(document.getElementById("group1").style.display == "none" && document.getElementById("group2").style.display == "none" && document.getElementById("group3").style.display == "none")     {
      error +="Kies eerst het doel van de financiering";
      alert('Kies eerst het doel van de financiering');
    }
    
    return error;
  }
  
  
  function show_2nd_inkomstenbron(){
       
    if(document.getElementById("checkb_2eaanvrager").checked === false){
     document.getElementById("ink_partner").style.display="none";
     document.getElementById("subm2").style.bottom = "90px";
    } 
    if(document.getElementById("checkb_2eaanvrager").checked !== false){
       document.getElementById("ink_partner").style.display="block";
       document.getElementById("subm2").style.bottom = "10px";
     }
     
    
  }
  
  function subm1(){
    if(validate_all() != '') {
     return false; 
    }
    document.getElementById("bedankt").style.display = "none";    
    document.getElementById("stap1").style.display = "none";    
    document.getElementById("a2").className = "active";    
    document.getElementById("a1").className = "inactive";    
    document.getElementById("stap2").style.display = "block";    
    document.getElementById("subm2").style.display = "block";    
    document.getElementById("subm2").style.bottom = "90px";
    if(document.getElementById("jaarsalaris_partner").value != ''){
     document.getElementById("ink_partner").style.display="block";
     document.getElementById("subm2").style.bottom = "10px";
     document.getElementById("checkb_2eaanvrager").checked = true
     document.getElementById("checkb_2eaanvrager").style.display = 'none'
     document.getElementById("2nda").style.display = 'none'
    } 
  }  
  
  
  function subm2(){
    if(validate_all() != '') {
     return false; 
    }
    if(document.getElementById("inkomsten_aanvrager2").value=="" && document.getElementById("inkomsten_aanvrager").value=="WW uitkering"){
      alert('U heeft aangeven dat de WW-uitkering uw enige inkomstenbron is. Helaas wordt een WW-uitkering niet meegenomen in de berekening voor een hypotheek. Wij moeten u dan ook melden dat wij geen mogelijkheden hebben om u een hypotheek te verstrekken op basis van deze inkomstenbron.');
      return false;
      
    }
    if(document.getElementById("inkomsten_aanvrager2").value=="WW uitkering" && document.getElementById("inkomsten_aanvrager").value=="WW uitkering"){
      alert('U heeft aangeven dat de WW-uitkeringen uw enige inkomstenbronnen zijn. Helaas wordt een WW-uitkering niet meegenomen in de berekening voor een hypotheek. Wij moeten u dan ook melden dat wij geen mogelijkheden hebben om u een hypotheek te verstrekken op basis van deze inkomstenbronnen.');
      return false;
      
    }
    document.getElementById("a3").className = "active";    
    document.getElementById("a2").className = "inactive";    
    document.getElementById("stap3").style.display = "block"; 
    document.getElementById("subm3").style.display  = "block";    
    document.getElementById("stap2").style.display = "none"; 
    document.getElementById("stap1").style.display = "none"; 
	 document.getElementById("subm3").style.bottom = "30px";
	 document.getElementById("intro_1aanvrager").style.display = "block";
    if(document.getElementById("inkomsten_aanvrager2").value!=""){
      document.getElementById("subm3").style.bottom = "0";
      document.getElementById("inkomen_aanvrager2_div").style.display = "block";
      if(document.getElementById("inkomsten_aanvrager2").value=="Tweede aanvrager heeft geen inkomsten")
      {document.getElementById("bruto_jaarink_aanvrager2").value = 0}
      
      document.getElementById("intro_1aanvrager").style.display = "none";
    }
    
  }  
 
  
  
  
  
  
  
  
  function subm3(){
    if(validate_all() != '') {
     return false; 
    }
    document.getElementById("formbox").className = "formbox_medium";  
    document.getElementById("stap3").style.display = "none";    
    document.getElementById("a4").className = "active";    
    document.getElementById("a3").className = "inactive";    
    document.getElementById("a1").className = "inactive";    
    document.getElementById("stap4").style.display = "block";    
    document.getElementById("subm4").style.display = "block";    
  }  
  
  function subm4(){
    document.getElementById("stap4").style.display = "none";    
    document.getElementById("a5").className = "active";    
    document.getElementById("subm5").style.display = "block";    
    document.getElementById("subm5").style.bottom = "-40px";
    
    //change haalbaarheid
    var ink1    = document.getElementById("bruto_jaarink_aanvrager").value ;
    var ink2    = document.getElementById("bruto_jaarink_aanvrager2").value ;
    var schuld  = document.getElementById("uitstaand_saldo").value ;
    var hyposom = document.getElementById("gewenste_hypotheeksom").value ;
    var aksom   = document.getElementById("gewenste_aankoopsom").value ;
    var e_geld  = document.getElementById("eigen_geld").value ;
    var doel_financiering  = document.getElementById("doel_financiering").value ;
    
    if(hyposom == ''){var h = aksom * 1.09 ;} else{var h = hyposom * 1.02;}
    
    var hypotheek_r = h *1;
    var add_r = ((schuld*1) - (e_geld*1)) * 1;
    if(doel_financiering == 'Ik wil kredieten inlossen'){
      var add_r = e_geld*1;
    }
    var ink1_r = (ink1*1);
    var ink2_r = (ink2*1);
    
    var factor = "";
    factor = (hypotheek_r + add_r) / (ink1_r+ink2_r);
    
    var mogelijk = (((ink1_r+ink2_r)*5)+add_r)*1;
    if(factor < 4) {
      document.getElementById("haalbaarheid").src = "images/100p.png";
    }
    if(factor >=4 && factor <= 5){
      document.getElementById("haalbaarheid").src = "images/85p.png";
    }
    if(factor >=5 && factor <= 5.5){
      document.getElementById("haalbaarheid").src = "images/50p.png";
    }
    if(factor >=5.5){
      document.getElementById("haalbaarheid").src = "images/0p.png";
      var meld ='Op basis van het inkomen, de eventuele eigen middelen en de financiele verplichtingen die u heeft opgegeven is de gewenste hypotheek of aankoopsom niet haalbaar. Op basis van uw invoer is een bedrag van ongeveer '+mogelijk+ ' mogelijk. Indien u advies wil ontvangen met EUR '+mogelijk+ ' als uitgangspunt vult u gewoon uw gegevens in.';
    }
    
    //end haalbaarheid
    //var handle = fopen('/rentestanden.csv', 'r')
    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];
    
    function rand(l,u) // lower bound and upper bound
     {
         return Math.floor((Math.random() * (u-l+1))+l);
     }
    
    
    var r1 = rand(1,10);
    var r2 = rand(11,20);
    var r3 = rand(21,30);
    var r4 = rand(31,37);

    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";
       }    
       if(i == r2){var hyponaam2 = b[0];var rente2 = b[1];
       var ll2 = hyponaam2.toLowerCase(); 
       var logoo2 = ll2.replace(" ",""); 
       logoo2 = logoo2.replace(" ",""); 
       var logo2 = "http://hypotheekrente.net/logos/"+logoo2+".jpg";}    
       if(i == r3){var hyponaam3 = b[0];var rente3 = b[1];
       var ll3 = hyponaam3.toLowerCase(); 
       var logoo3 = ll3.replace(" ",""); 
       logoo3 = logoo3.replace(" ",""); 
       var logo3 = "http://hypotheekrente.net/logos/"+logoo3+".jpg";}        
       if(i == r4){var hyponaam4 = b[0];var rente4 = b[1];
       var ll4 = hyponaam4.toLowerCase(); 
       var logoo4 = ll4.replace(" ",""); 
       logoo4 = logoo4.replace(" ",""); 
       var logo4 = "http://hypotheekrente.net/logos/"+logoo4+".jpg";}        
    }    
    
    document.getElementById("a4").className = "inactive";    
    document.getElementById("a1").className = "inactive";    
    document.getElementById("stap5").style.display = "block";    
    document.getElementById("attentionblock").style.display = "none";    
    document.getElementById("outcome").style.display = "block";     
    document.getElementById("formbox").className = "formbox_big";  
    
    //fill the top-5
    document.getElementById("hyponaam1").innerHTML = (hyponaam1 +" ("+rente1+"% 5jr)").substr(0,60);  
    document.getElementById("hyponaam2").innerHTML = (hyponaam2 +" ("+rente2+"% 5jr)").substr(0,60);  
    document.getElementById("hyponaam3").innerHTML = (hyponaam3 +" ("+rente3+"% 5jr)").substr(0,60);  
    document.getElementById("hyponaam4").innerHTML = (hyponaam4 +" ("+rente4+"% 5jr)").substr(0,60);  
    
    document.getElementById("hs1").innerHTML  = "&euro; "+number_format(((h*rente1)/12)/100,0,",",".")+",-"
    document.getElementById("hs2").innerHTML  = "&euro; "+number_format(((h*rente2)/12)/100,0,",",".")+",-"
    document.getElementById("hs3").innerHTML  = "&euro; "+number_format(((h*rente3)/12)/100,0,",",".")+",-"
    document.getElementById("hs4").innerHTML  = "&euro; "+number_format(((h*rente4)/12)/100,0,",",".")+",-"
    
    document.getElementById("img1").src  = logo1
    document.getElementById("img2").src  = logo2
    document.getElementById("img3").src  = logo3
    document.getElementById("img4").src  = logo4
    
    
    if(meld){alert(meld)};
  }  
  
  
  
  
// 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 subm5(){
    var checken = "";
    if(document.getElementById("geslacht").value == ''){checken += "<p>U heeft uw aanhef niet ingevoerd, kies uit De heer of Mevrouw</p>";} 
    if(document.getElementById("naam").value == ''){checken += "<p>U heeft uw naam niet ingevuld</p>";document.getElementById("naam").style.border='1px solid red'}else{document.getElementById("naam").style.border='1px solid green'} 
    if(document.getElementById("straat").value == ''){checken += "<p>U heeft uw straatnaam niet ingevuld</p>";document.getElementById("straat").style.border='1px solid red'} else{document.getElementById("straat").style.border='1px solid green'} 
    if(document.getElementById("huisnr").value == ''){checken += "<p>U heeft uw huisnummer niet ingevuld</p>";document.getElementById("huisnr").style.border='1px solid red'} else{document.getElementById("huisnr").style.border='1px solid green'} 
    if(document.getElementById("woonplaats").value == ''){checken += "<p>U heeft uw woonplaats niet ingevuld</p>";document.getElementById("woonplaats").style.border='1px solid red'} else{document.getElementById("woonplaats").style.border='1px solid green'} 
    if(document.getElementById("tel").value == ''){checken += "<p>U heeft uw telefoonnummer leeggelaten</p>";document.getElementById("tel").style.border='1px solid red'} else {document.getElementById("tel").style.border='1px solid green'} 
    if(document.getElementById("gebdatum").value == ''){checken += "<p>U heeft uw geboortejaar niet ingevuld, dit is noodzakelijk</p>";} 
    if(checkInternationalPhone(document.getElementById("tel").value)==false){checken += "<p>U heeft uw telefoonnummer niet goed ingevuld. Vul uw tien cijferig nummer in, bijvoorbeeld 010-3245777</p>";document.getElementById("tel").style.border='1px solid red'} else {document.getElementById("tel").style.border='1px solid green'} 
    
	if(validatePostalCode(document.getElementById("pc").value) == false) {checken += "<p>U heeft uw postcode niet correct ingevuld. Vul in als 1234AB</p>";document.getElementById("pc").style.border='1px solid red'} 
    
    if(checken == ""){
      document.getElementById("hypoofferte").submit();   
    }
    else{
      document.getElementById("errors").style.display = "block";   
      document.getElementById("errors").innerHTML = "<h4>Verbeter het volgende:</h4>" + checken;   
      return false;
    }
  }  
  
  
  function bkr_codering(){
    if(document.getElementById("bkr").checked !== false ){
      alert('LET OP: In de meeste gevallen kunnen wij niets voor u betekenen indien u een BKR notering heeft. In zeer incidentele gevallen (A-codering + NHG garantie) kunnen wij iets voor u doen, een telefonisch onderhoud is daarvoor altijd nodig. Vult u op het volgende scherm uw gegevens zo correct mogelijk in');
    }
  }   
  
  
  
  function stap1(){
     document.getElementById("stap1").style.display = "block";   
     document.getElementById("stap2").style.display = "none";   
     document.getElementById("stap3").style.display = "none";   
     document.getElementById("bedankt").style.display = "none";   
     document.getElementById("stap4").style.display = "none";   
     document.getElementById("stap5").style.display = "none";   
     document.getElementById("a1").className = "active";    
     document.getElementById("a2").className = "inactive";    
     document.getElementById("a3").className = "inactive";    
     document.getElementById("a4").className = "inactive";    
     document.getElementById("a5").className = "inactive";    
     document.getElementById("subm2").style.display = "none";    
     document.getElementById("attentionblock").style.display = "block";  
     document.getElementById("outcome").style.display = "none";     
     document.getElementById("formbox").className = "formbox";  
  
    }
    
  function stap2(){
     if(validate_all() != '') {
     return false; 
     }
     document.getElementById("bedankt").style.display = "none";   
     document.getElementById("stap2").style.display = "block";   
     document.getElementById("stap1").style.display = "none";   
     document.getElementById("stap3").style.display = "none";   
     document.getElementById("stap4").style.display = "none";   
     document.getElementById("stap5").style.display = "none";   
	  document.getElementById("subm2").style.display = "block";    
     document.getElementById("a2").className = "active";    
     document.getElementById("a1").className = "inactive";    
     document.getElementById("a3").className = "inactive";    
     document.getElementById("a4").className = "inactive";    
     document.getElementById("a5").className = "inactive";  
     document.getElementById("attentionblock").style.display = "block";  
     document.getElementById("outcome").style.display = "none";     
     document.getElementById("formbox").className = "formbox";  
    
  }
  function stap3(){
     if(validate_all() != '') {
     return false; 
     }
     document.getElementById("bedankt").style.display = "none";   
     document.getElementById("stap3").style.display = "block";   
     document.getElementById("stap1").style.display = "none";   
     document.getElementById("stap2").style.display = "none";   
     document.getElementById("stap4").style.display = "none";   
     document.getElementById("stap5").style.display = "none";   
     document.getElementById("a3").className = "active";    
     document.getElementById("a1").className = "inactive";    
     document.getElementById("a2").className = "inactive";    
     document.getElementById("a4").className = "inactive";    
     document.getElementById("a5").className = "inactive";  
     document.getElementById("attentionblock").style.display = "block";  
     document.getElementById("outcome").style.display = "none";     
     document.getElementById("formbox").className = "formbox";  
    
  }
  function stap4(){
     if(validate_all() != '') {
     return false; 
     }
     document.getElementById("bedankt").style.display = "none";   
     document.getElementById("stap4").style.display = "block";   
     document.getElementById("stap1").style.display = "none";   
     document.getElementById("stap2").style.display = "none";   
     document.getElementById("stap3").style.display = "none";   
     document.getElementById("stap5").style.display = "none";   
     document.getElementById("a4").className = "active";    
     document.getElementById("a1").className = "inactive";    
     document.getElementById("a2").className = "inactive";    
     document.getElementById("a3").className = "inactive";    
     document.getElementById("a5").className = "inactive";     
     document.getElementById("attentionblock").style.display = "block";  
     document.getElementById("outcome").style.display = "none";     
     document.getElementById("formbox").className = "formbox_medium";  
  }
  
  function stap5(){
     if(validate_all() != '') {
     return false; 
     }
     document.getElementById("bedankt").style.display = "none";   
     document.getElementById("subm5").style.display = "block";   
     document.getElementById("subm5").style.bottom = "0";   
     document.getElementById("stap5").style.display = "block";   
     document.getElementById("stap1").style.display = "none";   
     document.getElementById("stap2").style.display = "none";   
     document.getElementById("stap3").style.display = "none";   
     document.getElementById("stap4").style.display = "none";   
     document.getElementById("a5").className = "active";    
     document.getElementById("a1").className = "inactive";    
     document.getElementById("a2").className = "inactive";    
     document.getElementById("a3").className = "inactive";    
     document.getElementById("a4").className = "inactive";  
     document.getElementById("attentionblock").style.display = "none";  
     document.getElementById("outcome").style.display = "block";     
     document.getElementById("formbox").className = "formbox_big"; 
     document.getElementById("subm5").style.bottom = "-40px";
  }
  
  function frank(){
    document.getElementById("frank").style.display = "block";   
  }
  
  function close_frank(){
    document.getElementById("frank").style.display = "none";   
  }
  
  function show_options(id){
    var _id = id+"_options";
    if(document.getElementById(_id).style.display == "block"){
      document.getElementById(_id).style.display = "none";   
    }
    else {
      document.getElementById(_id).style.display = "block";   
    }
  }
  
  function show_group1(innerhtml){
    document.getElementById("group1").style.display = "block";
    document.getElementById("group2").style.display = "none";
    document.getElementById("group3").style.display = "none";
    document.getElementById("f_melding").style.display = "none";
    document.getElementById("doel_financiering").value = innerhtml;
    document.getElementById("doelselected_options").style.display = "none";
    document.getElementById("doelselected").innerHTML = innerhtml;
    document.getElementById("subm").style.bottom = "50px";     
  }
  function show_group2(innerhtml){
    document.getElementById("group2").style.display = "block";
    document.getElementById("group3").style.display = "none";
    document.getElementById("group1").style.display = "none";
    document.getElementById("f_melding").style.display = "none";
    document.getElementById("doel_financiering").value = innerhtml;
    document.getElementById("doelselected_options").style.display = "none";
    document.getElementById("doelselected").innerHTML = innerhtml;
    document.getElementById("subm").style.bottom = "50px";
   }
  function show_group2a(innerhtml){
    document.getElementById("woonsituatie").value = innerhtml;
    document.getElementById("huidige_woons_options").style.display = "none";
    document.getElementById("huidige_woons").innerHTML = innerhtml;
    document.getElementById("subm").style.bottom = "50px";
  }
  function show_group3(innerhtml){
    document.getElementById("group3").style.display = "block";
    document.getElementById("group2").style.display = "none";
    document.getElementById("group1").style.display = "none";
    document.getElementById("f_melding").style.display = "none";
    document.getElementById("doel_financiering").value = innerhtml;
    document.getElementById("doelselected_options").style.display = "none";
    document.getElementById("doelselected").innerHTML = innerhtml;
    document.getElementById("subm").style.bottom = "0";
	}
  
  function show_group4(innerhtml){
    document.getElementById("group3").style.display = "block";
    document.getElementById("group2").style.display = "none";
    document.getElementById("group1").style.display = "none";
    document.getElementById("f_melding").style.display = "none";
    document.getElementById("doel_financiering").value = innerhtml;
    document.getElementById("doelselected_options").style.display = "none";
    document.getElementById("doelselected").innerHTML = innerhtml;
    document.getElementById("subm").style.bottom = "0";
  }
  
  function show_group5(innerhtml){
    document.getElementById("inkomstenselected").innerHTML = innerhtml;
    document.getElementById("inkomsten_aanvrager").value = innerhtml;
    document.getElementById("inkomstenselected_options").style.display = "none";
  }
  
  function add_sexe(innerhtml){
    document.getElementById("geslacht").value = innerhtml;
    document.getElementById("geslacht_f").innerHTML = innerhtml;
    document.getElementById("geslacht_f_options").style.display = "none";
  }
  
  function geboortedatum_dag(innerhtml){
    document.getElementById("geboortedatum_dag").innerHTML = innerhtml;
    document.getElementById("gebdag").value = innerhtml;
    document.getElementById("geboortedatum_dag_options").style.display = "none";
  }
  function geboortedatum_maand(innerhtml){
    document.getElementById("geboortedatum_maand").innerHTML = innerhtml;
    document.getElementById("gebmaand").value = innerhtml;
    document.getElementById("geboortedatum_maand_options").style.display = "none";
  }
  function geboortedatum_datum(innerhtml){
    document.getElementById("geboortedatum_datum").innerHTML = innerhtml;
    document.getElementById("gebdatum").value = innerhtml;
    document.getElementById("geboortedatum_datum_options").style.display = "none";
  }
  
  function show_group5b(innerhtml){
    document.getElementById("inkomstenselected2").innerHTML = innerhtml;
    document.getElementById("inkomsten_aanvrager2").value = innerhtml;
    document.getElementById("inkomstenselected2_options").style.display = "none";
  }
  