//  
//  (c) Oracle Corporation
//  Author: Kasper Kombrink
//  Date 20-07-2004
var newwindow = window;
//S2024
var max_maanden;

function switchTab(activeTab){
  var tabArray = document.getElementById('tabs').getElementsByTagName('li')
  for (var i=0; i<tabArray.length;i++) {
    if (activeTab==i) {
	  tabArray[i].className='active';
	  tabArray[i].firstChild.src='/img/att/occ_a_tab_l.png';
	} else {
	  tabArray[i].className='passive';
	  tabArray[i].firstChild.src='/img/att/occ_p_tab_l.png';
	}
  }
}
function openHelp(Help, width, height)
{
    var w;
    var h;

    if ( width != undefined ) w = width; else w = 850;
    if ( height != undefined ) h = height; else h = 500;

    newwindow = window.open(Help, "helpwindow",
        "scrollbars=yes,resizable=no,width="+w+",height="+h+",left=200,top=350");
}

function printpagina()
{
    if (window.print)
    {
        window.print();
    }
    else
    {
        var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
        document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
        WebBrowser1.ExecWB(6, 2);
    }
}

function openFoto(FotoPath)
{

    newwindow = window.open(FotoPath, "fotowindow",
        "scrollbars=yes,resizable=no,width=510,height=540,left=200,top=200");
}

function openFilm(FilmPath)
{
    newwindow = window.open(FilmPath, "filmwindow",
        "scrollbars=yes,resizable=no,width=360,height=316,left=200,top=200");
}

function openGarant(GarItem, x, y)
{
    newwindow = window.open(GarItem, "garantiewindow",
        "scrollbars=no,resizable=no,width=" + x + ",height=" + y +
        ",left=200,top=200");
}

function openCFMOOdal(pagina) {
  
  if (CheckEmailForm()) {
     var url = '/owa_dima/owa/att_occ_detail.contact_resp_screen?p_occ_id='+ document.det_emailform.p_occ_id.value+
              '&det_naam='+escape(document.det_emailform.det_naam.value)+
              '&det_email='+escape(document.det_emailform.det_email.value)+
              '&det_telefoon='+document.det_emailform.det_telefoon.value+
              '&det_opmerkingen='+escape(document.det_emailform.det_opmerkingen.value);
     MOOdalBox.open(url,'Terug naar '+pagina,'');
  }
}
function CheckEmailForm()
{
    if ((document.det_emailform.det_naam.value == "") &&
        (document.det_emailform.det_telefoon.value == ""))
    {
        alert("Vul minimaal uw naam in en een telefoonnummer of e-mailadres");
        return false;
    }
    else return true;
}

function openMS(url)
{
var niewwindow = '';
var updateURL = window.location;
    if (!niewwindow.closed && niewwindow.location)
    {
        niewwindow.location.href = url;
    }
    else
    {
        niewwindow = window.open(url, "mswindow",
            "scrollbars=yes,resizable=yes,width=800,height=600,left=100,top=100");
        if (!niewwindow.opener)
            niewwindow.opener = self;
    }
    if (window.focus)
    {
        niewwindow.focus()
    }
    return false;
}

function openMSMOOdal(url)
{

  MOOdalBox.open(url, 'Terug naar detailpagina', '100 100');
  
}

