/*-------------------------------------------------------------------------------
* File: 			menu.js
* Description:		
* Date created:		January 2005
* Date modified:	April 2005
*------------------------------------------------------------------------------*/
var btnBGColor = '#77a88a';			//'#FFFFFF';
var btnBGColorOver = '#DCDCDC';
var btnBGColorDown = '#C0C0C0';
var btnBorderColor = '#77a88a';	//'#FFFFFF';
var btnBorderColorOver = '#000080';

var btnBGColor_2 = '#e9f4ee';
var btnBorderColor_2 = '#e9f4ee';

var bgColor;
var borderColor;

var TOOLBAR_BTN_STYLE_1 = 'toolbarBtn';
var TOOLBAR_BTN_STYLE_2 = 'toolbarBtnBG';

// -------- Main Menu ---------

function executeCommand(cmd){
	var id = cmd.id;
	
	switch(id){
		// --- COMMON MENU ---
		case "Survey":
			ShowForm(false, "Survey", "")
			break;
		case "Advertise":
			ShowForm(false, "Advertise", "")
			break;
		case "AboutUs":
			ShowForm(false, "AboutUs", "")
			break;
		case "News":
			ShowForm(false, "News", "")
			break;
		case "AddObject":
			ShowForm(false, "AddObject", "")
			break;
		case "Feedback":
			ShowForm(false, "Feedback", "")
			break;
		case "GetLink":
			ShowForm(false, "GetLink", "")		
			break;
		case "Print":
			ShowForm(false, "Print", "")
			break;
		case "Help":
			ShowForm(false, "Help", "")
			break;
		
		// --- FAVOURITES ---
		case "FavouritesMenu":
			doSection(Sec0)
			break;
		case "FavouritesModeOff":
			alterSection(FavouritesModeOn, TOOLBAR_BTN_STYLE_1);
			alterSection(FavouritesModeOff, TOOLBAR_BTN_STYLE_1);
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ShowFavourites"
			break;	
		case "FavouritesModeOn":
			alterSection(FavouritesModeOn, TOOLBAR_BTN_STYLE_1);
			alterSection(FavouritesModeOff, TOOLBAR_BTN_STYLE_1);
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ClearFavourites"
			break;				
		case "Favourite":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;	
		case "ClearFavourites":
			//ClearToolBar();
			//SetTool(cmd);
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ClearFavourites"
			//SetCursor();
			break;
		case "ClearFavouritesCollection":
			//ClearToolBar();
			//SetTool(cmd);
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ClearFavouritesCollection"
			//SetCursor();
			break;			
		case "IdentifyFavourites":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "FavouritesList":
			ClearToolBar();
			ShowFavourites(false, 'FavouritesList', '');
			//ShowLoader()
			//top.frmMap.location.href = "Map.asp?action=ShowFavourites"
			break;				
		case "ShowFavourites":
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ShowFavourites"
			break;		
		case "SaveFavourites":
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=SaveFavourites"
			break;			
		case "ReadFavourites":
			ClearToolBar();
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=ReadFavourites"
			break;
		
		// --- MAP NAVIGATION ---
		case "ZoomToFullExtent":
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "ZoomIn":
			ClearToolBar()
			SetTool(cmd)
			SetCursor()
			break;
		case "ZoomOut":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "FixedZoomIn":
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "FixedZoomOut":
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "Pan":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "Back":	
			if(top.frmMap.activeBack == "true" && top.frmMap.hasMap != null && top.frmMap.hasMap())
			{
				ShowLoader()
				top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=Back";
			}
			break;
		case "ZoomToSelected":
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "ClearSelections":
			ShowLoader()
			top.frmMap.location.href = "Map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "SetMarker":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "Measure":
			ClearToolBar()
			SetTool(cmd)
			SetCursor()
			break;
		case "Identify":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "Info":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
				
		case "PanNorth":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanNorthWest":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanNorthEast":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanSouthWest":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanSouthEast":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanSouth":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanWest":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		case "PanEast":
			ShowLoader()
			top.frmMap.location.href = "map.asp?lng="+ g_LANG +"&action=" + id
			break;
		
		// --- ROUTES ---
		case "addPointToRoute0":
		case "addPointToRoute1":
		case "addPointToRoute2":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			break;
		case "zoomToRoute":
			ClearToolBar();
			zoomToRoute();
			break;
		case "findRoute":
			ClearToolBar();
			cmdRoutesFind();
			break;
		case "printRoute":
			ClearToolBar();
			printRoute();
			break;
		case "clearFullRoute":
			ClearToolBar();
			ShowLoader();
			clearCurrRout();
			break;
		
		// --- BUFFER ---
		case "bufferFromSelected":
			ClearToolBar();
			cmdSelectedBufferObject_Click();
			break;
		case "AddBufferPoint":
			ClearToolBar();
			SetTool(cmd);
			SetCursor();
			cmdMapBufferObject_Click();
			break;
		case "bufferDelete":
			ClearToolBar();
			removeBuffer2();
			break;
		default:
			// do nothing
	}
}

