// JavaScript Document
// ----- Inclusiones de librerías para Dialog
/*$.getScript("./lib/js/ui_jquery/ui.dialog.js");
$.getScript("./lib/js/ui_jquery/jquery.dimensions.js");
$.getScript("./lib/js/ui_jquery/ui.resizable.js");
$.getScript("./lib/js/ui_jquery/ui.mouse.js");
$.getScript("./lib/js/ui_jquery/ui.draggable.js");
$.getScript("./lib/js/ui_jquery/ui.droppable.js");*/
/*$.getScript("./lib/ajaxfileupload.js");
$.getScript("../../intranet_admin/lib/cal_conf2.js");
$.getScript("../../intranet_admin/lib/cal2.js");*/

// ----- Funcion del onLoad
/*ponemos el idioma del datepicker*/

switch(idioma_javascript)
{
	case 0:
		idioma='es';
		break;
	case 1:
		idioma='uk';
		break;
	case 2:
		idioma='pt';
		break;
	case 3:
		idioma='fr';
		break;
	case 4:
		idioma='it';
		break;
	case 5:
		idioma='de';
		break;
	case 6:
		idioma='ca';
		break;
	case 7:
		idioma='es';
		break;
	case 8:
		idioma='es';
		break;
	default:
		idioma='es';
	break;

}
/*almacenamos el texto por defecto de localidad o comarca de la siponibilidad para mentener el idioma*/

	scriptNode = document.createElement('script');
	scriptNode.src = "./lib/js/ui_jquery/ui/i18n/ui.datepicker-"+idioma+".js";
	scriptNode.type = 'text/javascript';
	document.getElementsByTagName('head')[0].appendChild(scriptNode);


var temp_loclaidad_comerca='';
var temp_texto_geo='';

function muestra_cargando(){
	
	if ($('#contenido_ventana_favoritos').dialog('isOpen'))
		$('#contenido_ventana_favoritos').dialog('close');
	$('#buscando').css('display','block');
	$('#todo').css('display','none');
}


$(document).ready(function()
{
		$('#filtra_zona_provincia').click(function()
		{
			saca_provincias();
		});

		/*$('#filtra_tipo_aloja').click(function()
		{
			saca_tipos_alojamiento();
		});*/

		$('#dispo_texto_localidad').click(function() { 
			selectAllText($(this)) 
		});		

		$('#muestra_texto_geo').click(function() { 
			gestion_filtro_buscador(2) ;
			carga_ventana_alrededor();
		});		

		
		temp_loclaidad_comerca=$('#dispo_texto_localidad_ori').val();
		temp_texto_geo=$('#texto_geo').val();
		gestion_filtro_buscador($('#que_filto_mandamos').val());
		setEventosDatePicker();	
		arrastra_valores_avan_exter();
		
		//traducir_select(select_js,idioma_js);
});

function setEventosDatePicker()
{
	// ----- Valores por defecto
	$.datepicker.setDefaults(
	{
	    showOn: "both", 
	    buttonImage: "./images/ico_calendario.gif", 
	    buttonImageOnly: true
	});
	
	// ---- Date Piker
	anioAux=new Date();
	$("#linkedDates").datepicker(
	{ 		
	    minDate: new Date(), 
	    maxDate: new Date(anioAux.getFullYear()+1, 12 - 1, 31), 
		firstDay:1,
	    beforeShow: readLinked, 
	    onSelect: updateLinked
	});
	
	// ---- Lenguaje
    $.datepicker.regional['es'];
	
	// ---- Eventos de los desplegables
	$("#mes_entrada, #dia_entrada, #anio_entrada").change(checkLinkedDays);
		// ---- Estilo para el calendario
	$('.ui-datepicker-trigger').attr('align','absbottom');
}

//Prepare to show a date picker linked to three select controls 
function readLinked() 
{ 
	//alert($('#linkedDates').val());
    $('#linkedDates').val($('#mes_entrada').val() + '-' + 
        $('#dia_entrada').val() + '-' + $('#anio_entrada').val()); 
    return {}; 
} 
 
// Update three select controls to match a date picker selection 
function updateLinked(date) 
{ 
	//alert(date);
    $('#dia_entrada').val(date.substring(0, 2)); 
    $('#mes_entrada').val(date.substring(3, 5)); 
    $('#anio_entrada').val(date.substring(6, 10)); 
} 
 
// Prevent selection of invalid dates through the select controls 
function checkLinkedDays() 
{ 
    var daysInMonth = 32 - new Date($('#anio_entrada').val(),$('#mes_entrada').val() - 1, 32).getDate(); 
    $('#dia_entrada option').attr('disabled', ''); 
    $('#dia_entrada option:gt(' + (daysInMonth - 1) +')').attr('disabled', 'disabled'); 
    if ($('#dia_entrada').val() > daysInMonth) 
    { 
        $('#dia_entrada').val(daysInMonth); 
    } 
} 


// ----- Funciones para la gestion de capas
function HG_CrearCapa(nombre)
{
	// ----- Creamos la capa
	_capa=document.createElement('div');
	_capa.setAttribute('name',nombre);
	_capa.setAttribute('id',nombre);
	document.body.appendChild(_capa);

	// ----- Ajustamos parámetros básicos
	_capa=document.getElementById(nombre);
	_capa.style.position='absolute';
	_capa.style.display='none';
}

