var index_begindate = -1;
var index_enddate   = -1;

var aankomstdatum = 0;
var vertrekdatum = 0;
var zoekterm = '';
var perlist='';
var provlist='';
var facillist='';

//////////////////////////////////////////////////////////////////////////// WAT

function wat_maak() {
  var t='';

  t+='<table width="100%">'+
     '<tr><td>'+rss(translations.languageName('rssSelecteerDeFaciliteitenDieDeAccommodatieMoetHebben'))+':</td></tr>'+
     '<tr><td style="vertical-align:top;"><span id="wattabspan"></span></td></tr>'+
     '<tr>'+
       '<td>'+
         '<table>'+
         '<tr>'+
           '<td class="td_klik_lokaal" onclick="go()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssZoek_L'))+'&nbsp;</td>'+
           '<td class="td_klik_wissen" onclick="clearpropertyvalues()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssFaciliteitenSelectieWissen_L'))+'&nbsp;</td>'+
         '</tr>'+
         '</table>'+
       '</td>'+
     '</tr>'+
     '</table>';

  return t;
}

function wat_ververs() {
  watpagetab.basic=pagetab.basic;
  getid('wattabspan').innerHTML=watpagetab.maak();
  watpagetab.contentvooraf();
  watpagetab.ververs();
}

function wat_achteraf() {
  wat_tab_achteraf();
}

function wat_tab_maak() {
  var t='';
  switch (watpagetab.index) {
    case 0 : //samenstelling
      t+='<table width="100%"><col width="49%"><col><col width="49%">';
       t+=maakpropertylijst(1);
      t+='</table>';
      break;
    case 1 : //spelen
      t+='<table width="100%"><col width="49%"><col><col width="49%">';
       t+=maakpropertylijst(2);
      t+='</table>';
      break;
    case 2 : //ligging
      t+='<table width="100%"><col width="49%"><col><col width="49%">';
       t+=maakpropertylijst(3);
      t+='</table>';
      break;
    case 3 : //zoeken
      t+='<table>'+
         '<tr><td>'+rss(translations.languageName('rssWaarZoektUNaar_Q'))+'&nbsp;&nbsp;</td><td><input type="text" id="zoekterm" size="30" value="'+zoekterm+'"></td></tr>'+
         '</table>';
      break;
  }
  return t;
}

function wat_tab_ververs() {
}

function wat_tab_achteraf() {
  applypropertyvalues();
  if (getid('zoekterm'))
  zoekterm=getid('zoekterm').value;
}

function maakpropertylijst(tix) {
  var t=s=nm='';
  var cn='_';
  var cl=0;
  var rix=0;
  for (var i=0; i<hpar.length; i++)
  if (hpar[i].tabindex==tix) {
    var hp=hpar[i];

    s=rss(hp.grouplanguagename); if (s=='') s=hp.groupname;
    if (cn!=s) {
      if (cl==1) t+='<td colspan="2">&nbsp;</td>';
      cn=s;
      t+='<tr class="tr_boxtitel"><td colspan="3">&nbsp;<b>'+s+'</b></td></tr>';
      cl=0; rix=0;
    }

    switch (cl) {
      case 0 : t+='<tr>'; break;
      case 1 : t+='<td>&nbsp;</td>'; break;
    }
    if ((rix%4)>=2) t+='<td class="td_oneven"';
               else t+='<td class="td_even"';
    s=hp.value;
    nm=rss(hp.languagename); if (nm=='') nm=hp.name;
    switch (hp.kind) {
      case 2 : //getal
        if (s=='0') s='';
        t+=' valign="top" style="padding-left:4px;padding-right:4px;">'+
             ifstring(hp.minmax==2,rss(translations.languageName('rssMaximaal_L')),rss(translations.languageName('rssMinimaal_L')))+'&nbsp;<input type="text" id="prop'+i+'" size="3" maxlength="3" value="'+s+'">&nbsp;'+nm+
           '</td>';
        break;
      case 3 : //checkbox
        if (s==1) s=' checked'; else s='';
        t+=' valign="top" style="padding-left:4px;padding-right:4px;">'+
             '<input type="checkbox" id="prop'+i+'"'+s+'>'+
             '<label for="prop'+i+'" style="cursor: pointer;">'+nm+'</label>'+
           '</td>';
        break;
      case 4 : //selectie
        if (hp.asboolean==1) {
          if (s==1) s=' checked'; else s='';
          t+=' valign="top" style="padding-left:4px;padding-right:4px;">'+
               '<input type="checkbox" id="prop'+i+'"'+s+'>'+
               '<label for="prop'+i+'" style="cursor: pointer;">'+nm+'</label>'+
             '</td>';
        } else {
          t+=' valign="top" style="padding-left:4px;padding-right:4px;">'+
               nm+
               '&nbsp;'+
               '<select id="prop'+i+'">'+
                 '<option value="0"></option>';
          var tt=rsslist(hp.languagelist); if(tt=='') tt=hp.list;
          tt=tt.replace(/\r/g,'');
          tt=tt.replace(/\n/g,'|');
          var ar=tt.split('|');
          for (var ii=0; ii<ar.length; ii++) {
            t+='<option value="'+(ii+1)+'"';
            if ((ii+1)==s) t+=' selected';
            t+='>'+ar[ii]+'</option>';
          }
            t+='</select>'+
             '</td>';
        }
        break;
    }
    switch (cl) {
      case 0 : cl=1; break;
      case 1 : cl=0; t+='</tr>'; break;
    }
    rix++;
  }
  return t;
}

