var tab_resumen, tab_fotos, tab_video;
var cargando = 0;
var mostrar_tabs = [];
var timeout_buscador;
var http='http://geocriticas.o2w.es/'; // poner variable o mejorar para que ponga la ruta de imagenes
var scroll_eventos_pestana;
$(document).ready(function (){
	cargar_geopuntos();

    $("#close").click(function() {
		$("#cabecera-eventos").slideUp("fast", function(){
			$("#apartado-cabecera-eventos").slideUp("fast");
		});
    });

 /*   $("#toggle").click(function(){
    	var img=document.getElementById('toggle');
    	if(img.src==http+"img/down.png") {
			$("#cabecera-eventos").slideDown("slow", function() {
				//img.src="img/up.png";
				$(".imagen-flecha-abajo").html('<img src="up.png" alt="abrir" />');
				//img.alt="up";
			});
     	} else { // si la flecha no es abajo, sera arriba ;)
			$("#cabecera-eventos").slideUp("fast", function(){
				//img.src="img/down.png";
				$(".imagen-flecha-abajo").html('<img src="down.png" alt="cerrar" />');
				//img.alt="down";
			});
		}
	}); */

	//Desplegable cabecera eventos
	$(".toggle").click( function() {
		if ($("#cabecera-eventos").is(":hidden")) {
			$("#cabecera-eventos").slideDown("normal");
			$("#boton-novedades").html('<img src="'+http+'img/up.png" alt="Subir" />');
			$("#novedades-mini-principal").show("fast");
			// carrusell de novedades
			if(!scroll_eventos_pestana) {
				scroll_eventos_pestana = true;
				$("#slider").easySlider({
						prevId: 'prevBtn',
						prevText: 'Previous',
						nextId: 'nextBtn',
						nextText: 'Next',
						controlsShow: true,
						controlsBefore: '',
						controlsAfter: '',
						controlsFade: true,
						firstId: 'firstBtn',
						firstText: 'First',
						firstShow: false,
						lastId: 'lastBtn',
						lastText: 'Last',
						lastShow: false,
						vertical: false,
						speed: 800,
						auto: false,
						pause: 2000,
						continuous: false
				    });
			}

		} else {
			$("#novedades-mini-principal").hide("fast");
			$("#boton-novedades").html('<img src="'+http+'img/down.png" alt="Bajar" />');
			$("#cabecera-eventos").slideUp("slow");

		}
	});

	// efecto quitar mini-cajas
	$(".quitar").click(function(){
		var element = $(this);
		var I = element.attr("id");
		$('li#list'+I).fadeOut('slow', function() {$(this).remove();});
		return false;
	});

	// Texto aleatorio de cabecera
	$('#news').innerfade({
			animationtype: 'slide',
			speed: 650,
			timeout: 3000,
			type: 'random',
			containerheight: 'null'
	});

    // Buscador
    $("#buscar").keypress(function (e) {
    	clearTimeout(timeout_buscador);
		timeout_buscador = setTimeout ('buscar_criticas()', 1500);
     });


	// Quitar-poner Value en inputs
	$('input[type="text"]').addClass("sinfocoCampo");
		$('input[type="text"]').focus(function() {
			$(this).removeClass("sinfocoCampo").addClass("focoCampo");
		    if (this.value == this.defaultValue){
		    	this.value = '';
				}
				if(this.value != this.defaultValue){
	    			this.select();
	    		}
		});
		$('input[type="text"]').blur(function() {
			$(this).removeClass("focoCampo").addClass("sinfocoCampo");
		    if ($.trim(this.value) == ''){
			    	this.value = (this.defaultValue ? this.defaultValue : '');
				}
		});


    //mostra/ocultar presentacion
	$(".boton-iniciar").click(function() {
		$("#info-ayuda").slideUp("slow");
   	 });



    //mostra/ocultar mapaprincipal
	$(".boton-entrar").click(function() {
		if ($("#mapa-centrado").is(":hidden")){
			$("#mapa-centrado").slideDown("fast");
			$("#boton-mapa").html('<a href="#" id="boton-mapa">(-) Ocultar mapa</a>');

		}else{
			$("#mapa-centrado").slideUp("slow");
			$("#boton-mapa").html('<a href="#" id="boton-mapa">(+) Mostrar mapa</a>');
		}
   	 });






    // Activamos streetview
      myPano = new GStreetviewPanorama(document.getElementById('streetview'));
      GEvent.addListener(myPano, 'error', handleNoFlash);


   //setTimeout ('$(".novedades").slideDown("slow")',2000); // muestra la capa con retardo de 1,5 segundos de cargar la pagina
   setTimeout ('$("#news").show()',2000);
//     setTimeout ('cargar_geopuntos()', 100);

	tabs_pagina_principal();




});


