$(document).ready(function() {
      
	if ($('#destinationString').val())
  {
		loadLandmarkSelect();
  }  
  if($('#_adv_destinationString').val())
    {
      advloadLandmarkSelect();
    }

	var options = {
		script : "/search/searchcity?",
		varname : "q",
		json : true,
		callback : function(obj) {
			$('#destinationId').val(obj.id);
			$('#_mid_destinationId').val(obj.id);
			$('#_rate_destinationId').val(obj.id);
			$('#_small_destinationId').val(obj.id);
			$('#_adv_destinationId').val(obj.id);
		loadLandmarkSelect();
    if($('#_adv_destinationString').val())
       {
         advloadLandmarkSelect();
       }

	},
	autoFill : true,
	minChars : 3
	}
	// $("#city").autocomplete('/search/searchcity', options);
	var getDestination = new AutoSuggest('destinationString', options);
	var getDestination1 = new AutoSuggest('_mid_destinationString', options);
	var getDestination1 = new AutoSuggest('_adv_destinationString', options);
		/*
		 * $("#city").autocomplete('/search/searchcity', { matchContains: true,
		 * autoFill: true, selectFirst: true, cacheLength: 1, cityCode:
		 * "citycode", minChars: 3, parse: function(data) { return
		 * $.map(eval(data), function(row) { return { data: row, value:
		 * row.city, result: row.city } }); }, formatItem: function(item) {
		 * return item; } });
		 */
  $('body').click(function(event) {

      if(!$(event.target).is('#hover_results'))
        $('#hover_results').hide();
     // if(!$(event.target).is('#indicator_results'))
       // $('#indicator_results').hide();

    });

  $("span.hoverclass").click(
      function () {

        left_Val= $(this).offset().left;
        top_Val= $(this).offset().top;
        top_Val = top_Val-25;
		el_width = $(this).outerWidth(true);
		left_Val = (left_Val)+(el_width);

        $('#hover_results').hide();
        //$('#hover_results').css({left:left_Val,top:top_Val}).show();
        $('#indicator_results').css({left:left_Val,top:top_Val+25}).show();
        $('#hover_results').load($('#hoverhotels').attr('action'), {
          city : $("#cityName1").val(),
          state : $("#stateName1").val(),
          country : $("#countryName1").val(),
          destinationId: $("#destinationId1").val(),
          perform: 1
          }, function() {
          $('#indicator_results').hide();
          $('#hover_results').css({left:left_Val,top:top_Val}).show();//.fadeOut(10000);
        });
        //$(this).append($("<span>"+value+"</span>"));
        }, 
      function() {
        //$("<div class='pin' style='top: " + y + "px; left: " + x  + "px';>"+$("#hover_results").text()+"</div>").insertAfter(this); 
      });

  $("span.hovercountry").click(
      function () {

        left_Val= $(this).offset().left;
        top_Val= $(this).offset().top;
        top_Val = top_Val-25;
		el_width = $(this).outerWidth(true);
		left_Val = (left_Val)+(el_width);

        $('#hover_results').hide();
        //$('#hover_results').css({left:left_Val,top:top_Val}).show();
        $('#indicator_results').css({left:left_Val,top:top_Val+25}).show();
        $('#hover_results').load($('#hovercountryform').attr('action'), {
          country : $("#countrypath").val()
          }, function() {
          $('#indicator_results').hide();
          $('#hover_results').css({left:left_Val,top:top_Val}).show();//.fadeOut(10000);
        });
        //$(this).append($("<span>"+value+"</span>"));
        },
      function() {
        //$("<div class='pin' style='top: " + y + "px; left: " + x  + "px';>"+$("#hover_results").text()+"</div>").insertAfter(this);
      });


	});

function submitSearchForm(obj)
{
  var f = $(obj).closest('form');
  var ds = $(f).find("input[name=destinationString]");
  var di = $(f).find("input[name=destinationId]");
  if(!$(ds).val() && !$(di).val()) 
  {
    $(ds).val($(f).find('.defaultDestinationString').html());
    $(di).val($(f).find('.defaultDestinationId').html());
  }
  //  alert( $(f).("input[name=arrivalDate]").val() );
  $(f).submit();

}

