﻿// Copyright(c) 2008-2009 IT One, Ltd, Slovakia
// Do not use, change or distribute.

var toolsVisible = true;
var infoVisible = true;
var activeToolTab = "layers";
var prevToolTab = null;

function toggleToolsPanel(){
	var toolsDIV = document.getElementById("tools");
	toolsDIV.style.height = toolsVisible == true ? "30px" : "310px";
	var activeTab = document.getElementById(activeToolTab);
	//var infoDIV = document.getElementById("objectInfo");
	
	if (toolsVisible){
		activeTab.style.visibility = "hidden";
		//infoDIV.style.top = "240px";
	}
	else {
		activeTab.style.visibility = "visible";
		//infoDIV.style.top = "520px";
	}
	toolsVisible = !toolsVisible;
}

function toggleInfoPanel(){
	var infoContentDIV = document.getElementById("objInfoCon");
	var infoDIV = document.getElementById("objectInfo");
	infoDIV.style.height = infoVisible == true ? "30px" : "140px";
	
	if (infoVisible){
		infoContentDIV.style.visibility = "hidden";
	}
	else {
		infoContentDIV.style.visibility = "visible";
	}
	infoVisible = !infoVisible;
}

function setActiveToolTab(tabName){
	if (tabName == activeToolTab)
		return;
		
	var layersDIV = document.getElementById("layersPar");
	var addDIV = document.getElementById("add");
	var infoDIV = document.getElementById("info");
	var helpDIV = document.getElementById("help");
	var myClever = document.getElementById("myClever");
	
	var infoTab1 = document.getElementById("infoTab1");
	var objInfoCon = document.getElementById("objInfoCon");
	//var objectInfo = document.getElementById("objectInfo");
	var myObjsDIV = document.getElementById("myObjsDiv");
	var mySrcDiv = document.getElementById("mySrcDiv");
	var myRtDiv = document.getElementById("myRtDiv");
	var streetLab = document.getElementById("streetLab");
	var fbShare = document.getElementById("shareLnk");
	
	layersDIV.style.visibility = "hidden";
	addDIV.style.visibility = "hidden";
	helpDIV.style.visibility = "hidden";
	infoDIV.style.visibility = "hidden";
	infoTab1.style.visibility = "hidden";
	objInfoCon.style.visibility = "hidden";
	//objectInfo.style.visibility = "hidden";
	myClever.style.visibility = "hidden";
	myObjsDIV.style.visibility = "hidden";
	mySrcDiv.style.visibility = "hidden";
	myRtDiv.style.visibility = "hidden";
	streetLab.style.visibility = "hidden";
	document.getElementById("addRegLabel").style.visibility = "hidden";
	fbShare.style.visibility = "hidden";
	
	var layersTab = document.getElementById("layersTab");
	var addTab = document.getElementById("addTab");
	var helpTab = document.getElementById("helpTab");
	var infoTab = document.getElementById("infoTab");
	var myTab = document.getElementById("myTab");
	
	layersTab.style.background = "White";
	addTab.style.background = "White";
	helpTab.style.background = "White";
	infoTab.style.background = "White";
	myTab.style.background = "White";
	
	
	switch (tabName){
		case "layers":
			layersTab.style.background = "#FFFFCD";
		break;
		case "add":
			handleAddToolTabActivated();
			addTab.style.background = "#FFFFCD";
		break;
		case "info":
			infoTab.style.background = "#FFFFCD";
			break;
		case "help":
			helpTab.style.background = "#FFFFCD";
			break;
		case "my":
			myTab.style.background = "#FFFFCD";
			break;
	}
	
	if (toolsVisible == true){
		switch (tabName){
		case "layers":
			layersDIV.style.visibility = "visible";
		break;
		case "add":
			addDIV.style.visibility = "visible";
			if (sessionID.length > 0)
				document.getElementById("addRegLabel").style.visibility = "hidden";
			else 
				document.getElementById("addRegLabel").style.visibility = "visible";
		break;
		case "info":
			infoDIV.style.visibility = "visible";
			if (activeInfoUpdate == "Info"){
				infoTab1.style.visibility = "visible";
			}
			if (activeInfoUpdate == "Update")
				objInfoCon.style.visibility = "visible";
			if (streetViewAvaiable == true)
			    streetLab.style.visibility = "visible";
			var lnkVal = document.getElementById("objLink");
			if (lnkVal.value.length != 0)
			    fbShare.style.visibility = "visible";
			break;
		case "help":
			helpDIV.style.visibility = "visible";
			break;
		case "my":
			myClever.style.visibility = "visible";
			if (activeMy == "Objs")
				myObjsDIV.style.visibility = "visible";
			if (activeMy == "Search")
			    mySrcDiv.style.visibility = "visible";
			if (activeMy == "Route")
			    myRtDiv.style.visibility = "visible";
				
			break;
		}
	}
	prevToolTab = activeToolTab;
	activeToolTab = tabName;
	
	if (prevToolTab == "add"){
		handleAddToolTabDeactivated();
	}
}