function critica_on_click(marker, idcritica, tabs) {
	map.savePosition();
	$("#detalle-de-critica").load("/criticas/detalle/" + idcritica, function() {
		callback_comentarios_onload()
	});

	var marker = eval("map_marker" + idcritica);
	map.setCenter(marker.getLatLng(), 17);

	// solución problema con left en ie
	if ($.browser.msie) {
		var desplazamapa = 0;
		var tamanomapa = "49%";
	}
	else
	{
		var desplazamapa = "50%";
		var tamanomapa = "50%";
	}


	mostrar_tabs = [];
	cargar_tab("resumen", marker, idcritica);
	if(tabs.exists("fotos")) cargar_tab("fotos", marker, idcritica);
	if(tabs.exists("video")) cargar_tab("video", marker, idcritica);

	panoClient = new GStreetviewClient();
	panoClient.getNearestPanorama(marker.getLatLng(), function(panoData) {
		if (panoData.code == 200) {
			$.getJSON("/criticas/get_datos_de_critica/" + idcritica, function(gpow) {
					$("#mapaprincipal").animate({ width : tamanomapa , left : desplazamapa} , function() {
						map.checkResize();
						$("#streetview").show("slow", function () {
							myPano.setLocationAndPOV(marker.getLatLng(), gpow);
							map.setCenter(marker.getLatLng(), 16);
							map.panBy({ width: -35, height: 140 });
						});

					});
		  		}
			);
		}
	});

	return true
}

function critica_on_close(marker, idcritica) {

	myPano.remove();
	$("#streetview").hide();
	$("#mapaprincipal").animate({ width : "100%" , left: 0 }, function () {
		map.checkResize();
		map.returnToSavedPosition();
	});
}


function callback_comentarios_onload() {
	$("#form-new-comentario").validate({
		rules: {
			codigo: {
				required: true,
				remote: "/formularios/captcha"
			}
		},
		messages: {
			captcha: "Correct captcha is required. Click the captcha to generate a new one"
		},
		submitHandler: function(form) {
			$.post("/comentarios/save/" + $("#idcritica").val(), {
					autor : $("#autor").val(),
					email : $("#email").val(),
					www : $("#www").val(),
					comentario : $("#comentario").val(),
					codigo : $("#codigo").val()
				},

			function(data){
				$("#listado-comentarios").load("/comentarios/view/" + $("#idcritica").val(), function() {
					callback_comentarios_onload()
				});
			});
			return false;
		}
	});
}

function cargar_tab(nombre, marker, idcritica) {
	$("#cargando").show();
	cargando++;

	$.ajax({
		url: "/criticas/ajax/" + idcritica + "/" + nombre,
		success: function(html) {
			cargando--;
			mostrar_tabs[mostrar_tabs.length] = new GInfoWindowTab(nombre, html);
			if(!cargando) mostrar_ventana_tabs(marker);
		}
	});

}




function mostrar_ventana_tabs(marker) {
	marker.openInfoWindowTabs(mostrar_tabs);
	$("#cargando").hide();
	$("a.fancybox").fancybox();
}


function ubicaCritica(id) {
	var marker = eval("map_marker" + id);
	//critica_on_click(marker, id);
	GEvent.trigger(marker, "click");
}

function afavor(id) {
	$(".valoraciones"+ id).load("/criticas/valoraciones/" + id + "/afavor");
}

function encontra(id) {
	$(".valoraciones" + id).load("/criticas/valoraciones/" + id + "/encontra");
}

function buscar_criticas() {
	map_cluster.removeMarkers();

	$("#geopuntos").load("/criticas/geopuntos/" + $("#buscar").val() + "/" + categoria_seleccionada);

}

function cargar_geopuntos() {
	$("#cargando").show();
	$("#geopuntos").load("/criticas/geopuntos//" + categoria_seleccionada + "/" + critica_seleccionada, function() {
		$("#cargando").hide();
//		$("#kmz").load("/criticas/kmz/");
	});

}




