function UTMtoLL(UTM_N, UTM_E, UTMZone )
{var deg2rad = Math.PI / 180;
var rad2deg = 180.0 / Math.PI;
var k0 = 0.9996;
var a = 6378206;
var eccSquared = 0.006768658;
var eccPrimeSquared;
var e1 = (1-Math.sqrt(1-eccSquared))/(1+Math.sqrt(1-eccSquared));
var N1, T1, C1, R1, D, M, LongOrigin, mu, phi1, phi1Rad, x, y, ZoneNumber;
x = UTM_E - 500000.0; 
y = UTM_N - 10000000.0;
ZoneNumber = UTMZone;
LongOrigin = (ZoneNumber - 1)*6 - 180 + 3;
eccPrimeSquared = (eccSquared)/(1-eccSquared);
M = y / k0;
mu = M/(a*(1-eccSquared/4-3*eccSquared*eccSquared/64-5*eccSquared*eccSquared*eccSquared/256));
phi1Rad = mu+ (3*e1/2-27*e1*e1*e1/32)*Math.sin(2*mu) + (21*e1*e1/16-55*e1*e1*e1*e1/32)*Math.sin(4*mu)
			+(151*e1*e1*e1/96)*Math.sin(6*mu);
phi1 = phi1Rad*rad2deg;
N1 = a/Math.sqrt(1-eccSquared*Math.sin(phi1Rad)*Math.sin(phi1Rad));
T1 = Math.tan(phi1Rad)*Math.tan(phi1Rad);
C1 = eccPrimeSquared*Math.cos(phi1Rad)*Math.cos(phi1Rad);
R1 = a*(1-eccSquared)/Math.pow(1-eccSquared*Math.sin(phi1Rad)*Math.sin(phi1Rad), 1.5);
D = x/(N1*k0);
Lat = phi1Rad - (N1*Math.tan(phi1Rad)/R1)*(D*D/2-(5+3*T1+10*C1-4*C1*C1-9*eccPrimeSquared)*D*D*D*D/24
			+(61+90*T1+298*C1+45*T1*T1-252*eccPrimeSquared-3*C1*C1)*D*D*D*D*D*D/720);
Lat = Lat * rad2deg;
LatS = formatDeg (Lat) + "N";
Long = (D-(1+2*T1+C1)*D*D*D/6+(5-2*C1+28*T1-3*C1*C1+8*eccPrimeSquared+24*T1*T1)
			*D*D*D*D*D/120)/Math.cos(phi1Rad);
Long = LongOrigin + Long * rad2deg;
LongS = formatDeg (Long) + "W";}

function formatDeg (deg, flagDecimalDeg){
var	degS, degInt, degDec;
degDec = Math.abs (Math.round (deg * 10000) / 10000);
degInt = Math.floor (degDec);
degDec -= degInt;
if (flagDecimalDeg){
var degDecS, padStr;
padStr = "0000";
degDecS = (Math.round (degDec * 10000)).toString ();
degDecS = padStr.substr (0, 4 - degDecS.length) + degDecS;
degS = degInt + "." + degDecS + "°";}
else{
var degMin, degSec;
degMin = degDec * 60;
degSec = Math.round ((degMin - Math.floor (degMin)) * 60);
degMin = Math.floor (degMin);
if (degSec == 60){
	degSec = 0; degMin += 1;
	if (degMin == 60){
		degMin = 0; degInt += 1;}
}if (degMin.toString ().length == 1) degMin = "0" + degMin;
if (degSec.toString ().length == 1) degSec = "0" + degSec;		
degS = degInt + "° " + degMin + "\' " + degSec + "\"";
}
return degS;}

function aspear(){
var iOpt=document.frmG.cmbS.selectedIndex;
if (""+document.frmG.cmbS[iOpt].text !="- Seleccione para Identificar -"){
S_Rt()
S_I(""+document.frmG.cmbS[iOpt].value,'aspa.gif')
hide();
if(iOpt<139){
  tip(document.frmG.cmbS[iOpt].text,x_[iOpt],y_[iOpt]);
  }else{
  tip(document.frmG.cmbS[iOpt].text,100,100);
  }
 }
}

function tip(msg,xev,yev){
var content='<TABLE style="BORDER-WIDTH:'+border+'px; BORDER-BOTTOM-COLOR:'+bordercolor+'; BORDER-BOTTOM-STYLE:'+borderstyle+'; BORDER-LEFT-COLOR:'+bordercolor+'; BORDER-LEFT-STYLE:'+borderstyle+'; BORDER-RIGHT-COLOR:'+bordercolor+'; BORDER-RIGHT-STYLE:'+borderstyle+'; BORDER-TOP-STYLE:'+borderstyle+'; BORDER-TOP-COLOR:'+bordercolor+';" CELLPADDING='+padding+' CELLSPACING=0 '+
'BGCOLOR='+bgcolor+' align="center"><TD ALIGN=center>'+fonttagl+msg+fonttagr+'</FONT></TD></TABLE>';
if(Oldbrowser)
{
alert(msg);
return;
} 
else
{
if(Netscape)
{
 QObj.left=xev;
 QObj.top=yev+16;
 QObj.document.write(content);
 QObj.document.close();
 QObj.visibility="visible"
 }
 if(IE)
 {
 QObj.left=xev;
 QObj.top=yev+16
 document.all("tooltip").innerHTML=content;
 QObj.visibility="visible"
  }
 }
}