function mouseOver(element) {
	setMouseOverStyle(element)
}
function mouseEnter(element)
{

}

function mouseOut(element) 
{
	setElementStyle(element)
}

function mouseDown(element) {
	setMouseDownStyle(element)
}

function mouseUp(element) {
	setMouseUpStyle(element)
}


function setMouseOverStyle(element) {
	element.style.borderTop = '1px solid ' + btnBorderColorOver;
	element.style.borderLeft = '1px solid ' + btnBorderColorOver;
	element.style.borderBottom = '1px solid ' + btnBorderColorOver;
	element.style.borderRight = '1px solid ' + btnBorderColorOver;
}

function setElementStyle(element) {
	if (element.className == TOOLBAR_BTN_STYLE_1){
		bgColor = btnBGColor;
		borderColor = btnBorderColor;
	}
	else if (element.className == TOOLBAR_BTN_STYLE_2){
		bgColor = btnBGColor_2;
		borderColor = btnBorderColor_2;
	}
	
	if ( !isSelected(element) )
	{
		// set element style
		element.style.borderTop = '1px solid ' + borderColor;
		element.style.borderLeft = '1px solid ' + borderColor;
		element.style.borderBottom = '1px solid ' + borderColor;
		element.style.borderRight = '1px solid ' + borderColor;
	}
	else
	{
		// set selected element style
		element.style.borderTop = '1px solid ' + btnBorderColorOver;
		element.style.borderLeft = '1px solid ' + btnBorderColorOver;
		element.style.borderBottom = '1px solid ' + btnBorderColorOver;
		element.style.borderRight = '1px solid ' + btnBorderColorOver;
	}
}

function setMouseDownStyle(element) {
	if ( !isSelected(element) )
	{
		// set mouse down element style
		element.style.borderTop = '1px solid ' + btnBorderColorOver;
		element.style.borderLeft = '1px solid ' + btnBorderColorOver;
		element.style.borderBottom = '1px solid ' + btnBorderColorOver;
		element.style.borderRight = '1px solid ' + btnBorderColorOver;
	}
}

function setMouseUpStyle(element) {
	if ( !isSelected(element) )
	{
		// set mouse up element style
		element.style.borderTop = '1px solid ' + btnBorderColorOver;
		element.style.borderLeft = '1px solid ' + btnBorderColorOver;
		element.style.borderBottom = '1px solid ' + btnBorderColorOver;
		element.style.borderRight = '1px solid ' + btnBorderColorOver;
	}
	else
	{
		element.style.borderTop = '1px solid ' + btnBorderColorOver;
		element.style.borderLeft = '1px solid ' + btnBorderColorOver;
		element.style.borderBottom = '1px solid ' + btnBorderColorOver;
		element.style.borderRight = '1px solid ' + btnBorderColorOver;
	}
}

function isSelected(element){
	if (getObject("tool").value == element.id)
	{
		return true
	}
	else
	{
		return false
	}
}