var activeInfoUpdate = "Info";
var activeInfoUpdatePrevElem = null;

function handleInfoUpdate(action, fromElem){
	if (activeInfoUpdatePrevElem != null)
		activeInfoUpdatePrevElem.style.background = "White";
	else
		document.getElementById("locID17").style.background = "White";
		
	fromElem.style.background = "#FFFFCD";
	
	if (action == 'Info'){
		if (activeInfoUpdate == "Info")
			return;
		elem = document.getElementById("objInfoCon");
		elem.style.visibility = "hidden";
		elem = document.getElementById("infoTab1");
		elem.style.visibility = "visible";
		elem = document.getElementById("shareLnk");
		elem.style.visibility = "visible";
	}
	if (action == "Update"){
		if (activeInfoUpdate == "Update")
			return;
		var elem = document.getElementById("objInfoCon");
		elem.style.visibility = "visible";
		elem = document.getElementById("infoTab1");
		elem.style.visibility = "hidden";
		elem = document.getElementById("shareLnk");
		elem.style.visibility = "hidden";
    }
	
	activeInfoUpdate = action;
	activeInfoUpdatePrevElem = fromElem;
}

var activeMy = "Objs";
var activeMyPrevElem = null;

function handleMyUpdate(action, fromElem){
	if (activeMyPrevElem != null)
		activeMyPrevElem.style.background = "White";
	else
		document.getElementById("myObjs").style.background = "White";
		
	fromElem.style.background = "#FFFFCD";
	
	if (action == 'Objs'){
		if (activeMy == "Objs")
			return;
		elem = document.getElementById("mySrcDiv");
		elem.style.visibility = "hidden";
		elem = document.getElementById("myRtDiv");
		elem.style.visibility = "hidden";
		elem = document.getElementById("myObjsDiv");
		elem.style.visibility = "visible";
	}
	if (action == "Search"){
		if (activeMy == "Search")
			return;
		var elem = document.getElementById("mySrcDiv");
		elem.style.visibility = "visible";
		elem = document.getElementById("myObjsDiv");
		elem.style.visibility = "hidden";
		elem = document.getElementById("myRtDiv");
		elem.style.visibility = "hidden";
}
    if (action == "Route") {
        if (activeMy == "Route")
            return;
        var elem = document.getElementById("myRtDiv");
        elem.style.visibility = "visible";
        elem = document.getElementById("myObjsDiv");
        elem.style.visibility = "hidden";
        elem = document.getElementById("mySrcDiv");
        elem.style.visibility = "hidden";
    }
	
	activeMy = action;
	activeMyPrevElem = fromElem;
}

function handleMyObjsClick(objID){
	var i;
	for (i = 0; i < myObjects.length; i++){
		if (myObjects[i].id == Number(objID)){
			map.setCenter(new google.maps.LatLng(myObjects[i].lat, myObjects[i].lng), map.getZoom());
			handleDragEndOrZoomEvent();
			break;
		}
	}
}

function handleMyObjsDelete(objID){
	var i;
	for (i = 0; i < myObjects.length; i++){
		if (myObjects[i].id == Number(objID)){
			if (confirm(getLocaleString("locDeleteObject"), 2, 2) == true){
				CleverGlobeService.DeleteObject(sessionID, Number(objID));
				//refresh my objects
				getMyObjects();
			}
			break;
		}
	}
}

function handleSrcObjsClick(id) {
    var i;
    for (i = 0; i < srchObjects.length; i++) {
        if (srchObjects[i].id == Number(id)) {
            map.setCenter(new google.maps.LatLng(srchObjects[i].lat, srchObjects[i].lng), map.getZoom());
            handleDragEndOrZoomEvent();
            break;
        }
    }
}

function showLegend(colorFrom, colorTo, fromText, toText){
	var legend = document.getElementById("legend");
	if (legend != null){
		legend.innerHTML = "";
		
		var i, elem;
		elem = document.createElement("div");
		elem.innerHTML = fromText;
		elem.style.fontSize = "10px";
		legend.appendChild(elem);
		
		for (i = 0; i <= 7; i++){
			elem = document.createElement("div");
			elem.style.width = "20px";
			elem.style.height = "20px";
			elem.style.textAlign = "center";
			var color = interpolateColor(colorFrom, colorTo, i / 7);
			elem.style.background = color.HexString();
			legend.appendChild(elem);
		}
		
		elem = document.createElement("div");
		elem.innerHTML = toText;
		elem.style.fontSize = "10px";
		legend.appendChild(elem);
		
		legend.style.visibility = "visible";
	}
}

function hideLegend(){
	var legend = document.getElementById("legend");
	if (legend != null){
		legend.style.visibility = "hidden";		
	}
}