var view_type = 'list';
var old_target_name = '';
var old_stype = 'city';

function showList(_this,module)
{
  if ( $('#r_stype_hotel').attr('checked') )
  {
    remoreAuto();
    $("#loader").css("visibility", "hidden");
    return;
  }
  
    
	$("#loader").css("visibility", "visible");
	//remoreAuto();
  var str = _this.value;
  
  if (old_target_name==str.toLowerCase())
  {
    $("#loader").css("visibility", "hidden");
    return false;
  }
  old_target_name = str.toLowerCase();  
  
  if (str=='') remoreAuto();
  
	if (str.length == 2)
  {
    $("#loader").css("visibility", "hidden");
    return false;
  }
  
  var _stype = 'city';
  if ( $('#r_stype_hotel').attr('checked') ) _stype = 'hotel';

	 $.ajax({
   type: "POST",
   url: "/index.php",
   data: "&a=ajax.location_search&stype="+_stype+"&location=" + encodeURIComponent(str),
   success: function(msg){
    if ( $('#r_stype_hotel').attr('checked') )
    {
      remoreAuto();
      $("#loader").css("visibility", "hidden");
      return;
    }
	  $("#company-ac").html(msg);
	  $("#loader").css("visibility", "hidden");
   }
 });


	return false;
}

function checkBookingResult(orderid,onrequest)
{
	if(document.getElementById('stop').value=='1') return false;
	
	 $.ajax({
   type: "POST",
   url: "/index.php",
   data: "&a=ajax.payment_result&orderid=" + orderid+"&onRequest="+onrequest,
   success: function(msg){
     //alert( "Data Saved: " + msg );
	 var ResArr = msg.split('###');
	 
	 if(ResArr[0]=="stop"){
	 	$("#result").html(ResArr[1]);
		document.getElementById('stop').value='1';
	 }
	 
   }
 });


	return false;
}

function changeBgJob(_this,bool,fill)
{

	if( bool==1 )
	{
		//_this.style.backgroundColor = "#F6FBFF";
    _this.style.backgroundColor = "#CD3331";
    _this.style.color = "#fff";

	}
	else
	{
    //_this.style.backgroundColor = "#faf8fa";
    //_this.style.color = "#686669";
    _this.style.backgroundColor = "#ffffff";
    _this.style.color = "#000000";
    
    /*
		if( fill%2>0 )
    {
      //_this.style.backgroundColor = "#FAFAFA";
      _this.style.backgroundColor = "#faf8fa";
      _this.style.color = "#686669";
    }
		else
    {
      //_this.style.backgroundColor = "#FFFFFF";
      _this.style.backgroundColor = "#faf8fa";
      _this.style.color = "#686669";
    }
		*/


	}

}

function remoreAuto()
{
	$('#company-ac').html('');
}

function showDescription(hotel){

	if(($("#hotel_menu_desc").attr("class")!='hotel_menu_active')) {
		
		$("#container_hotel_info").css("display", "block"); 
		$("#container_hotel_info").html('<img src="/img/progress.gif">');
		
		$("#hotel_menu_desc").attr("class",'hotel_menu_active');
		$("#hotel_menu_photos").attr("class",'hotel_menu');
		$("#hotel_menu_map").attr("class",'hotel_menu');
		$("#container_map").css("display", "none"); 
		
		$.ajax({
	   type: "POST",
	   url: "/index.php",
	   data: "&a=ajax.hotel_info&m=desc&HotelCode=" + hotel,
	   success: function(msg){
     //alert( "Data Saved: " + msg );
	 $("#container_hotel_info").html(msg);
   }
 	});


	
	}
	return false;
	
}

function showPhotos(hotel){
	
	if(($("#hotel_menu_photos").attr("class")!='hotel_menu_active')) {
		
		$("#container_hotel_info").css("display", "block"); 
		$("#container_hotel_info").html('<img src="/img/progress.gif">');
	
		$("#hotel_menu_desc").attr("class",'hotel_menu');
		$("#hotel_menu_photos").attr("class",'hotel_menu_active');
		$("#hotel_menu_map").attr("class",'hotel_menu');
		$("#container_map").css("display", "none"); 
		
	$.ajax({
	   	type: "POST",
	   	url: "/index.php",
	   	data: "&a=ajax.hotel_info&m=photos&HotelCode=" + hotel,
	   	success: function(msg){
     	//alert( "Data Saved: " + msg );
	 	$("#container_hotel_info").html(msg);
   		}
 	});
	
	}
		return false;
}

