// JavaScript Document

// Variables globales
var stopResizeLoop = false;
var barOuterWidth;


// Funciones globales
jQuery.fn.sFadeOut = function() {
	// Metodo fadeOut simultaneo
	return this.animate({opacity: 0.0}, {queue: false});
};
jQuery.fn.sFadeIn = function() {
	// Metodo fadeIn simultaneo
	return this.animate({opacity: 1.0}, {queue: false});
};

//
function iframe_height() {
  // IE8 precisa añadir 8 píxeles de altura
  if(jQuery.browser.msie && jQuery.browser.version>=8)
    margen = 8;
  else
    margen= 0;

	f = document.getElementById("facebox_iframe");
	if(f.style.height != f.contentWindow.document.body.scrollHeight + margen +"px") {
		f.style.height = f.contentWindow.document.body.scrollHeight + margen + "px";
		if(false && ie6) { //desactivado
			document.body.style.height = "100%";
			document.body.style.height = "auto";
		}
	}
}

function start_iframe() {
	return false;
	//return setInterval("iframe_height()", 500);
}

function ficha_resize(tabs_content) {
    enlaces_height = $(".enlaces-content").css("display")!="none" ? $(".enlaces-content").outerHeight() : 0;
    tabs_content.height("auto");
    tabs_content.height(
    tabs_content.parent().parent().parent().height() - 
    tabs_content.parent().parent().parent().find(".centro").height() - enlaces_height - 80);
}

function closeSelpais() {
	$(".select .selectcapa").unbind();
	$(".select .selectcapa").hide();
	clearTimeout(t3);
}

// Devuelve la posición vertical de un objeto con respecto a la página
function findTop(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		do {curtop += obj.offsetTop;} 
		while (obj = obj.offsetParent);
		return curtop;
	}
}

// Devuelve el desplazamiento vertical de la página
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

// Mueve el mapa
function moveMap() {
  if($("#mapcontainer").length && !$("#fijarmapa:checked").length) {
    mapa_height = $("#mapcontainer").height();
    recorrido = Math.max($(".map-ampliado .colleft").height(), $(".map-ampliado .colright").height());
    tope = recorrido - mapa_height-30;
    offset = getScrollXY()[1] - findTop($(".colright")[0]) + 10;
    nuevoTope = Math.min(Math.max(offset, 0),tope);
    $("#mapcontainer").animate({"top": nuevoTope}, 200);
  }
}


