var varButtonSelected = "";
var varAction = "";

var myToolbarButtonLength=13;

function dmToolbarButton(buttonId, action, selectable, title)
{
	this.buttonId=buttonId;
	this.Action=action;
	this.IsSelectable=selectable;
}

var dmToolbarButtons=new Array();
dmToolbarButtons.length=myToolbarButtonLength;

dmToolbarButtons[1]=new dmToolbarButton("btnZoomWindow","zoomwindow",1);
dmToolbarButtons[2]=new dmToolbarButton("btnZoomIn","zoomin",1);
dmToolbarButtons[3]=new dmToolbarButton("btnZoomOut","zoomout",1);
dmToolbarButtons[4]=new dmToolbarButton("btnZoomAll","zoomall",0);
dmToolbarButtons[5]=new dmToolbarButton("btnPan","pan",1);
dmToolbarButtons[6]=new dmToolbarButton("btnSelect","select",1);
dmToolbarButtons[7]=new dmToolbarButton("btnSelectByPolygon","selectbypolygon",1);
dmToolbarButtons[8]=new dmToolbarButton("btnClearSelection","clearselection",0);
dmToolbarButtons[9]=new dmToolbarButton("btnMeasure","measure",1);
dmToolbarButtons[10]=new dmToolbarButton("btnMeasureArea","measurearea",1);
dmToolbarButtons[11]=new dmToolbarButton("btnPrint","print",0);
dmToolbarButtons[12]=new dmToolbarButton("btnLink","link",1);
dmToolbarButtons[13]=new dmToolbarButton("btnZoomScale","zoomscale",0);

function TBInitialize()
{
	for (var i=1; i<= myToolbarButtonLength; i++)
	{
		 button = TBGetToolbarButton(i);
		 		 
		 tlbSetButtonEvents(button.buttonId);		 
	}
}

////////////////////////////////////////////////////////////////

function TBGetToolbarButton(index)
{
	return dmToolbarButtons[index];
}

function TBGetToolbarButtonById(btnId)
{
	var button;
	var retVal = null;
	
	for (var i=1; i<=myToolbarButtonLength; i++)
	{
		 button = TBGetToolbarButton(i);
		 
		 if(button.buttonId==btnId)
		 {
			retVal = button;
			break;
		 }
	}
	
	return retVal;
}

//-------------------------------------------------------
//Eventos da ToolBar
//--------------------------------------------------------
function tlbSetButtonEvents(buttonId)
{
	var button = document.getElementById(buttonId);
	
	if (button != null)
	{
		button.onmouseover = btnToolbar_onmouseover;
		button.onmousedown = btnToolbar_onmousedown;
		button.onmouseout = btnToolbar_onmouseout;
		button.onclick = btnToolbar_onclick;
	}
}

function btnToolbar_onmouseover(e) {
	if (!e) var e = window.event;

	this.style.border = "solid lightgrey 1px";
}

function btnToolbar_onmouseout(e) {	
	if (this.id == varButtonSelected)
	{
		this.style.border = "solid MidnightBlue 1px";
	}
	else
	{
		this.style.border = "solid white 1px";
	}
}

function btnToolbar_onmousedown(e) {
	if (!e) var e = window.event;
	
	var button = document.getElementById(varButtonSelected);
	
	if (button != null)
	{
		button.style.border = "solid white 1px";
	}
	
	button = TBGetToolbarButtonById(this.id);
	
	if (button != null)
	{	
		if (button.IsSelectable == 1)
		{					
			this.style.border = "solid white 1px";
			
			varButtonSelected = this.id;
			varAction = button.Action;
		}
	}
}

function btnToolbar_onclick(e) {
	if (!e) var e = window.event;
	
	var button = TBGetToolbarButtonById(this.id);
	
	if (button != null)
	{
		switch (button.Action)
		{
			case "zoomwindow": 
				DoZoomRectangle();
				break;
			case "zoomin": 
				DoZoomInPoint();
				break;
			case "zoomout": 
				DoZoomOutPoint();
				break;
			case "pan": 
				DoPan();
				break;
			case "zoomall": 
				DoFitView();
				break;
			case "select":
				DoSelectPoint();
				break;
			case "selectbypolygon":
				DoSelectByPolygon();
				break;
			case "clearselection":
				DoClearFeatures();
			case "measure":
				DoMeasure();
				break;
			case "measurearea":
				DoMeasureArea();
				break;
			case "print":
				DoPrint();
				break;
			case "link":
			    DoCreateLink();
			    break;
			case "zoomscale":
				DoFitToScale();
				break;				
			default : alert("Função ainda não implementada");
		}			
	}
}


//////////////////////////////////////////////////////////////////////
//Actions
/////////////////////////////////////////////////////////////////////

function getSelectedButton() {
	return varButtonSelected;
}

function getAction() {
	return varAction;
}