function showMap(hotel){
	
	if(($("#hotel_menu_map").attr("class")!='hotel_menu_active')) {
	
		$("#container_hotel_info").html('<img src="/img/progress.gif">');
	
		$("#hotel_menu_desc").attr("class",'hotel_menu');
		$("#hotel_menu_photos").attr("class",'hotel_menu');
		$("#hotel_menu_map").attr("class",'hotel_menu_active');
		$("#container_map").css("display", "block"); 
		$("#container_hotel_info").css("display", "none"); 
		
		
/*
	$.ajax({
	   type: "POST",
	   url: "/index.php",
	   data: "&a=ajax.hotel_info&m=map&HotelCode=" + hotel,
	   success: function(msg){
     //alert( "Data Saved: " + msg );
	 $("#container_hotel_info").html(msg);
   }
 	});
*/		
	}
	
	return false;
}

function showRooms(){
	
	if(($("#hotel_menu_rooms").attr("class")!='hotel_menu_active')) {
	
		//$("#container_hotel_res").html('<img src="/img/progress.gif">');
	
		$("#hotel_menu_res").attr("class",'hotel_menu');
		$("#hotel_menu_rooms").attr("class",'hotel_menu_active');
		$("#container_hotel_rooms").css("display", "block"); 
		$("#container_hotel_res").css("display", "none"); 
		
		
/*
	$.ajax({
	   type: "POST",
	   url: "/index.php",
	   data: "&a=ajax.hotel_info&m=map&HotelCode=" + hotel,
	   success: function(msg){
     //alert( "Data Saved: " + msg );
	 $("#container_hotel_info").html(msg);
   }
 	});
*/		
	}
	
	return false;
}

function showRes(){
	
	if(($("#hotel_menu_res").attr("class")!='hotel_menu_active')) {
	
		//$("#container_hotel_rooms").html('<img src="/img/progress.gif">');
	
		$("#hotel_menu_rooms").attr("class",'hotel_menu');
		$("#hotel_menu_res").attr("class",'hotel_menu_active');
		$("#container_hotel_res").css("display", "block"); 
		$("#container_hotel_rooms").css("display", "none"); 
		
		
/*
	$.ajax({
	   type: "POST",
	   url: "/index.php",
	   data: "&a=ajax.hotel_info&m=map&HotelCode=" + hotel,
	   success: function(msg){
     //alert( "Data Saved: " + msg );
	 $("#container_hotel_info").html(msg);
   }
 	});
*/		
	}
	
	return false;
}

function validate_search_form()
{
//form.ping_new_link.value
  var city = document.getElementById('target_name').value;
  var city_id = parseInt(document.getElementById('target_name_id').value);
  
  var _stype = 'city';
  if ( $('#r_stype_hotel').attr('checked') ) _stype = 'hotel';
  if (_stype=='city')
  {
    if (Validate() && city_id != 'NaN' && city_id>0)
    {
      document.forms["search_form"].submit();   
      return;
    }
  }
  else
  {
    if ( Validate() )
    {
      document.forms["search_form"].submit();   
      return;
    }    
  }
  
  if (city.length>=3)
	{
		old_target_name='';
		CheckSearchHotel(document.getElementById('target_name'));
	}
}

function unckeckStarsFilter(t){
	if(t=='0') {
	document.getElementById('s_any').checked = false;
	}
	if(t=='1') {
	document.getElementById('s_1').checked = false;
	document.getElementById('s_2').checked = false;
	document.getElementById('s_3').checked = false;
	document.getElementById('s_4').checked = false;
	document.getElementById('s_5').checked = false;
	}
}


/*-------------------------------------------------------------------------------------*/

function ShowMoreBrands()
{
  document.getElementById('chains_small').style.display = 'none';
  document.getElementById('chains_big').style.display = 'block';
  document.getElementById('chains_big_link').style.display = 'block';
}

/*-------------------------------------------------------------------------------------*/

function ShowFewerBrands()
{
  document.getElementById('chains_small').style.display = 'block';
  document.getElementById('chains_big').style.display = 'none';
  document.getElementById('chains_big_link').style.display = 'none';
}

/*-------------------------------------------------------------------------------------*/

function ShowMajorFeatures()
{
  document.getElementById('features_major').style.display = 'block';
  document.getElementById('features_all').style.display = 'none';
  document.getElementById('features_all_link').style.display = 'none';
}


