var sterneslider;
var heightminmax=Array(0,2100);
var alletranslations={'de':'Alle','it':'Tutti','en':'All'};
function setsearchfilterdata(resp){
  filterdata = resp.responseJSON;
	var data=filterdata;
	//alert(data.hotelart.2);
	
	if (data) {
    //preisspanne=Array(0,300);
    
	  /*if (window.location.search.get('preisspanne')){
      preisspanne=window.location.search.get('preisspanne').split(',');
      preisspanne[0]=Math.floor(preisspanne[0]);
      preisspanne[1]=Math.floor(preisspanne[1]);
    }*/
    if (document.getElementById('suchefiltersliderdivpreis')!= null){
      if (preisspanne[0]<data.minpreis || preisspanne[0]>data.maxpreis ) preisspanne[0]=data.minpreis;
      if (preisspanne[1]<data.minpreis || preisspanne[1]>data.maxpreis ) preisspanne[1]=data.maxpreis;
      var handles = ['suchefiltersliderdivpreishandle1', 'suchefiltersliderdivpreishandle2'];
      $('suchefiltersliderwertpreis').innerHTML = Math.floor(preisspanne[0])+" - "+Math.ceil(preisspanne[1])+"&euro;";

      var thesteps=$R(Math.floor(data.minpreis), Math.ceil(data.maxpreis));

      if (preissteps!=false){
        var z=Math.floor(data.minpreis/preissteps)*preissteps+preissteps;
        var thesteps=Array();
        thesteps[0]=Math.floor(data.minpreis);
        while(z<Math.floor(data.maxpreis-preissteps)){
          z+=preissteps;
          thesteps.push(z);
        }
        thesteps.push(Math.floor(data.maxpreis));
      }
      new Control.Slider(handles, 'suchefiltersliderdivpreis', {
        range: $R(Math.floor(data.minpreis), Math.ceil(data.maxpreis)),
        values: thesteps,
        sliderValue: [Math.floor(preisspanne[0]), Math.ceil(preisspanne[1])],
        restricted: false,
        onSlide: function(v) { $('suchefiltersliderwertpreis').innerHTML = (v[0]<v[1]) ? v[0]+" - "+v[1]+"&euro;" : v[1]+" - "+v[0]+"&euro;"  },
        onChange: function(v) { $('suchefiltersliderwertpreis').innerHTML = (v[0]<v[1]) ? v[0]+" - "+v[1]+"&euro;" : v[1]+" - "+v[0]+"&euro;"; preisspanne=(v[0]<v[1]) ? Array(v[0],v[1]) : Array(v[1],v[0]); Cookie.setData('preisspanne',preisspanne);loaddata(); }
      });
    }
  	
  	//sternespanne=Array(1,5);
    
	  /*if (window.location.search.get('sternespanne')){
      sternespanne=window.location.search.get('sternespanne').split(',');
      sternespanne[0]=Math.floor(sternespanne[0]);
      sternespanne[1]=Math.floor(sternespanne[1]);
    }*/
    
    
	  var handles = ['suchefiltersliderdivklasshandle1', 'suchefiltersliderdivklasshandle2'];
	  $('suchefiltersliderwertklass').innerHTML = sterneoutputfunction(sternespanne[0],sternespanne[1]);
  	sterneslider= new Control.Slider(handles, 'suchefiltersliderdivklass', {
  		range: $R(1, 5),
  		values: $R(1, 5),
  		sliderValue: [sternespanne[0], sternespanne[1]],
  		restricted: false,
  		onSlide:  function(v) { $('suchefiltersliderwertklass').innerHTML = sterneoutputfunction(v[0],v[1]); },
  		onChange: function(v) { $('suchefiltersliderwertklass').innerHTML = sterneoutputfunction(v[0],v[1]); sternespanne=(v[0]<v[1]) ? Array(v[0],v[1]) : Array(v[1],v[0]); Cookie.setData('sternespanne',sternespanne); loaddata(); }
  	});
  	
  	
  	/*heightspanne=Array(300,2500);
    
	  if (window.location.search.get('heightspanne')){
      heightspanne=window.location.search.get('heightspanne').split(',');
      heightspanne[0]=Math.floor(heightspanne[0]);
      heightspanne[1]=Math.floor(heightspanne[1]);
    }*/    
    var thesteps=$R(heightminmax[0], heightminmax[1]);    
        
    if (heightsteps!=false){
      var z=0;
      var thesteps=Array();
      thesteps[0]=Math.floor(heightminmax[0]);
      while(z<Math.floor(heightminmax[1])){
        z+=heightsteps;
        thesteps.push(z);
      }      
    }	
      
    
  	var handles = ['suchefiltersliderdivheighthandle1', 'suchefiltersliderdivheighthandle2'];
  	$('suchefiltersliderwertheight').innerHTML = heightspanne[0]+" - "+heightspanne[1]+"m";
  	new Control.Slider(handles, 'suchefiltersliderdivheight', {
  		range: $R(heightminmax[0], heightminmax[1]),
  		values: thesteps,
  		sliderValue: [heightspanne[0], heightspanne[1]],
  		increment: 100,
  		restricted: false,
  		onSlide: function(v) { $('suchefiltersliderwertheight').innerHTML = (v[0]<v[1]) ? v[0]+" - "+v[1]+"m" : v[1]+" - "+v[0]+"m" },
  		onChange: function(v) { $('suchefiltersliderwertheight').innerHTML = (v[0]<v[1]) ? v[0]+" - "+v[1]+"m" : v[1]+" - "+v[0]+"m"; heightspanne=(v[0]<v[1]) ? Array(v[0],v[1]) : Array(v[1],v[0]); Cookie.setData('heightspanne',heightspanne); loaddata(); }
  	});
	  
	  
	  
	  //hotelart:
	  
	  /*var hotelart=Array();
    
	  if (window.location.search.get('hotelart')){
      hotelart=window.location.search.get('hotelart').split(',');      
    }*/
	  
	  var thehtml="";
	  var checkedtext;
    var thekeys=Object.keys(data.hotelart);   
    checkedtext='';
    if (hotelart.length==0) checkedtext=' checked="checked"';
    //if (window.location.search.get('test')) alert(hotelart.length+">0 && "+hotelart.indexOf(thekeys[i])+">=-1) || ("+hotelart.length+"==0 && "+i+"==0))");
    
    thehtml+='<input onclick="loadfilterdata()" name="searchfilterhotelart" value="" id="searchfilterhotelart_0"'+checkedtext+' type="radio"><label for="searchfilterhotelart_0">'+alletranslations[culture]+'</label><br>'+"\n";
    
    for (var i=0; i< thekeys.length; i++){
      checkedtext='';
      if ((hotelart.length>0 && hotelart.indexOf(thekeys[i])>-1)) checkedtext=' checked="checked"';
      //if (window.location.search.get('test')) alert(hotelart.length+">0 && "+hotelart.indexOf(thekeys[i])+">=-1) || ("+hotelart.length+"==0 && "+i+"==0))");
      thehtml+='<input onclick="loadfilterdata()" name="searchfilterhotelart" value="'+thekeys[i]+'" id="searchfilterhotelart_'+thekeys[i]+'"'+checkedtext+' type="radio"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
    }	  
		$('searchfilterhotelartdiv').update(thehtml);
		
		//themenhotels:
		
		/*var themenhotels=Array();
    
	  if (window.location.search.get('themenhotels')){
      themenhotels=window.location.search.get('themenhotels').split(',');      
    }*/
    
	  var thehtml="";
    var thekeys=Object.keys(data.themenhotels);
    for (var i=0; i< thekeys.length; i++){
      checkedtext='';
      if (themenhotels.length>0 && themenhotels.indexOf(thekeys[i])!=-1) checkedtext=' checked="checked"';
      thehtml+='<input onclick="loadfilterdata()" name="searchfilterthemenhotels" value="'+thekeys[i]+'" id="searchfilterthemenhotels_'+thekeys[i]+'"'+checkedtext+' type="checkbox"><label for="searchfilterthemenhotels_'+thekeys[i]+'">'+data.themenhotels[thekeys[i]]+'</label><br>'+"\n";
    }	  
		$('searchfilterthemenhotelsdiv').update(thehtml);
		
		//hotelausstattung:
		
		/*var hotelausstattung=Array();    
	  if (window.location.search.get('hotelausstattung')){
      hotelausstattung=window.location.search.get('hotelausstattung').split(',');      
    }*/
		
	  var thehtml="";
    var thekeys=Object.keys(data.hotelausstattung);
    var thevalues=Object.values(data.hotelausstattung);
    //alert(thekeys+"---"+thevalues);
    for (var i=0; i< thekeys.length; i++){
      checkedtext='';
      if (hotelausstattung.length>0 && hotelausstattung.indexOf(thekeys[i])!=-1) checkedtext=' checked="checked"';
      if(thevalues[i][1]==10) thehtml+='<input onchange="loadfilterdata()" name="searchfilterhotelausstattung" value="'+thekeys[i]+'" id="searchfilterhotelausstattung_'+thekeys[i]+'"'+checkedtext+' type="checkbox"><label for="searchfilterhotelausstattung_'+thekeys[i]+'">'+thevalues[i][0]+'</label><br>'+"\n";
    }	 
    thehtml+='<a href="#" onclick="return showhidemehrhotelausstattungen()">mehr...</a><br /><div id="mehrhotelausstattungendiv" style="display:none">'+"\n";
    var thehtmlspalten=Array("","","");
    var sz=0;
    for (var i=0; i< thekeys.length; i++){
      if(thevalues[i][1]!=10){
        checkedtext='';
        if (hotelausstattung.length>0 && hotelausstattung.indexOf(thekeys[i])!=-1) checkedtext=' checked="checked"';
        thehtmlspalten[sz]+='<input onclick="loadfilterdata()" name="searchfilterhotelausstattung" value="'+thekeys[i]+'" id="searchfilterhotelausstattung_'+thekeys[i]+'"'+checkedtext+' type="checkbox"><label for="searchfilterhotelausstattung_'+thekeys[i]+'">'+thevalues[i][0]+'</label><br>'+"\n";
        sz++;
        if (sz>2) sz=0;
      }
    }	
    for (var i=0; i<thehtmlspalten.length; i++){
      thehtml+='<div id="hotelausstattungfilterspalte_'+i+'">'+thehtmlspalten[i]+'</div>';
    }
    thehtml+="</div>";
		$('searchfilterhotelausstattungdiv').update(thehtml);
		
		//zimmertyp/zimmerkategorie:
		/*
		var zimmertyp=Array();    
	  if (window.location.search.get('zimmertyp')){
      zimmertyp=window.location.search.get('zimmertyp').split(',');      
    }
    */
		
	  var thehtml="";
    var thekeys=Object.keys(data.zimmertyp);
    
    checkedtext='';
    if (hotelart.length==0) checkedtext=' checked="checked"';
    //if (window.location.search.get('test')) alert(hotelart.length+">0 && "+hotelart.indexOf(thekeys[i])+">=-1) || ("+hotelart.length+"==0 && "+i+"==0))");
    
    thehtml+='<input onclick="loadfilterdata()" name="searchfilterzimmertyp" value="" id="searchfilterzimmertyp_0"'+checkedtext+' type="radio"><label for="searchfilterzimmertyp_0">'+alletranslations[culture]+'</label><br>'+"\n";
    
    
    for (var i=0; i< thekeys.length; i++){
      checkedtext=' ';
      if ((zimmertyp.length>0 && zimmertyp.indexOf(thekeys[i])>-1)) checkedtext=' checked="checked"';
      thehtml+='<input onclick="loadfilterdata()" name="searchfilterzimmertyp" value="'+thekeys[i]+'" id="searchfilterzimmertyp_'+thekeys[i]+'"'+checkedtext+' type="radio"><label for="searchfilterzimmertyp_'+thekeys[i]+'">'+data.zimmertyp[thekeys[i]]+'</label><br>'+"\n";
    }	  
		$('searchfilterzimmertypdiv').update(thehtml);
		
		
		//zimmerausstattung:
		/*
		var zimmerausstattung=Array();    
	  if (window.location.search.get('zimmerausstattung')){
      zimmerausstattung=window.location.search.get('zimmerausstattung').split(',');      
    }
		*/
	  var thehtml="";
    var thekeys=Object.keys(data.zimmerausstattung);
    for (var i=0; i< thekeys.length; i++){
      checkedtext='';
      if (zimmerausstattung.length>0 && zimmerausstattung.indexOf(thekeys[i])!=-1) checkedtext=' checked="checked"';
      thehtml+='<input onchange="loadfilterdata()" name="searchfilterzimmerausstattung" value="'+thekeys[i]+'" id="searchfilterzimmerausstattung_'+thekeys[i]+'"'+checkedtext+' type="checkbox"><label for="searchfilterzimmerausstattung_'+thekeys[i]+'">'+data.zimmerausstattung[thekeys[i]]+'</label><br>'+"\n";
    }	  
		$('searchfilterzimmerausstattungdiv').update(thehtml);
		
	} 
	loadfilterdata();

}

