var ie5 = (document.getElementById && document.all);
var ns6 = (document.getElementById && !document.all);
var saf;
if ((navigator.userAgent.toLowerCase().indexOf("safari")) >= 0)
{
	saf=true;
	ns6=false;
}
else
	saf=false;
var mode;
var mode_pan;
var mode_zoom_out;

function setZoomSlider(scale)
{
	var the_marker;
	var width=107;
	var marker_width=12;

	var marker_value = 0;


	the_marker = document.getElementById("zoomMarker");
	marker_value = parseInt((1.0 - scale) * width - marker_width/2);

	if (marker_value < 0)
	{
		marker_value = 2;
	}
	else if (marker_value > (width-marker_width))
	{
		marker_value = width-marker_width;
	}

	the_marker.style.marginLeft = marker_value.toString()+'px';

	return;
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}



var ie5_Scroll_Top_Pos = 0;
function rbtrackMouse(e){
	ie5_Scroll_Top_Pos = document.documentElement.scrollTop ?  document.documentElement.scrollTop : document.body.scrollTop;

    Xpos= (ie5)?window.document.body.scrollLeft+event.clientX:(ns6)?clientX=e.clientX+window.pageXOffset:(saf)?clientX=e.clientX:false;
    //Ypos= (ie5)?window.document.body.scrollTop+event.clientY:(ns6)?clientY=e.clientY+window.pageYOffset:(saf)?clientY=e.clientY:false;

    Ypos= (ie5)?ie5_Scroll_Top_Pos+event.clientY:(ns6)?clientY=e.clientY+window.pageYOffset:(saf)?clientY=e.clientY+window.pageYOffset:false;


}
function rbdownMouse(){


	mode = document.getElementById("formu").zoommode[0].checked;
	//mode_pan = document.getElementById("formu").zoommode[2].checked;
	mode_zoom_out = document.getElementById("formu").zoommode[1].checked;

	if (!mode && mode_zoom_out)
		mode_zoom_out = true;
	
	offsetX = findPosX(document.getElementById("plano"));
	offsetY = findPosY(document.getElementById("plano"));
	tempX = Xpos-offsetX;
	tempY = Ypos-offsetY;
//alert("tempY"+tempY+" scrollTop"+ie5_Scroll_Top_Pos+" clientY"+event.clientY+" offsetY: "+offsetY);
	ix = Xpos-(document.getElementById("tabla").offsetLeft+2) - 174;
	iy = Ypos-(document.getElementById("tabla").offsetTop+2) - 15;
	if (ix<0) return true;
	if (iy<0) return true;

	document.getElementById("plano").getAttribute('x1').value=tempX;
	document.getElementById("plano").getAttribute('y1').value=tempY;
	x1=Xpos;y1=Ypos;
	Xstart = x1;
	Ystart = y1;
	down=1;

	var zoommode = "zoom";

        window.status = "upMouse";
	if (down == 1){
	document.getElementById("plano").getAttribute('x2').value=Xpos-document.getElementById("plano").offsetLeft;
	document.getElementById("plano").getAttribute('y2').value=Ypos-document.getElementById("plano").offsetTop;
	x2=Xpos;y2=Ypos;
	down=0;
	
	width = Xpos-x1;
	height = Ypos-y1;
	ix = (Xpos-(offsetX) - xMin)-(width/2);
	iy = (Ypos-(offsetY) - yMin)-(height/2);
        window.status = "box width="+ width + " height=" + height + " centerX="+ ix +" centerY="+iy;
	if (mode_pan)
	{
		newScale = rboldscale;
		zoommode = "pan";
	}
	else if (mode_zoom_out)
	{
		newScale = rboldscale + 0.25;
		if (newScale > 1.00)
			newScale = 1.00;
		zoommode = "out";
	}
	else
	{
		if (width>height)
			{
			newScale = rboldscale*width/460;
			}
		else
			{
			newScale = rboldscale*height/460;
			}
	}


	if (newScale < 0.125)
		newScale = 0.125;

	if (((width<5)&&(height<5)) || (mode_pan || mode_zoom_out))
		{
		gotoURL = rbactionprefix+"?zoommode="+zoommode+"&num="+rbnum+"&delay="+rbdelay+"&scale="+rboldscale+"&noclutter="+rbnoclutter+"&ID="+rbID+"&type="+rbtype+"&lat="+rblat+"&lon="+rblon+"&label="+rblabel+"&showstorms="+rbshowstorms+"&map.x="+(ix+xMin)+"&map.y="+(iy+yMin)+"&centerx="+rbcenterx+"&centery="+rbcentery+"&lightning="+rblightning+"&showlabels="+rbshowlabels+"&rainsnow="+rbrainsnow;	
		}
	else
		{
		gotoURL = rbactionprefix+"?zoommode="+zoommode+"&num="+rbnum+"&delay="+rbdelay+"&rbscale="+newScale+"&scale="+rboldscale+"&noclutter="+rbnoclutter+"&ID="+rbID+"&type="+rbtype+"&lat="+rblat+"&lon="+rblon+"&label="+rblabel+"&showstorms="+rbshowstorms+"&map.x="+(ix+xMin)+"&map.y="+(iy+yMin)+"&centerx="+rbcenterx+"&centery="+rbcentery+"&lightning="+rblightning+"&showlabels="+rbshowlabels+"&rainsnow="+rbrainsnow;
		}

	location.href=gotoURL;
	}
}