/*-------------------------------------------------------------------------------------*/

function CheckMajorFeatures(all_cnt, major_cnt)
{
  var i=0,j=0;
  var _ = 0;
  var res = '';
  for (i=0; i<all_cnt; i++)
  {
    for (j=0; j<major_cnt; j++)
    {
      if (document.getElementById('feature'+i).value == document.getElementById('feature_m'+j).value)
      {
        document.getElementById('feature'+i).checked = document.getElementById('feature_m'+j).checked;
      }  
    }
    
    if (document.getElementById('feature'+i).checked)
    {
      if (_>0) res += '|';
      _++;
      res += document.getElementById('feature'+i).value;
    }
  }

  document.getElementById('f_features').value = res;
  RefreshSearchResults();  
}

/*-------------------------------------------------------------------------------------*/

function ShowAllFeatures()
{
  document.getElementById('features_major').style.display = 'none';
  document.getElementById('features_all').style.display = 'block';
  document.getElementById('features_all_link').style.display = 'block';
}

/*-------------------------------------------------------------------------------------*/

function CheckFeatures(all_cnt, major_cnt)
{
  var i=0,j=0;
  var _ = 0;
  var res = '';
  for (i=0; i<all_cnt; i++)
  {
    for (j=0; j<major_cnt; j++)
    {
      if (document.getElementById('feature'+i).value == document.getElementById('feature_m'+j).value)
      {
        document.getElementById('feature_m'+j).checked = document.getElementById('feature'+i).checked;
      }  
    }
    
    if (document.getElementById('feature'+i).checked)
    {
      if (_>0) res += '|';
      _++;
      res += document.getElementById('feature'+i).value;
    }
  }

  document.getElementById('f_features').value = res;
  RefreshSearchResults();  
}

/*-------------------------------------------------------------------------------------*/

function buildFilterReq(paging)
{
  if (paging != true) document.getElementById('f_page_index').value = '0';
  var res = '&form_search=1';
  res += '&target_checkin='+$('#f_target_checkin').val();
  res += '&target_checkout='+$('#f_target_checkout').val();
  res += '&target_name_id='+$('#f_target_name_id').val();
  res += '&target_hotelname_id='+$('#f_target_hotelname_id').val();
  res += '&target_rooms='+$('#f_target_rooms').val();
  res += '&target_adults='+$('#f_target_adults').val();
  res += '&page_index='+$('#f_page_index').val();
  res += '&sorting='+$('#f_sorting').val();
  //res += '&min_price='+(parseInt(document.getElementById("IdLeftPrice").innerHTML)-1);
  //res += '&max_price='+(parseInt(document.getElementById("IdRightPrice").innerHTML)+1); 
  res += '&min_price='+(parseInt(document.getElementById("IdLeftPrice").innerHTML));
  res += '&max_price='+(parseInt(document.getElementById("IdRightPrice").innerHTML)); 
  res += '&hotel_name='+encodeURIComponent($('#txt_hotelnamecontains').val());
  res += '&property='+$('#f_property').val();
  res += '&facility='+$('#f_features').val();
  res += '&chains='+$('#f_chains').val();
  res += '&chains_all='+(document.getElementById('chains_all').checked?'ok':'no');
  
  
  //stars
  res += '&filter_any='+(document.getElementById('filter_any').checked?'ok':'no');
  for (var i=1;i<=5;i++) res += '&filter_s'+i+'='+(document.getElementById('stars'+i).checked?i:'');
  
  
  return res;

}

/*-------------------------------------------------------------------------------------*/

function RefreshSearchResults()
{
  $('#load_dialog').dialog('open');
  
  //document.location.href = "/index.php?&a=search_preload&view_type="+view_type+buildFilterReq(false);
  
  $.ajax({
     type: "POST",
     url: "/index.php",
     data: "&a=ajax.search_preload&view_type="+view_type+"&rightonly=1"+buildFilterReq(false),
     success: function(msg){
      $("#right").html(msg)
      $('#load_dialog').dialog('close');
      scrollToTop();
     }
    });

}

/*-------------------------------------------------------------------------------------*/

