$(document).ready(function(){
 
 $(".flag[alt=EN]").mouseover(function()
	{
	 	$("#flags-onhover").fadeIn();
    });

 $("#flags-onhover a").click(function()
	{
	 	$("#flags-onhover").hide();
    }); 

 
 	// nema unosa prošlih datuma, checkOutDate je autosetan na dan nakon checkInDatea
    $('#checkInDate, #checkOutDate').datepicker(
    {
        dateFormat: 'yy-mm-dd',
        minDate: 0,
        firstDay: 1, 
        changeFirstDay: false,
		onSelect: insertOtherDate
    });
	function insertOtherDate(value, date, inst) 
	{
	     var firstDate = new Date($('#' + date.id).datepicker("getDate"));
	     var datepickerInput = (date.id === 'checkInDate') ? 'checkOutDate' : 'txtStartDate';
	     var dateAdjust = (date.id === 'checkInDate') ? 1 : -1;
	     var secondDate = new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + dateAdjust); 
	  
	     $("#checkOutDate").datepicker('option', 'minDate', secondDate);
	     $('#' + datepickerInput).datepicker('setDate', secondDate);
	}
			
	
	$("input[name=checkin],input[name=checkinDetail],input[name=checkout],input[name=checkoutDetail]").keypress(function(e){			//preventa upisivanje bilo cega s tastature u input field, osim backspacea i deleta
		if(e.which == 0 || e.which == 8)
			return true;
		else
			return false;
	})
 
 $("#checkin-img").click(function(){
   $("input[name=checkin]" ).datepicker("show");
 });
 
 $("#checkout-img").click(function(){
   $("input[name=checkout]" ).datepicker("show");
 });
   
   

	// OVDJE JE CODE ZA DRUGU PREKLAPAJUCU FORMU, BOOK TRANSFER

   $("input[name=datum-transfera]").datepicker({ dateFormat: 'yy-mm-dd' });
   
   $("#datum-transfera-img").click(function(){
	   $("input[name=datum-transfera]" ).datepicker("show");
	 });
	   

  // PRIKAZUJE ODGOVARAJUCU FORMU, ZAVISNO OD LINKA U HEADERU FORME NA KOJI SE KLIKNE (ovo je za glavnu formu na prvoj stranici)
$(".frm-swtch").click(function(){
	var frmurl = $(this).attr("href");
    switch(frmurl)
    {
	 case '/find-hotel':
	  $("#adriatic-holidays-head-search").show();
	  $("#adriatic-holidays-head-search-transfer").hide();
	  $("#adriatic-holidays-head-search-1").css("background-color","#205CA5");
	  $("#adriatic-holidays-head-search-2").css("background-color","transparent");
	 break;
	 
	 case '/book-transfer':
	  $("#adriatic-holidays-head-search-transfer").show();
	  $("#adriatic-holidays-head-search").hide();
	  $("#adriatic-holidays-head-search-2-transfer").css("background-color","#205CA5");
	  $("#adriatic-holidays-head-search-1-transfer").css("background-color","transparent");
	 break;
	}
});
  
  // PRIKAZUJE ODGOVARAJUCU FORMU, ZAVISNO OD LINKA U HEADERU FORME NA KOJI SE KLIKNE (ovo je za sporednu formu koja se nalazi desno, na puno stranica)
  $(".frm-swtch-sporedna").click(function(){
    var frmurl = $(this).attr("href");
    //var urlniz = url.split("/");
	//var frmurl = urlniz.pop();
	//alert(frmurl);
   switch(frmurl)
    {
	 case '/find-hotel':
	  $("#adriatic-holidays-accommodation-search-transfer").hide();
	  $("#adriatic-holidays-accommodation-search").show();
	  $("#adriatic-holidays-accommodation-search-1").css("background-color","#205CA5");
	  $("#adriatic-holidays-accommodation-search-2").css("background-color","transparent");
	  // ovo je da radi i na staroj verziji forme, od 01.2012.
	  $("#adriatic-holidays-accommodation-search-transfer-old").hide();
	  $("#adriatic-holidays-accommodation-search-old").show();
	  $("#adriatic-holidays-accommodation-search-1-old").css("background-color","#205CA5");
	  $("#adriatic-holidays-accommodation-search-2-old").css("background-color","transparent");
	 break;
	 
	 case '/book-transfer':
	  $("#adriatic-holidays-accommodation-search").hide();
	  $("#adriatic-holidays-accommodation-search-transfer").show();
	  $("#adriatic-holidays-accommodation-search-2-transfer").css("background-color","#205CA5");
	  $("#adriatic-holidays-accommodation-search-1-transfer").css("background-color","transparent");
	  // ovo je da radi i na staroj verziji forme, od 01.2012.
	  $("#adriatic-holidays-accommodation-search-old").hide();
	  $("#adriatic-holidays-accommodation-search-transfer-old").show();
	  $("#adriatic-holidays-accommodation-search-2-transfer-old").css("background-color","#205CA5");
	  $("#adriatic-holidays-accommodation-search-1-transfer-old").css("background-color","transparent");
	 break;
	}
 
  });
   
	/**
    *   POSLIJE KEYUP-A U POLJU DESTINACIJA, CEKA POLA SEKUNDE, UZIMA STA JE UNESENO U POLJE I VADI IZ BAZE MJESTA SA TIM POCETNIM SLOVIMA
    *   
    *   PODACI KOJE VRATI PHP SU JSON TIPA
    */
    var timeout_array = new Array(), timeout_array_start = new Array(), timeout_array_dest = new Array();
	var i = 0, destinacija_flag = 1, position = 0, off = 0;

	$("input[name=destination]").keyup(function(e)
	{
		$("input[name=urlname]").val('');
		if(e.keyCode == 13 || e.keyCode == 40 || e.keyCode == 38)
		{
			if(e.keyCode == 13 && position == 0)
			{
				clearTimeout(timeout_array[i-1]);
				$("#dest-smart-search").empty();
				$("#dest-smart-search").slideUp(300);
				var urlname = $(this).val();
				$.getJSON("/ctravel/check_destinacije/"+urlname, function(data){
					if(data['rez']['br'] == 0)
						destinacija_flag = data['link'];
					else{
						$("input[name=destination]").val(data['rez']['destinacija']);
						$("input[name=urlname]").val(data['rez'].dest);
					}
				});
			}
			
			if(e.keyCode == 13 && position != 0)
				$('.imedest:nth-child('+position+')').click();
			
			if(e.keyCode == 40)
			{					
				if(position < $('#dest-smart-search').children().size())
				{
					position++;
					$('.imedest:nth-child('+position+')').addClass('highlight');
					var b = position-1;
					$('.imedest:nth-child('+b+')').removeClass('highlight');
					if(position > 5 && $("#dest-smart-search").scrollTop() == 0 || position*23 > $("#dest-smart-search").scrollTop() + 115)
					{
						off+=23;
						$("#dest-smart-search").scrollTop(off);
					}
				}
			}
			
			if(e.keyCode == 38)
			{
				if(position > 1)
				{
					position--;
					$('.imedest:nth-child('+position+')').addClass('highlight');
					var b = position+1;
					$('.imedest:nth-child('+b+')').removeClass('highlight');
					if(position*23 <= $("#dest-smart-search").scrollTop() + 10)
					{
						off-=23;
						$("#dest-smart-search").scrollTop(off);
					}
				}				
			}
		}
		else
		{
			$("#dest-smart-search").scrollTop(0);
			position = 0; off = 0;
			if(i != 0)
				clearTimeout(timeout_array[i-1]);
			timeout_array[i] = setTimeout(function()
			{
				var slova = $("input[name=destination]").val();
				if(slova == "")
				{
					$("#dest-smart-search").scrollTop(0);
					$("#dest-smart-search").slideUp(300);
					$("#dest-smart-search").empty();
					position = 0;
				}
				else
				{
					$.getJSON("/ctravel/destinacije/"+slova, function(data)				// polje data je 3D i izgleda tipa: [Ime-dest][mech-dest]['reg' ili 'dest']
					{
						var br = 0;		
						$("#dest-smart-search").empty();
																	
						$.each(data,function(key,value){								// tu se iterira po 3D polju key je ime destinacije, k mech-ime a v oznaka za reg ili dest
							br++;
							var sadrz = "";
							$.each(value, function(k, v){
								sadrz = '<div class="imedest '+v+'" id="'+k+'">';
								if(v == "reg")											// ako je regija dodajemo slicicu..
									sadrz+= '<img src="/tmpl/images/icon-regija.png" style="float:left; margin-right:5px;" />';
								sadrz+= key+'</div>';
							});
							$("#dest-smart-search").append(sadrz);
						});
						if(br <= 5)
							$("#dest-smart-search").css('height','auto');
						else	
							$("#dest-smart-search").css('height','125px');						
						if(br != 0)
							$("#dest-smart-search").slideDown(600);
					});
				}
			}, 500);
			i++;
		}
	});
	
	$(".imedest").live('click',function()								// kad se klikne na ponudjenu destinaciju puni input field i 2-3 hidden fielda
	{
		var naziv = $(this).text();
		var urlname = $(this).attr('id');
		var slova = $("input[name=destination]").val(naziv);
		var type = ($(this).attr('class').split(' '))[1];				// u ovaj input se zapisuje da li je destinacija ili regija
		$("input[name=urlname]").val(urlname);
		$("input[name=type]").val(type);
		$("#dest-smart-search").empty();
		$("#dest-smart-search").slideUp(300);				 
	});

	$('html').click(function(){
		$("#dest-smart-search, #start-sheet, #dest-sheet").slideUp(300);
	});
	
	$('input[name=destination]').click(function(e){							// kad se klikne na input za destinacije onda se vrati div s rezultatima
		if($("#dest-smart-search").html() != '')
			$("#dest-smart-search").slideDown(600);
		if (!e) var e = window.event;
			e.cancelBubble = true;
		if (e.stopPropagation) 
			e.stopPropagation();							// ova naredba je prakticki dovoljna, ona preventa bubbling, dakle ne odvija se ovaj gore parent event $('html').click...
	});
	
	$('input[name=startpoint]').click(function(e){			// isto kao i gore samo za druge inpute
		if($("#start-sheet").html() != '')
			$("#start-sheet").slideDown(600);
		if (!e) var e = window.event;
			e.cancelBubble = true;
		if (e.stopPropagation) 
			e.stopPropagation();
	});
	
	$('input[name=dest-point]').click(function(e){
		if($("#dest-sheet").html() != '')
			$("#dest-sheet").slideDown(600);
		if (!e) var e = window.event;
			e.cancelBubble = true;
		if (e.stopPropagation) 
			e.stopPropagation();
	});
	
	$(".imedest, .strtpnt, .dstpnt").livequery(function()							// kad se hovera na neku destinaciju u dest-smart-searchu, oboji se u sivo. ukoliko se s pomocu
	{																				// strelica hoveralo neku destinaciju onda ona gubi hover efekt i on se prebacuje na ovu hoveranu misom
		$(this).hover(function()
		{
			$('.imedest:nth-child('+position+')').removeClass('highlight');
			$(this).addClass('highlight');
			position = $(".imedest").index(this) + 1;
		},
		function()
		{
			$(this).removeClass('highlight');
		});
	},function()
	{ 
        $(this).unbind('mouseover').unbind('mouseout'); 
    });
	
  // search forma (glavna i sporedna)
  
	$("input[name=accbutton]").click(function(){
		if(destinacija_flag == 1)
		{   
			var polje_klasa = $(this).parent().attr("class").split('#');
			var jezik = polje_klasa[0];
			var smj = polje_klasa[1];
			var dest = $("input[name=urlname]").val();
		
			var cbox = $("input[name=spec_dates]").attr('checked');
		   
			var dist = $("select[name=distance]").val();
			
			if( dist == undefined ) {
			    dist = 0;
			}
			
			var type = $("input[name=type]").val();

			if(type == 'reg')
			{   
				$.getJSON("/ctravel/accommodations_trans", function(data){				
					url = "/"+jezik+"/"+dest+"-"+data['smjestaj'];
					window.location = url;
					//alert('ajax'+url);
				});
				return;
			}
			else
			{	
				if(dist == "")
				 {
					
					url = "/"+jezik+"/"+dest+"/"+smj;
					//alert("dist==nista "+url);
				}	
				else
				{
				    
					url = "/ctravel/sa_forme_bez_datuma/"+jezik+"/"+dest+"/"+smj+"/"+dist+"km";
					//alert("dist ima "+url);
				}
			}
			var ckin = $("input[name=checkin]").val();
			var ckout = $("input[name=checkout]").val();
		   
			if(dest.length == 0)
			 {
			  return false;
		     }
			if(cbox == true)
			{
			  window.location = url;
			}   
			else
			{
				// kontrola datuma da ne bude manji od danasnjeg  
				var ckinu = Date.parse(ckin); // pretvara u unix time
				var ckoutu = Date.parse(ckout); // pretvara u unix time  
				var sad = new Date(); // novi objekt
				var god = sad.getFullYear(); // uzimamo sadasnje vrijeme
				var mjesec = sad.getMonth(); // samo mjesec-1 (od nule ide)
				var mjesec = parseInt(mjesec) + parseInt(1); // zato ovo +1
				var dan = sad.getDate(); // dan u mjesecu
				var f = god+"/"+mjesec+"/"+dan; // sklapanje stringa
				var sadu = Date.parse(f); // pretvara u unix time
			 
				if(ckinu >= ckoutu) // ako je checkin veci od checkout
				{
					jQuery('form :input[type="text"]').val("");
					jQuery('form :input[type="hidden"]').val("");
					return false;
				}
				else if(ckinu < sadu ) // ako je checkin manji od now
				{
					jQuery('form :input[type="text"]').val("");
					jQuery('form :input[type="hidden"]').val("");
					return false;
				}
				
				else if(ckin.length != 10 || ckout.length != 10)
				 {
				  return false;
				 }
			 
				else
				{
					if(dist == "")
					 {
					  var url = "/ctravel/acc_dest_specd/"+dest+"/"+ckin+"/"+ckout+"/1";
					 }
					else
					 {
					  var url = "/ctravel/acc_dest_specd/"+dest+"/"+ckin+"/"+ckout+"/"+dist+"km"+"/1";
					 }
					window.location = url;
				}
			}
		}
		else
		{
			window.location = destinacija_flag;
			}
	});
  
  // NA MOUSEOVER MIJENJA BOJU SEARCH BOTUNA U �UTO
  $("input[name=accbutton], input[name=transfers-button]").mouseover(function(){
     $(this).css('background-color','#FFCC00');
  });
  
  // NA MOUSEOUT VRA�A PLAVU BOJU SEARCH BOTUNA
  $("input[name=accbutton], input[name=transfers-button]").mouseout(function(){
     $(this).css('background-color','#205CA5');
  });
  // KLIZANJE SAKRIVENIH ELEMENATA NA FAQ STRANICI
  $(".slide").click(function(){
	$(this).parent().parent().find("p").slideToggle(400);
	$(".slide").parent().parent().find("p").hide();
	return false;
  });
  
  // BACK TO TOP LINKOVI
  $(".anchor").click(function(){
	$('html,body').animate({scrollTop: $('html').offset().top},'slow');
	return false;
  });
  
  //FAQ i Odredbe i uvjeti slide linkovi (moze ic bilo di)
  $(".slide_to").click(function(){
		elementClick = $(this).attr("href");
		dest = "#" + elementClick.substring(1);
		destination = $(dest).offset().top;		
		$("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 2000);
		return false;
   });
   
   
   //HOVER ZA BEST PRICE GUARANTEE
   $("#best_price").mouseenter(function(){
		$("#pop").css("display","block");
   });
   $("#best_price").mouseleave(function(){
		$("#pop").css("display","none");
   });
	
   //SLIDE ZA FACILITIES TERMS I REVIEWS
   $(".accommodation-info").find("h2").click(function(){
		var stanje = $(this).parent().find(".hide_img").attr('src');
		if(stanje == '/tmpl/images/icon-plus.jpg')
			stanje = "minus";
		else
			stanje = "plus";
		$(this).parent().find(".hide_img").attr('src','/tmpl/images/icon-'+stanje+'.jpg');
		$(this).parent().find(".hide").slideToggle(400);
		return false;
   });
   
   $(".poseban_botun").hover(function(){
	$(this).css("background-color","#058AB6");
   });
   
   //IDENTICNO KAO I ZA SLIDE ZA FACILITIES TERMS I REVIEWS SAMO SAN MORA NOVU FUNKCIJU ZBOG RAZLICITIH IMENA DIV-OVA
   $("#terms_toggle").click(function(){
	$("#hide_term").slideToggle(400);
	return false;
   });
  
  
    /**
    *    POSLIJE KEY-UP NA POLJU START POINT OD TRANSFER FORME, CEKA POLA SEKUNDE PA PUNI DIV SA ODGOVARAJUCIM GRADOVIMA
    */
	
	String.prototype.trim = function() {
		return this.replace(/^\s+|\s+$/g,"");
	}
	var j = 0,s_p = 1,transfer_flag;
	$("input[name=startpoint]").keyup(function(e)
	{	
		if(e.keyCode == 13)
		{
			clearTimeout(timeout_array_start[j-1]);
			$("#start-sheet").empty();
			$("#start-sheet").slideUp(300);
			var urlname = $(this).val();
			$.getJSON("/ctravel/check_mjesta/"+urlname, function(data){
				if(data['rez']['start'] == 0)
				{
					s_p = 0;
					transfer_flag = data['link'];
				}
				else{
					$("input[name=startpoint]").val(data['rez']['mjesto_naziv'].trim());
					$("input[name=mech_start]").val(data['rez']['mech_dest'].trim());
				}
			});
		}
		else
		{
			if(j != 0)
				clearTimeout(timeout_array_start[j-1]);												
			timeout_array_start[j] = setTimeout(function()
			{
				var slova = $("input[name=startpoint]").val();
				if(slova == "")
				{
					$("#start-sheet").slideUp(300);
					$("#start-sheet").scrollTop(0);
					$("#start-sheet").empty('');
				}
				else
				{
					var point = $("input[name=dest-point]").val();
					if($.trim(point) == "")
						point = "no point";
					$.getJSON("/transfers/get_mjesta/"+slova+"/"+point, function(data)
					{
						$("#start-sheet").empty();
						var ti=0; 
						for(var i in data)
						{
							var sadrz = '<div class="strtpnt" id="'+data[i].mech_dest+'">';
							switch(data[i].kategorija)
							{
								case 'luka':
									sadrz+= '<img src="/tmpl/images/icon-ferry.png" style="float:left; margin-right:5px;" />';
									break;
								case 'airport':
									sadrz+= '<img src="/tmpl/images/icon-airport.png" style="float:left; margin-right:5px;" />';
									break;
								case 'marina':
									sadrz+= '<img src="/tmpl/images/icon-marinas.png" style="float:left; margin-right:5px;" />';
									break;
								case 'hotel':
									sadrz+= '<img src="/tmpl/images/icon-hotel.png" style="float:left; margin-right:5px;" />';
									break;
								case 'bus':
									sadrz+= '<img src="/tmpl/images/icon-bus.png" style="float:left; margin-right:5px;" />';
									break;
							}
							sadrz+= data[i].mjesto_naziv+'</div>';
							$("#start-sheet").append(sadrz);
							ti++;
						}
						if(ti <= 5)
							$("#start-sheet").css('height','auto');
						else
							$("#start-sheet").css('height','125px');
						if(ti != 0)
							$("#start-sheet").slideDown(500);
								
						$(".strtpnt").click(function()
						{
							var naziv = $(this).text();
							var urlname = $(this).attr('id');
					 
							$("input[name=startpoint]").val(naziv);
							$("input[name=mech_start]").val(urlname);
					 
							$("#start-sheet").empty();
							$("#start-sheet").slideUp(300);
						});
					});
				}
			},500);
			j++;
		}
	});
  
 
	/**
    *    POSLIJE KEY-UP NA POLJU DEST-POINT OD TRANSFER FORME, CEKA POLA SEKUNDE PA PUNI DIV SA ODGOVARAJUCIM GRADOVIMA
    */
	var k = 0, e_p = 1; 
	$("input[name=dest-point]").keyup(function(e)
	{	
		if(e.keyCode == 13)
		{
			clearTimeout(timeout_array_dest[k-1]);
			$("#dest-sheet").empty();
			$("#dest-sheet").slideUp(300);
			var urlname = $(this).val();
			$.getJSON("/ctravel/check_mjesta/"+urlname, function(data){
				if(data['rez']['start'] == 0)
				{
					e_p = 0;
					transfer_flag = data['link'];
				}
				else{
					$("input[name=dest-point]").val(data['rez']['mjesto_naziv'].trim());
					$("input[name=mech_dest]").val(data['rez']['mech_dest'].trim());
				}
			});				
		}
		else
		{	
			if(k != 0)
				clearTimeout(timeout_array_dest[k-1]);
			timeout_array_dest[k] = setTimeout(function()
			{
				var slova = $("input[name=dest-point]").val();
				if(slova == "")
				{	
					$("#dest-sheet").slideUp(300);
					$("#dest-sheet").scrollTop(0);
					$("#dest-sheet").empty('');
				}
				else
				{	
					var point = $("input[name=startpoint]").val();
					if($.trim(point) == "")
						point = "no point";
					$.getJSON("/transfers/get_mjesta/"+slova+"/"+point, function(data){
						$("#dest-sheet").empty();
						var ti=0; 
						for(var i in data)
						{
							var sadrz = '<div class="dstpnt" id="'+data[i].mech_dest+'">';
							switch(data[i].kategorija)
							{
								case 'luka':
									sadrz+= '<img src="/tmpl/images/icon-ferry.png" style="float:left; margin-right:5px;" />';
									break;
								case 'airport':
									sadrz+= '<img src="/tmpl/images/icon-airport.png" style="float:left; margin-right:5px;" />';
									break;
								case 'marina':
									sadrz+= '<img src="/tmpl/images/icon-marinas.png" style="float:left; margin-right:5px;" />';
									break;
								case 'hotel':
									sadrz+= '<img src="/tmpl/images/icon-hotel.png" style="float:left; margin-right:5px;" />';
									break;
							}
							sadrz+= data[i].mjesto_naziv+'</div>';
							$("#dest-sheet").append(sadrz);
							ti++;
						}
				
						if(ti <= 5)
							$("#dest-sheet").css('height','auto');
						else
							$("#dest-sheet").css('height','125px');
						if(ti != 0)
							$("#dest-sheet").slideDown(500);
				
						$(".dstpnt").click(function()
						{
							var naziv = $(this).text();
							var urlname = $(this).attr('id');
					 
							$("input[name=dest-point]").val(naziv);
							$("input[name=mech_dest]").val(urlname);
					 
							$("#dest-sheet").empty();
							$("#dest-sheet").slideUp(300);
						});
					});
				}
			},500);
			k++;
		}
	});
   
   
    /**
    *  UZIMA VARIJABLE IZ FORME I PROSLIJEDJUJE IH NA PHP FUNKCIJU KOJA RACUNA CIJENE ZA ODABRANU RUTU
    */
	   
    $("input[name=transfers-button]").click(function(){
		if(s_p != 0 && e_p != 0)
		{
			// js funkcija koja uklanja whitespace sa obe strane stringa. Javascript nema svoju trim() funkciju. 
			String.prototype.trim = function() {
				return this.replace(/^\s+|\s+$/g,"");
			}
			 
			 
			var startpoint = $("input[name=mech_start]").val();
			startpoint = startpoint.trim(); // treba ih trimati da url nebi bio sa razmakom
			var destpoint = $("input[name=mech_dest]").val();
			destpoint = destpoint.trim();
			 
			var transdatum = $("input[name=datum-transfera]").val();
			
			var lang = $("input[name=lang]").val();
			 
			if(startpoint=='' || destpoint=='' || transdatum.length!=10)
			{
				alert('Enter date, departure place and destination, please.'); 
			}
			else
			{
				var url = "/"+lang+"/taxi-transfers/"+startpoint+"/"+destpoint+"/"+transdatum;
				window.location = url;
			}
		}
		else
			window.location = transfer_flag;
   });
});