function setAltoCapaDialog(MA_capa_nombre)
{
	
	$('#'+MA_capa_nombre).parents(".ui-dialog.flora.ui-resizable.ui-draggable:first").css('height',getAltoCapa(MA_capa_nombre));
	$('#'+MA_capa_nombre).parents(".ui-dialog.flora.ui-resizable.ui-draggable:first").css('width',getAnchoCapa(MA_capa_nombre));
}

function getAltoCapa(MA_capa_nombre)
{
	
                // ----- Clase para obtener información del navegador
                var _Info = new TInfo_Navegador();     
                
                // ----- Explorer
                if(_Info.nombre.indexOf('Explorer')>0)
                {
                               alto=$('#'+MA_capa_nombre).height();
                               alto=parseInt(alto)+50;
                }
                else
                {
                               alto=$('#'+MA_capa_nombre).css('height').replace('px','');
                               alto=parseInt(alto)+50;
                }
              //  alert(alto);
              //  alert($('#datos_'+MA_capa_nombre).id);                
                if(alto<100)alto=100;
                return alto;
}

function getAnchoCapa(MA_capa_nombre)
{
	
                // ----- Clase para obtener información del navegador
                var _Info = new TInfo_Navegador();     
                
                // ----- Explorer
                if(_Info.nombre.indexOf('Explorer')>0)
                {
                               ancho=$('#'+MA_capa_nombre).width();
                               ancho=parseInt(ancho)+50;
                }
                else
                {
                	ancho=$('#'+MA_capa_nombre).css('width').replace('px','');
                	ancho=parseInt(ancho)+50;
                }
              //  alert(alto);
              //  alert($('#datos_'+MA_capa_nombre).id);                
                if(ancho<100)ancho=100;
                return ancho;
}

function TInfo_Navegador()
{
	this.nombre=navigator.appName;
	this.cod_nombre=navigator.appCodeName;
	this.version=navigator.appVersion.substring(0,4);
	this.plataforma=navigator.platform;
	this.java_activo=navigator.javaEnabled();
	this.resolucion_ancho=screen.width;
	this.resolucion_alto=screen.height;
}


function cierra_ventana(nombre){
	$('#'+nombre).dialog('close');	
}


function getHTMLCargando(texto)
{
	if (texto==null)
		texto='Cargando...';
	return '<img src="./images/ajax-loader.gif" align="absmiddle" />&nbsp;&nbsp;'+texto;
}

function getHTMLEjecucion(texto)
{
	if (texto==null)
			texto='Cargando...';
	return '<div  style="text-align: center">&nbsp;-&nbsp;&nbsp;'+texto+'&nbsp;&nbsp;<img src="./images/loading_1.gif" align="absmiddle" /></div>';
}


//Detect if the browser is IE or not.
//If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

//If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

//Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

//Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0

//Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
 tempX = event.clientX + document.body.scrollLeft
 tempY = event.clientY + document.body.scrollTop
} else {  // grab the x-y pos.s if browser is NS
 tempX = e.pageX
 tempY = e.pageY
}  
// catch possible negative values in NS4
if (tempX < 0){tempX = 0}
if (tempY < 0){tempY = 0}  

return true
}


/*fin funciones gestion ventana*/

/*inicio funciones navegacion */
function cambia_btn_buscar(){
	  if ($('#img_eje_bus_zona').attr('src')=='./images/ico_lupa_mapa.gif'){
			$('#img_eje_bus_zona').attr({'src':'./images/ico_buscar_mapa.gif'});
	  }
}
function select_provincia(id_provi){
	
	nombre_provi=$('#pro_'+id_provi).html();
	$('#provincia_casa').val(id_provi);	 
	$('#nombre_provincia_casa').val(nombre_provi);		
	$('#filtra_zona_provincia').html(nombre_provi)
	cierra_ventana('contenido_ventana_provincia');
}

function select_isla(id_isla){
	nombre_isla=$('#IS_'+id_isla).html();
	$('#provincia_casa').val('IS_'+id_isla);	
	$('#nombre_provincia_casa').val(nombre_isla);		
	$('#filtra_zona_provincia').html(nombre_isla)
	cierra_ventana('contenido_ventana_provincia');
}

function select_zona(id_zona){
	nombre_provi=$('#pro_'+id_zona).html();
	$('#id_mapa_zona').val(id_zona);	
	$('#nombre_id_mapa_zona').val(nombre_provi);		
	$('#filtra_zona_provincia').html(nombre_provi)
	cierra_ventana('contenido_ventana_provincia');
}

function tipo_select(id_tipo){
	nombre_tipo=$('#tipo_'+id_tipo).html();
	$('#tipo_aloja').val(id_tipo);	
	$('#nombre_tipo_aloja').val(nombre_tipo);		
	$('#filtra_tipo_aloja').html(nombre_tipo)
	cierra_ventana('contenido_ventana_tipo');
}

