//zmienne globalne
G_sbmtClick=false;
trescZaawansowaneB='';


////** Ukrywam niepotrzebne boxy przed pokazaniem ajaxa //POWINNO BYC PO ODEBRANIU INFORMACJI Z SERWERA
function ukr_pr(e){
	obj=document.getElementById("srodek_opis");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("noclegi-obiekty");
	//if(obj)
	//obj.style.display=e;
	obj=document.getElementById("popularne-miasta");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("kontakt_stopka");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("kontakt_stopka1");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("dodaj-obiekt");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("partnerzy");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("polecamy");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("reklama");
	if(obj)
	obj.style.display=e;
	obj=document.getElementById("mapa-plany");
	if(obj)
	obj.style.display=e;


	// alert('a');
	return false;
}
//** Pobiera dane z konkretnego formularza oraz zamienia to na string
function get_f(n){
	s_form(n);
	f=document.forms[n];
	var fn = f.getElementsByTagName('input');
	s='f=f';
	for(var i=0; i < fn.length; i++) {
		if(fn[i].type=='text' || fn[i].type=='hidden')
		s+='&'+fn[i].name+'='+encodeURIComponent(fn[i].value);
		if(fn[i].type=='checkbox' && fn[i].checked)
		s+='&'+fn[i].name+'='+encodeURIComponent(fn[i].value);
	}
	fn = f.getElementsByTagName('select');
	for( i=0; i < fn.length; i++)
	s+='&'+fn[i].name+'='+encodeURIComponent((fn[i].value));
	return s;
}
/**
Sprawdzam poprawnosc formularza
**/
 function s_form(n){
// 	f=document.forms[n];
// 	od=f.cena;
// 	//  od=f.cena_od;
// 	//  c_do=f.cena_do;
// 
// 	r=f.rodzaj;
// 	t=r.options[r.selectedIndex].value;
// 	if(t=='biuro turystyczne' || t=='pomoc drogowa'){
// 		od.selectedIndex=0;
// 		//  c_do.selectedIndex=c_do.options.length-1;
// 	}
// 	odv=(od.options[od.selectedIndex].value+1)*1;
// 	//  dov=(c_do.options[c_do.selectedIndex].value+1)*1;
// 	//  if (odv>dov) {
// 	//   od.selectedIndex=0//c_do.selectedIndex+1;
// 	//   alert(typeof(odv)+' ' +c_do.options[c_do.selectedIndex].value);
// 	//   alert('Zmieniono "cene od" - nie może być większa od "ceny do"');
// 	//  }
// 	//  alert(f.cena_od + ' '+f.cena_do);
 }
function eraseCookie(name) {
	setCookie(name,"",-1);
}
//** Funkcja wysylajaca formularz ajaxem oraz odbierajaca dane
function send_f(e){
	//if ($("#idM").val()=='' ) {  return false;}
	ustawMiasto();
	chk=d_hash(window.location);
	if(chk=='' || chk=='1'){
		t=this;
		var n=t.name;
		s=get_f(n);	
		//ajax_f(s,0,'wait','ajax_wyniki');		
		old_h='';
		u_hash(1);
	}else{
		u_hash(1);
	}
	return false;
}
////** Funkcja pobierajaca wyniki oraz
function ajax_f(s,nr,load_id,div_id){
	if(!nr) nr=0;
	document.getElementById(load_id).style.visibility='visible';
	var load_id=load_id;
	var div_id=div_id;

	sendRequest('index.php?funkcja=ajax_wyniki&jezyk='+jezyk+'&strona='+nr,s,function(text){
		//------------------obiekt---------

				$('#obiektNaglowek').hide(); 
				$('.litery').hide();	
				$('#noclegi-gastronomia').hide(); 
				$('#WynikiSzukaniaN1All').hide(); 
				$('#prawaBelka').remove();

		
		document.getElementById(div_id).innerHTML=''+text+''+staly_str;
		document.getElementById(load_id).style.visibility='hidden';
		setTimeout("document.getElementById('"+div_id+"').style.display='block'",500);

		ukr_pr('none');

	});
}
//// FUNCKCJA TWORZY TABLICE OBIEKTOW DLA NASTEPNY/POPRZEDNI - DOSTEP PRZEZ OPENER Z POWODU SUBDOMEN
var ob_arr;
function setCookie(n,v,e,p,d,s){
	document.cookie=n+"="+escape(v)+";"+(e?"expires="+new Date((new Date()).getTime()+e*1000).toGMTString()+";":"")+("path=/;")+("domain=.interia.pl;")+(s?"; secure":"");
}
////////////
function ttt(){
	alert('ssss');
}

