/** *******************************************************************************
*	Fichero para el control JavaScript de la ficha de publicidad.
*
* @author Arturo D韆z
* @copyrigth RGD Solutions S.L.
* @since 26-06-2008
* @version 1.0.0.0
*
*
********************************************************************************** */

// ----- Inclusiones de librerias
if(false)
{
	$.getScript("../../lib/js/ui_jquery/jquery.dimensions.js");
	$.getScript("../../lib/js/ui_jquery/ui.dialog.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");
}

// ----- Variables globales para la capa del mapa -----
var capa_nombre="publi_capa_ficha_conetenido";
var capa_ficha_publicidad_nombre="publi_capa_ficha_publicidad";
var capa_mapa_situar_recursos_publi="capa_mapa_situar_recursos_publi";

// ----- Funciones para la gestion de capas
function MA_CrearCapa(nombre)
{
	// ----- Creamos la capa
	_capa=document.createElement('div');
	_capa.setAttribute('name',nombre);
	_capa.setAttribute('id',nombre);
	document.body.appendChild(_capa);

	// ----- Ajustamos par醡etros b醩icos
	_capa=document.getElementById(nombre);
	_capa.style.position='absolute';
	_capa.style.display='none';
}

function MA_MostrarCapa(nombre,visible,parametros,zona)
{
	nombre_capa=nombre;
	if(visible)	
	{
		/*
		if(!document.getElementById(nombre))
			MA_CrearCapa(nombre);
		
		$("#"+nombre).addClass("flora");		
		alto_=500;
		ancho_=660;
		
		// ----- Ficha de publicidad
		if(zona==1)
		{
			$("#"+nombre).attr("title",'Ficha de publicidad');
			alto_=750;
			ancho_=850;
			getFichaPublicidad(nombre,parametros);
		}
	
		// ---- Abrimos la capa			
		$('#'+nombre).show("slow");
		$('#'+nombre).dialog({minWidth:ancho_, minHeight:alto_ ,width:ancho_ ,height:alto_});		
		$('#'+nombre).dialog('open');
		*/
		
		_alto=750;
		_ancho=860;
		$('#'+nombre_capa).dialog(
		{ 
		    modal: true, 
			bgiframe:true,
			autoOpen:false,
		    overlay: 
		    { 
		        opacity: 0.5, 
		        background: "black" 
			},
			stack:true,
			closeOnEscape: true,
			title:'C&oacute;mo llegar',
			width:_ancho,
			height:_alto,
			minWidth:_ancho,
			minHeight:_alto
		});
		
		$('#'+nombre_capa).show('fast');
		getFichaPublicidad(nombre_capa,parametros);
		$('#'+nombre_capa).dialog("open");
	}
	else
	{
		/*
		// ----- Para centrar la capa.
	 	var _Info = new TInfo_Navegador();	
	 
		if(_Info.nombre.indexOf('Explorer')>0)
			document.getElementById(nombre).removeNode(true);
		else
			document.getElementById(nombre).style.display='none';
		*/
		
		$('#'+nombre_capa).dialog("close");
	}
}

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 MA_getHTMLCargando()
{
	return '<span class="texto_base" style="color:#999999;">&nbsp;&nbsp;Realizando operaciones. Por favor espere.&nbsp;<img class="tool_naranja" src="../images/loading_2.gif" title="Por favor espere ...." border="0" width="180"  align="absmiddle"></span>';
} 

function MA_getHTMLCargando()
{
	return '<span class="texto_base" style="color:#999999;">&nbsp;&nbsp;Realizando operaciones. Por favor espere.&nbsp;<img class="tool_naranja" src="'+ruta_raiz+'images/loading_2.gif" title="Por favor espere ...." border="0" width="180"  align="absmiddle"></span>';
} 

function CargarContenido(pestana,id_elemento,id_origen,id_idioma,nombre_capa)
{
	//alert(pestana+','+id_elemento+','+id_origen+','+id_idioma);
	if(nombre_capa=='')
		nombre_capa=capa_nombre;
	if(!id_idioma>0)
		id_idioma=0;
	
	// ---- Mostramos Cargando
	$('#'+nombre_capa).html(MA_getHTMLCargando());
	
	// ----- Llamamos al Ajax
	parametros="accion=1&pestana="+pestana+"&id_elemento="+id_elemento+"&id_idioma="+id_idioma+"&ruta_raiz="+ruta_raiz+"&id_origen="+id_origen;
	ruta_accion=ruta_raiz+"modulos/publicidad/lib/accion.ficha_publicidad.php";
	//alert(ruta_accion+ ' || '+parametros );
	$.post(ruta_accion,
			parametros,
			function(data, textStatus)
			{
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Han surgido problemas al efectuar las acciones demandadas. Cod. Error: '+resultado[1]);
					return false;
				} else
				{
					$('#'+nombre_capa).html(data);
					if(pestana==1)
						setEventosFicha(id_elemento,id_origen,id_idioma);
				}
			}
	); // Del Ajax Post
}