function Pagination(p)
{
  document.getElementById('f_page_index').value = parseInt(p);
  $('#load_dialog').dialog('open');
  
  //document.location.href = "/index.php?&a=search_preload&view_type="+view_type+buildFilterReq(true);
  
  $.ajax({
     type: "POST",
     url: "/index.php",
     data: "&a=ajax.search_preload&view_type="+view_type+"&rightonly=1"+buildFilterReq(true),
     success: function(msg){
      $("#right").html(msg)
      $('#load_dialog').dialog('close');
      scrollToTop();
     }
    });
  return false;
}

/*-------------------------------------------------------------------------------------*/

function SortResults()
{
  document.getElementById('f_sorting').value = document.getElementById('dropdn').value;
  RefreshSearchResults();
}

/*-------------------------------------------------------------------------------------*/

function CheckProperty(cnt)
{
  var res = '';
  var _ = 0;
  for (var i=0;i<parseInt(cnt);i++)
  {
    if (document.getElementById('property'+i).checked)
    {
      if (_>0) res += '|';
      _++;
      res += document.getElementById('property'+i).value;
    }
  }

  document.getElementById('f_property').value = res;
  RefreshSearchResults();  
}

/*-------------------------------------------------------------------------------------*/

function CheckChainsAll(cnt)
{
  var more = document.getElementById('chains_big').style.display == 'block';
  var all = document.getElementById('chains_all').checked;
  var cnt_small = (cnt<10)?cnt:10;
  for (var i=0;i<cnt;i++)
  {
    if (all)
    {
      if (i<cnt_small) document.getElementById('chain'+i).checked = false;
      document.getElementById('chain_b'+i).checked = false;
    }
  }
  
  if (all)
  {
    document.getElementById('f_chains').value = '';    
    RefreshSearchResults();
  }
}

/*-------------------------------------------------------------------------------------*/

function CheckChainsB(cnt)
{
  var count_c = 0;
  var cnt_small = (cnt<10)?cnt:10;
  var res = '';
  var _ = 0;
  for (var i=0;i<cnt;i++)
  {
    for (var j=0;j<cnt_small;j++)
    {
      if (document.getElementById('chain_b'+i).value == document.getElementById('chain'+j).value)
      {
        document.getElementById('chain'+j).checked = document.getElementById('chain_b'+i).checked;
      }
    }  
    
    if (document.getElementById('chain_b'+i).checked)
    {
      if (_>0) res += '|';
      _++;
      res += document.getElementById('chain_b'+i).value;
    }    
  }
  if (document.getElementById('chains_all').checked) document.getElementById('chains_all').checked = false;
  document.getElementById('f_chains').value = res;    
  RefreshSearchResults();
}

/*-------------------------------------------------------------------------------------*/

function CheckChains(cnt)
{
  var count_c=0, _=0, i=0, j=0;
  var cnt_small = (cnt<10)?cnt:10;
  var res = '';
  for (i=0;i<cnt;i++)
  {
    for (j=0;j<cnt_small;j++)
    {
      if (document.getElementById('chain_b'+i).value == document.getElementById('chain'+j).value)
      {
        document.getElementById('chain_b'+i).checked = document.getElementById('chain'+j).checked;
      }
    }  
    
    if (document.getElementById('chain_b'+i).checked)
    {
      if (_>0) res += '|';
      _++;
      res += document.getElementById('chain_b'+i).value;
    }    
  }
  
  if (document.getElementById('chains_all').checked) document.getElementById('chains_all').checked = false;
  document.getElementById('f_chains').value = res;    
  RefreshSearchResults();
}

/*-------------------------------------------------------------------------------------*/

function CheckStarAny()  
{
  if (document.getElementById('filter_any').checked)
  {
    for (i=1;i<=5;i++) document.getElementById('stars'+i).checked = true;
  }
  
  RefreshSearchResults();
}

/*-------------------------------------------------------------------------------------*/

function CheckStar()
{
  var cnt=0, i=0;
  for (i=1;i<=5;i++)
  {
    if (document.getElementById('stars'+i).checked) cnt++;
  } 

  document.getElementById('filter_any').checked = (cnt==5);

  
  RefreshSearchResults();
}

/*-------------------------------------------------------------------------------------*/

