/********************************************/
//
//         用来在地图区创建工具栏
//
//		海南图语2006
//
/*********************************************/
var mypl = window.screen.availWidth;
mypl=1024-mypl
g_bToolBox = true;
var g_toolLeft = 290-mypl;
var g_toolTop = -40;

var g_toolNumber = 9;
var g_toolItemWidth = 55;
var g_toolItemHeight = 25;
var g_toolItemDiv = 2;
var g_toolTitleHeight = 19;
var g_toolBorder =0;

var g_toolBorderColor ="#FF0000";
var g_toolTitleColor = "SkyBlue";
var g_toolItemColor = "";  //工具底色
var g_toolItemOverColor = "#ffcc99";
var g_toolItemDownColor = "#ffcc99";
var g_checkToolItem = -1;

var g_InfoDivLeft = -1;
var g_InfoDivTop = -1;
var g_InfoDivWidth = 200;
var g_InfoDivHeight = 180;

var g_InfoDivLeft2 = -1;
var g_InfoDivTop2 = -1;
var g_InfoDivWidth2 = 190;
var g_InfoDivHeight2 = 130;

var g_AlertDivLeft = 0;
var g_AlertDivTop = 300;

var g_AlertDivWidth = 1000;
var g_AlertDivHeight = 25;

var g_AlertDivConLeft = 200;
var g_AlertDivConWidth = 0;

var g_toolItems = new Array();

function toolItemOver(k)
{
	if(Number(k) == g_checkToolItem)
		return false;
	var strTool = "toolItem" + String(k);
	var el = document.getElementById(strTool);
	el.style.backgroundColor = g_toolItemOverColor;
	return false;
}


function toolItemOut(k)
{
	if(Number(k) == g_checkToolItem)
		return false;
	var strTool = "toolItem" + String(k);
	var el = document.getElementById(strTool);
	el.style.backgroundColor = g_toolItemColor;
	return false;
}

function toolItemDown(k)
{
	var strTool = "toolItem" + String(k);
	var el = document.getElementById(strTool);
	el.style.backgroundColor = g_toolItemDownColor;
	return false;
}

function toolItemUp(k)
{
	var strTool = "toolItem" + String(k);
	var el = document.getElementById(strTool);
	
	var x = window.event.clientX;
	var y = window.event.clientY;
	var cx = x + document.body.scrollLeft;
	var cy = y + document.body.scrollTop;	
	var left = el.style.left;
	var right = left + el.style.width;
	var top = el.style.top;
	var bottom = top + el.style.height;
	
	if(Number(k) == g_checkToolItem)
		return false;
//	alert(g_checkToolItem);
	if(cx >= left && cx <= right && cy >= top && cy <= bottom)	
		el.style.backgroundColor = g_toolItemOverColor;
	else
		el.style.backgroundColor = g_toolItemColor;
	return false;
}

function checkToolItem(k)
{
	var strTool = "toolItem" + String(k);
	var el = document.getElementById(strTool);
	if(el != null)
	{
		el.style.backgroundColor = g_toolItemDownColor;
	}
	
	if(g_checkToolItem >= 0)
	{
		strTool = "toolItem" + String(g_checkToolItem);
		var elx = document.getElementById(strTool);
		if(elx != null)
			elx.style.backgroundColor = g_toolItemColor;
	}
	g_checkToolItem = k;
	return false;
}

function insertToolItem(left, top, width, height, imgSrc, nPos, cmd, strAlt)
{
	var strTool = "toolItem" + String(nPos);
	var strLayer = '<div onmouseup="return toolItemUp(' + String(nPos) + ');" onmousedown="' + String(cmd)  +'; return toolItemDown(' + String(nPos) + ');" onmouseout="return toolItemOut(' + String(nPos) + ');" onmouseover="return toolItemOver(' + String(nPos) + ');" id='
			 + strTool + ' style="visibility: visible; position:absolute; z-index:4; left: ' + String(left) + 'px; top: ' + String(top)
			+ 'px; width: ' + String(width) + 'px; BACKGROUND-COLOR: "' + g_toolItemColor  +  '"; height: ' + String(height) + 'px" language="javascript">';
	document.writeln(strLayer);
	if(imgSrc != "")
	{
		strLayer = '<input type=image alt=' + strAlt + ' src="' + imgSrc + '" align=center valign=center>';
		document.writeln(strLayer);
	}
	strLayer = "</div>";
	document.writeln(strLayer);
	var el = document.getElementById(strTool);
	el.style.backgroundColor = g_toolItemColor;
	el.style.cursor = "default";
	el.onfocus = retFalse;
}