function hide(){
if(!Oldbrowser)QObj.visibility="hidden";
}

function mousemove(e){
var xabso, yabso,xUT, yUT;
if (ns4) {var wX=e.pageX; var wY=e.pageY}
if (ie4) {var wX=event.x; var wY=event.y}
//if ((wX>=19)&&(wX<572)&&(wY>=18)&&(wY<471)){
if ((wX>=17)&&(wX<572)&&(wY>=55)&&(wY<471)){
xabso = Math.round (250494 + xOrig * 1104 + yOrig * 80-300);
yabso = Math.round (8643296 + yOrig * 904);
xUT = xabso + wX*2;
yUT = yabso + (452-wY)*2;
if (vUT)status ="El cursor indica UTM (x = "+ xUT.toString () +", y = "+ yUT.toString () +", Zona =18)";
if (vGR){
UTMtoLL (yUT, xUT, 18);
status = "El cursor indica " + formatDeg (Lat, true) + "S, " + formatDeg (Long, true)+"W";}
if (vGM) {
UTMtoLL (yUT, xUT, 18);
status = "El cursor indica "+ formatDeg (Lat, false) + "S, " + formatDeg (Long, false)+"W";}
}
}

function S_Rt(){
var i,x,a=document.M_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function P_L(){
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=P_L.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function FObj(n, d){
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=FObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function S_I(){
var i,j=0,x,a=S_I.arguments; document.M_sr=new Array; for(i=0;i<(a.length-1);i+=3)
if ((x=FObj(a[i]))!=null)
{ document.M_sr[j++]=x;
if(!x.oSrc) x.oSrc=x.src; x.src=a[i+1]; }
}
function S_H(){ayuda.style.visibility="visible";
return true;}
function O_H(){ayuda.style.visibility="hidden";
return true;}

function init(){
if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=mousemove;
if (document.frmxy.R1(0).checked == true){
  vUT = true;
  vGR = false;
  vGM = false;}
if (document.frmxy.R1(1).checked == true){
  vGR = true;
  vUT = false;
  vGM = false;}
if (document.frmxy.R1(2).checked == true){
  vGM = true;
  vUT = false;
  vGR = false;}
}

function MarcaT(){
  document.Temas.C_1.checked = true;
  document.Temas.C_2.checked = true;
  document.Temas.C_3.checked = true;
  document.Temas.C_4.checked = true;
  document.Temas.C_5.checked = true;
  document.Temas.C_6.checked = true;
  document.Temas.C_7.checked = true;
//  document.Temas.C_8.checked = true
  document.Temas.C_9.checked = true;
  document.Temas.C_10.checked = true;
  document.Temas.C_11.checked = true;
  document.Temas.C_12.checked = true;
  document.Temas.C_13.checked = true;
  document.Temas.C_14.checked = true;
  document.Temas.C_15.checked = true;
//  document.Temas.C_16.checked = true;
  document.Temas.C_17.checked = true;
  document.Temas.C_18.checked = true;
  document.Temas.C_19.checked = true;
}

function DesMarcaT(){
  document.Temas.C_1.checked = false;
  document.Temas.C_2.checked = false;
  document.Temas.C_3.checked = false;
  document.Temas.C_4.checked = false;
  document.Temas.C_5.checked = false;
  document.Temas.C_6.checked = false;
  document.Temas.C_7.checked = false;
//  document.Temas.C_8.checked = false
  document.Temas.C_9.checked = false;
  document.Temas.C_10.checked = false;
  document.Temas.C_11.checked = false;
  document.Temas.C_12.checked = false;
  document.Temas.C_13.checked = false;
  document.Temas.C_14.checked = false;
  document.Temas.C_15.checked = false;
//  document.Temas.C_16.checked = false;
  document.Temas.C_17.checked = false;
  document.Temas.C_18.checked = false;
  document.Temas.C_19.checked = false;
}

function ShowMenu() {
	
	if(	document.all.Layer1.style.visibility == "hidden") {
		document.all.Layer1.style.top = event.clientY-10;
		document.all.Layer1.style.left = event.clientX-10;
		document.all.Layer1.style.visibility = "visible";
		return false;
	}
	else {
		if((event.clientX >= document.all.Layer1.style.left && event.clientX <= (document.all.Layer1.style.left + document.all.Layer1.style.width)) && (event.clientY >= document.all.Layer1.style.top && event.clientY <= (document.all.Layer1.style.top + document.all.Layer1.style.height))) {
			return false;
		}
		else {
			HideMenu();
			return false;
		}
	}
}

function HideMenu() {
	document.all.Layer1.style.visibility = "hidden";
}

function error_img(){
	window.onerror=null;
	img1.src="blanco.gif";
	alert("Esta area no esta cubierta. Pulse boton 'Alejar'");
	javascript:history.back();
}