function saca_provincias(){
	nombre='contenido_ventana_provincia';
	existe=true;
	if ($('#'+nombre).html()!=''){
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
	}else{
	_alto=380;
	_ancho=420;
	
	$("#"+nombre).addClass("flora");		
	$("#"+nombre).attr("title",'Elegir Provincia');
	// ---- Abrimos la capa	
	$('#'+nombre).dialog(
	{ 
	   bgiframe:true,
		modal: true, 
	   autoOpen:false,
	   overlay: 
	   { 
					   opacity: 0.5, 
					   background: "black" 
	   },
	   stack:true,
	   closeOnEscape: true,
	   title:'Busqueda avanzada',
	   width:_ancho,
	   height:_alto,
	   minWidth:_ancho,
	   minHeight:_alto,
	   resizable:false
	}).fadeIn();

	// ----- Montamos el cargando...
	//if(!existe){
		$('#'+nombre).html(getHTMLEjecucion());
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
		
		parametros= 'id_operador='+$('#operador').val()+'&idioma='+$('#lang').val();
		URL_='./modulos/buscador/cuadro_provincias.php';
		$.post(URL_,parametros,function(data,Status)
		{
			$('#'+nombre).html(data);
			setAltoCapaDialog(nombre);
		});
			
	}
}

function saca_tipos_alojamiento(){
	nombre='contenido_ventana_tipo';
	existe=true;
	if ($('#'+nombre).html()!=''){
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
	}else{
	_alto=250;
	_ancho=250;
	
	$("#"+nombre).addClass("flora");		
	$("#"+nombre).attr("title",'Elegir tipo de alojamiento');
	// ---- Abrimos la capa	
	$('#'+nombre).dialog(
	{ 
		bgiframe:true,
		modal: true, 
	   autoOpen:false,
	   overlay: 
	   { 
					   opacity: 0.5, 
					   background: "black" 
	   },
	   stack:true,
	   closeOnEscape: true,
	   title:'Busqueda avanzada',
	   width:_ancho,
	   height:_alto,
	   minWidth:_ancho,
	   minHeight:_alto,
   	   resizable:false
	});

	// ----- Montamos el cargando...
	//if(!existe){
		$('#'+nombre).html(getHTMLEjecucion());
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
		parametros= 'id_operador='+$('#operador').val()+'&idioma='+$('#lang').val();
		URL_='./modulos/buscador/cuadro_tipo_aloja.php';
		$.post(URL_,parametros,function(data,Status)
		{
			$('#'+nombre).html(data);
			setAltoCapaDialog(nombre);
			
		});
			
	}
}

function saca_bus_avanzada(titulo_pasado){
	nombre='contenido_ventana_avanzada';
	existe=true;
	if ($('#'+nombre).html()!=''){
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
		marco_si_marcados();
	}else{


	_alto=400;
	_ancho=440;
	
	$("#"+nombre).addClass("flora");		
	$("#"+nombre).attr("title",titulo_pasado);
	// ---- Abrimos la capa	
//	$('#'+nombre).dialog({position: [tempX-370,tempY],minWidth:ancho_, minHeight:alto_ ,width:ancho_ ,height:alto_});
	
	$('#'+nombre).dialog(
	{ 
		bgiframe:true,
		modal: true, 
	   autoOpen:false,
	   overlay: 
	   { 
					   opacity: 0.5, 
					   background: "black" 
	   },
	   stack:true,
	   closeOnEscape: true,
	   title:titulo_pasado,
	   width:_ancho,
	   height:_alto,
	   minWidth:_ancho,
	   minHeight:_alto,
	   resizable:false  
	});

	// ----- Montamos el cargando...
		$('#'+nombre).html(getHTMLEjecucion());
		$('#'+nombre).dialog('open');	
		$('#'+nombre).show("slow");
		
		parametros= 'id_operador='+$('#operador').val()+'&idioma='+$('#lang').val();
		URL_='./modulos/buscador/cuadro_bus_avanzada.php';
		$.post(URL_,parametros,function(data,Status)
		{
			$('#'+nombre).html(data);
		//	setAltoCapaDialog(nombre); 
		marco_si_marcados();
		asigna_click_equipa();
		
		});
	}
	
}

function enviar_consulta(tipo,id_casa,contacto,titulo_pasado){
	nombre='contenido_ventana_consulta';
	if (!titulo_pasado)
			titulo_pasado=defecto_titulo_consulta;
	
	//<div id="contenido_ventana_consulta" style="display:none;z-index: 65555;"></div>
	if (tipo==0)
		alto_=635;
	else
		alto_=590;
	ancho_=560;
	existe=true;

	$('#'+nombre).dialog({
		bgiframe:true,
		minWidth:ancho_, 
		minHeight:alto_ ,
		title:titulo_pasado,
		width:ancho_ ,
		height:alto_,
		modal:true,
		bgiframe:true,
		overlay:{opacity:1,background:"black"},
		resizable:false
		
	});

	$('#'+nombre).html(getHTMLEjecucion());
	$('#'+nombre).show("slow");
	$('#'+nombre).dialog('open');	
	parametros= 'id_operador='+$('#operador').val()+'&idioma='+$('#lang').val()+'&id_of='+$('#id_of').val()+'&tipo='+tipo+'&id_casa='+id_casa+'&contacto='+contacto;
	URL_='./modulos/envios/envios_consultas.php';
	$.post(URL_,parametros,function(data,Status)
	{
		$('#'+nombre).html(data);
	});
}


function enviar(nombre){
	$("#c_envio").val('1');
	var parametros = $("#"+nombre).formToArray();
	$('#contenido_ventana_consulta').html(getHTMLEjecucion('Enviando Correo'));
	URL_='./modulos/envios/envios_consultas.php';
	$.post(URL_,parametros,function(data,Status)
	{

		$('#contenido_ventana_consulta').html(data);
	});
}