/********************************************
	Validar formulario comentarios-critica-detalle
***********************************
function validarformulario(form) {
	$(form).validate({
		rules: {
			codigo: {
				required: true,
				remote: "/formularios/captcha"
			}
		},
		messages: {
			captcha: "Correct captcha is required. Click the captcha to generate a new one"
		},

	});
}
*********/

function scrollWin(divid){
		$('html, body').animate({
		scrollTop: $("#"+divid).offset().top
		}, 2000);
	}




/********************************************
	Tabs página principal
********************************************/
function tabs_pagina_principal() {
	var tabContainers = $('.resumen-tabs > div');
	var tabContainers2 = $('.resumen2-tabs > div');
	tabContainers.hide().filter(':first').show();
	tabContainers2.hide().filter(':first').show();

	// tabs ciudad
	$('.resumen-tabs ul.resumen-tabNavigation a').click(function () {
		tabContainers.hide();
		tabContainers.filter(this.hash).show();
		$('.resumen-tabs ul.resumen-tabNavigation a').removeClass('selected');
		$(this).addClass('selected');
		return false;
	}).filter(':first').click();

	// tabs pais
	$('.resumen2-tabs ul.resumen2-tabNavigation a').click(function () {
		tabContainers2.hide();
		tabContainers2.filter(this.hash).show();
		$('.resumen2-tabs ul.resumen2-tabNavigation a').removeClass('selected');
		$(this).addClass('selected');
		return false;
	}).filter(':first').click();


}




/********************************************
	Efecto para desplegar y ver todos los checkbox de las categorias lugar
********************************************/



/********************************************
	Efecto para desplegar últimas críticas
********************************************/
$(document).ready(function (){
    $("#toggle1").click(function(){
    var img=document.getElementById('toggle1');
    if(img.src==http+"img/list-remove.png")
     {
      $("#ultimas_criticas_arriba").slideUp("slow", function(){
	img.src="img/list-add.png";
	img.alt="up";
      });
     }
    else // si la flecha no es abajo, sera arriba
     {
      $("#ultimas_criticas_arriba").slideDown("fast", function(){
	img.src="img/list-remove.png";
	img.alt="down";
      });
     }
    });
});


/********************************************
	Efecto para desplegar solución críticas
********************************************/
/*
$(document).ready(function (){
    $("#toggle2").click(function(){
    var img=document.getElementById('toggle2');
    if(img.src==http+"img/list-remove.png")
     {
      $("#solucion_criticas_arriba").slideUp("slow", function(){
	img.src="img/list-add.png";
	img.alt="up";
      });
     }
    else // si la flecha no es abajo, sera arriba
     {
      $("#solucion_criticas_arriba").slideDown("fast", function(){
	img.src="img/list-remove.png";
	img.alt="down";
      });
     }
    });
});
*/





/*¨*******************************************
	Para quitar y  poner iconos en el mapa mediante checkbox
**********************************************/
 //<![CDATA[
function Markers(grupo){

// map.closeInfoWindow();
map.getInfoWindow().hide()
   if (document.getElementById(grupo).checked==false) { // hide the marker
      for (var i=0;i<gmarkers.length;i++) {
         if (gmarkers[i].type==grupo)  {
            map.removeOverlay(gmarkers[i]);
         }
      }
   } else { // show the marker again
      for (var i=0;i<gmarkers.length;i++) {
         if (gmarkers[i].type==grupo)  {
            map.addOverlay(gmarkers[i]);
         }
      }
   }
}
  //]]>



/*****************************************************************************************************************
*	PARA STREETVIEW
*****************************************************************************************************************/
var myPano; var svOverlay;

function streetview_show(panoData) {
	if (panoData.code != 200) {  return; }
	$("#streetview").show("slow",
		function () { myPano.setLocationAndPOV(panoData.location.latlng); }
	);

}

function streetview_yaw_changed(data) { $("#yaw").val(data) }
function streetview_pitch_changed(data) { $("#pitch").val(data) }
function streetview_zoom_changed(data) { $("#zoom").val(data) }

function handleNoFlash(errorCode) { if (errorCode == FLASH_UNAVAILABLE) { alert('Error: Flash doesn\'t appear to be supported by your browser'); return; } }



Array.prototype.exists = function(o) { for(var i = 0; i < this.length; i++)   if(this[i] === o) return true; return false; }
