/**
 * Dateiname       : javascript/suche.js
 * Erzeugungsdatum : 05.12.2008
 * Autor           : Carsten Kube
 * Letzte Akt.     : 16.12.2008 (CK)
 * 
 * (c) Copyright SECRA GmbH
 */

window.onload = function() {
  window.allowedChars = ['0','1','2','3','4','5','6','7','8','9','.'];
  new secra.InputFilter(window.allowedChars, "anreiseFeld");
  new secra.InputFilter(window.allowedChars, "abreiseFeld");

  var year = new Date().getFullYear();
  // Individuelle und notwendige Kalender-Einstellungen
  Calendar.setup({"inputDisplayArea":"anreiseFeld"
                 ,"button":"anreiseButton"
                 ,"range":[year,year+anzjahre]
                 ,"onUpdate":requestAnzahlObjekte
  });
  Calendar.setup({"inputDisplayArea":"abreiseFeld"
                 ,"button":"abreiseButton"
                 ,"range":[year,year+anzjahre]
                 ,"onUpdate":requestAnzahlObjekte
                });

  window.timeoutId = null;
  window.suchen       = document.getElementById("suchen");
  window.outputerr       = document.getElementById("outputerr");
  window.output       = document.getElementById("output");
  window.outAnzahl       = document.getElementById("outAnzahl");
  window.region       = document.getElementById("region");
  window.region.onchange = requestAnzahlObjekte;
  window.anlagentyp   = document.getElementById("anlagentyp");
  window.anlagentyp.onchange = requestAnzahlObjekte;
  window.personen     = document.getElementById("personen");
  window.personen.onchange = requestAnzahlObjekte;
  window.kategorie    = document.getElementById("kategorie");
  window.kategorie.onchange = requestAnzahlObjekte;
  window.anreiseFeld  = document.getElementById("anreiseFeld");
  window.anreiseFeld.onkeyup = function() {
  	window.clearTimeout(window.timeoutId);
  	window.timeoutId = window.setTimeout(requestAnzahlObjekte, 1000);
  };
  window.abreiseFeld  = document.getElementById("abreiseFeld");
  window.abreiseFeld.onkeyup = function() {
    window.clearTimeout(window.timeoutId);
    window.timeoutId = window.setTimeout(requestAnzahlObjekte, 1000);
  };
  window.haustier     = document.getElementById("haustier");
  window.haustier.onclick = requestAnzahlObjekte;
  window.pool         = document.getElementById("pool");
  window.pool.onclick = requestAnzahlObjekte;
  requestAnzahlObjekte();
};

function requestAnzahlObjekte() {
	var search = location.search+"&";
	if(search == "&") {
		search = "?"
	}
	if(window.region.value !== "notset") {
    search += "region="+window.region.value+"&";
	}
  if(window.anlagentyp.value !== "notset") {
    search += "anlagentyp="+window.anlagentyp.value+"&";
  }
  if(window.personen.value !== "notset") {
    search += "personen="+window.personen.value+"&";
  }
  if(window.kategorie.value !== "notset") {
    search += "kategorie="+window.kategorie.value+"&";
  }
  if(window.anreiseFeld.value !== "") {
    search += "anreiseFeld="+window.anreiseFeld.value+"&";
  }
  if(window.abreiseFeld.value !== "") {
    search += "abreiseFeld="+window.abreiseFeld.value+"&";
  }
  if(window.haustier.checked === true) {
    search += "haustier="+window.haustier.value+"&";
  }
  if(window.pool.checked === true) {
    search += "pool="+window.pool.value+"&";
  }
  var strURL = "/madeira/xmlhttp_antworten/suche_ajax.php"+search;
  window.ajax = new window.secra.AjaxHandler("Suche");
  window.ajax.registerCallback({"state1" : null,
                         "state2" : null,
                         "state3" : null,
                         "state4" : window.callbackAnzahlObjekte }, "json");
  window.ajax.open("GET", strURL);
  window.output.style.display = "none";
  window.outputerr.style.display = "none";
  window.clearTimeout(window.timeoutId);
  window.timeoutId = window.setTimeout(function() {
    window.ajax.send(null);
  }, 1000);
}

function callbackAnzahlObjekte(strData) {
  //alert(strData.getText());
  var i, k
  jsonobj = strData.getJSON();
  //strData = null;
  window.ajax = null;
  if(jsonobj.error == null) {
    window.outputerr.style.display = "none";
    window.anzahltext = jsonobj.anzahltext;
    window.output.style.display = "";
    window.outAnzahl.innerHTML = window.anzahltext;
  } else {
    window.output.style.display = "none";
    window.outputerr.style.display = "";
	  window.outputerr.innerHTML = jsonobj.error;
  }
  if(jsonobj.error != null || jsonobj.anzahl < 1) {
    //window.suchen.disabled = true;
  } else {
    window.suchen.disabled = false;
  }
}