$(document).ready(function() {
   $(".js_hide").hide();
	$(".hidden").css("display", "none");

   /* Activacion de facebox*/
  if($('a[rel*=facebox]').facebox)
  	$('a[rel*=facebox]').facebox();
  var contenidos = $(".tabs-content");
  for(i=0; i<contenidos.length ; i++) {
    ficha_resize($(contenidos[i]));
    if($.browser.msie && $.browser.version <= 6) {
		 $(".contficha .ficha").css("height","100%");
		 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("min-height","138px");
		 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("height","auto");
		 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("height","138px");
	 }
  }

    if($.browser.msie && $.browser.version < 8) {
      $(".ficha.resaltado .enlaces-content").css("margin-top", "12px")
	 }
	 if($.browser.msie && $.browser.version < 7) {
      $(".ficha.resaltado .enlaces-content").css("margin-top", "5px")
	 }
	 $(".tabs a").click(function(e) {
     if(!$(this).hasClass("notab")) {
       e.preventDefault();
       $(this).parent().parent().parent().css("height", "100%")
       $(this).parent().parent().parent().css("height", "auto")
       // Tabs
       $(this).parent().parent().children().removeClass("activo");
       $(this).parent().addClass("activo");
    
       // Contenido
       var target = $(this).attr("href");
       $(target).parent().children("div").hide();
       $(target).show();
       $(target).parent().show();
		 $(".contficha .ficha").css("height","100%");
		 $(".contficha .ficha").css("height","auto");

       // Redimensionado del contenedor
       if($(target).parent().hasClass("resizable")) {
         ficha_resize($(target).parent());
			 if($.browser.msie && $.browser.version <= 6) {
				 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("min-height","138px");
				 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("height","auto");
				 $(".contficha .ficha .cont-text .ficha .resultado .tabs-content").css("height","138px");
			 }
			
  		 }

       // Mover el mapa (si lo hay)
       moveMap();
		}
	 });
    // Cerrar contenido de enlaces abajo
    $(".enlaces-content-cerrar").click(function(e) {
      e.preventDefault();
      $(this).parent().hide();
      $(this).parent().prev().prev().find("li").removeClass("activo");
      moveMap();
    });

	/* Select ie */
	if ($.browser.msie && jQuery.browser.version <= "6.0") {
		$("#search-02 select").before("<div class='selectie'></div>"); 
		$(".selectie").hide();		
	}
	//Capa de Login y registro
	$(".a-login").click(function(e) {
		e.preventDefault();	
		if($(".layer-login").css('display') == 'none' ) {
			$(".layer-login").css('display', 'block');
		} else {
			$(".layer-login").css('display', 'none');
		}
		$(".layer-login").bind("mouseleave",function(){
			$(".layer-login").css('display', 'none');
		})
	});

	//Capa de ciudad del tiempo
	$(".weather-zona").click(function(e) {
		e.preventDefault();	
		if($(".layer-weather").css('display') == 'none' ) {
			$(".layer-weather").css('display', 'block');
		} else {
			$(".layer-weather").css('display', 'none');
		}
		$(".layer-weather").bind("mouseleave",function(){
			$(".layer-weather").css('display', 'none');
		})
	});

	//Capa de ciudad del has buscado... 
	$(".dondeestas .arrow-down-01").click(function(e) {
		e.preventDefault();	
		if($(".layer-area-buscado").css('display') == 'none' ) {
			$(".layer-area-buscado").css('display', 'block');
		} else {
			$(".layer-area-buscado").css('display', 'none');
		}
		$(".layer-area-buscado").bind("mouseleave",function(){
			$(".layer-area-buscado").css('display', 'none');
		})
	});
	
	//Capa de ciudad del mapa
	$(".area-map").click(function(e) {
		e.preventDefault();	
		if($(".layer-area-map").css('display') == 'none' ) {
			$(".layer-area-map").css('display', 'block');
		} else {
			$(".layer-area-map").css('display', 'none');
		}
		$(".layer-area-map").bind("mouseleave",function(){
			$(".layer-area-map").css('display', 'none');
		})
	});
	
	//Buscada Avanzada y sencilla
	$("#search-02").hide()
	$("#search-01 .arrow-down-01").click(function(e) {
		e.preventDefault();
		$("#search-01").sFadeOut().slideUp();
		$("#search-02").sFadeIn().slideDown();
	});
	$("#search-02 .arrow-up-01").click(function(e) {
		e.preventDefault();
		$("#search-01").sFadeIn().slideDown();
		$("#search-02").sFadeOut().slideUp();
	});
	
	//Ocultar Buscador
	$(".a-nav-mostrar").hide()
	$(".a-nav-ocultar").click(function(e) {
		e.preventDefault();
		$("#search-box").sFadeOut().slideUp();
		$(".a-nav-mostrar").show()
		$(this).hide()
		//$("#search-01").sFadeOut().slideUp();
		//$("#search-02").sFadeIn().slideDown();
	});
	$(".a-nav-mostrar").click(function(e) {
		e.preventDefault();
		$("#search-box").sFadeIn().slideDown();
		$(".a-nav-ocultar").show()
		$(this).hide()
	});
	if ($("#search-box").hasClass("plegado")) {
		$("#search-box").hide()
		$(".a-nav-mostrar").show()
		$(".a-nav-ocultar").hide()
	}	

	//iphone
	$("#flashmobile #flashmobile-01").click(function(e) {
		$("#flashmobile").css('z-index', 100000);
		$("#flashmobile #flashmobile-02").css('display', 'block');
		if ($.browser.msie && jQuery.browser.version <= "6.0") {
			$(".selectie").show();
			$("#search-02 select").hide();		
		}
	})
	$("#flashmobile #flashmobile-02").bind("mouseleave",function(){
		$("#flashmobile #flashmobile-02").css('display', 'none');
		$("#flashmobile").css('z-index', 10);
		if ($.browser.msie && jQuery.browser.version <= "6.0") {
			$(".selectie").hide();
			$("#search-02 select").show();		
		}
	})
	
	//Tu anuncio gratis
	$(".yourads-es a").click(function(e) {
		e.preventDefault();
		$(".yourads-es .layer-yourads").css('display', 'block');
		if ($.browser.msie && jQuery.browser.version <= "6.0") {
			$(".selectie").show();
			$("#search-02 select").hide();		
		}
	})
	$(".yourads-es .layer-yourads").bind("mouseleave",function(){
		$(this).css('display', 'none');
		if ($.browser.msie && jQuery.browser.version <= "6.0") {
			$(".selectie").hide();
			$("#search-02 select").show();		
		}
	})
	
	// Select de javascript
	$(".select .select-text").click(function(e) {
		e.preventDefault();
		$(this).blur();
		$(this).parent().children('.selectcapa').show();
		$(this).parent().bind("mouseleave",
			function(event){
				t3=setTimeout("closeSelpais()",200);
			}
		).bind("mouseenter",
			function(event){
				clearTimeout(t4);
			}
		)
	});
	$(".select .selectcapa li a").click(function(e) {
		e.preventDefault();
		$(this).parents('.select').children('.select-text').text($(this).text());
		closeSelpais();
	});
	
	/* Ocultar filtros */	
	$(".a-desplegar").hide();
	$(".a-plegar").click(function(e) {
		e.preventDefault();
		$(".filtros").css('display', 'none');
		$(".a-plegar").hide();
		$(".a-desplegar").show();
	});
	
	$(".a-desplegar").click(function(e) {
		e.preventDefault();
		$(".filtros").css('display', 'block');
		$(".a-plegar").show();
		$(".a-desplegar").hide();
	});
	
	/* Cerrar capa de has buscado... */
	$(".mod-buscado .a-cerrar").click(function(e) {
		e.preventDefault();
		$(this).parent().hide();
	});
	// Actualización altura iframe popup
	var iInterval = start_iframe();
	
	/* Mapa scroll*/
  var mapa_timeout;
  if($("#mapcontainer").length) {
    $(window).scroll(function() {
      clearTimeout(mapa_timeout);
      mapa_timeout = setTimeout("moveMap();", 300);
    });
  }

  // Calendario capa reserva
  $("a.calendario").click(function(e) {
    e.preventDefault();
    $("iframe.calendario").show();
  });
  $("iframe.calendario").mouseleave(function() {
    $(this).hide();
  });
  
  	$(".direccion .ul01 a").click(function(e) {
		e.preventDefault();
		$(this).parent().parent().parent().parent().hide();
		$(this).parent().parent().parent().parent().next().show();
	});

  	$(".capainfo .a-volver").click(function(e) {
		e.preventDefault();
		$(this).parent().prev().show();
		$(this).parent().hide();
	});
	
	/* Comentarios ficha */
	$(".users-coment .user .comenta").hide();
	$(".users-coment .user .col2 .a-contesta").click(function(e) {
		e.preventDefault();
		$(this).parent().next().show();
	});
	$(".users-coment .user .col2 .a-cancelar").click(function(e) {
		e.preventDefault();
		$(this).parent().parent().hide();
	});
	
	$(".users-coment .user .col2 .a-ocultar").click(function(e) {
		e.preventDefault();
		$(this).hide();
		$(this).next().show();
		$(this).parent().next().next().hide();
	});
	
	$(".users-coment .user .col2 .a-mostrar").click(function(e) {
		e.preventDefault();
		$(this).hide();
		$(this).prev().show();
		$(this).parent().next().next().show();
	});
	var texto;
	$(".ul-estrellas li").mouseenter(function(e) {
		var texto = $(this).children().attr("title");
		$(".star-layer").text(texto);
	 	$(this).add($(this).prevAll()).removeClass("votando-vac").addClass("votando-ent");
	 	$(this).nextAll().removeClass("votando-ent").addClass("votando-vac");
   })
	$(".ul-estrellas").mouseleave(function(e) {
		$(".star-layer").text("");											  
   	$(this).children().removeClass("votando-ent").removeClass("votando-vac");
	}); 

	// Callejero
	$(window).resize(function() {

		windowWidth = $(window).width();
		windowHeight = $(window).height();
		contentWidth = $("#content").width();
		contentHeight = $("#content").height();

		// Ocultar la navegacion priincipal si no cabe
		var hideAt;//alert(parent.g_sMode);
		if(parent.g_sMode=='k')
			hideAt=1095;
		/*else if(parent.g_sMode=='l')
		{	hideAt=1035;}*/
		else
			hideAt=1020;
		//alert(parent.g_sMode);
		if(windowWidth < hideAt) {
			$("#header-inner .caja-derecha").hide();
		} else {
			$("#header-inner .caja-derecha").show();
		}

		barOuterWidth = $("#bar").outerWidth(true);

		$("#main").css({
			height: contentHeight - $("#header-inner").outerHeight(true) - $("#footer").outerHeight(true) - 8,
			width: contentWidth - barOuterWidth - 10
		});

		$("#map-container").css("height", $("#main").height() - $("#ticker").outerHeight(true) - 4);

		barHeight = $("#map-container").height();

		$("#bar .resultados").css("height", barHeight - 239);

		if(stopResizeLoop)
			stopResizeLoop = false;
		else {
			stopResizeLoop = true
			setTimeout("$(window).trigger('resize');", 200)
		}

	});

	$(window).trigger("resize");

	$("#collapse").click(function() {
		contentWidth = $("#content").width();
		$(this).toggleClass("collapsed");
		if($(this).hasClass("collapsed")) {
			$("#main").animate({width: contentWidth - 15}, 200);
		} else {
			$("#main").animate({width: contentWidth - barOuterWidth - 10}, 200);
		}
	});

	$("a.seccion").click(function(e) {
		e.preventDefault();
		$(this)
			.addClass("current")
			.toggleClass("expanded")
			.next()
				.toggle(200)
				.end()
			.parent()
				.find("a.seccion")
					.not(".current")
						.removeClass("expanded")
						.next()
							.hide(200)
							.end()
						.end()
					.end()
				.end()
			.removeClass("current")

		$(window).trigger("resize");
	});

	// Callejero ayudanos
	$("#enviar-comentario").click(function(e) {
		$(".mod-ayudanos .formulario").hide().prev().show();
	});

});