function busqueda_avanzada(){
//	alert('busqueda_avanzada');
      var sel = 0; //Contará los checkbox que hemos seleccionado
      var nombres_equipa = ""; //Almacenará los nombres y los concatenará
      var nombres_carac = ""; //Almacenará los nombres y los concatenará	  
      $(".equipamiento").each(function(i) {
       // El parametro i lleva la cuenta de todos los elementos dentro de each
		  if(this.checked) //Aquí, this se refiere a cada elemento dentro de each, si ha sido seleccionado
			  {
				  sel++; //contamos los seleccionados
				  if (nombres_equipa==""){
				  	  nombres_equipa+= this.value;
				  }else{
  				  	  nombres_equipa+= ","+this.value; 
				  }
			  }
      });
	  
	 $("#e_cuantos").val(nombres_equipa);

	if($("#cb_buscador_estricto").attr('checked')){
		 $("#bus_avanzada_cb").val('1');
	}else{
		 $("#bus_avanzada_cb").val('0');
	}
	monta_avan_exter();
}

/*************************************************/

/*********Funciones nuevo buscador*****************/
var array_avan_exter= Array('0','0','0','0','0','0');
var borrados= Array('0','0','0','0','0','0');
var	array_elementos= Array('1','8','2','3','5');
var	array_valores= Array('52','7','4','22','2');

function arrastra_valores_avan_exter(){
	existe_array_avan_exter=($("#input_array_avan_exter").val()).split('-');
	for (i=0;i<existe_array_avan_exter.length;i++){  
		if (existe_array_avan_exter[i]!=0){
			acion_opc_avan(i,existe_array_avan_exter[i]);
		}
	}
}

function asigna_click_equipa(){
	for (j=0;j<=4;j++){ 
//	alert(i+'----'+array_valores[i]+'--'+"#e_id_"+array_elementos[i]);
		$("#e_id_"+array_elementos[j]).click(function()
		{
			marca_exterior(this);
		});
	} 
}

function marco_si_marcados(){
	for (i=0;i<5;i++){ 

		if (array_avan_exter[i]!=0){
			$("#e_id_"+array_elementos[i]).attr('checked', true);
		}else{
			$("#e_id_"+array_elementos[i]).attr('checked', false);
		}
	}

	avanza_traemos=($("#e_cuantos").val()).split(',');
	for (i=0;i<avanza_traemos.length;i++){
		$('.equipamiento[value='+avanza_traemos[i]+']').attr('checked', true);
	}
	
}

function monta_avan_exter(){
	selecionados='';
	para_eliminar_borrados='';
	for (i=0;i<borrados.length;i++){ 
		borrados[i]=0;
	}


	temp=$("#e_cuantos").val().split(',');
	valores_recibidos=$("#input_array_avan_exter").val().split('-');
	
	for (i=0;i<array_avan_exter.length;i++){
		if (valores_recibidos[i]!=0){
			if (array_avan_exter[i]==0){
				borrados[i]=valores_recibidos[i];
			}
		}
	}
	
	for (i=0;i<array_avan_exter.length;i++){ 
		if (array_avan_exter[i]!=0){
			if (($("#e_cuantos").val()=='0')||($("#e_cuantos").val()=='')){
				$("#e_cuantos").val(array_avan_exter[i]);
			}else{
				if (jQuery.inArray(array_avan_exter[i], temp)==-1)
						$("#e_cuantos").val($("#e_cuantos").val()+','+array_avan_exter[i]);
			}
		}
	}


	para_eliminar_borrados=$("#e_cuantos").val().split(',');
	
	for (i=0;i<borrados.length;i++){ 
		encontrado=jQuery.inArray(borrados[i],para_eliminar_borrados);
		if (encontrado!=-1){
		 provi = para_eliminar_borrados.slice(encontrado+1);
		 para_eliminar_borrados = para_eliminar_borrados.slice(0,encontrado);
	  	 para_eliminar_borrados = para_eliminar_borrados.concat(provi);
		}
	}

	aux_temp=array_avan_exter.join('-');	
	$("#e_cuantos").val(para_eliminar_borrados.join(','));
//	alert($("#e_cuantos").val());
	$("#input_array_avan_exter").val(aux_temp);
}

function marca_exterior(elem){
	for (i=0;i<array_valores.length;i++){
		if (array_valores[i]==elem.value){
			pos=i;
		}
	}
	acion_opc_avan(pos,elem.value)
}

function acion_opc_avan(posicion,valor){
	
	$('#img_opc_av_'+posicion).fadeOut(300, function() {
	  if ($(this).attr('src')=='./images/img_checkbox_des.gif'){
		$(this).attr({'src':'./images/img_checkbox_act.gif'});
		$('#opc_av_'+posicion).removeClass("texto_desactivo");
		$('#opc_av_'+posicion).addClass("texto_oscuro");
		array_avan_exter[posicion]=valor;
	  }else{
  		$(this).attr({'src':'./images/img_checkbox_des.gif'});
		$('#opc_av_'+posicion).removeClass("texto_oscuro");
		$('#opc_av_'+posicion).addClass("texto_desactivo");
		array_avan_exter[posicion]=0;		
	  }
	if (this.complete) $(this).fadeIn(300);
/*	var str=array_avan_exter.join(" - ");
	alert(str);*/
	});
}

function selectAllText(textbox) {
    textbox.focus();
    textbox.select();
}


var filtro_buscador_opc_act=0;