function loadRoomDescription(hotelId) {
	var urlToCall = 'hotel/roomdetail?ratepage=1&' + hotelId;
	$('#hoteldetailcontent').load(urlToCall);
}

function loadLandmarkSelect() {
	var last_landmark = encodeURIComponent($('#last_landmark').val());
	var landmark = encodeURIComponent($('#destinationString').val());
  $('#landmark_select').removeClass('jqtransformdone')
	$('#landmark_select').load('/search/populateLandmark', {
		ds : landmark,
		ll : last_landmark
	}, function() {
        $("#landmark_select").jqTransform();
   if(module!="page")
   {
		$("#landmark_select").jqTransform();
   }
   else
   {
    module='';
	
	
	
   } 
	});
	var mylist = $('#landmark_select div ul');
var listitems = mylist.children('li').get();
listitems.sort(function(a, b) {
   var compA = $(a).text().toUpperCase();
   var compB = $(b).text().toUpperCase();
   return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
})
$.each(listitems, function(idx, itm) { mylist.append(itm); });


$('#landmark_select div ul').hide();

}

function advloadLandmarkSelect() {
  //alert('hii');
  //alert($('#_adv_destinationString').val());
  var last_landmark = encodeURIComponent($('#_adv_last_landmark').val());
  var landmark = encodeURIComponent($('#_adv_destinationString').val());
  $('#_adv_landmark_select').removeClass('jqtransformdone')
  $('#_adv_landmark_select').load('/search/populateLandmark', {
    ds : landmark,
    ll : last_landmark
  }, function() {
   if(module!="page")
    $("#_adv_landmark_select").jqTransform();
  });
}

function sortSearchResults(obj) {
	$("#indicator").show();
  addshadow();      
	$('#hotel_list').load($("#sort_method").parents('form').attr('action'), {
		sortby : $(obj).val(),
		total_results : $('#total_results').val(),
		search_id : $('#sid').val()
	}, function() {
     if(countMap)             
        initialize();
		$("#indicator").hide();
    $("#shadow").css('display','none');
		$("#sort_method_div").jqTransform();
	});
}

function trim(str) {
    a = str.replace(/^\s+/, '');
    return a.replace(/\s+$/, '');
}

function addRoomElements(a)
{
	//alert($(a).parent().attr('class'));
	//$(a).parents.('.room-elements').children('.room-tracker').attr('class');
	//var c = this.parentNode.parentNode.parentNode.nextSibling.nextSibling; //children-age-elements
	//var l = c.childNodes[1].cloneNode(true);
}

/*function addRooms(FI) {
	if(FI == undefined) FI ='';
	//alert('not working');
	//jQuery(this).prev("li").attr("id",newId);
	//var e = $('#'+parent_id).children('Room').value();//"Room").val());
	//alert(e);
	
	//return false;
	var room = $('#'+FI+'Room').val();
	var adults_num = 8;
	var childs_num = 8;
	var adults_option = '';
	var child_options = '';
	var ages_options = '';
	var i = 0;
	for (i = 1; i <= adults_num; i++) {
		adults_option = adults_option + makeOptionsString(i);
	}
	for (i = 0; i <= childs_num; i++) {
		child_options = child_options + makeOptionsString(i);
	}
	
	var FI2 ;
	if(FI=='') FI2 = undefined;
	else FI2 = FI ;
	var room = parseInt(room) + 1;
	adults_option1 = 'Adults:<select id="'+FI+'numberOfAdults' + room
			+ '" name="'+FI+'numberOfAdults[]">' + adults_option + '</select>';
	child_options1 = "Childs:<select id='"+FI+"numberOfChildren" + room
			+ "' name='"+FI+"numberOfChildren[]' ONCHANGE=\"addChildAges(\'"+FI+"\',this,"
			+ room + ");\" >" + child_options + "</select>    <span id='"+FI+"ageDiv"
			+ room + "'> </span>";
	var removeLink = "<a href='#' onClick='removeRoom(\""+FI+"\"); return false;'>Remove</a>";
	$('#'+FI+'Room').val(parseInt(room));
	$("#"+FI+"roomelements").append(
			"<div id =\""+FI+"roomDynamicElements" + room + "\" >" + adults_option1
					+ child_options1 + removeLink + "</div>");

}*/
function removeRoom(FI) {
	if(FI == undefined) FI ='';
	var id = $('#'+FI+'Room').val();
	$("#"+FI+"roomDynamicElements" + id).remove();
	$('#'+FI+'Room').val(parseInt(id) - 1);
}
function makeOptionsString(i) {
	var a = '<option value="' + i + '">' + i + '</option>';
	return a;
}

