﻿function $get(id){return document.getElementById(id)}

function infobox_minimize(){    
	var infoarea = $get("divInfoArea");
	infoarea.style.display = "none";
	var infominimized = $get("hiddenInfoMinimized");
	infominimized.value = "true";
	var infomaximize = $get("divInfoMaximize");
	infomaximize.style.display = "block";
	var maparea = $get("divMapArea");
	infomaximize.style.top = (maparea.offsetHeight - infomaximize.offsetHeight) +"px";
}
function infobox_maximize(){    
	var infoarea = $get("divInfoArea");
	infoarea.style.display = "block";
	var infominimized = $get("hiddenInfoMinimized");
	infominimized.value = "false";
	var infomaximize = $get("divInfoMaximize");
	infomaximize.style.display = "none";
}

function controls_init(){
	var printarea = $get("divPrint");
	var maparea = $get("divMapArea");
	var searcharea = $get("divSearchArea");
	var locatorarea = $get("divLocatorResultArea");
	var zoompanarea = $get("divZoomPanArea");
	var infoarea = $get("divInfoArea");
	var infominimized = $get("hiddenInfoMinimized");
	var infomaximize = $get("divInfoMaximize");
	var logoarea = $get("divLogoArea");
	var topmenuarea = $get("divTopMenuArea");
	var layerselectorarea = $get("divLayerSelectorArea");
	var printbutton = $get("btnPrint");
	var zoomarea = $get("ZoomBar");
	if (zoomarea != null)
		zoomarea = zoomarea.getElementsByTagName("div")[0];
	
	if(logoarea != null){
		if(topmenuarea != null){
			if(logoarea != null && logoarea.offsetWidth > 0)
				topmenuarea.style.left = (logoarea.offsetLeft + logoarea.offsetWidth -1) + "px";
			var topmenuwidth = 500;
			if(zoompanarea != null){
				topmenuwidth = zoompanarea.offsetLeft + zoompanarea.offsetWidth;
			}
			if(searcharea != null){
				topmenuwidth = searcharea.offsetLeft + searcharea.offsetWidth;
			}
			if(printbutton != null){
				topmenuwidth = printbutton.offsetLeft + printbutton.offsetWidth;
			}
			topmenuarea.style.width = topmenuwidth + "px";
		}
		if(locatorarea != null){
			locatorarea.style.top = (topmenuarea.offsetTop + topmenuarea.offsetHeight - 2) + "px";
			locatorarea.style.left = searcharea.offsetLeft -1 + "px";
			locatorarea.style.width = searcharea.offsetWidth + "px";
		}
		if(infoarea != null){
			if(topmenuarea != null){
				if(logoarea != null && logoarea.offsetHeight > topmenuarea.offsetHeight)
					infoarea.style.top = (logoarea.offsetTop + logoarea.offsetHeight + 2) + "px";
				else
					infoarea.style.top = (topmenuarea.offsetTop + topmenuarea.offsetHeight + 2) + "px";
			}
			else
				infoarea.style.top = "0px"
			if(infominimized.value == "true"){          
				infoarea.style.display = "none";
				infomaximize.style.display = "block";
				infomaximize.style.top = (maparea.offsetHeight - infomaximize.offsetHeight) +"px";
			}
			else if(infominimized.value == "false"){
				infoarea.style.display = "block";
				infomaximize.style.display = "none";
			}
		}
	}
	if(zoomarea != null){
		if(layerselectorarea != null){
			layerselectorarea.style.top = (zoomarea.offsetTop + zoomarea.offsetHeight + 2) + "px";
		}
	}
	if(printarea != null)
		window.print();
	
	activateTab("Info_Tab");
}

// Select pan or zoom radio button
function dragmode(e)
{
	var targ = e.target;
	if (targ == null) targ = e.srcElement;
	
	var dth = $get("DragTypeHidden");//From Server
	var hdt = $get("hiddenDragType");//To Server
	var inputRubberband = $get("inputRubberband");
	var inputPan = $get("inputPan");
	
	if(targ == inputRubberband){
		inputRubberband.src = 'img/rubberband_on.gif';
		inputPan.src = 'img/pan_off.gif';
		$get('MapImage1').style.cursor = 'crosshair';
		dth.value = 0;
		hdt.value = "rubberband";
	}
	else if(targ == inputPan){
		inputRubberband.src = 'img/rubberband_off.gif';
		inputPan.src = 'img/pan_on.gif';
		$get('MapImage1').style.cursor = 'pointer';
		dth.value = 1;
		hdt.value = "pan";
	 }
	 return true;
}