function applypropertyvalues() {
  for (var i=0; i<hpar.length; i++) {
    var hp=hpar[i];

    if (getid('prop'+i))
    switch (hp.kind) {
      case 2 : //getal
        hp.value=getid('prop'+i).value;
        break;
      case 3 : //checkbox
        if (getid('prop'+i).checked) hp.value='1'; else hp.value='';
        break;
      case 4 : //selectie
        if (hp.asboolean==1) {
          if (getid('prop'+i).checked) hp.value='1'; else hp.value='';
        } else {
          hp.value=getid('prop'+i).value;
        }
        break;
    }
  }
}

function clearpropertyvalues() {
  for (var i=0; i<hpar.length; i++) {
    var hp=hpar[i];

    switch (hp.kind) {
      case 2 : //getal
        hp.value='';
        if (getid('prop'+i))
        getid('prop'+i).value='';
        break;
      case 3 : //checkbox
        hp.value='';
        if (getid('prop'+i))
        getid('prop'+i).checked=false;
        break;
      case 4 : //selectie
        hp.value='';
        if (getid('prop'+i))
        if (hp.asboolean==1) {
          getid('prop'+i).checked=false;
        } else {
          getid('prop'+i).value='';
        }
        break;
    }
  }
}


function getpropertystring() {
  var s='';
  var cl=',';
  for (var i=0; i<hpar.length; i++) {
    var hp=hpar[i];
    switch (hp.kind) {
      case 2 : //getal
        s=hp.value;
        if (s=='') s='0';
        if (isNaN(s)) s=0;
        if (s!=0) if (hp.minmax==2) cl+='-'+i+'='+s+',';
                               else cl+=i+'='+s+',';
        break;
      case 3 : //checkbox
        if (hp.value==1) cl+=i+'=1,';
        break;
      case 4 : //selectie
        if (hp.asboolean==1) {
          if (hp.value==1) cl+=i+'=1,';
        } else {
          s=hp.value;
          if (s=='') s='0';
          if (isNaN(s)) s=0;
          if (s!=0) cl+=i+'='+s+',';
        }
        break;
    }
  }
  return cl;
}

/////////////////////////////////////////////////////////////////////////// WAAR

function waar_maak() {
  var t='';

  t+='<table width="100%">'+
     '<tr><td>'+rss(translations.languageName('rssSelecteerDeGebiedenWaarUWiltZoeken'))+':</td></tr>'+
     '<tr><td style="vertical-align:top;"><span id="waartabspan"></span></td></tr>'+
     '<tr>'+
       '<td>'+
         '<table>'+
         '<tr>'+
           '<td class="td_klik_lokaal" onclick="go()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssZoek_L'))+'&nbsp;</td>'+
           '<td class="td_klik_wissen" onclick="clearprovincevalues()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssGebiedSelectieWissen_L'))+'&nbsp;</td>'+
         '</tr>'+
         '</table>'+
       '</td>'+
     '</tr>'+
     '</table>';

  return t;
}

function waar_ververs() {
  waarpagetab.basic=pagetab.basic;
  getid('waartabspan').innerHTML=waarpagetab.maak();
  waarpagetab.contentvooraf();
  waarpagetab.ververs();
}