function gestion_filtro_buscador(elemento_sele){
	if (($('#img_filtro_buscador_opc_'+elemento_sele).attr('src')=='./images/filtro_buscador_des.gif')||(elemento_sele==2)){
		$('#img_filtro_buscador_opc_'+elemento_sele).fadeOut(300, function() {
				$("img[id*='img_filtro_buscador_opc']").attr({'src':'./images/filtro_buscador_des.gif'});
				$(this).attr({'src':'./images/filtro_buscador_act.gif'});
				filtro_buscador_opc=elemento_sele;
		 if (this.complete) $(this).fadeIn(300);
		});
		
		if (elemento_sele!=0){
			$('#provincia_casa').val(0);
			$('#provincia_casa').attr("disabled", true);
			$('#provincia_casa').removeClass("texto_base");
			$('#provincia_casa').addClass("texto_desactivo");
			$('#filtro_buscador_opc_0').removeClass("texto_oscuro_negrita");
			$('#filtro_buscador_opc_0').addClass("texto_desactivo");
		}else{
			$('#provincia_casa').val(0);
			$('#provincia_casa').attr("disabled", false);
			$('#provincia_casa').removeClass("texto_desactivo");
			$('#provincia_casa').addClass("texto_base");
			$('#filtro_buscador_opc_0').removeClass("texto_desactivo");
			$('#filtro_buscador_opc_0').addClass("texto_oscuro_negrita");
		}
		
		if (elemento_sele!=1){
			$('#dispo_texto_localidad').attr("disabled",true);
			$('#dispo_texto_localidad').val(temp_loclaidad_comerca);
			$('#dispo_texto_localidad').removeClass("texto_oscuro");
			$('#dispo_texto_localidad').addClass("texto_desactivo");
		}else{
			$('#dispo_texto_localidad').attr("disabled",false);
			$('#dispo_texto_localidad').removeClass("texto_desactivo");
			$('#dispo_texto_localidad').addClass("texto_oscuro");
			
		}

		if (elemento_sele!=2){
			$('#muestra_texto_geo').removeClass("texto_base_enlace");
			$('#filtro_buscador_opc_2').removeClass("texto_oscuro_negrita");
			$('#filtro_buscador_opc_2').addClass("texto_desactivo");
			$("#muestra_texto_geo").html(temp_texto_geo);
			$(".geo_field").val('');
			$('#geo_activada').val('0')
		    $('#geo_latitud').val('0');
    	    $('#geo_longitud').val('0');
   	        $('#gm_buscar_direccion').val('0');
        	$('#geo_radio').val('0');
			$('#texto_geo').val(temp_texto_geo);
		}else{
			$('#filtro_buscador_opc_2').removeClass("texto_desactivo");
			$('#filtro_buscador_opc_2').addClass("texto_base_enlace");
			$('#geo_activada').val('1')
		}
		$('#que_filto_mandamos').val(elemento_sele)
	}
}
/**************************************************/
var TJ_capa_mapa='TJ_capa_mapa';
var TJ_map=null;
var TJ_marker=null;
var TJ_geocoder = null;
var TJ_geocoder = new GClientGeocoder();

/************************funcion de gestion buscar alrededor de un punto*************************/
  function carga_ventana_alrededor(){
	nombre='contenido_alrededor';
	if ($('#'+nombre).html()!=''){
		$('#'+nombre).dialog('open');
		return ;
	}
	alto_=650;
	ancho_=580;
	existe=true;
		$('#'+nombre).dialog({
			minWidth:ancho_, 
			minHeight:alto_ ,
			title:'Alrededor de un punto',
			width:ancho_ ,
			height:alto_,
			modal:true,
			resizable:false,
			overlay:{opacity:1,background:"black"}
		});
	
     	$('#'+nombre).html(getHTMLEjecucion());
		$('#'+nombre).show("slow");
		$('#'+nombre).dialog('open');	

		parametros= 'id='+$('#id').val()+'$id_oficina='+$('#id_of').val()+'&idioma='+$('#idioma').val();

		URL_='./modulos/buscador/mapa_alrededor.php';
		$.post(URL_,parametros,function(data,Status)
		{
			$('#'+nombre).html(data);
		
			$('#btn_buscar_direccion').click(function()
				{
					TJ_geocoder.getLocations($('#tmp_gm_buscar_direccion').val(), TJ_addAddressToMap);
				});
			$('#btn_aceptar_geo').click(function()
				{
					guarda_geo_sele();
				});
			
			$('#btn_cancelar_geo').click(function()
				{
					cerrar_manual();
				});
			
			$('.ui-icon-closethick').click(function()
				{
					cerrar_manual();
				});
			
			TJ_map=TJ_load_google_map();
		});
		
}

// ------------------------ Funciones JS ----------------------------
  var metric = true;
  var singleClick = false;
  var queryCenterOptions = new Object();
  var queryLineOptions = new Object();

queryCenterOptions.icon = new GIcon();
queryCenterOptions.icon.image = "http://jfno.net/images/centerArrow.png";
queryCenterOptions.icon.iconSize = new GSize(20,20);
queryCenterOptions.icon.shadowSize = new GSize(0, 0);
queryCenterOptions.icon.iconAnchor = new GPoint(10, 10);
queryCenterOptions.draggable = true;
queryCenterOptions.bouncy = false;