function isInToolBox(x, y)
{
	if(!g_bToolBox)
		return false;
		
	var toolWidth = g_toolItemWidth * g_toolNumber +  (g_toolNumber - 1) * g_toolItemDiv + 2 * g_toolBorder;
	var toolHeight = g_toolItemHeight +  g_toolTitleHeight + 2 * g_toolBorder;
	if(x >= imgLeft + g_toolLeft && x <= imgLeft + g_toolLeft + toolWidth && y >= imgTop + g_toolTop && y <= imgTop + g_toolTop + toolHeight)
		return true;
	return false;
}




//*********************************************************************************************************************//


//*********************************************************************************************************************//


function fchanged()
{
	var map = parent.getMapFrame();
	if(Number(FloodOptions.value) == 9)
	{
		
		map.g_bShowConLayers = true;
		map.getFloodData();
		map.showFloodLayers(true);
     	map.showAlertDiv(true);
   
	}
	else
	{
		map.g_bShowConLayers = false;
		map.showFloodLayers(false);
		map.showAlertDiv(false);
	}	
		//g_bShowConLayers
	
	map.g_MastShowFea = Number(FloodOptions.value);
	map.loadImage();
}

//---------------------------------------------------------------------------------------------------------------------------------

function setZoomin()
{
   if (a<9)
   {
   a=a+1
   } 
   
   //----------------------------------------------------------
   	var zVal = Number(a);
	var dScale = -1;
	switch(zVal)
	{
	case 1:
		dScale = -1;
		break;
	case 2:
		dScale = 0.017;
		break;
	case 3:
		dScale = 0.029;
		break;
	case 4:
		dScale = 0.049;
		break;
	case 5:
		dScale = 0.084;
		break;
	case 6:
		dScale = 0.142;
		break;
	case 7:
		dScale = 0.241;
		break;
	case 8:
		dScale = 0.41;
		break;
	case 9:
		dScale = 0.65;
		break;
	}
	//var map = parent.getMapFrame();
	if(dScale < 0)
		fitAll();
	else
	{
		dScale -= 0.002;
		zoomTo(dScale);
		var dScale =getScale();
	}
   
   //-------------------------------------------------------------
 

}


//----------------------------------------------------------------------
function setZoomout()
{
   if (a<9)
   {
   a=a+1
   } 
   
   //----------------------------------------------------------
   	var zVal = Number(a);
	var dScale = -1;
	switch(zVal)
	{
	case 9:
		dScale = -1;
		break;
	case 8:
		dScale = 0.017;
		break;
	case 7:
		dScale = 0.029;
		break;
	case 9:
		dScale = 0.049;
		break;
	case 5:
		dScale = 0.084;
		break;
	case 4:
		dScale = 0.142;
		break;
	case 3:
		dScale = 0.241;
		break;
	case 2:
		dScale = 0.41;
		break;
	case 1:
		dScale = 0.65;
		break;
	}
	//var map = parent.getMapFrame();
	if(dScale < 0)
		fitAll();
	else
	{
		dScale -= 0.002;
		zoomTo(dScale);
		var dScale =getScale();
	}
   
   //-------------------------------------------------------------
 

}
//-----------------------------------------------------------------------


var g_mapScale = 1;

