Event.onDOMReady( function() {

  HM.Flash.Text.load("h1", {
    src: "/flash/titel.swf"
  })

  /* Yellownote fastsearch vliegtickets.. */
  if ($('qckFrmVan1') && $('qckFrmNaar1')) {
    new Ajax.Autocompleter("qckFrmVan1",  "divResultAirports", "/ajax/search_airports.lp", { paramName: "value", minChars: 2, frequency: 0.2, afterUpdateElement: selectAirport });
    new Ajax.Autocompleter("qckFrmNaar1", "divResultAirports", "/ajax/search_airports.lp", { paramName: "value", minChars: 2, frequency: 0.2, afterUpdateElement: selectAirport });
  }

  loadBlokken(document.loadBlokkenID, document.loadBlokkenTrefwoorden, document.myLNG);

} );




function imposeMaxLength(obj) {
  var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
  if (obj.getAttribute && obj.value.length>mlength)
  obj.value=obj.value.substring(0,mlength);
}



function loadSubtypes(type,tid,subtypeObj) {
  new Ajax.Request("/ajax/load_subtypes.json", {
    method: "post",
    parameters: {
      lng: 'en',
      kind: type,
      tid: tid
    },
    requestHeaders: { Accept: "application/json" },
    evalJSON: "force",
    onSuccess: function(transport) {
      var json = transport.responseJSON;
      if (json.result) {
        redefineSelect(subtypeObj,json.options);
      }
    }
  });
}

function redefineSelect(obj,options) {
  var sid = obj.value;
  obj.length = 0;
  for(i=0; i<options.length; i++) {
    var option = options[i];
    var newOpt = new Option(option.value, option.key);
    obj.options[i] = newOpt;
    if (option.key==sid) {
      obj.options[i].selected=true;
    }
  }
}

function loadBlokken(blokid, trefwoorden, lng) {
  if (blokid) {
    new Ajax.Updater("divRightBlokken", "/ajax/show_blokken.lp", { parameters: { bloktype: 'smal', blokid: blokid, trefwoorden: trefwoorden, lng: lng }, insertion: 'bottom' }); /* Dan blijft het admin gedeelte bovenaan staan */
    new Ajax.Updater("divLeftBlokken", "/ajax/show_blokken.lp", { parameters: { bloktype: 'breed', blokid: blokid, trefwoorden: trefwoorden, lng: lng } });
  }
}