function setsternefilter(sterne){
  var oldonchange=sterneslider.options.onChange;
  sterneslider.options.onChange= function(){};
  sterneslider.setValue(sterne,0);
  sterneslider.options.onChange=oldonchange;
  sterneslider.setValue(sterne,1);

}

function showhidesearchfilterdiv( thediv ){
	var thesearchfilterdivs=Array('searchfilterhotelartdiv','searchfilterthemenhotelsdiv','searchfilterhotelausstattungdiv','searchfilterzimmertypdiv','searchfilterzimmerausstattungdiv');
	$('mehrhotelausstattungendiv').setStyle({display:'none'});
  for(var i=0; i<thesearchfilterdivs.length; i++){
		if (thesearchfilterdivs[i]==thediv){
			if ($(thesearchfilterdivs[i]).getStyle('display')=='none'){
				Effect.BlindDown(thesearchfilterdivs[i],{ duration: 0.2}); //, {queue: 'end'});
			}else{
				Effect.BlindUp(thesearchfilterdivs[i],{ duration: 0.2}); //, {queue: 'end'});					
			}
		}else{
			if ($(thesearchfilterdivs[i]).getStyle('display')!='none'){
				Effect.BlindUp(thesearchfilterdivs[i],{ duration: 0.2}); //,  {queue: 'end'});
			}
		}
	}

}
function showhidemehrhotelausstattungen(){
  if ($('mehrhotelausstattungendiv').getStyle('display')=='none'){
		Effect.BlindDown('mehrhotelausstattungendiv',{ duration: 0.2}); //, {queue: 'end'});
	}else{
		Effect.BlindUp('mehrhotelausstattungendiv',{ duration: 0.2}); //, {queue: 'end'});
	}
	return false;
}