function addChildAges( FI, obj, room) {
	if(FI == undefined || FI =='undefined') FI ='';
	var num = obj.value;
	var i = 1;
	var childs_age_num = 17;
	var ages_options = '';
	var ages_options1 = '';
	for (j = 1; j <= num; j++) {
		var ages_options = ''
		for (i = 1; i <= childs_age_num; i++) {
			ages_options = ages_options + makeOptionsString(i);
		}
		ages_options1 = ages_options1 + "Age<select id='"+FI+"childAges" + room
				+ "' name='"+FI+"childAges" + room + "[]'>" + ages_options
				+ "</select>";
	}
	$("#"+FI+"ageDiv" + room).html(ages_options1);
}

function toggleSearch(div)
{
//	$("#"+div).toggle($("#"+div).css('display')=='none');
  
  $("#"+div).toggle();
  if(div=="full_search"||div=='search-options')
  { 
    $('.bigformadd').removeClass('jqtransformdone');
    $('.bigformadd').addClass('jqtransform');
    $(".bigformadd").jqTransform();
	
	// this is for the show/hide toggle and the chaning of the arrow 
	if(div=='search-options') {
		if($('a.search-options span').hasClass('active')) { 
			$('a.search-options span').toggleClass('active');
			$('a.search-options span').text('Hide');
			$('a.search-options').toggleClass('arr-right');
			$('a.search-options').toggleClass('arr-down');		
		} else {
			$('a.search-options span').toggleClass('active');
			$('a.search-options span').text('Show');
			$('a.search-options').toggleClass('arr-right');
			$('a.search-options').toggleClass('arr-down');	
		}
	}
	
  }  

}

function search_paging(search_id, page, total_results) {
 $("#indicator").show();
	$(".search_links").css("color", "black");

	$("#page" + page).css("color", "blue");
  addshadow();
  $.scrollTo( '#ajaxsearchdiv', 500 );
  $('#hotel_list').load('/search/sort', {
		sortby : $('#sort_method').val(),
		search_id : search_id,
		page : page,
		total_results : total_results
	}, function() {
		$("#indicator").hide();
		$("#sort_method_div").jqTransform();
    $("#shadow").css('display','none');
     if(countMap)             
        initialize();
	});
}
function addshadow()
{
  var divtop=$("#searchdiv").offset();
  var width=$("#searchdiv").width();
  var height= $("#searchdiv").height();
  
  //window.scrollTo(0,divtop.top-30);      
  $("#shadow").css({'width':width,'height':height,'top':divtop.top,'left':divtop.left+20,'display':'block'});
  $("#indicator").css({'left':divtop.left+20});
}

function changeSearchDestination(FI,name,id)
{
	if(FI == undefined) FI ='';
	$("#"+FI+"destinationString").val(name);
	$("#"+FI+"destinationId").val(id);
  $("#destinationId1").val(id);
 
  if(document.getElementById("hoverhotels")) setcitystatecountry(name);

}

function setcitystatecountry(name)
{
 // alert(name);
  var required_string = name.split(',');
  $("#cityName1").val(required_string[0]);
  $("#stateName1").val(required_string[1]);  
  $("#countryName1").val(required_string[2]);
  $("#mid_search_city").html(required_string[0]);
  $("#top_city_list ul li a").removeClass('city_active');
  $("#more_city_list ul li a").removeClass('city_active');
 // alert(required_string[0]+"_li");
  $("#"+required_string[0]+"_anchor").addClass('city_active');

}

function refine_search()
{
  //if($("#propertyType").val()=='' && $("#gDSChainCode").val()=='')
    //$("#landmark").val('');

  //'$("#propertyType").val('');
  //$("#gDSChainCode").val('');
  $("#search-options").submit();
}