/* Datum controle invoer */
function chkDate(obj) { 
  if (!obj.value) {
    return false;
  }
  obj.value = obj.value.replace(/\./g,'-');
  obj.value = obj.value.replace(/\//g,'-');
  obj.value = obj.value.replace(/ /g,'-');

  var tArray = new Array(3);
  tArray = obj.value.split('-');
  if (tArray[0]==undefined||tArray[1]==undefined||tArray[2]==undefined) {
    if (obj.value.length==8) {
      obj.value = obj.value.substr(0,2)+'-'+obj.value.substr(2,2)+'-'+obj.value.substr(4,4);
      chkDate(obj);
    } else {
      alert(locales.date_warning);
      obj.value='';
    }
  }
}

function validateDate(obj) {
	var tarr = obj.value.split("-",4);
  var today = new Date();
  var t = new Array(today.getDate(),today.getMonth()+1,today.getFullYear());
  var ad = new Date(tarr[2],(tarr[1]-1),tarr[0]);
  var todayDate = new Date(t[2],(t[1]-1),t[0]);
	if(ad<todayDate) {
    alert("De datum kan niet in het verleden liggen.");
    obj.value='';
	}
}


/*
function isDate(){
  var date = arguments[0];
  if(date) {
    var d = date.split('-');
    var o = new Date(d[2], --d[1], d[0]);
    return o.getFullYear() == d[2] && o.getMonth() == d[1] && o.getDate() == d[0];
  }
  return;
}
*/

function gotoStap(val,frm) {
  if (!frm) {
    var frm = document.frmControleerBoekingspagina;
  }
  if (frm) {
    frm.module.value='';
    frm.load_session.value=1;
    frm.stap.value=val;
    frm.submit();
  }
}


/* Autocomplete function addon */
/* special for the airport codes, put them in an hidden field!! */
function selectAirport(obj1, obj2) {
  var setObj = $(obj1.id+'Code');
  setObj.value=obj2.id;
}


/* Get location to dynamic images */
function getTitleURL(element, state) {
  var text = element.childNodes[0].nodeValue;
  state = (state) ? "-" + state : "";
  var url = "/images/titel/"+escape(text)+escape(state)+".png";
  return url;
}

/* Set a PNG as a background images */
function setPNGbackground(element, url) {
  if (pngSupport()) {
    Element.setStyle( element, { backgroundImage: "url('"+url+"')" } );
  }else{
    Element.setStyle( element, { filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+url+"', sizingMethod='crop')" } );
  }
}

function pngSupport() {
  /*@cc_on
    @if (@_win32)
      return (@_jscript_version > 5.6);
    @end
  @*/
  return true;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

/* GoogleMaps extensions */
function GMap_genHTML(content) {
  var WINDOW_HTML;
  WINDOW_HTML = '<div class="GMapLocationPopup">';
  WINDOW_HTML += content;
  WINDOW_HTML += '</div>';
  return WINDOW_HTML;
}




function changePersonenVliegticketAdvies(frm) {
  if (!frm) {
    frm = document.frmAdviesOverzicht;
  }
  if (!frm) {
    frm = document.frmReserveringOverzicht;
  }
  if (frm) {
    var optionele_bijproducten = '';
    var array_optionelebijproducten = document.getElementsByClassName('optioneelbijproduct', frm);
    if (array_optionelebijproducten.length>0) {
      for (var i=0; i<array_optionelebijproducten.length; i++) {
        if (array_optionelebijproducten[i].checked) {
          optionele_bijproducten += '-'+array_optionelebijproducten[i].value;
        }
      }
    }
    new Ajax.Updater("divVliegticketAdviesPersoongegevens", "/ajax/calc_vliegtickets.lp", {
      parameters: {
        adviesstatus: frm.adviesstatus ? frm.adviesstatus.value : 'advies',
        productid: frm.productid.value,
        advies: frm.advies.value,
        volwassenen: frm.frmVolwassenen ? frm.frmVolwassenen.value : 0,
        jongeren: frm.frmJongeren ? frm.frmJongeren.value : 0,
        kinderen: frm.frmKinderen ? frm.frmKinderen.value : 0,
        infants: frm.frmInfants ? frm.frmInfants.value : 0,

        volwassenen_tarief: frm.frmVolwassenenTarief ? frm.frmVolwassenenTarief.value : 0,
        jongeren_tarief: frm.frmJongerenTarief ? frm.frmJongerenTarief.value : 0,
        kinderen_tarief: frm.frmKinderenTarief ? frm.frmKinderenTarief.value : 0,
        infants_tarief: frm.frmInfantsTarief ? frm.frmInfantsTarief.value : 0,
        volwassenen_tax: frm.frmVolwassenenTax ? frm.frmVolwassenenTax.value : 0,
        jongeren_tax: frm.frmJongerenTax ? frm.frmJongerenTax.value : 0,
        kinderen_tax: frm.frmKinderenTax ? frm.frmKinderenTax.value : 0,
        infants_tax: frm.frmInfantsTax ? frm.frmInfantsTax.value : 0,

        bijproducten: optionele_bijproducten
      }
    });
    var personen_totaal = '0';
    if (frm.frmVolwassenen&&frm.frmVolwassenen.value>0) {
      personen_totaal = parseInt(frm.frmVolwassenen.value) + parseInt(personen_totaal);
    }
    if (frm.frmJongeren&&frm.frmJongeren.value>0) {
      personen_totaal = parseInt(frm.frmJongeren.value) + parseInt(personen_totaal);
    }
    if (personen_totaal>0) {
      frm.frmCHKPersonen.value = personen_totaal;
    } else {
      frm.frmCHKPersonen.value = '';
    }
  }
}

function changePersonenReisverzekeringAdvies(frm) {
  if (!frm) {
    frm = document.frmAdviesOverzicht;
  }
  if (!frm) {
    frm = document.frmReserveringOverzicht;
  }
  if (frm) {
    var optionele_bijproducten = '';
    var array_optionelebijproducten = document.getElementsByClassName('optioneelbijproduct', frm);
    if (array_optionelebijproducten.length>0) {
      for (var i=0; i<array_optionelebijproducten.length; i++) {
        if (array_optionelebijproducten[i].checked) {
          optionele_bijproducten += '-'+array_optionelebijproducten[i].value;
        }
      }
    }
    new Ajax.Updater("divReisverzekeringAdviesPersoongegevens", "/ajax/calc_reisverzekering.lp", {
      parameters: {
        adviesstatus: frm.adviesstatus ? frm.adviesstatus.value : 'advies',
        productid: frm.productid.value,
        advies: frm.advies.value,

        dekkingsgebied: frm.frmDekkingsgebied ? frm.frmDekkingsgebied.value : '',
        datum1: frm.frmDatum1 ? frm.frmDatum1.value : '',
        datum2: frm.frmDatum2 ? frm.frmDatum2.value : '',
        medischekosten: frm.frmMedischekosten ? frm.frmMedischekosten.value : '',
        bijzonderesporten: frm.frmBijzonderesporten ? frm.frmBijzonderesporten.value : '',
        sos: frm.frmDekkinfrmSosgsgebied ? frm.frmSos.value : '',
        bagage: frm.frmBagage ? frm.frmBagage.value : '',
        ongevallen: frm.frmOngevallen ? frm.frmOngevallen.value : '',
        rechtsbijstand: frm.frmRechtsbijstand ? frm.frmRechtsbijstand.value : '',
        aansprakelijkheid: frm.frmAansprakelijkheid ? frm.frmAansprakelijkheid.value : '',

        volwassenen: frm.frmVolwassenen ? frm.frmVolwassenen.value : 0,
        jongeren: frm.frmJongeren ? frm.frmJongeren.value : 0,
        kinderen: frm.frmKinderen ? frm.frmKinderen.value : 0,
        infants: frm.frmInfants ? frm.frmInfants.value : 0,

        volwassenen_tarief: frm.frmVolwassenenTarief ? frm.frmVolwassenenTarief.value : 0,
        jongeren_tarief: frm.frmJongerenTarief ? frm.frmJongerenTarief.value : 0,
        kinderen_tarief: frm.frmKinderenTarief ? frm.frmKinderenTarief.value : 0,
        infants_tarief: frm.frmInfantsTarief ? frm.frmInfantsTarief.value : 0,

        bijproducten: optionele_bijproducten
      }
    });
    var personen_totaal = '0';
    if (frm.frmVolwassenen&&frm.frmVolwassenen.value>0) {
      personen_totaal = parseInt(frm.frmVolwassenen.value) + parseInt(personen_totaal);
    }
    if (frm.frmJongeren&&frm.frmJongeren.value>0) {
      personen_totaal = parseInt(frm.frmJongeren.value) + parseInt(personen_totaal);
    }
    if (personen_totaal>0) {
      frm.frmCHKPersonen.value = personen_totaal;
    } else {
      frm.frmCHKPersonen.value = '';
    }
  }
}


function doOverigeproductenPrijsberekening(frm) {
  if (!frm) {
    frm = document.frmAdviesOverzicht;
  }
  if (!frm) {
    frm = document.frmReserveringOverzicht;
  }
  if (frm) {
    var optionele_bijproducten = '';
    var array_optionelebijproducten = document.getElementsByClassName('optioneelbijproduct', frm);
    if (array_optionelebijproducten.length>0) {
      for (var i=0; i<array_optionelebijproducten.length; i++) {
        if (array_optionelebijproducten[i].checked) {
          optionele_bijproducten += '-'+array_optionelebijproducten[i].value;
        }
      }
    }
    new Ajax.Updater("divOverigeproductenPrijsberekening", "/ajax/calc_overigeproducten.lp", {
      parameters: {
        adviesstatus: frm.adviesstatus ? frm.adviesstatus.value : 'advies',
        productid: frm.productid.value,
        advies: frm.advies.value,

        prijs: frm.totaalprijs ? frm.totaalprijs.value : 0,

        bijproducten: optionele_bijproducten
      }
    });
    /*
    var personen_totaal = '0';
    if (frm.frmVolwassenen&&frm.frmVolwassenen.value>0) {
      personen_totaal = parseInt(frm.frmVolwassenen.value) + parseInt(personen_totaal);
    }
    if (frm.frmJongeren&&frm.frmJongeren.value>0) {
      personen_totaal = parseInt(frm.frmJongeren.value) + parseInt(personen_totaal);
    }
    if (personen_totaal>0) {
      frm.frmCHKPersonen.value = personen_totaal;
    } else {
      frm.frmCHKPersonen.value = '';
    }
    */
  }
}


function reformatFlightplan(plan) {
  new Ajax.Updater("divGenerateVluchtschema", "/ajax/formatflightplan.lp", { parameters: { flightplan: plan } });
}




function chkAge(lng,frm,i,pid,personen,volwassenen,jongeren,kinderen,datum1) {
  var dagObj   = $('reiziger'+i+'_Geboortedatum_dag');
  var maandObj = $('reiziger'+i+'_Geboortedatum_maand');
  var jaarObj  = $('reiziger'+i+'_Geboortedatum_jaar');
  if (dagObj.value&&maandObj.value&&jaarObj.value) {
    new Ajax.Request("/ajax/chk_reiziger.json", {
      method: "post",
      parameters: {
        lng: lng,
        i: i,
        pid: pid,
        personen: personen,
        volwassenen: volwassenen,
        jongeren: jongeren,
        kinderen: kinderen,
        datum1: datum1,
        dag: dagObj.value,
        maand: maandObj.value,
        jaar: jaarObj.value
      },
      requestHeaders: { Accept: "application/json" },
      evalJSON: "force",
      onSuccess: function(transport) {
        var json = transport.responseJSON;
        if (json.result == 'false') {
          alert(json.message);
          dagObj.value = '';
          maandObj.value = '';
          jaarObj.value = '';
        }
      }
    });
  }
/*
*/
}