function zoomSliderDo(zoom_in,map_x,map_y)
{
	var zoommode = "zoom";

	if (zoom_in==1)
	{
		newScale = rboldscale - 0.25;
		if (newScale < 0.125)
			newScale = 0.125;
	}
	else 
	{
		newScale = rboldscale + 0.25;
		if (newScale > 1.00)
			newScale = 1.00;

		zoommode="out";
	}


	gotoURL = rbactionprefix+"?zoommode="+zoommode+"&num="+rbnum+"&delay="+rbdelay+"&scale="+rboldscale+"&noclutter="+rbnoclutter+"&ID="+rbID+"&type="+rbtype+"&lat="+rblat+"&lon="+rblon+"&label="+rblabel+"&showstorms="+rbshowstorms+"&map.x="+map_x+"&map.y="+map_y+"&centerx="+rbcenterx+"&centery="+rbcentery+"&lightning="+rblightning+"&showlabels="+rbshowlabels+"&rainsnow="+rbrainsnow;	

	location.href=gotoURL;
}

function init(){ 
	down=0;x1=y1=x2=y2=0;yMin=10;yMax=460;xMin=169;xMax=460;offsetX=offsetY=0;
}

function zoomin(p){
if ( x1==0 && x2==0 && y1==0 && y2==0 )
	{
	return true;
	}
p.value="GO";
latS=document.getElementById("lat1").value;
latN=document.getElementById("lat2").value;
lonW=document.getElementById("lon1").value;
lonE=document.getElementById("lon2").value;
dlat=(latN-latS);
dlon=(lonE-lonW);
vsize=document.getElementById("plano").height-18-26;
hsize=document.getElementById("plano").width-70-6;
ofx=(document.getElementById("tabla").offsetLeft+2);
ofy=(document.getElementById("tabla").offsetTop+2);
dx=x2-x1;
dy=y2-y1;
if ( dx > dy ) {
	dy2=dx*vsize/hsize;
	y1=y1-(dy2-dy)/2;
	y2=y2+(dy2-dy)/2;
	}
else {
	dx2=dy*hsize/vsize; 
	x1=x1-(dx2-dx)/2;
	x2=x2+(dx2-dx)/2;
	}
lat2=latN-(y1-ofy-18)*dlat/vsize;
lat1=latN-(y2-ofy-18)*dlat/vsize;
lon1=(lonW-0)+(x1-ofx-70)*dlon/hsize;
lon2=(lonW-0)+(x2-ofx-70)*dlon/hsize;
document.getElementById("lat1").value=lat1;
document.getElementById("lat2").value=lat2;
document.getElementById("lon1").value=lon1;
document.getElementById("lon2").value=lon2;
}

document.onload=init();
document.onmousemove= rbtrackMouse;