function setEventosFicha(id_elemento,id_origen,id_idioma)
{
	$('#btn_mapa_publicidad').click(function()
	{
		verRutaPublicidad(id_elemento,id_origen,id_idioma);
	});
}

function verRutaPublicidad(id_elemento,id_origen,id_idioma)
{
		//alert(id_elemento+' - '+id_origen+' - '+id_idioma);
		nombre_capa='capa_publicidad_mapa_'+id_elemento;
		_alto=760;
		_ancho=690;
		$('#'+nombre_capa).dialog(
		{ 
		    modal: true, 
			bgiframe:true,
			autoOpen:false,
		    overlay: 
		    { 
		        opacity: 0.5, 
		        background: "black" 
			},
			stack:true,
			closeOnEscape: true,
			title:'C&oacute;mo llegar',
			width:_ancho,
			height:_alto,
			minWidth:_ancho,
			minHeight:_alto
		});
		
		$('#'+nombre_capa).show('fast');
		CargarContenido(2,id_elemento,id_origen,id_idioma,nombre_capa);
		$('#'+nombre_capa).dialog("open");
}

var ruta_raiz='../../';
function verFichaPublicidad(id_elemento,id_origen,id_idioma)
{
	//includeCSSDialogJQuery();
	MA_MostrarCapa(capa_ficha_publicidad_nombre,true,'id_elemento='+id_elemento+'&id_idioma='+id_idioma+"&id_origen="+id_origen,1);
}

function getFichaPublicidad(nombre,parametros)
{
	$('#'+nombre).html(MA_getHTMLCargando());
	
	list_parametros=parametros.split('&');
	id_elemento=list_parametros[0].split('=');
	id_elemento=id_elemento[1];
	id_idioma=list_parametros[1].split('=');
	id_idioma=id_idioma[1];
	id_origen=list_parametros[2].split('=');
	id_origen=id_origen[1];
	
	parametros="accion=2&"+parametros+"&ruta_raiz="+ruta_raiz;
	//alert(parametros);
	$.post(ruta_raiz+"modulos/publicidad/lib/accion.ficha_publicidad.php",
				parametros,
				function(data, textStatus)
        		 {
					resultado=data.split('|');
					if(resultado[0]=='KO')
					{
						alert('Han surgido problemas al efectuar las acciones demandadas. Cod. Error: '+resultado[1]);
						return false;
					} else
					{
	       				$('#'+nombre).html(data);
						CargarContenido(1,id_elemento,id_origen,id_idioma);
					}
       			 }
   	);
}

/*
function includeCSSDialogJQuery()
{
	_css=document.createElement('link');
	_css.setAttribute('rel','stylesheet');
	_css.setAttribute('href',ruta_raiz+'lib/js/ui_jquery/themes/roller_naranja/jquery-ui-themeroller.css');
	_css.setAttribute('type','text/css');
	_css.setAttribute('media','screen');
	_css.setAttribute('title','Flora (Default)');
	document.body.appendChild(_css);
}
*/

function verBonoOferta(id_elemento,id_origen,id_idioma)
{
	nombre_capa='capa_bono_oferta_publi_fichacasa_'+id_elemento;
	_alto=250;
	_ancho=690;
	$('#'+nombre_capa).dialog(
	{ 
	    modal: true, 
	    overlay: 
	    { 
	        opacity: 0.5, 
	        background: "black" 
		},
		stack:true,
		title:'Bono Oferta',
		width:_ancho,
		height:_alto,
		minWidth:_ancho,
		minHeight:_alto
	});
	
	$('#'+nombre_capa).html(MA_getHTMLCargando());
	$('#'+nombre_capa).show('fast');
	$('#'+nombre_capa).dialog('open');
	
	parametros="accion=20&id_elemento="+id_elemento+"&id_origen="+id_origen+"&id_idioma="+id_idioma+"&ruta_raiz="+ruta_raiz;
	//alert(parametros);
	ruta_accion=ruta_raiz+"/intranet_admin/lib/accion.publi_lista.php";
	$.post(ruta_accion,parametros,
				function(data, textStatus)
        		 {
					resultado=data.split('|');
					if(resultado[0]=='KO')
					{
						alert('Han surgido problemas al efectuar las acciones demandadas. Cod. Error: '+resultado[1]);
						return false;
					} else
					{
	       				$('#'+nombre_capa).html(data);
					}
       			 }
   	);
}


// ----- Situar Recursos en el Mapa -----
var map_recursos_mapa_publi;
var icono_gm_RMP;
var icono_gm_2_RMP;
var point_RMP;
var marker_RMP;