function checkScale()
{
	//var map = parent.getMapFrame();
	if(map.g_loaded)
	{
		var dScale = getScale();
		if(dScale != g_mapScale)
		{
			if(dScale < 0.01) //1
			{
				formZoom.zoomClass.selectedIndex = 0;
			}
			else if(dScale >= 0.01 && dScale <  0.017) //2
			{
				formZoom.zoomClass.selectedIndex = 1;
			}
			else if(dScale >= 0.017 && dScale <  0.029) //3
			{
				formZoom.zoomClass.selectedIndex = 2;
			}
			else if(dScale >= 0.029 && dScale <  0.049) //4
			{
				formZoom.zoomClass.selectedIndex = 3;
			}
			else if(dScale >= 0.049 && dScale <  0.084) //5
			{
				formZoom.zoomClass.selectedIndex = 4;
			}
			else if(dScale >= 0.084 && dScale <  0.142) //6
			{
				formZoom.zoomClass.selectedIndex = 5;
			}
			else if(dScale >= 0.142 && dScale <  0.241) //7
			{
				formZoom.zoomClass.selectedIndex = 6;
			}
			else if(dScale >= 0.241 && dScale <  0.41) //8
			{
				formZoom.zoomClass.selectedIndex = 7;
			}
			else if(dScale >= 0.41) //9
			{
				formZoom.zoomClass.selectedIndex = 8;
			}
		}
		g_mapScale = dScale;
	}
	window.setTimeout('checkScale()', 300);
}

///////////////地图大小控制工具/////////////////////////////////////////////////////////
function setZoom(bigcon)
{
	var zVal = bigcon;
	var dScale = -1;
	switch(zVal)
	{
	case 1:
		dScale = -1;
		break;
	case 2:
		dScale = 0.004761905;
		break;
	case 3:
		dScale = 0.00952381;
		break;
	case 4:
		dScale = 0.018867925;
		break;
	case 5:
		dScale = 0.037037037;
		break;
	case 6:
		dScale = 0.071428571;
		break;
	case 7:
		dScale =0.142857143;
		break;
	case 8:
		dScale = 0.20;
		break;
	case 9:
		dScale = 0.5;
	case 10:
		dScale = 1;
		break;
	}
	var map = parent.getMapFrame();
	if(dScale < 0)
		map.fitAll();
	else
	{
		dScale -= 0.002;
		map.zoomTo(dScale);
		var dScale = map.getScale();
	}
}



function viewcontrolbig()
{
   
	var dw = imgWidth /2;
	var dh = imgHeight / 2;

	mapGroup.releaseCapture();
	var nLeft = dw;
	var nRight = dw;
	var nTop = dh;
	var nBottom =dh;
	
	if(nRight - nLeft < 10 && nBottom - nTop < 10)
	{
		var xx = (nRight + nLeft) / 2;
		var yy = (nBottom + nTop) / 2;
		var dx = tranClient2GeoX(xx);
		var dy = tranClient2GeoY(yy);
		var dW = Math.abs(g_curRight - g_curLeft) / 4;
		var dH = Math.abs(g_curBottom - g_curTop) / 4;
		g_curLeft = dx - dW;
		g_curRight = dx + dW;
		g_curTop = dy - dH;
		g_curBottom = dy + dH;
	}
	else
	{
		var dx1 = tranClient2GeoX(nLeft);
		var dy1 = tranClient2GeoY(nTop);

		var ds1, ds2, ds;

		ds1 = (nRight - nLeft) / imgWidth;
		ds2 = (nBottom - nTop) / imgHeight;	

		ds = Math.max(ds1, ds2);

		if(ds1 > ds2)
		{
			g_curRight = tranClient2GeoX(nRight);			
			g_curBottom = tranClient2GeoY(nTop + ((nBottom - nTop)*ds1/ds2));
		}
		else
		{
			g_curRight = tranClient2GeoX(nLeft + ((nRight - nLeft)*ds2/ds1));
			g_curBottom = tranClient2GeoY(nBottom);
		}
	
		g_curLeft = dx1;
		g_curTop = dy1;
	}
	checkMapPosition();
	loadImage();
}

function viewcontrolsmall()
{
	var cx=imgWidth /2
	var cy=imgHeight / 2
    var dScale = getScale();
	var offX = imgWidth / dScale;
	var offY = imgHeight / dScale;
	
	var dx = tranClient2GeoX(cx);
	var dy = tranClient2GeoY(cy);
	
	g_curLeft = dx - offX;
	g_curRight = dx + offX;
	g_curTop = dy - offY;
	g_curBottom = dy + offY;
	checkMapPosition();
	loadImage();

}

//////////////////////////////////////////////////////////////////////////////////////////////