function toggleVergelijken()
{

  var currentHTML;
  var newHTML;
  var currentHRef;
  var currentTitle;
  var newTitle;
  
  currentHTML = document.getElementById('showroomlink_boven').innerHTML;
  currentHRef = document.getElementById('showroomlink_boven').href;
  currentTitle = document.getElementById('showroomlink_boven').title;
  currentTitle = currentTitle.substr(0, currentTitle.indexOf('te') );
  
  if ( currentHTML.indexOf('Vergelijken') == '-1') {
    // Change to Vergelijken
    newHTML = currentHTML.replace('Verwijderen', 'Vergelijken');
    newHRef = currentHRef.replace('p_min','p_plus');
    newTitle = currentTitle + 'te bewaren. Bewaart u meerdere occasions dan kunt u deze tevens met elkaar vergelijken.';
  } else {
    // Change to Verwijderen
    newHTML = currentHTML.replace('Vergelijken', 'Verwijderen');
    newHRef = currentHRef.replace('p_plus','p_min');
    newTitle = currentTitle + 'te verwijderen.';
  }
  
  document.getElementById('showroomlink_boven').innerHTML = newHTML;
  document.getElementById('showroomlink_boven').href      = newHRef;
  document.getElementById('showroomlink_boven').title     = newTitle;

  document.getElementById('showroomlink_onder').innerHTML = newHTML;
  document.getElementById('showroomlink_onder').href      = newHRef;
  document.getElementById('showroomlink_onder').title     = newTitle;

}

function refreshPage(rURL)
{
    window.location = rURL;
}

function updateParent(newUrl)
{
    opener.document.location = newUrl;
    focusOpener();
}

function terugParent()
{
    var terugURL = opener.document.location;
    focusOpener();
    updateParent(terugURL);
}

function sluitSelf()
{
 if (typeof document.mainform != 'undefined') {
   if(document.mainform.p_url.value.substr(0,12) == 'att_na_extra') {
      window.close();
   } else {
        var terugURL = opener.document.location;
        window.close();
        focusOpener();
        updateParent(terugURL);
   }
 } else {
        var terugURL = opener.document.location;
        window.close();
        focusOpener();
        updateParent(terugURL);
 }
}

function myOpen(url)
{
    window.open(url)
}

function focusOpener()
{
    if (!opener.closed)
    {
        opener.focus();
    }
}

function maxlength(max)
{
    if (document.forms[0].f_byzonderheden.value.length > max)
    {
        document.forms[0].f_byzonderheden.value =
            document.forms[0].f_byzonderheden.value.substring(0, max);
        alert(max + " karakters maximaal overschreden!");
        return false;
    }
}

function mef_continue() {
  var return_value = true;
  var email_valid = true;
  if (document.det_maf_form.p_melder_naam.value=="") {
    alert('U heeft geen naam opgegeven.');
    return_value = false;
  }
  if (document.det_maf_form.p_melder_email.value=="") {
    alert('U heeft geen e-mailadres opgegeven.');
    return_value = false;
  } else {
    var foundAtSymbol = 0;
    var foundDot = 0;
    var md;
    var emailAddress = document.det_maf_form.p_melder_email.value;
     // Go through each character in the email address.
     for (var x=0; x<emailAddress.length - 1; x++) {
       md = emailAddress.substr(x, 1);

       // Is the character an @ symbol?
       if (md == '@') foundAtSymbol++;

       // Count how many dots there are after the @ symbol.
       if (md == '.' && foundAtSymbol == 1) foundDot++;
     };

    // Is there only one @ symbol, and are there more than one dots?
    if (foundDot > 0 && foundAtSymbol == 1) {
      email_valid = true;
    } else {
      alert('U heeft een ongeldig e-mailadres ingevuld.');
	  document.det_maf_form.focus();
	  email_valid = false;
    };
  }
  if (document.det_maf_form.p_categorie.value=="") {
    alert('U heeft geen categorie geselecteerd.');
    return_value = false;
  }
  if (document.det_maf_form.p_tekst_blok.value=="") {
    alert('U heeft geen melding ingevuld');
    return_value = false;
  }
  return return_value&&email_valid;
}
var maandKentekenArray;
var jaarKentekenArray;