function handleErrors_RMP()
{
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert("No se pudo encontrar una localizaci贸n geogr谩fica para la direcci贸n especificada.\nPuede que la direcci贸n es relativamente nueva, o puede que sea incorrecta.\nError: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	 alert("La consulta no puede ser realizada en este momento.\n Error: " + gdir.getStatus().code);
   
   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	 alert("Es posible que falte una direcci贸n para la consulta.\nCompru茅belo e int茅ntelo de nuevo.\n Error: " + gdir.getStatus().code);

   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	 alert("La clave no es v锟絣ida.\n Error: " + gdir.getStatus().code);

   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	 alert("La direcci锟絥 no puede ser interpretada correctamente.\nIntente otra forma para la misma.\n Error: " + gdir.getStatus().code);
	
   else alert("La ruta no puede ser calculada para los datos especificados.\nEs posible que la direcci贸n del alojamiento no sea del todo correcta. => "+gdir.getStatus().code);	   
}

function setRecursosEnMapa(datos)
{
	//alert(id_elemento+' - '+id_origen+' - '+id_idioma);
	Datos_mapa=datos.split('|');
	if(Datos_mapa.length==1)
		return false;
	
	nombre_capa=capa_mapa_situar_recursos_publi;
	_alto=650;
	_ancho=720;
	$('#'+nombre_capa).dialog(
	{ 
	    modal: true, 
		bgiframe:true,
		autoOpen:false,
	    overlay: 
	    { 
	        opacity: 0.5, 
	        background: "black" 
		},
		stack:true,
		closeOnEscape: true,
		title:'Recursos',
		width:_ancho,
		height:_alto,
		minWidth:_ancho,
		minHeight:_alto
	});
	
	$('#'+nombre_capa).show('fast');	
	$('#'+nombre_capa).dialog("open");
	//$('#'+nombre_capa).html(datos);
	
	if (GBrowserIsCompatible()) 
	{
		// ---- Mapa
		map_recursos_mapa_publi = new GMap2(document.getElementById(nombre_capa));
		map_recursos_mapa_publi.addControl(new GLargeMapControl());
		map_recursos_mapa_publi.addControl(new GMenuMapTypeControl()); 
		var MapaEsquina=new GOverviewMapControl(new GSize(200,150));
		map_recursos_mapa_publi.addControl(MapaEsquina);
		MapaEsquina.setMapType(G_HYBRID_MAP);
		
		// ----- Crea icono
		icono_gm_RMP = new GIcon(G_DEFAULT_ICON,"http://www.ruralgest.net/scr/modulos/mapas/images/casita.png");		
		icono_gm_RMP.iconSize=new GSize(32,32);
		icono_gm_RMP.shadow="http://www.ruralgest.net/scr/modulos/mapas/images/casita_s.png";
		icono_gm_RMP.shadowSize=new GSize(59,32);

		// ---- Crear icono destino
		icono_gm_2_RMP = new GIcon(G_DEFAULT_ICON, "http://www.ruralgest.net/scr/modulos/mapas/images/actividad_ico.png");
		icono_gm_2_RMP.iconSize=new GSize(32,32);
		icono_gm_2_RMP.shadow="http://www.ruralgest.net/scr/modulos/mapas/images/mm_20_shadow.png";
		icono_gm_2_RMP.shadowSize=new GSize(59,32);
		
		// ---- Puntos
		for(ind_chincheto=0;ind_chincheto<Datos_mapa.length;ind_chincheto++)
		{
			marker_RMP=null;
			punto_aux=Datos_mapa[ind_chincheto].split('_');
			//point_RMP = new GPoint (punto_aux[0],punto_aux[1]);
			point_RMP = new GLatLng(punto_aux[1],punto_aux[0]);
			
			// ----- Casa
			if(ind_chincheto==0)
			{
				centro_a=punto_aux[0];
				centro_b=punto_aux[1];
				marker_RMP = new GMarker(point_RMP,icono_gm_RMP);
			} else
			// ----- Recurso (Publicidad)
			{
				marker_RMP = new GMarker(point_RMP,icono_gm_2_RMP);
				marker_RMP.value=punto_aux[2];
				GEvent.addListener(marker_RMP, "click", function() 
				{
					getMiniFichaPublicidad(this);
			    }); 
			}
			map_recursos_mapa_publi.addOverlay(marker_RMP);
		}
		map_recursos_mapa_publi.setCenter(new GLatLng(centro_b,centro_a), 9);

	}

}

function getMiniFichaPublicidad(chincheo_implicado)
{
	parametros_elem=chincheo_implicado.value.split(',');
	parametros="accion=2&id_elemento="+parametros_elem[0]+"&id_idioma="+parametros_elem[2]+"&id_origen="+parametros_elem[1]+"&ficha_mini=1&ruta_raiz=../../";
	ruta_accion=ruta_raiz+"modulos/publicidad/lib/accion.ficha_publicidad.php";
	$.post(ruta_accion,parametros,
				function(data, textStatus)
        		 {
					resultado=data.split('|');
					if(resultado[0]=='KO')
					{
						alert('Han surgido problemas al efectuar las acciones demandadas. Cod. Error: '+resultado[1]);
						return false;
					} else
					{
						chincheo_implicado.openInfoWindowHtml(data);
					}
       			 }
   	);
	
}