queryLineOptions.icon = new GIcon();
//queryLineOptions.icon.image = "http://jfno.net/images/resizeArrow.png";
queryLineOptions.icon.iconSize = new GSize(25,20);
queryLineOptions.icon.shadowSize = new GSize(0, 0);
queryLineOptions.icon.iconAnchor = new GPoint(12, 10);
queryLineOptions.draggable = false;
queryLineOptions.bouncy = false;


var point = new GPoint (-3.69,40.4);
var TJ_marker = new GMarker(point,queryCenterOptions);
 
function TJ_load_google_map() 
{
   if (GBrowserIsCompatible()) 
   {
	  var TJ_map = new GMap2(document.getElementById(TJ_capa_mapa));
	  var TJ_geocoder = new GClientGeocoder();
	  TJ_map.setCenter(new GLatLng(40.4,-3.69),5);   
	  TJ_map.addControl(new GLargeMapControl());
	  TJ_map.addControl(new GMapTypeControl());
      localSearch = new google.maps.LocalSearch();//{externalAds : document.getElementById("ads")});
//      TJ_map.addControl(localSearch);
      myQueryControl = new QueryControl(localSearch);
    //  TJ_map.addControl(myQueryControl);
	
	// ---- Añadimos la chincheta en el punto marcado o en Madrid segun si es edicion
		  
	  pos_ini_lat=0;
	  pos_ini_long=0;
	  pos_ini_radio=0;
	  /*si hay valores padados rellenamos campos*/
		if (($('#geo_latitud').val()!='')&&($('#geo_latitud').val()!=0)){
			pos_ini_lat=$('#geo_latitud').val();
			$('#tmp_geo_latitud').val(pos_ini_lat);

		}
		if (($('#geo_longitud').val()!='')&&($('#geo_longitud').val()!=0)){
			pos_ini_long=$('#geo_longitud').val();
				$('#tmp_geo_longitud').val(pos_ini_long);			
		}
		if (($('#geo_radio').val()!='')&&($('#geo_radio').val()!=0)){
			pos_ini_radio=$('#geo_radio').val();
			$('#tmp_geo_radio').val(pos_ini_radio);
			$('#km_'+pos_ini_radio).removeClass("km_no_sele");
			$('#km_'+pos_ini_radio).addClass("km_sele");
		}else{
			$('#km_80').removeClass("km_no_sele");
		$('#km_80').addClass("km_sele");
		}
	
		


		/*Si existe una posicion*/
		if ((pos_ini_lat!=0)&&(pos_ini_long!=0)){
		 point = new GPoint (pos_ini_lat,pos_ini_long);
		 TJ_map.setCenter(new GLatLng(pos_ini_long , pos_ini_lat ),8);
		 TJ_marker.setPoint(new GLatLng(pos_ini_long , pos_ini_lat ));
		
		}
		singleClick = !singleClick;
	    setTimeout("if (singleClick) createCircle(new GLatLng("+ point.y + ", " + point.x +"), "+$('#tmp_geo_radio').val()+");", 300);

	  TJ_map.addOverlay(TJ_marker); 
	  // ----- Añadir evento Clik en el mapa
	  GEvent.addListener(TJ_map, "click", function (overlay,point)
	  {
		//  alert(point);
			if (point)
			{
				TJ_marker.setPoint(point);
				$('#tmp_geo_latitud').val(point.x);
				$('#tmp_geo_longitud').val(point.y);
				geoQuery.updateCircle();
				TJ_map.setCenter(point,8)
				$('#tmp_gm_buscar_direccion').val('');
			}
	  });
	  

   }
   return TJ_map;
}
function TJ_addAddressToMap(response) 
{
    if (!response || response.Status.code != 200)
    {
      alert("Lo sentimos, no se ha encontrado su dirección");
      return false;
    }
    
	  place = response.Placemark[0];
	  point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
	  
	  TJ_map.setCenter(point, 8);
	  
	  TJ_marker.setPoint(point);
	  $('#tmp_geo_longitud').val(TJ_marker.getLatLng().lat());
	  $('#tmp_geo_latitud').val(TJ_marker.getLatLng().lng());
	  geoQuery.updateCircle();
}

function mapa_abrir_si_abierto(){
	$('#contenido_alrededor').dialog('open');	
}

function cerrar_manual(){
	$('#contenido_alrededor').dialog('close');	
		gestion_filtro_buscador(0);
}


function guarda_geo_sele(){
	if ($('#tmp_geo_latitud').val()==''){
		alert('No ha seleccionado ningúna coordenada.\n En el caso de haber escrito el nombre de una población,\n no olvide pulsar bobre el botón de buscar la población,\n que se encuatra a la derecha del nombre que ha introducido.\n Despues pulse sobre guardar');
	}else{
	 $('#contenido_alrededor').dialog('close');	
	 $('#geo_latitud').val($('#tmp_geo_latitud').val());
	 $('#geo_longitud').val($('#tmp_geo_longitud').val());
	 $('#gm_buscar_direccion').val($('#tmp_gm_buscar_direccion').val());
	 $('#geo_radio').val($('#tmp_geo_radio').val());
	 $('#muestra_texto_geo').css('Cursor','pointer');
	 $('#muestra_texto_geo').addClass("texto_base_enlace");
	if ($('#tmp_gm_buscar_direccion').val()!=''){
		$('#muestra_texto_geo').html($('#tmp_geo_radio').val()+' '+$('#tmp_texto_localidad').val()+' '+$('#tmp_gm_buscar_direccion').val());
	}else{
		$('#muestra_texto_geo').html($('#tmp_geo_radio').val()+' '+$('#tmp_texto_punto').val());	
	}

	$('#texto_geo').val($('#muestra_texto_geo').html());
	}
}