////
function d_hash(s,r_a,r_b){
	t=s+'';
	t=t.replace(r_a,r_b);
	return s!=t?t:'';
}

////**  funkcja ustawia hash
function u_hash(hash){
	str=new String(window.location);
	if(str.lastIndexOf('#')>0)
	str=str.slice(0,str.lastIndexOf('#'));
	setTimeout("window.location='"+str+"'+'#"+hash+"';",500);
}


//*** Funkcja nasluchujaca czy adres z hashem sie zmienil
var old_h='';
var old_z ='';
function hash_listen_f(){
	//alert(old_h);
	h=d_hash(window.location,/^(.*)#(.*)$/gim,"$2");
	//alert(h+' '+old_h);
	var z = h.substring(0,1);
	if(z == 'w') {
		$("#bwm_pokaz").hide();
	}
	
	var znr = h.substr(1);
	//alert(z+" "+old_z);
	
	//--------jeśli historia
	if (z == 'h' && old_z!=znr){ 
		//console.log(z);
		s=get_f('noclegi-szukanie');
		ajax_f(s+"&historia=1",znr-1,'wait','ajax_wyniki');
		old_z = znr;

	} else//------jesli BWM
	if (z == 'w' && old_z!=znr){
		s=get_f('noclegi-szukanie');
		ajax_f(s+"&bwm=1",znr-1,'wait','ajax_wyniki');
		old_z = znr;

	} else {

		if(h!='' && old_h!=h && z != 'w' && z != 'h'){

			s=get_f('noclegi-szukanie');
			ajax_f(s,h-1,'wait','ajax_wyniki');
			// document.getElementById('noclegi-menu').innerHTML+=h;
			old_h=h;
			old_z ='10000';
			if(IE){
				if(typeof(hash_iframe_listen)!='undefined')
				window.clearTimeout(hash_iframe_listen);
				document.getElementById('ajaxnav').setAttribute('src', 'mock-page.php?hash='+h);//.src="mock-page.php?hash="+h;
				old_h_ifr=h;
				h_ifr=h;
				if(typeof(hash_iframe_listen)!='undefined')
				//   alert(hash_iframe_listen);
				hash_iframe_listen=window.setTimeout("hash_iframe_listen_f()",200);
			}
		}else if(h==''){
			old_h='10000';
			document.getElementById('ajax_wyniki').style.display='none';
			ukr_pr('block');
		}
	}
		hash_listen=window.setTimeout("hash_listen_f()",200);
}

/////
var old_h_ifr='';
var h_ifr='';
function hash_iframe_listen_f(){
	h_ifr=d_hash(document.frames['ajaxnav'].getLocation(),/^(.*)hash=(.*)$/gim,"$2");
	//document.getElementById('noclegi-menu').innerHTML=h_ifr;
	if(h_ifr!='' && old_h_ifr!=h_ifr){
		//  alert(h_ifr+' c');
		window.setTimeout("u_hash(h_ifr)",200);
		//old_h=h_ifr;
	}else if(h_ifr=='' &&  old_h_ifr==h_ifr){
		//     u_hash('')//,200);
		// old_h_ifr='10000';
		//      document.getElementById('ajax_wyniki').style.display='none';
		//    ukr_pr('block');
	}

	hash_iframe_listen=window.setTimeout("hash_iframe_listen_f()",200);
}


function followmouse(e){
	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];
	o=gettrailobj();
	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)

	if (typeof e != "undefined"){
		xcoord+=e.pageX;
		ycoord+=e.pageY;
	}
	else if (typeof window.event !="undefined"){
		xcoord+=truebody().scrollLeft+event.clientX;
		ycoord+=truebody().scrollTop+event.clientY;
	}
	xcoord-=(docwidth-990)/2
	if (xcoord+trailimage[0]+3>docwidth || ycoord+trailimage[1]> docheight)
	o.display="none";
	else
	o.display="";
	o.left=xcoord+"px";
	o.top=ycoord+"px";
}
var offsetfrommouse=[60,-20]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var trailimage=[54,55];
function truebody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function gettrailobj(){
	if (document.getElementById)
	return document.getElementById("wait").style;
	else if (document.all)
	return document.all.trailimagid.style;
}