function tco_calc_submit() {
  var return_value = true;
  var url = '/owa_dima/owa/att_anwb.get_kosten';
  if (document.tco.p_uitvoering.value==""||document.tco.p_uitvoering.value=="0") {
    alert('U heeft geen uitvoering geselecteerd');
	document.tco.p_uitvoering.focus();
    return_value = false;
  } else {
    url += '?p_uitvoering_id='+document.tco.p_uitvoering.value;
  }
  if (document.tco.p_provincie.value=="" && return_value) {
    alert('U heeft geen provincie geselecteerd');
	document.tco.p_provincie.focus();
	return_value = false;
  } else {
    url += '&p_provincie='+document.tco.p_provincie.value;
  }
  if (document.tco.p_kilometers.value=="" && return_value) {
    alert('U heeft geen kilometrage geselecteerd');
	document.tco.p_kilometers.focus();
	return_value = false;
  } else {
    url += '&p_kilometrage='+document.tco.p_kilometers.value;
  }
  if ((document.tco.p_gebruiksduur.value==""||isNaN(document.tco.p_gebruiksduur.value))&& return_value) {
    alert('U heeft geen geldige bezitsduur ingevuld');
	document.tco.p_gebruiksduur.focus();
	return_value = false;
  } else {
    if (document.tco.p_gebruiksduur.value<12) {
	  alert('Verwachte bezitsduur moet tenmiste 12 maanden zijn.');
	  document.tco.p_gebruiksduur.focus();
	  return_value = false;
	} else {
	//S2024
	if (return_value && document.tco.p_gebruiksduur.value>max_maanden) {
	  alert('De verwachte bezitsduur in maanden kan niet langer zijn dan '+max_maanden+' maanden, omdat de restwaarde anders onder de \u20AC0,- uitkomt. Vul hier a.u.b. een getal in tussen de 12 en '+max_maanden+' maanden.');
	  document.tco.p_gebruiksduur.focus();
	  return_value = false;
	} else {
      url += '&p_gebruiksduur='+document.tco.p_gebruiksduur.value;
	}
  }
 }
  if (return_value) {
    var uitvoeringSelected = document.tco.p_uitvoering.options.selectedIndex;
	try{
      url += '&p_brandstof='      + document.tco.p_brandstof.value;
	  url += '&p_prijs='          + document.tco.p_prijs.value;
	  url += '&p_maand_kenteken=' + document.tco.p_maand_kenteken.value;
	  url += '&p_jaar_kenteken='  + document.tco.p_jaar_kenteken.value;
	  url += '&p_bouwjaar='       + document.tco.p_bouwjaar.value;
	  url += '&p_kmstand='        + document.tco.p_kmstand.value;
  	  xmlhttpHandler2(url,'kosten');
	} catch (err) {  
	  alert('Er heeft zich een probleem voorgedaan bij de kostenberekening. Probeer later nogmaals.');
	}
  }
  
}

function getMonthsBetween(jaar,maand){
  var time=new Date();
  var currentyear=time.getYear();
  var currentmonth=time.getMonth()+1;
  if (currentyear < 1900) {
	  //firefox takes year 1900 as 0 
	  currentyear+=1900;
  }
  var number = 0;
  try {
    if (currentyear > jaar) {
      number = number + (currentyear - jaar - 1) * 12;
    } else {
      return currentmonth - maand;
    }
    if (currentmonth > maand) {
      number = number + 12 + currentmonth - maand;
    } else {
      number = number + (12 - maand) + currentmonth;
    }
    return number;
  } catch (err) {  
	return 0;
  }
}