function waar_achteraf() {
  waar_tab_achteraf();
}

function waar_tab_maak() {
  var t='';
  switch (waarpagetab.index) {
    case 0 : //provincie
      t+='<table width="100%"><col width="49%"><col><col width="49%">';
      t+=maakprovincelijst();
      t+='</table>';
      break;
    case 1 : //omgeving
      t+=maaktownlijst();
      break;
  }
  return t;
}

function waar_tab_ververs() {
  if (waarpagetab.index==1) { //omgeving
    var tid=zoeken_town.id;
    zoeken_townkeyup();
    if (tid!='') zoeken_townclick(tid);
  }
}

function waar_tab_achteraf() {
  applyprovincevalues();
}

function maakprovincelijst() {
  var t='';
  var cn='_';
  var pr=cl=rix=0;
  for (var i=0; i<prar.length; i++) {
    pr=prar[i];
    s=pr.countrylanguagename;
    if (s=='') s=pr.countryname; else s=rss(s);
    if (s=='') s=rss(translations.languageName('rssOverig'));
    if (cn!=s) {
      if (cl==1) t+='<td colspan="2">&nbsp;</td>';
      cn=s;
      t+='<tr class="tr_boxtitel"><td colspan="3"><table cellspacing="0" cellpadding="0" border="0"><tr><td>&nbsp;<b>'+s+'</b></td><td>&nbsp;&nbsp;</td><td class="td_klik_lokaal" onclick="alleprovince(\''+s+'\')" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssAlle_L'))+'&nbsp</td></tr></table></td></tr>';
      cl=0; rix=0;
    }

    switch (cl) {
      case 0 : t+='<tr>'; break;
      case 1 : t+='<td>&nbsp;</td>'; break;
    }
    if ((rix%4)>=2) t+='<td class="td_oneven"';
               else t+='<td class="td_even"';
    s=pr.value;
    if (s==1) s=' checked'; else s='';
    t+=' valign="top" style="padding-left:4px;padding-right:4px;">'+
       '<input type="checkbox" id="prov'+i+'"'+s+'>'+
       '<label for="prov'+i+'" style="cursor: pointer;">'+pr.name+' ('+pr.count+')</label>'+
     '</td>';
    switch (cl) {
      case 0 : cl=1; break;
      case 1 : cl=0; t+='</tr>'; break;
    }
    rix++;
  }

  return t;
}

function alleprovince(ctry) {
  for (var i=0; i<prar.length; i++) {
    var pr=prar[i];
    if (pr.countryname==ctry) {
      pr.value='1';
      if (getid('prov'+i))
      getid('prov'+i).checked=true;
    }
  }
}

function applyprovincevalues() {
  //province
  for (var i=0; i<prar.length; i++) {
    var pr=prar[i];

    if (getid('prov'+i))
    if (getid('prov'+i).checked) pr.value='1'; else pr.value='';
  }
  
  if (getid('zoeken_townedit'))
  zoeken_town_text=getid('zoeken_townedit').value;
  if (getid('zoeken_towna'))
  zoeken_town_radius=getid('zoeken_towna').value;
}

function clearprovincevalues() {
  //province
  for (var i=0; i<prar.length; i++) {
    var pr=prar[i];

    pr.value='';
    if (getid('prov'+i))
    getid('prov'+i).checked=false;
  }
  //town
  zoeken_townclear();
  if (getid('zoeken_townedit'))
  getid('zoeken_townedit').value='';
  zoeken_towncount();
}

function getprovincestring() {
  var cl=',';
  for (var i=0; i<prar.length; i++) {
    var pr=prar[i];
    
    if (pr.value==1) cl+=i+',';
  }
  return cl;
}