/**************************************************/



/**/
function createCircle(point, radius) {
  singleClick = false;
  radius=radius*1000;
  geoQuery = new GeoQuery();
  geoQuery._dragHandlePosition = destination(point, 90, this._radius/1000);
  geoQuery._dragHandle = new GMarker(geoQuery._dragHandlePosition, queryLineOptions);
  geoQuery.initializeCircle(radius, point, TJ_map);
  geoQuery.render();
}



function destination(orig, hdng, dist) {
  var R = 6371; // earth's mean radius in km
  var oX, oY;
  var x, y;
  var d = dist/R;  // d = angular distance covered on earth s surface
  hdng = hdng * Math.PI / 180; // degrees to radians
  oX = orig.x * Math.PI / 180;
  oY = orig.y * Math.PI / 180;

  y = Math.asin( Math.sin(oY)*Math.cos(d) + Math.cos(oY)*Math.sin(d)*Math.cos(hdng) );
  x = oX + Math.atan2(Math.sin(hdng)*Math.sin(d)*Math.cos(oY), Math.cos(d)-Math.sin(oY)*Math.sin(y));

  y = y * 180 / Math.PI;
  x = x * 180 / Math.PI;
  return new GLatLng(y, x);
}

function distance(point1, point2) {
  var R = 6371; // earth's mean radius in km
  var lon1 = point1.lng()* Math.PI / 180;
  var lat1 = point1.lat() * Math.PI / 180;
  var lon2 = point2.lng() * Math.PI / 180;
  var lat2 = point2.lat() * Math.PI / 180;

  var deltaLat = lat1 - lat2
  var deltaLon = lon1 - lon2

  var step1 = Math.pow(Math.sin(deltaLat/2), 2) + Math.cos(lat2) * Math.cos(lat1) * Math.pow(Math.sin(deltaLon/2), 2);
  var step2 = 2 * Math.atan2(Math.sqrt(step1), Math.sqrt(1 - step1));
  return step2 * R;
}

function GeoQuery() {

}

function nuevo_radio(){
	valor=$('#tmp_geo_radio').val();
	geoQuery._map.removeOverlay(geoQuery._polyline);
	geoQuery._radius=valor*1000;
	geoQuery._dragHandlePosition = destination(point, 90, geoQuery._radius/1000);
 	geoQuery._dragHandle.setPoint(geoQuery._dragHandlePosition);
	geoQuery.render();

}

GeoQuery.prototype.CIRCLE='circle';
GeoQuery.prototype.COLORS=["#0000ff", "#00ff00", "#ff0000"];
var COLORI=0;

GeoQuery.prototype = new GeoQuery();
GeoQuery.prototype._map;
GeoQuery.prototype._type;
GeoQuery.prototype._radius;
GeoQuery.prototype._dragHandle;
GeoQuery.prototype._centerHandle;
GeoQuery.prototype._polyline;
GeoQuery.prototype._color ;
GeoQuery.prototype._control;
GeoQuery.prototype._points;
GeoQuery.prototype._dragHandlePosition;
GeoQuery.prototype._centerHandlePosition;


GeoQuery.prototype.initializeCircle = function(radius, point, map) {
	TJ_map.clearOverlays();
    this._type = this.CIRCLE;
    this._radius = radius;
    this._map = map;
    this._dragHandlePosition = destination(point, 90, this._radius/1000);
    this._dragHandle.setPoint(this._dragHandlePosition);
    this._centerHandlePosition = point;
    this._centerHandle = TJ_marker//new GMarker(this._centerHandlePosition, queryCenterOptions);
    this._color = this.COLORS[COLORI++ % 3];
    map.addOverlay(this._dragHandle);
    map.addOverlay(this._centerHandle);
    var myObject = this;
    GEvent.addListener (this._dragHandle, "dragend", function() {myObject.updateCircle(1);});
    GEvent.addListener (this._dragHandle, "drag", function() {myObject.updateCircle(1);});
    GEvent.addListener(this._centerHandle, "dragend", function() {myObject.updateCircle(2);$('#tmp_gm_buscar_direccion').val('');});
    GEvent.addListener(this._centerHandle, "drag", function() {myObject.updateCircle(2);});
}

GeoQuery.prototype.updateCircle = function (type) {
    this._map.removeOverlay(this._polyline);
    if (type==1) {
      this._dragHandlePosition = this._dragHandle.getPoint();
      this._radius = distance(this._centerHandlePosition, this._dragHandlePosition) * 1000;
      this.render();
    }else {
      this._centerHandlePosition = this._centerHandle.getPoint();
      this.render();
      this._dragHandle.setPoint(this.getEast());
    }
	$('#tmp_geo_latitud').val(this._centerHandlePosition.x);
	$('#tmp_geo_longitud').val(this._centerHandlePosition.y);
//	$('#tmp_gm_buscar_direccion').val('');
}

GeoQuery.prototype.render = function() {
  if (this._type == this.CIRCLE) {
    this._points = [];
    var distance = this._radius/1000;
    for (i = 0; i < 72; i++) {
      this._points.push(destination(this._centerHandlePosition, i * 360/72, distance) );
    }
    this._points.push(destination(this._centerHandlePosition, 0, distance) );
    //this._polyline = new GPolyline(this._points, this._color, 6);
    this._polyline = new GPolygon(this._points, this._color, 1, 1, this._color, 0.2);
    this._map.addOverlay(this._polyline)
  //  this._control.render();
  }
}