function loadfilterdata(){
  rememberlist=Array();
  $('sucheausgabeloading').style.display="inline";
  //hotelart:
  hotelart=Array();
  var thekeys=Object.keys(filterdata.hotelart);
  for (var i=0; i< thekeys.length; i++){
    if($('searchfilterhotelart_'+thekeys[i]).getValue()!=null){
      //hotelart.push($('searchfilterhotelart_'+thekeys[i]).getValue());
      hotelart=$('searchfilterhotelart_'+thekeys[i]).getValue();
    }    
    
    
    //+'" checked="checked" type="checkbox"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
  }	
  if (window.location.search.get('test')) alert(hotelart);
  Cookie.setData('hotelart',hotelart[0]);
  //alert(hotelart);
  
  //themenhotels:
  themenhotels=Array();
  var thekeys=Object.keys(filterdata.themenhotels);
  for (var i=0; i< thekeys.length; i++){
    if($('searchfilterthemenhotels_'+thekeys[i]).getValue()!=null){
      themenhotels.push($('searchfilterthemenhotels_'+thekeys[i]).getValue());
    }
    //+'" checked="checked" type="checkbox"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
  }	
  Cookie.setData('themenhotels',themenhotels);
  //alert(themenhotels);
  
  //hotelausstattung:
  hotelausstattung=Array();
  var thekeys=Object.keys(filterdata.hotelausstattung);
  for (var i=0; i< thekeys.length; i++){
    if($('searchfilterhotelausstattung_'+thekeys[i]).getValue()!=null){
      hotelausstattung.push($('searchfilterhotelausstattung_'+thekeys[i]).getValue());
    }
    //+'" checked="checked" type="checkbox"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
  }
  Cookie.setData('hotelausstattung',hotelausstattung);	
  //alert(hotelausstattung);
  
  //zimmertyp:
  zimmertyp=Array();
  var thekeys=Object.keys(filterdata.zimmertyp);
  for (var i=0; i< thekeys.length; i++){
    if($('searchfilterzimmertyp_'+thekeys[i]).getValue()!=null){
      zimmertyp.push($('searchfilterzimmertyp_'+thekeys[i]).getValue());
      Cookie.setData('zimmertyp',thekeys[i]);
    }
    //+'" checked="checked" type="checkbox"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
  }	
  Cookie.setData('zimmertyp',zimmertyp);	
  //alert(zimmertyp);
  
  //zimmerausstattung:
  zimmerausstattung=Array();
  var thekeys=Object.keys(filterdata.zimmerausstattung);
  for (var i=0; i< thekeys.length; i++){
    if($('searchfilterzimmerausstattung_'+thekeys[i]).getValue()!=null){
      zimmerausstattung.push($('searchfilterzimmerausstattung_'+thekeys[i]).getValue());
    }
    //+'" checked="checked" type="checkbox"><label for="searchfilterhotelart_'+thekeys[i]+'">'+data.hotelart[thekeys[i]]+'</label><br>'+"\n";
  }	
  Cookie.setData('zimmerausstattung',zimmerausstattung);	
  //alert(zimmerausstattung);
  loaddata();
}

function generatesearchfilter(){
  var aj = new Ajax.Request(
		proxyurl+"?ah_path=gethotelsearchfilterdata.php&culture="+culture, {
			method:'post',
			evalJSON: 'force',
			//parameter: {path: 'gethotelsearchfilterdata.php', culture: 'de'},
			onComplete: setsearchfilterdata
		}
	); 
}
