/**
 * @author shibaon/alex
 */

/*
 * Lang Select
 */



function LoadSelectLangController(selectlangid)
{
	var selectlangId = selectlangid;
	$("#" + selectlangid).click(function() {
		if ($("#" + selectlangid + " > .langs").css("display") == "none")
			$("#" + selectlangid + " > .langs").css("display", "block") 
		else
			$("#" + selectlangid + " > .langs").css("display", "none");
	});
	
	
	$("#" + selectlangid + " > .langs > .current").click(function() {
		$("#" + selectlangId + " > .current").attr("class", "current");
		$("#" + selectlangId + " > .current").addClass($(this).attr("name"));
	});
	
}


/*
 * Menu
 */
var menuId;

function LoadMenuController(menuid)
{
	menuId = menuid;
	$("#" + menuId + " > ul > li").hover(
		function() {liHover(this)},
		function ()	{liLive(this)});
}

function liHover(obj)
{
	if (!$(obj).hasClass("active"))	{
		$("#" + menuId + " > ul > li.active").addClass("hide");
		$(obj).addClass("hover");
	}
}

function liLive(obj)
{
	if (!$(obj).hasClass("active"))	{
		$("#" + menuId + " > ul > li.active").removeClass("hide");
		$(obj).removeClass("hover");
	}
}

/*
 * Header banner
 */
function LoadHeaderBannerController(controllerid)
{
	var controllerId = controllerid;
	$("#" + controllerId + " > .discover > .close").click(function() {$("#" + controllerId).slideUp();return false;});
}


/* Tabbed panel */
function LoadTabbedPanelController(panelid)
{
	$("#" + panelid + " .tab").css("display", "none");
	$("#" + panelid + " .tab:first").css("display", "block");
	$("#" + panelid + " > .tabs a").click(function() {
		$("#" + panelid + " > .tabs li").removeClass("active");
		$(this).parent().addClass("active");
		$("#" + panelid + " .tab").css("display", "none");
		$("#" + panelid + " .tab[title='" + $(this).html() + "']").css("display", "block");
		return false;
	});
}

/* availibility calendar link */
function ChangeTab(panelid,tab)
{
		$("#" + panelid + " > .tabs li").removeClass("active");
		$("#" + panelid + " > .tabs li#" + tab).addClass("active");
		
		$("#" + panelid + " .tab").css("display", "none");
		$("#panel_"+tab).css("display", "block");
		return false;

}


/* Photos view */
function LoadPhotosViewController(viewid)
{
	$("#" + viewid + " .arrow").click(function() {
		var next = $("#" + viewid + " .photos .current").next();
		var prev = $("#" + viewid + " .photos .current").prev();
		
		if ($(this).hasClass("leftArrow"))
		{
			if (prev.is("a")) 
			{
				$("#" + viewid + " .photos a").removeClass("current");
				
				$("#" + viewid + " .mainPhoto").attr("src", prev.children("img").attr("src").replace("/s/", "/b/"));
				id = prev.children("img").attr("id");
				label = $("#" + viewid + " #label" + id).text();
				description = $("#" + viewid + " #description" + id).text();
				$("#" + viewid + " .mainLabel").text(label);
				$("#" + viewid + " .description").text(description);
				
				prev.addClass("current");
			}
		}
		else 
		{
			if (next.is("a")) 
			{
				$("#" + viewid + " .photos a").removeClass("current");
				
				$("#" + viewid + " .mainPhoto").attr("src", next.children("img").attr("src").replace("/s/", "/b/"));
				
				id = next.children("img").attr("id");
				label = $("#" + viewid + " #label" + id).text();
				description = $("#" + viewid + " #description" + id).text();
				$("#" + viewid + " .mainLabel").text(label);
				$("#" + viewid + " .description").text(description);
				
				next.addClass("current");
			}
		}
		
		return false;
	});
	$("#" + viewid + " .photos a").click(function() {
		$("#" + viewid + " .photos a").removeClass("current");
		$("#" + viewid + " .mainPhoto").attr("src", $(this).children("img").attr("src").replace("/s/", "/b/"));
		id = $(this).children("img").attr("id");
		label = $("#" + viewid + " #label" + id).text();
		description = $("#" + viewid + " #description" + id).text();
		$("#" + viewid + " .mainLabel").text(label);
		$("#" + viewid + " .description").text(description);
		$(this).addClass("current");
		
		return false;
	});
}




// clears cities select
$.fn.clearSelect = function() {
	  return this.each(function(){
		  if(this.tagName=='SELECT') {
		      this.options.length = 0;
		      $(this).attr('disabled','disabled');
		  }
	  });
}



// fills cities select
$.fn.fillSelect = function(dataArray) {
		return this.clearSelect().each(function(){
			if(this.tagName=='SELECT') {
				
			  var currentSelect = this;
			  var option = new Option("----------","");
				  if($.support.cssFloat) {
					  currentSelect.add(option,null);
				  } else {
					  currentSelect.add(option);
				  }
				  
			  $.each(dataArray,function(index,data){
				  var option = new Option(data.name,data.id);
				  if($.support.cssFloat) {
					  currentSelect.add(option,null);
				  } else {
					  currentSelect.add(option);
				  }
			  });
			  if(this.options.length == 1){
			  	$(this).attr('disabled','disabled');
			  };
			  
				
		  }
	  });
}

// refills cities when country is changed
function onCountryChange(){
    
	var selected = $("#id_country option:selected");    
    if(selected.val() != 0){
        var countryValue = selected.val();
        var countryName = selected.text();
    }
    
    if(selected.val().length == 0) {
  		$('#id_city').attr('disabled','disabled');
  		$('#id_city').clearSelect();
  	} else {
  		$.getJSON('/get_cities_ajax/',{country_name:countryName},function(data) { $('#id_city').fillSelect(data).attr('disabled','').selectDefault(); });
  	}
  	
}


//refills cities when country is changed in detailed form
function onSearchCountryChange(){
    
	var selected = $("#id_search_country option:selected");    
    if(selected.val() != 0){
        var countryValue = selected.val();
        var countryName = selected.text();
    }
    
    if(selected.val().length == 0) {
  		$('#id_detailed_search_city').attr('disabled','disabled');
  		$('#id_detailed_search_city').clearSelect();
  	} else {
  		$.getJSON('/get_cities_ajax/',{country_name:countryName},function(data) { $('#id_detailed_search_city').fillSelect(data).attr('disabled','').selectDefault(); });
  	}
  	
}