// -----------------------------------------------------------------------------------------------
//	Archivo: mendikat.js
//	Tipo   : Javascript
//	Autor  : Javi Urrutia
//	Versión: 3.0
// -----------------------------------------------------------------------------------------------

// Precarga de Imágenes para el Buzón
buzon=new Image();
buzon.src="images/buzon.gif";
buzonAbierto=new Image();
buzonAbierto.src="images/buzonAbierto.gif";

// Ventanas Emergentes para Mapas y Fotos
var ventana;
var cont=0;

// Posición del tooltip relativa al puntero del ratón
var offsetx = 12;
var offsety =  8;

// Crea un nuevo elemento div --- usando DOM ---
function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 

// Obtiene las coordenadas del ratón según el navegador
var mouse=new Object();
var ie = (document.getElementById && document.all); 
var ns = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isopera = (ua.indexOf('opera') != -1 ? 1 : 0); if (isopera) ns=true; // Trata Opera como Netscape
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);

function getmouseposition(e)
{
    if(document.getElementById)
    {
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie)?iebody.scrollTop:window.pageYOffset);
        mousex = (ie)?event.x:(ns)?clientX = e.clientX:false;
        mousey = (ie)?event.y:(ns)?clientY = e.clientY:false;

        var lixlpixel_tooltip = document.getElementById('tooltip');
        lixlpixel_tooltip.style.left = (mousex+pagex+offsetx) + 'px';
        lixlpixel_tooltip.style.top = (mousey+pagey+offsety) + 'px';
		
		mouse.x=mousex+pagex;
		mouse.y=mousey+pagey;
    }
}

// Abre una ventana emergente para mostrar un mapa
function openMap(mapa,usuario) {

  if (usuario=='Anónimo') {
    window.location='error.php?codigo=11';
    return false;
  }
  
  if(cont==1){
    ventana.close();
    ventana=null;
  }
  ventana=window.open(mapa,'mapaMonte','resizable=no,status=no,scrollbars=no,top=20,left=20,width=520,height=426')
  // No contar el número de ventanas abiertas en Opera
  if (navigator.appName=="Opera") return;
  cont++;
}

// Abre una ventana emenrgenet mostrando una foto
function popUpFoto(cual,titulo,autor,texto,tamano,fecha,ancho,alto) {
  
  if(cont==1){
    ventana.close();
    ventana=null;
  }
  if(titulo==null){
   titulo="Sin Título";
  }
  ventana=window.open('','ventana','resizable=no,scrollbars=no')
  ventana.document.write('<html>');
  ventana.document.write('<head>');
  ventana.document.write('<LINK REL="StyleSheet" HREF="themes/subSystemGreen/style/style.css" TYPE="text/css">');
  ventana.document.write('<title>' + titulo + '</title></head>');
  ventana.document.write('<body bgcolor="#848E5C" text="#000000" style="overflow:hidden;" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0">');
  ventana.document.write('<table border="0">');
  ventana.document.write('<tr><td colspan="2"><img id="foto" width="'+ancho+'" height="'+alto+'" src="' + cual + '" onLoad="opener.resizeWindow(this.width, this.height)"/></td></tr>')
  ventana.document.write('<tr><td><img align="absmiddle" src="images/camera.gif"/> <span style="color:#009933"><strong>'+autor+'</strong></span> <span style="color:#660000">'+fecha+'</span></td><td align="right"><span style="color:#009933">'+ancho+'x'+alto+'</span><span style="color:#660000"> [ '+tamano+' Kb. ]</span></td></tr>');
  ventana.document.write('<tr><td>'+texto+'</td></tr>');
  ventana.document.write('</table></body>')
  ventana.document.write('</html>')
  ventana.document.close()
  // No contar el número de ventanas abiertas en Opera
  if (navigator.appName=="Opera") return;
  cont++;
}

// Redimensiona la ventana del navegador
function resizeWindow(ancho,alto) { 
  // Redimensiona la ventana en función del Navegador Utilizado
  if (ie)
  	ventana.resizeTo(ancho+16,alto+120);
  else
  	ventana.resizeTo(ancho+16,alto+90);  
  // Centra la ventana	
  ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2);
}

// Obtiene coordenada X de un objeto
function getOffsetLeft (el) {
  var ol = el.offsetLeft;
  while ((el = el.offsetParent) != null)
    ol += el.offsetLeft;
  return ol;
}

// Obtiene coordenada Y de un objeto
function getOffsetTop (el) {
  var ot = el.offsetTop;
  while((el = el.offsetParent) != null)
   ot += el.offsetTop;
  return ot;
}

// ----------------------------------------------------------------------------------------------
// Medir Distancias sobre la Imagen
// ----------------------------------------------------------------------------------------------

// Muestra coordenadas sobre la Imagen
function mostrarCoordenadas(objectX,objectY)
{
	// Obtención de la posición de la imagen
	var imagenx=getOffsetLeft(mapa)-(ns?2:0);
	var imageny=getOffsetTop(mapa)-(ns?3:0);
	// Obtención de las coordenadas del ratón relativas a la imagen
	var mouseImageX=mouse.x-imagenx;
	var mouseImageY=mouse.y-imageny;
	var scale=28;	
	var distancia=Math.round(scale*Math.sqrt(Math.pow((mouseImageX-objectX),2)+Math.pow((mouseImageY-objectY),2)))/1000;
	var text=" Dist. : "+(distancia.toString()).replace(".",",")+" Km.";
	
	window.status=text; 
	
	if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML =text;
    lixlpixel_tooltip.style.display = 'block';
	lixlpixel_tooltip.style.background='#FFEE11';
    document.onmousemove = getmouseposition;
	
}

// Oculta coordenadas sobre la Imagen
function ocultarCoordenadas()
{
  	window.status="Listo";
	document.getElementById('tooltip').style.display = 'none';
}

// ----------------------------------------------------------------------------------------------
// Medir Coordenadas UTM sobre la Imagen
// ----------------------------------------------------------------------------------------------

// Muestra coordenadas UTM sobre la Imagen
function mostrarCoordenadasUTM(datum,zona,utmX,utmY,umtX2,utmY2,ancho,alto)
{
	// Obtención de la posición de la imagen
	var imagenx=getOffsetLeft(mapa)-(ns?2:0);
	var imageny=getOffsetTop(mapa)-(ns?3:0);
	// Obtención de las coordenadas del ratón relativas a la imagen
	var mouseImageX=mouse.x-imagenx;
	var mouseImageY=mouse.y-imageny;
	
	var x=Math.round(utmX+((mouseImageX-10)/ancho)*(umtX2-utmX));
	var y=Math.round(utmY+((mouseImageY-10)/alto)*(utmY2-utmY));
	var text=datum+" "+zona+" "+x+" "+y;
	
	window.status=text; 
	
	if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML =text;
    lixlpixel_tooltip.style.display = 'block';
	lixlpixel_tooltip.style.background='#FFEE11';
    document.onmousemove = getmouseposition;
	
}

// Expandir y contraer elemento
function expand(txt, msg) {
  var exp_con = document.getElementById(txt);
  var text = document.getElementById(msg);
  if (exp_con.style.overflow == "auto") {
    exp_con.style.overflow = "visible";
	exp_con.style.height = "auto";
	text.innerHTML = "Contraer&nbsp;&nbsp;<img border='0' src='images/menos.gif' align='absmiddle'/>";
  }
  else {
    exp_con.style.overflow = "auto";
	exp_con.style.height = "180px";
	text.innerHTML = "Expandir&nbsp;<img border='0' src='images/mas.gif' align='absmiddle'/>";
  }
}