// onmouseover handler for poi AREA. Set in Code-behind - Render()
function poiMouseOver(x, y, id)
{
	var rubberband = $get("MapImage1_rubberBand");
	if(rubberband.style.visibility == 'visible')return true;

	var info = $get(id).getAttribute("info");
	var boxcontent = $get("BoxContent");
	var poimouseover = $get("divPoiMouseover");
	var mapimage = $get("MapImage1_Div1");
	
	poimouseover.style.left = '0px';
	poimouseover.style.top = '0px';
	poimouseover.style.display = 'block';
	boxcontent.style.width = 'auto';
	boxcontent.style.height = 'auto';
	boxcontent.style.overflow = 'visible';
	boxcontent.innerHTML = "<div>"+info+"</div>";
	
	var boxWidth = boxcontent.offsetWidth;
	var boxHeight = boxcontent.offsetHeight;
	var boxLeft;
	var boxTop;
	
	if (boxWidth > 400) {
		boxWidth = 400;
		boxcontent.style.overflow = 'auto';
	}
	
	if (boxHeight > 400) {
		boxHeight = 400;
		boxcontent.style.overflow = 'auto';
	}
	
	boxcontent.style.width = boxWidth + "px";
	boxcontent.style.height = boxHeight + "px";
	if((x+boxWidth+10) > mapimage.offsetWidth)
		boxLeft = (x-boxWidth);
	else
		boxLeft = x+10;
	if((y+boxHeight+10) > mapimage.offsetHeight)
		boxTop = (y-boxHeight);
	else
		boxTop = y+10;
		
	if(boxLeft < 0) boxLeft = 0;
	if(boxTop < 0) boxTop = 0;
		
	poimouseover.style.left = (boxLeft - mapimage.offsetLeft) + 'px';
	poimouseover.style.top = (boxTop - mapimage.offsetTop) + 'px';
}

// onmouseoout handler for poi AREA. Set in Code-behind - Render()
function poiMouseOut ()
{
	var poimouseover = $get ("divPoiMouseover");
	poimouseover.style.display = "none";
}

// onmouseover handler for floating box div (set in MapForm.aspx).
function floatBoxMouseOver ()
{
	var poimouseover = $get ("divPoiMouseover");
	poimouseover.style.display = "block";
}

// onmouseoout handler for floating box div (set in MapForm.aspx).
function floatBoxMouseOut ()
{
	poiMouseOut();
}

// handle the tabs. Must check existence because the server may crop them.
function activateTab(tabid)
{
	var infocontent = $get ("divInfoContent");
	var tab2content = $get ("divTab2Content");
	var tab3content = $get ("divTab3Content");
	var routearea = $get ("divRouteArea");
	var infotab = $get ("Info_Tab");
	var tab2tab = $get ("Tab2_Tab");
	var tab3tab = $get ("Tab3_Tab");
	
	if (infocontent != null) infocontent.style.display = "none";
	if (tab2content != null) tab2content.style.display = "none";
	if (tab3content != null) tab3content.style.display = "none";
	if (routearea != null) routearea.style.display = "none";
	if (infotab != null) infotab.className = "TabInactive";
	if (tab2tab != null) tab2tab.className = "TabInactive";
	if (tab3tab != null) tab3tab.className = "TabInactive";
	
	if (tabid == "Info_Tab")
	{
		if (infotab != null) infotab.className = "TabActive";
		if (infocontent != null) infocontent.style.display = "block";
		if (routearea != null) routearea.style.display = "block";
	}
	else if (tabid == "Tab2_Tab")
	{
		if (tab2tab != null) tab2tab.className = "TabActive";
		if (tab2content != null) tab2content.style.display = "block";
	}
	else if (tabid == "Tab3_Tab")
	{
		if (tab3tab != null) tab3tab.className = "TabActive";
		if (tab3content != null) tab3content.style.display = "block";
	}
	return true;
}

function setTarget(id){
	__doPostBack('MapImage1','poiclick(' + id + ')');
}

// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