function ResetAllFilters(chains_cnt, property_cnt, features_cnt, features_major_cnt, price_min, price_max, cur)
{
  var i=0;
  document.getElementById('f_page_index').value = '';
  document.getElementById('f_sorting').value = '';
  document.getElementById('IdLeftPrice').innerHTML = price_min+' <font color="#999999">Lt</font>';
  document.getElementById('IdSlider1').style.left = '0px';
  document.getElementById('IdRightPrice').innerHTML = price_max+' <font color="#999999">Lt</font>';
  document.getElementById('IdSlider2').style.left = '148px';  
  document.getElementById('IdSliderPad').style.left = '11px';
  document.getElementById('IdSliderPad').style.width = '137px';
  document.getElementById('txt_hotelnamecontains').value = '';
  document.getElementById('f_property').value = '0|1|2|3|4|5|6|7|8|9';
  document.getElementById('f_features').value = '';
  document.getElementById('f_chains').value = '';
  document.getElementById('chains_all').checked = true;
  document.getElementById('filter_any').checked = true;

  for (i=1;i<=5;i++) document.getElementById('stars'+i).checked = true;

  var ch_small = (chains_cnt<10)?chains_cnt:10;
  for (i=0;i<chains_cnt;i++)
  {
    if (i<ch_small) document.getElementById('chain'+i).checked = false;
    document.getElementById('chain_b'+i).checked = false;
  }  

  for (i=0;i<property_cnt;i++) document.getElementById('property'+i).checked = true;
  for (i=0;i<features_cnt;i++) document.getElementById('feature'+i).checked = false;
  for (i=0;i<features_major_cnt;i++) document.getElementById('feature_m'+i).checked = false;
  
  RefreshSearchResults(); 
}

/*-------------------------------------------------------------------------------------*/

function ShowMap()
{
  //$('#mapBtn').hide();
  //$('#mapCloseBtn').show();
  $('#right').css('height', '800px');
  
  view_type = 'map';
  $('#load_dialog').dialog('open');
  $.ajax({
     type: "POST",
     url: "/index.php",
     data: "&a=ajax.search_preload&view_type="+view_type+"&rightonly=1"+buildFilterReq(true),
     success: function(msg){
      $("#right").html(msg)
      $('#load_dialog').dialog('close');
      scrollToTop();
     }
    });
}

/*-------------------------------------------------------------------------------------*/

function ShowList()
{
  //$('#mapBtn').show();
  //$('#mapCloseBtn').hide();
  $('#right').css('height', '3140px');
  /*$('#left_price_filter').html($('#top_price_filter').html());
  $('#top_price_filter').html('');*/
  
  view_type = 'list';
  $('#load_dialog').dialog('open');
  $.ajax({
     type: "POST",
     url: "/index.php",
     data: "&a=ajax.search_preload&view_type="+view_type+"&rightonly=1"+buildFilterReq(true),
     success: function(msg){
      $("#right").html(msg)
      $('#load_dialog').dialog('close');
      scrollToTop();
     }
    });
}

/*-------------------------------------------------------------------------------------*/

function scrollToTop()
{
  $('html, body').animate({scrollTop:'0px'}, 'slow');
}

/*-------------------------------------------------------------------------------------*/

function CheckSearchHotel(event)
{
  if (event.keyCode=='27')
  {
    $("#loader").css("visibility", "hidden");
    remoreAuto();
    return;
  }
  globalElem = document.getElementById('target_name');
  if(window.mytimeout) window.clearTimeout(window.mytimeout);
  //window.mytimeout = window.setTimeout(function(){showList(globalElem,'join')}, 100);
  showList(globalElem,'join');
  return true;
}

/*-------------------------------------------------------------------------------------*/

function _setCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}

/*-------------------------------------------------------------------------------------*/

function hideKelionesBanner()
{
	var _d = new Date();
	var _date = new Date(_d.getTime() + 3600*24*1000 );
	_setCookie('keliones_banner', 'ok', _date.toGMTString(), '/');
	$('#keliones-banner').hide();
}

/*-------------------------------------------------------------------------------------*/

function changeSearchType(t)
{
  if (old_stype == t) return;
  if (t=='city')
  {
    $('#div_stars_label, #div_stars_select').show();
    $('#div_search_btn').removeClass('without-stars');
  }
  else
  {
    $('#div_stars_label, #div_stars_select').hide();
    $('#div_search_btn').addClass('without-stars');
  }
  
  old_stype = t;  
  
  remoreAuto();
  $("#loader").css("visibility", "hidden");  
  
  $('#hdn_stype').val(t);
  $('#target_name').val('');
  $('#target_name_id').val('');
  
  $('#target_name').focus();
}

/*-------------------------------------------------------------------------------------*/