function maaktownlijst() {
  var t='';
  var cn='_';
  var cl=rix=0;

  t ='<table width="100%" cellspacing="0" cellpadding="0" border="0"><col><col width="300">'+
     '<tr>'+
       '<td valign="top">'+
         '<table width="100%" cellspacing="0" cellpadding="0" border="0"><col width="112"><col>'+
         '<tr><td>&nbsp;'+rss(translations.languageName('rssLand'))+'</td><td><span id="zoeken_towncountryspan"></span></td></tr>'+
         '<tr><td>&nbsp;'+rss(translations.languageName('rssPlaatsnaam'))+'</td><td><span id="zoeken_townisspan"></span>&nbsp;:&nbsp;<input type="text" id="zoeken_townedit" size="25" onkeyup="zoeken_townkeyup()" value="'+zoeken_town_text+'"></td></tr>'+
         '<tr><td>&nbsp;</td><td><span id="zoeken_towncountspan"></td></tr>'+
         '<tr><td></td><td>'+rss(translations.languageName('rssKlikOpDePlaatsVanUwKeuzeOfTypVerder'))+':</td></tr>'+
         '<tr><td></td><td><span id="zoeken_townlistspan"></td></tr>'+
         '<tr><td>&nbsp;'+rss(translations.languageName('rssGekozenPlaats'))+'</td><td><b><span id="zoeken_townchoicespan"></b></td></tr>'+
         '<tr><td></td><td><span id="zoeken_towndataspan"></td></tr>'+
         '<tr><td>&nbsp;'+rss(translations.languageName('rssAfstandMax_L'))+'</td><td><input type="text" id="zoeken_towna" size="3" maxlength="3" value="'+zoeken_town_radius+'">&nbsp;'+rss(translations.languageName('rssKilometer_A'))+'</td></tr>'+
         '</table>'+
       '</td>'+
       '<td valign="top" style="border-left:1px solid #000000;"><div id="zoeken_townmap" style="width:300px; height:300px"></div></td>'+
     '</tr>'+
     '</table>';

  return t;
}

//////////////////////////////////////////////////////////////////////// WANNEER

function wanneer_maak() {
  var t='';

  t+='<table width="100%">'+
     '<col width="160"><col width="160"><col>'+
     '<tr>'+
       '<td>'+rss(translations.languageName('rssAankomstdatum'))+'</td>'+
       '<td>'+rss(translations.languageName('rssVertrekdatum'))+'</td>'+
       '<td>&nbsp;</td>'+
     '</tr>'+
     '<tr>'+
       '<td>'+datearray.array[index_begindate].make(false)+'</td>'+
       '<td>'+datearray.array[index_enddate].make(false)+'</td>'+
       '<td>&nbsp;</td>'+
     '</tr>'+
     '<tr>'+
       '<td colspan="3">'+
         '<table>'+
         '<tr>'+
           '<td class="td_klik_lokaal" onclick="go()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssZoek_L'))+'&nbsp;</td>'+
           '<td class="td_klik_wissen" onclick="cleardatevalues()" style="cursor: pointer;">&nbsp;'+rss(translations.languageName('rssPeriodeWissen_L'))+'&nbsp;</td>'+
         '</tr>'+
         '</table>'+
       '</td>'+
     '</tr>'+
     '</table>';

  return t;
}

function wanneer_ververs() {
  datearray.array[index_begindate].write();
  datearray.array[index_enddate].write();
  datearray.focus(index_begindate);
}

function datearray_setbegindate() {
  aankomstdatum=datearray.array[index_begindate].date;
  var defaultdagen = 2;
  if (datearray.array[index_enddate].date<(datearray.array[index_begindate].date+(defaultdagen*secsperday*1000))) {
    datearray.array[index_enddate].date=datearray.array[index_begindate].date+(defaultdagen*secsperday*1000);
    datearray.array[index_enddate].write();
    vertrekdatum=datearray.array[index_enddate].date;
  }
  datearray.focus(index_enddate);
}

function datearray_setenddate() {
  vertrekdatum=datearray.array[index_enddate].date;
  if (datearray.array[index_begindate].date>datearray.array[index_enddate].date) {
    datearray.array[index_begindate].date=datearray.array[index_enddate].date;
    datearray.array[index_begindate].write();
    aankomstdatum=datearray.array[index_begindate].date;
  }
}

function cleardatevalues() {
  datearray.array[index_begindate].date=0;
  datearray.array[index_begindate].write();
  datearray.array[index_enddate].date=0;
  datearray.array[index_enddate].write();
  aankomstdatum=0;
  vertrekdatum=0;
}

//////////////////////////////////////////////////////////// huidigeselectiespan