var miastoPierwsze=[];

function ustawMiasto(){
	var idM=$("#idM");
	if(idM.val()!='') return true;


	var miasto=$("#miasto");
	var m=miasto.val();
    if(m=='') return true;

	m=szukajMiasta(m);
	if(m){
		miasto.val(m[0]);
		idM.val(m[2]);
		return true;
	}
	return false;
}

function szukajMiasta(m){
	if(m=='') return false;
	var ile=miastoPierwsze.length;
	for(var i=0;i<ile;i++){
		//alert((miastoPierwsze[i][0]).toLowerCase().indexOf(m.toLowerCase())+'');
		if((miastoPierwsze[i][0]).toLowerCase().indexOf(m.toLowerCase())==0)
		return miastoPierwsze[i];
	}
	return false;
}

function goAutocompleteMiasto(){

	function formatItem(row) {
		$("body").append((row.n)+' '+(row.w)+'<br>');
		return (row.n)+' '+(row.w) ;
	}

	function formatResult(row) {
		return row.n;
	}

	function formatItem2(row) {
		var r=row[1];
		//if(!miastoPierwsze)
		miastoPierwsze.push(row);
		return row[0]+(r!=''?'<i>'+r+'</i>':'');
	}

	function formatResult2(row) {
		return row[0];
	}

	var iTxt=$("#miasto");
	iTxt.unautocomplete();

	iTxt.autocomplete("index.php?funkcja=autocomplete", {
		delay: 100,
		width: 400,
		max: 100,
		minChars:3,
		formatItem: formatItem2,
		formatResult: formatResult2
	});
	
	iTxt.result(function(event, data, formatted){

		if(!data){
			data=szukajMiasta($("#miasto").val());
			miastoPierwsze=[];
			if(data){
				$("#miasto").val(data[0]);
			}else{
				//alert('Brak miejscowości: '+$("#miasto").val());
				return;
			}
			//miastoPierwsze=[];
			//return;
		}else{
			miastoPierwsze=[];
		}
		//console.log(data[2]);
		$("#idM").val(data[2]);
		$("#nazwaM").val(data[0]);
		
		$("#sbmt").focus();		 
		//$("#sbmt").click();

	}).focus(function(){
		$(this).click();
		//$(this).select();
	});
}