function xmlhttpResponse(dom,el){
  if (el=='uitvoeringen'){
        document.getElementById('loading').style.display="none";
        var poplist = document.tco.p_uitvoering;
        var poplist_value = dom.getElementsByTagName('UitvoeringID');
        var poplist_oms = dom.getElementsByTagName('UitvoeringNaam');
        // var selected_value = poplist.value;
        if (poplist_value.length != 0) {
        with (poplist)
        {
  	  //clear current poplist
          for(i=options.length-1;i>0;i--)
          {
            options[i] = null;
          }
          // add default option
          options[0] = new Option('selecteer uitvoering','0');
	  
          // fill poplist
          for (var i=0; i<poplist_value.length;i++)
          {
            if (poplist_value[i].firstChild.nodeValue!='') {
              options[i+1] = new Option(poplist_oms[i].firstChild.nodeValue,poplist_value[i].firstChild.nodeValue);
          		  
              /*if (poplist_value[i].firstChild.nodeValue == selected_value)
                   {          
                    poplist.options[i+1].selected=true;
                   }*/
            }
         }
        }
	document.tco.p_bouwjaar.value= dom.getElementsByTagName('BouwJaar')[0].firstChild.nodeValue;
	var afgifteDatum  = dom.getElementsByTagName('Datum1eAfgifte')[0].firstChild.nodeValue;
	document.tco.p_maand_kenteken.value = afgifteDatum.substr(0,afgifteDatum.indexOf('/'));
	document.tco.p_jaar_kenteken.value  = afgifteDatum.substr(afgifteDatum.indexOf('/')+1);
	//S2024
	max_maanden = 144 - getMonthsBetween(document.tco.p_jaar_kenteken.value, document.tco.p_maand_kenteken.value);
	if (max_maanden > 11) {
	  //S2023
	  document.tco.p_gebruiksduur.value= 'Min. 12 en max. '+max_maanden+' maanden';
	  document.getElementById('modelinformatie').style.display='';
      document.getElementById('calculate').style.display='';
	  document.getElementById('formbox_calculate').style.display='';
	  document.getElementById('gegevens').style.display='';
	  document.getElementById('formbox_gegevens').style.display='';
      document.getElementById('anwb_info').style.display='';
	} else {
	  document.tco.p_submit.disabled=true;
	  document.getElementById('modelinformatie').style.display='none';
	  document.getElementById('anwb_info').style.display='none';
      document.getElementById('te_oud').style.display='';
    }	
	} else {
	  try {
	  var afgifteDatum  = dom.getElementsByTagName('Datum1eAfgifte')[0].firstChild.nodeValue;
	  var bouwjaar = dom.getElementsByTagName('BouwJaar');
	  var bouwJaarInRange = dom.getElementsByTagName('BouwJaarInRange')[0].firstChild.nodeValue;
	  var bouwjaar_te_oud = false;
	  if (bouwjaar.length!=0&&bouwJaarInRange!="false") {
	    document.tco.p_bouwjaar.value= dom.getElementsByTagName('BouwJaar')[0].firstChild.nodeValue;
        var maandenTussen = getMonthsBetween(afgifteDatum.substr(afgifteDatum.indexOf('/')+1),afgifteDatum.substr(0,afgifteDatum.indexOf('/')));
		if (maandenTussen>132) {
		  bouwjaar_te_oud = true;
		}
	  } 
	  with (poplist)
      {
  	  //clear current poplist
        for(i=options.length-1;i>0;i--)
        {
          options[i] = null;
        }
        // add default option
        options[0] = new Option('geen uitvoering aanwezig','0');
	  }
	  document.tco.p_submit.disabled=true;
	  document.getElementById('modelinformatie').style.display='none';
	  document.getElementById('anwb_info').style.display='none';
	  if (bouwjaar_te_oud) {
	     document.getElementById('te_oud').style.display='';
	  }  else {
	     document.getElementById('geen_modelinformatie').style.display='';
	  }
	  }catch (error){
	  document.tco.p_submit.disabled=true;
	  document.getElementById('modelinformatie').style.display='none';
	  document.getElementById('anwb_info').style.display='none';
	  document.getElementById('geen_modelinformatie').style.display='';
    }
    }	
  } else if (el=='kosten'){
    document.tco.p_submit.value="Herbereken kosten";
    document.getElementById('tco_vast_kosten').style.display      = "";
    document.getElementById('tco_var_kosten').style.display       = "";
    document.getElementById('tco_overzicht_kosten').style.display = "";
	try {
	var l_kilometrage = dom.getElementsByTagName('Kilometrage')[0].firstChild.nodeValue;
    document.getElementById('vast_afschrijving').innerHTML        = bedragPerMaand(dom.getElementsByTagName('VasteKostenAfschrijvingPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('vast_verzekering').innerHTML         = bedragPerMaand(dom.getElementsByTagName('VasteKostenVerzekeringPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('vast_wegenbelasting').innerHTML      = bedragPerMaand(dom.getElementsByTagName('VasteKostenMotorRijtuigBelastingPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('vast_onderhoud').innerHTML           = bedragPerMaand(dom.getElementsByTagName('VasteKostenOnderhoudCarrosseriePerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('vast_totaal').innerHTML              = bedragPerMaand(dom.getElementsByTagName('VasteKostenTotaalPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('var_afschrijving').innerHTML         = bedragPerMaand(dom.getElementsByTagName('VariabeleKostenAfschrijvingPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('var_brandstof').innerHTML            = bedragPerMaand(dom.getElementsByTagName('VariabeleKostenBrandstofPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('var_onderhoud').innerHTML            = bedragPerMaand(dom.getElementsByTagName('VariabeleKostenTechnischOnderhoudPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('var_banden').innerHTML               = bedragPerMaand(dom.getElementsByTagName('VariabeleKostenBandenPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
    document.getElementById('var_totaal').innerHTML               = bedragPerMaand(dom.getElementsByTagName('VariabeleKostenTotaalPerKilometer')[0].firstChild.nodeValue,l_kilometrage)+" ";
	var l_kpk = dom.getElementsByTagName('KostenTotaalPerKilometer')[0].firstChild.nodeValue;
	if (isNaN(l_kpk)) {
	  document.getElementById('kosten_per_km').innerHTML          = 'n.b.';
	} else {
      document.getElementById('kosten_per_km').innerHTML          = formatCurrency(l_kpk/100)+" ";
	}  
    document.getElementById('kosten_per_jaar').innerHTML          = formatCurrency(dom.getElementsByTagName('KostenTotaalPerJaar')[0].firstChild.nodeValue)+" ";
    document.getElementById('kosten_gebruiksduur').innerHTML      = formatCurrency(dom.getElementsByTagName('KostenTotaalOverGebruiksduur')[0].firstChild.nodeValue)+" ";
	} catch (error){
      alert("Er heeft zich een fout voorgedaan bij de aanroep naar de ANWB");
    }
  } else if (el=='contact'){
  // doe ajax contactinfo
    try{
      var message = dom.getElementsByTagName('message');
      var response = document.getElementById('response_message');
      response.innerHTML = message[0].firstChild.nodeValue;
  
    } catch (error){
      alert(error);
    }
  }
}
//alleen cijfers
function numbersonly(e){
  var unicode=e.charCode? e.charCode : e.keyCode
  if (unicode!=8&&unicode!=9){ //if the key isn't the backspace or tab key (which we should allow)
    if ((unicode<48||unicode>57) //if not a number
       && (unicode<35||unicode>40))//and not a navigation key
       return false //disable key press
  }
}
function bedragPerMaand(kosten,kilometrage){
 if(isNaN(kosten)||isNaN(kilometrage)){
   return 'n.b.';
 } else {
   var bedragPerMnd = 0;
   bedragPerMnd = kosten/100 *kilometrage/12;
   return formatCurrency(bedragPerMnd);
 }
}
function formatCurrency(num) {
  if(isNaN(num))
    num = "0";
  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 (num + ',' + cents);
}
// S1647 if price on request, then show the insufficient information message
function zetGeenModelInformatie(){
   document.getElementById('loading').style.display="none";
   document.tco.p_submit.disabled=true;
   document.getElementById('modelinformatie').style.display='none';
   document.getElementById('anwb_info').style.display='none';
   document.getElementById('geen_modelinformatie').style.display='';
}