function updatehuidigeselectiespan() {
  var t='';
  
  t+='<table width="100%" cellspacing="0" cellpadding="0" border="0">'+
     '<col width="72"><col>'+
     '<tr class="tr_boxtitel_filter">'+
       '<td colspan="2">&nbsp;<b>'+rss(translations.languageName('rssUwHuidigeSelectie'))+':</b>&nbsp;</td>'+
     '</tr>';
     
  //Periode
  t+='<tr>'+
       '<td valign="top">&nbsp;'+rss(translations.languageName('rssWanneer'))+':</td>'+
       '<td valign="top">'+
         '<b>';
  if (aankomstdatum!=0) t+=rss(translations.languageName('rssVanTot_L_2'),dateString(aankomstdatum,'dmy'),dateString(vertrekdatum,'dmy'));
      t+='</b>'+
       '</td>'+
     '</tr>';

  //provincies
  t+='<tr>'+
       '<td valign="top">&nbsp;'+rss(translations.languageName('rssWaar'))+':</td>'+
       '<td valign="top">'+
         '<b>';
  var cnt=pr=0;
  for (var i=0; i<prar.length; i++) {
    pr=prar[i];
    if (pr.value=='1') {
      if (cnt!=0) t+=', '; cnt=1;
      t+=pr.name;
    }
  }
  if (zoeken_town.id!='') {
    if (cnt!=0) t+=', '; cnt=1;
    t+=rss(translations.languageName('rssTotKmVan_2'),zoeken_town_radius,zoeken_town.name);
  }
      t+='</b>'+
       '</td>'+
     '</tr>';

  //faciliteiten
  t+='<tr>'+
       '<td valign="top">&nbsp;'+rss(translations.languageName('rssWat'))+':</td>'+
       '<td valign="top">'+
         '<b>';
  var hp=s=gn='';
  for (var i=0; i<hpar.length; i++) {
    hp=hpar[i];
    switch (hp.kind) {
      case 2 : //getal
        s=hp.value;
        if (s=='') s=0;
        if (s!=0) {
          s=rss(hp.grouplanguagename); if (s=='') s=hp.groupname;
          if (s==gn) t+=', '; else { if (gn!='') t+='<br>'; gn=s; t+=gn+': '; }
          s=rss(hp.languagename); if (s=='') s=hp.name;
          if (hp.minmax==2) t+=s+' &lt;= '+hp.value;
                       else t+=s+' &gt;= '+hp.value;
        }
        break;
      case 3 : //checkbox
        if (hp.value==1) {
          s=rss(hp.grouplanguagename); if (s=='') s=hp.groupname;
          if (s==gn) t+=', '; else { if (gn!='') t+='<br>'; gn=s; t+=gn+': '; }
          s=rss(hp.languagename); if (s=='') s=hp.name;
          t+=s;
        }
        break;
      case 4 : //selectie
        if (hp.asboolean==1) {
          if (hp.value==1) {
            s=rss(hp.grouplanguagename); if (s=='') s=hp.groupname;
            if (s==gn) t+=', '; else { if (gn!='') t+='<br>'; gn=s; t+=gn+': '; }
            s=rss(hp.languagename); if (s=='') s=hp.name;
            t+=s;
          }
        } else {
          s=hp.value;
          if (s=='') s=0;
          if (s!=0) {
            s=rss(hp.grouplanguagename); if (s=='') s=hp.groupname;
            if (s==gn) t+=', '; else { if (gn!='') t+='<br>'; gn=s; t+=gn+': '; }
            s=rss(hp.languagename); if (s=='') s=hp.name;
            t+=s+'='+veldlijstWaarde(hp.list,hp.value);
          }
        }
        break;
    }
  }
  if (zoekterm!='') {
    if (gn!='') t+='<br>';
    t+=rss(translations.languageName('rssZoek'))+': '+zoekterm;
  }
      t+='</b>'+
       '</td>'+
     '</tr>';
  t+='</table>';

  var LijstmaxLijst = '5=5|10=10|15=15|20=20|25=25|50=50|75=75|100=100';
  t+='<table width="100%" cellspacing="0" cellpadding="0" border="0">'+
     '<col width="50%"><col>'+
     '<tr>'+
       '<td>&nbsp;'+rss(translations.languageName('rssAantalAccommodatiesPerResultaatPagina'))+': '+veldlijstSelectOnchange(LijstmaxLijst,'lijstmaxselect',lijstmax,'go()')+'</td>'+
       '<td>&nbsp;'+rss(translations.languageName('rssSorteerVolgorde'))+': '+veldlijstSelectOnchange(rsslist(translations.languageName('rssVolgordeLijst_LST')),'volgordeselect',volgorde,'go()')+'</td>'+
     '</tr>'+
     '</table>';

  if (getid('huidigeselectiespan'))
  getid('huidigeselectiespan').innerHTML=t;
}