function SetTool(element){
	getObject("tool").value = element.id
	
	if (element.className == TOOLBAR_BTN_STYLE_1){
		bgColor = btnBGColor;
	}
	else if (element.className == TOOLBAR_BTN_STYLE_2){
		bgColor = btnBGColor_2;
	}
	element.style.borderTop = '1px solid ' + btnBorderColorOver;
	element.style.borderLeft = '1px solid ' + btnBorderColorOver;
	element.style.borderBottom = '1px solid ' + btnBorderColorOver;
	element.style.borderRight = '1px solid ' + btnBorderColorOver;
}

function SetCursor(){
	var mapFrame = document.getElementById("frmMap");
	var map = mapFrame.contentWindow.document.getElementById("imgMap");
	var cursorType;
	
	switch (getObject("tool").value) {
		case "AddBufferPoint":
		case "addPointToRoute0":
		case "addPointToRoute1":
		case "addPointToRoute2":
			cursorType = "crosshair"
			break;
		case "SetMarker":
			cursorType = "crosshair"
			break;
		case "ZoomIn":
			cursorType = "crosshair"
			break
		case "ZoomOut":
			cursorType = "crosshair"
			break
		case "Pan":
			cursorType = "move"
			break
		case "Measure":
			cursorType = "crosshair"
			break
		case "Identify":
			cursorType = "help"
			break
		case "Info":
			cursorType = "help"
			break
		case "addPointToRoute":
			cursorType = "crosshair";
			break
		default:
			cursorType = "default"
	}
	
	map.style.cursor = cursorType
}

function ClearToolBar(){
	var toolbar = getObject("ToolBar");
	var item, tBodyElement, tRowElement;
	
	for (item in toolbar.childNodes){
		if (toolbar.childNodes[item].nodeType == 1){
			tBodyElement = toolbar.childNodes[item];		//node body - TBODY element
			break;
		}
	}
	
	for (item in tBodyElement.childNodes){
		if (tBodyElement.childNodes[item].nodeType == 1){
			tRowElement = tBodyElement.childNodes[item];		//node row - TR element
			if (tRowElement.tagName == 'TR')
				break;
		}
	}
	
	for (item in tRowElement.childNodes){
		if (tRowElement.childNodes[item].nodeType == 1){
			if (tRowElement.childNodes[item].tagName == 'TD' && tRowElement.childNodes[item].id != '')
				ClearSelected(tRowElement.childNodes[item])
		}
	}

	//patch
	ClearSelected(getObject("addPointToRoute0"))
	ClearSelected(getObject("addPointToRoute1"))
	ClearSelected(getObject("addPointToRoute2"))
	ClearSelected(getObject("AddBufferPoint"))
}

function ClearSelected(element){
	if (element.className == TOOLBAR_BTN_STYLE_1){
		bgColor = btnBGColor;
		borderColor = btnBorderColor;
	}
	else if (element.className == TOOLBAR_BTN_STYLE_2){
		bgColor = btnBGColor_2;
		borderColor = btnBorderColor_2;
	}
	
	element.style.borderTop = '1px solid ' + borderColor;
	element.style.borderLeft = '1px solid ' + borderColor;
	element.style.borderBottom = '1px solid ' + borderColor;
	element.style.borderRight = '1px solid ' + borderColor;
	getObject("tool").value = ""
}

// misho
function ShowFavourites(isModal, frm, paramValue){
	ShowForm(isModal, frm, paramValue);
}

function doSection(secNum){
    //display the section if hidden; hide it if it is displayed
    if (secNum.className=="off"){secNum.className="on"} 
    else{secNum.className="off"}
}

function alterSection(secNum, clasDescr){
    //display the section if hidden; hide it if it is displayed
    if (secNum.className=="off"){secNum.className=clasDescr} 
    else{secNum.className="off"}
}

function turnOnFavourites()
{
	FavouritesModeOn.className = TOOLBAR_BTN_STYLE_1;
	FavouritesModeOff.className = "off";
}