GeoQuery.prototype.remove = function() {
  this._map.removeOverlay(this._polyline);
  this._map.removeOverlay(this._dragHandle);
  this._map.removeOverlay(this._centerHandle);
}

GeoQuery.prototype.getRadius = function() {
    return this._radius;
}

GeoQuery.prototype.getHTML = function() {
  return "<span><font color='"+ this._color + "''>" + this.getDistHtml() + "</font></span>";
}

GeoQuery.prototype.getDistHtml = function() {
  result = "<img src='http://jfno.net/images/close.gif' onClick='myQueryControl.remove(" + this._control.getIndex(this) + ");'/>Radius ";
  if (metric) {
    if (this._radius < 1000) {
      result += "in meters : " + this._radius.toFixed(1);
    } else {
      result += "in kilometers : " + (this._radius / 1000).toFixed(1);
    }
  } else {
    var radius = this._radius * 3.2808399;
    if (radius < 5280) {
      result += "in feet : " + radius.toFixed(1);
    } else {
      result += "in miles : " + (radius / 5280).toFixed(1);
    }
  }
  return result;   
}

GeoQuery.prototype.getNorth = function() {
  return this._points[0];
}

GeoQuery.prototype.getSouth = function() {
  return this._points[(72/2)];
}

GeoQuery.prototype.getEast = function() {
  return this._points[(72/4)];
}

GeoQuery.prototype.getWest = function() {
  return this._points[(72/4*3)];
}

function QueryControl (localSearch) {
  this._localSearch = localSearch;
}


/**ampliar y reducir la ficha**/
function reduce_amplia_ficha(id_sele,id_operador,id_oficina){
	
	if ($("#comentario_"+id_sele).css("display") == "none") { 
		document.getElementById('btn_'+id_sele).src='images/contraer_ficha.gif'	
		$('#comentario_'+id_sele).css("display", "block");
	}else{
		document.getElementById('btn_'+id_sele).src='images/ampliar_ficha.gif'			
		$('#comentario_'+id_sele).css("display", "none");		
	}
	aux=$('#datos_visibles_'+id_sele).html();
	data=$('#datos_ampliados_'+id_sele).html();
	$('#datos_ampliados_'+id_sele).html(aux);
	$('#datos_visibles_'+id_sele).html(data);
		if ($('#tira_fotos_'+id_sele).html()==''){
			$('#tira_fotos_'+id_sele).css('display','block');
			cargando='<span class="texto_base_enlace" style="color: rgb(153, 153, 153);"><img class="texto_base_enlace" border="0" align="absmiddle" title="Por favor espere ...." src="./images/ajax-loader.gif"/> Please wait ...</span>';
			$('#tira_fotos_'+id_sele).html(cargando);
			parametros= 'id_operador='+id_operador+'&id_casa='+id_sele+'&id_of='+id_oficina;
			URL_='./modulos/listados_casas/tira_imagenes.php';
			$.post(URL_,parametros,function(data,Status)
			{
				$('#tira_fotos_'+id_sele).html(data);
			});
		}
}


/*funciones de traduccion de los select de provincia regiones*/

 function traducir_select(elemento_select,idioma){
	 if ((idioma==5)&&(elemento_select=3)){

		switch(idioma)	{
			case 0:
				idioma='es';
			break;
			case 1:
				idioma='en';
			break;
			case 5:
				idioma='de';
			break;
		}

		aux_elemento_select='provincia_casa';
		switch(elemento_select)	{
			case 2:
				aux_elemento_select='id_mapa_zona';
			break;
			case 3:
				aux_elemento_select='region_casa';
			break;
		}

		cuantos=$('#'+aux_elemento_select).find("option").length;

		for(i=0;i<cuantos;i++){
			traducir_palabra($('#'+aux_elemento_select).find("option")[i].text,i,idioma,aux_elemento_select);
		}
	}
 }



	function carga_mapa(id_pais){
		parametros='id_pais_mapa='+id_pais+'&id_operador='+$('#operador').val()+'&id_of='+$('#id_of').val();
		URL_='./modulos/mapa_bus/cambia_mapa.php';
		
		$('#inter_mapa').html(getHTMLCargando());
//		$('#inter_mapa').fadeOut('slow');		
		$.post(URL_,parametros,function(data,Status)
		{
			$('#inter_mapa').html(data);
			$('#inter_mapa').fadeIn('slow');
		});
		

	}
	
	function modifica_cartel_buscando(){
		if($('#cambia_cartel_buscando').val()!=0){
		parametros='orden_b_buscando='+$('#orden_b_buscando').val()+'&id_operador='+$('#operador').val()+'&id_of='+$('#id_of').val();
		URL_='./modulos/publicidad/cambia_publi.php';
		$.post(URL_,parametros,function(data,Status)
		{
			$('#buscando').html(data);
		});
		}
	}

/* function traducir_palabra(palabra,pos,idioma,elemento_select){
	google.language.translate(palabra, "es", idioma, function(result) {
  		if (!result.error) {
			
  			 $("#"+elemento_select).find("option")[pos].text=result.translation;
  			}
	});
	return palabra;
}*/