function robMiejsceDlaAjaxWyniki(){

	$("form#noclegi-szukanie-kryteria div#kryteria_zaawansowana_frontpage:visible").slideUp("slow");
	$(" a#zaawansowane_b").html("+ "+trescZaawansowaneB);
		
			
			
			var IE = document.all&&!window.opera?true:false;
			
			$("div#lewaBelka:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 800, function() { 	$(this).hide();	});			

			$("div#polecaneObiekty:visible").animate({ 
        opacity: 0
				
      }, 800, function() { 	$(this).hide();	});
			
			$("div#google_long:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 800, function() { 	$(this).hide();	});
			
			$("div#reklamy:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
			$("div#wizytowka:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
			$("div#popularne-miasta:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
			$("div#linkiOgolne:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
			$("div#err404:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
			$("div#noclegi-wyniki:visible").animate({ 
        opacity: 0,
				height: "0px"
      }, 100, function() { 	$(this).hide();	});
			
				//var=<div id="mini_mapa_polski_d"><a href="{if $http}http://www.noclegiw.pl/{/if}plan-krakowa.html" title="Noclegi, nocleg w Polsce - noclegiw.pl | mapy miast"><img id="mini_mapa_polski" src="graf/mapa-polski-m.gif"></a> </div>
			
}

//bindowanie eventów do przycisków w tabeli, które dopiero przyjdą ajaxem

function zmienSortowanie(id) {
	var v=$(id).val();
	
	$('#sort_miasto').val('');
	$('#sort_cena').val('');
	$('#sort_ilosc_miejsc').val('');
	
	$('#sort_miasto_b').removeClass('asc');
	$('#sort_cena_b').removeClass('asc');
	$('#sort_ilosc_miejsc_b').removeClass('asc');
	$('#sort_miasto_b').removeClass('desc');
	$('#sort_cena_b').removeClass('desc');
	$('#sort_ilosc_miejsc_b').removeClass('desc');
	
	
	switch (v)	{
	 case '' : $(id).val('asc'); $(id).val('asc'); $(id+"_b").addClass("asc"); break;
	 case 'asc' : $(id).val('desc'); $(id+"_b").removeClass('asc'); $(id+"_b").addClass("desc"); break;
	 case 'desc' : $(id).val(''); $(id+"_b").removeClass('desc'); break;
	}
	$('input#sbmt').click();
}



function bindujSortowanie()
{
	$("#ajax_wyniki").listen('click','#sort_miasto_b',function(){
				zmienSortowanie('#sort_miasto');
				
	});
	
	$("#ajax_wyniki").listen('click','#sort_cena_b',function(){
				zmienSortowanie('#sort_cena');
				
	});
	
	$("#ajax_wyniki").listen('click','#sort_ilosc_miejsc_b',function(){
				zmienSortowanie('#sort_ilosc_miejsc');
				
	});
}


function bindujKlikalnoscWierszyWynikow()
{
	$("#ajax_wyniki").listen('click','td',function(){
				var l=$(this).parent().find('a').attr("href");
				if (l)	window.location=l;
				return false;
	});
}

function bindujPodswietlanieWierszyWynikow()
{
	$("#ajax_wyniki").listen('over','td',function(){
				window.location=$(this).parent().find('a').attr("href");
				return false;
	});
}


function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}



//dodawanie wyszukiwarki
function installSearchEngine() {
 if (window.external && ("AddSearchProvider" in window.external)) {
   // Firefox 2 and IE 7, OpenSearch
	 

		window.external.AddSearchProvider("http://www.noclegiw.pl/opensearch/wtyczka.xml");
		var expdate = new Date()
    expdate.setTime (expdate.getTime() + 360*(24 * 60 * 60 * 1000)); 
		
		document.cookie="opensearch=1;expires="+expdate;			
		//document.cookie="opensearch=1;expires=Thu, 01-Jan-00 00:00:01 GMT";			
	 $.get("mail_do_szefa.php",{od:"noclegiw", temat:"NOCLEGIW - pobrano wtyczke OPENSEARCH"});
 } 
 else {
   // No search engine support (IE 6, Opera, etc).
   alert("Nieprawidłowa przegladarka (Opera,IE 6) => Wyszukiwarka nie może zostać dodana. Aby dodac wyszukiwarke w Operze, kliknij prawym klawiszem na pole wyszukiwania i nacisnij 'UTWÓRZ WYSZUKIWARKĘ'.  ");
 }
}


function przejdzNaStroneOpensearch(){
	//$.get("mail_do_szefa.php",{od:"noclegiw", temat:"NOCLEGIW - otowrzono strone OPENSEARCH"});
	var opera=window.opera?true:false; 
	if (opera){
		window.location="http://www.noclegiw.pl/wyszukiwarka-opera.html";
	} else 	window.location="http://www.noclegiw.pl/wyszukiwarka-pobierz.html";
}


function czyscFormularzFrontpage(){
	$("#noclegi-szukanie-kryteria input:text").val('');
	$("#noclegi-szukanie-kryteria #miasto").val('');
	
	$("#noclegi-szukanie-kryteria input:hidden").val('');
	$("#noclegi-szukanie-kryteria input:checkbox").attr("checked",false);
	$("#noclegi-szukanie-kryteria select").attr("selectedIndex",0);
}

function mrygajBWM(){
	var kolor="black";

  setInterval(function(){
		kolor=kolor!="black" ? 'black' : "#b42121";
		$("#bwmAjaxWyniki").css("color",kolor);
	},800);
}


function autocompleteJezioro(){
	//autocomplete jeziora
	$("#jezioro_nazwa_textfield").autocomplete("index.php?funkcja=AC&ACType=jezioro", {
		delay: 100,
		width: 200,
		max: 700,
		minChars:4	
	});	
}


//------------------------------------on ready state--------------------------//
$(function(){ 
	autocompleteJezioro()
	if (get_cookie('opensearch')) $("#opensearchDownload").hide();
	
	
	mrygajBWM();//mrugający baner BWM
	
	//wstawianie nazwy miasta do inputa po odświezeniu/powrocie
	//$("#miasto").val( $("#nazwaM").val() );
	$("#miasto").focus(function(){ 
		$("#miasto").val('');
		$("#idM").val('');
		$("#nazwaM").val('');
		$("#miasto").flushCache();

	});
	
	
	//opensearch
	$('#aviary_manual #przycikPobierz').click(function(){
		installSearchEngine();
	});
	
	$('#opensearchDownload').click(function(){
		przejdzNaStroneOpensearch();
	});
	
	//czyszczenie formularza
	$('#czyscFormularzFrontpage').click(function() { czyscFormularzFrontpage();  return false;});
	
	
	$("#sbmtDol").click(function(){ $("#sbmt").click(); });
	
	//przycisk "zaawansowane"
  $("form#noclegi-szukanie-kryteria a#zaawansowane_b").click(function(){
			$("form#noclegi-szukanie-kryteria div#kryteria_zaawansowana_frontpage:visible").slideUp("slow", function () { $(" a#zaawansowane_b").html("+ "+trescZaawansowaneB);});
			$("form#noclegi-szukanie-kryteria div#kryteria_zaawansowana_frontpage:hidden").slideDown("slow", function () { $(" a#zaawansowane_b").html("- "+trescZaawansowaneB);});
		});
		
		
	//+ i - przy "zaawansowane"	
	trescZaawansowaneB=$(" a#zaawansowane_b").html();
	$(" a#zaawansowane_b").html("+ "+trescZaawansowaneB);
	
	//ukrywanie niepotrzebnych - robienie miejsca dla ajax-wyniki
	$("form#noclegi-szukanie-kryteria input#sbmt").click(function(){
		$("#alert:visible").fadeOut("slow");
		robMiejsceDlaAjaxWyniki();
	});	
	
	
	//"pokaz wszystkie krainy"
	$('#pokazWszystkieKrainyB').click(function(){
		$('#lokalizacja').html($('#krainyWszystkie').html());
		setTimeout(function(){ $('#lokalizacja').focus();  $('#lokalizacja').click();   }, 1000);
	
	});
 	
	//sprawdzanie czy jest odświezana strona z wynikami, jak tak to robi miejsce
	var test_url='';
	test_url+=window.location;
	if ( test_url.match("#") )	robMiejsceDlaAjaxWyniki();
	
	
	bindujSortowanie();
	bindujKlikalnoscWierszyWynikow();
	
	//------------------jeśli to szukanie po mapie to binduje sciaganie prawej belki po kliknieciu "szukaj"---------
	if (document.getElementById("poMapie") )	{	
		$("#sbmt").click(function(){
			$('#prawaBelka').show();
		});
	}
	


});
