//***********************************************************
// Trail Locator Project
// The Trans Canada Trail
// http://www.tctrail.ca
// 
// Coding by Stephane Simard
// ssoutbox-tctrail@yahoo.com
//************************************************************


// Variable global
var nav;
var inputFocus;					// Default input to get focus
var rollOverToolsElement		// Element to RollOver in tools menu


//-------------------------------------------------------------------------------------------
// LOADING INTERFACE

function loadInterface()
{
	setZoomMenu();
	SetImageTitle();
	setToolsDiv();
	setSelectEvent();
	detectBrowser();
}


//-------------------------------------------------------------------------------------------
// DETECT BROWSER

function detectBrowser()
{
	var ok = false;
	var browserName = navigator.appName;
	var strChUserAgent = navigator.userAgent;
	var strChEnd = strChUserAgent.substring(strChEnd);
	
	// If Firefox
	if(strChEnd.indexOf("Firefox/2") != -1 || strChEnd.indexOf("Firefox") != -1)
		ok = true;
		
	// If ie	
	else if (browserName == 'Microsoft Internet Explorer')
		ok = false;
	
	// Netscape ou chrome
	else if (browserName == 'Netscape')
		ok = false;
	
	// Autres
	else
		document.location.href="nav.php?lang=" + language;
	
	if(ok) // If Firefox
	{
		document.getElementById('imgNav').src = "images/" + language + "/pub.gif";
		document.getElementById('linkNav').href = "http://www.tctrail.ca/shopthetrail.php?l=" + language;
	}else{
		document.getElementById('imgNav').src = "images/" + language + "/nav.gif";
		document.getElementById('linkNav').href = "http://www.mozilla.com/firefox/";
	}
	
	
}


//-------------------------------------------------------------------------------------------
// SELECT EVENT

function setSelectEvent()
{
	document.getElementById('provinceList').onchange = showProvinceLocation;
	document.getElementById('searchResultList').onchange = showGeoLocation;
	document.getElementById('searchResultList').onclick = hideSearchResult;
	document.getElementById('geoList').onchange = showTrailLocation;
	document.getElementById('trailList').onchange = showTrailLocation;
	document.getElementById('trailList').onclick = showTrailLocation;
	document.getElementById('trailProvinceList').onchange = trailsListView;
	document.getElementById('pavList').onchange = showPavLocation;
	document.getElementById('pavList').onclick = showPavLocation;
	document.getElementById('favList').onchange = showTrailLocation;
	document.getElementById('favList').onclick = showTrailLocation;
}


//-------------------------------------------------------------------------------------------
//  ENTER KEY PRESS IN GEOSEARCH
	
function geoKeyPress(e)
{	
	var key=e.keyCode || e.which;
	if(key == 13)	// If press enter --> search
		geoFinder();
}


//-------------------------------------------------------------------------------------------
// LOADING & WAIT MSG

function showLoadingMsg(){
	document.getElementById("maskDiv").style.display = "block";
	document.getElementById("loadingDiv").style.display = "block"; 
}

function hideLoadingMsg(){
	document.getElementById("loadingDiv").style.display = "none"; 
	document.getElementById("maskDiv").style.display = "none";
}


//-------------------------------------------------------------------------------------------
// ZOOM MENU
//
// These functions create the zoom menu

function setZoomMenu()
{
	document.getElementById('zoomMenuDiv').onmouseover = showZoomMenu;
	document.getElementById('zoomMenuDiv').onmouseout = hideZoomMenu;
	document.getElementById('imgZlevel').onmouseover = showZoomMenu;
	document.getElementById('imgZlevel').onmouseout = hideZoomMenu;
	
	txt = '<table border="0" width="30">';
	for (var i=0; i<mapZoom.zoom.length; i++)
		txt = txt + '<tr><td  id="'+ i +'" align="middle" bgcolor="#979F7A" onmouseover="javascript:overZoomMenu(this.style);" onmouseout="javascript:outZoomMenu(this.style);" onclick="javascript:manuelZoom('+ i +', this.style);" ><a href="javascript:mz();">&nbsp;&nbsp;&nbsp;&nbsp;'+ i +'&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';
	
	txt = txt + '</table>';
	document.getElementById('zoomMenuDiv').innerHTML = txt;
}

function overZoomMenu(item)
{
	if(item.backgroundColor != "#ff1009" && item.backgroundColor != "rgb(255, 16, 9)")
		item.backgroundColor = "#d4dAcb";
}
function outZoomMenu(item)
{
	if(item.backgroundColor != "#ff1009" && item.backgroundColor != "rgb(255, 16, 9)")
		item.backgroundColor = "#979f7a";
}
function showZoomMenu()
{
	document.getElementById("zoomMenuDiv").style.display = "block";
}
function hideZoomMenu()
{
	document.getElementById("zoomMenuDiv").style.display = "none"; 
}
function mz()
{
	// DON'T ERASE - It's use by ManuelZoom
}


//-------------------------------------------------------------------------------------------
// ROLL OVER TOOLS
//
// These functions create the rollOver in the Tools menu.

function setRollOverTools(element)
{
	var img = "imgtools" + element;
	var tool = "tools" + element;
	rollOverToolsElement = element;
		
	document.getElementById("tools1").onmouseout = rollOutTools1;
	document.getElementById("tools2").onmouseout = rollOutTools2;
	document.getElementById("tools3").onmouseout = rollOutTools3;
	document.getElementById("tools4").onmouseout = rollOutTools4;
	document.getElementById("tools5").onmouseout = rollOutTools5;
	document.getElementById("tools6").onmouseout = rollOutTools6;
	
	document.getElementById("imgtools1").src = 'images/empty.jpg';
	document.getElementById("imgtools2").src = 'images/empty.jpg';
	document.getElementById("imgtools3").src = 'images/empty.jpg';
	document.getElementById("imgtools4").src = 'images/empty.jpg';
	document.getElementById("imgtools5").src = 'images/empty.jpg';
	document.getElementById("imgtools6").src = 'images/empty.jpg';
		
	document.getElementById(img).src = "images/select.jpg";
	document.getElementById(tool).onmouseout = rollOverTools;
}

function rollOverTools()
{
	var img = "imgtools" + rollOverToolsElement;
	document.getElementById(img).src = 'images/select.jpg';
}
function rollOutTools1()
{
	document.getElementById("imgtools1").src = 'images/empty.jpg';
}
function rollOutTools2()
{
	document.getElementById("imgtools2").src = 'images/empty.jpg';
}
function rollOutTools3()
{
	document.getElementById("imgtools3").src = 'images/empty.jpg';
}
function rollOutTools4()
{
	document.getElementById("imgtools4").src = 'images/empty.jpg';
}
function rollOutTools5()
{
	document.getElementById("imgtools5").src = 'images/empty.jpg';
}
function rollOutTools6()
{
	document.getElementById("imgtools6").src = 'images/empty.jpg';
}


//-------------------------------------------------------------------------------------------
// TOOLS

function setToolsDiv()
{
	document.getElementById("geoDiv").style.display = "block";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("1");		
	
	inputFocus = document.getElementById("geoString"); // Default input
	inputFocus.focus();
}

function showGeoDiv()
{
	document.getElementById("geoDiv").style.display = "block";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("1");
	
	resetOverlayDist();	// erase distance on MAP
	inputFocus = document.getElementById("geoString"); // Default input
	inputFocus.focus();
}

function showTrailsDiv()
{
	document.getElementById("geoDiv").style.display = "none";
	document.getElementById("trailsDiv").style.display = "block";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("2");
	
	resetOverlayDist();	// erase distance on MAP
	inputFocus = document.getElementById("trailString"); // Default input
	inputFocus.focus();
}

function showPavilionsDiv()
{
	document.getElementById("geoDiv").style.display = "none";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "block";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("3");

	loadPavilionsFromXml();	// SetData
	resetOverlayDist();		// erase distance on MAP
	inputFocus = document.getElementById("pavList"); // Default input
	inputFocus.focus();
}

function showDistanceDiv()
{
	document.getElementById("geoDiv").style.display = "none";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "block";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("4");
	
	inputFocus = document.getElementById("distStr"); // Default input
	inputFocus.focus();
}

function showDownloadDiv()
{
	document.getElementById("ifDownload").src = "download.php?lang=" + language;
	document.getElementById("geoDiv").style.display = "none";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "none";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "block";
	setRollOverTools("5");
	
	resetOverlayDist();	// erase distance on MAP
	inputFocus = document.getElementById("provinceList"); // Default input
	inputFocus.focus();
}

function showFavoritesDiv()
{
	document.getElementById("geoDiv").style.display = "none";
	document.getElementById("trailsDiv").style.display = "none";
	document.getElementById("pavilionsDiv").style.display = "none";
	document.getElementById("favoritesDiv").style.display = "block";
	document.getElementById("distanceDiv").style.display = "none";
	document.getElementById("downloadDiv").style.display = "none";
	setRollOverTools("6");
	
	setFavorites();		// SetData
	resetOverlayDist();	// erase distance on MAP
	inputFocus = document.getElementById("favList"); // Default input
	inputFocus.focus();
}

//-------------------------------------------------------------------------------------------
// IFRAME - Use for Help - About - Legend - InfoTRail & Pavilions
	
function openIFrame(src)
{
	document.getElementById("flashPub").style.display = "none";
	document.getElementById("iFrame").src = src;
	document.getElementById("iFrameDiv").style.display = "block";
	document.getElementById("closeiFrameDiv").style.display = "block";
}

function showLegendDiv()
{
	openIFrame( "help/"+ language +"/legend.html");
}

function showHelpDiv()
{
	openIFrame( "help/"+ language +"/help.html");
}

function showAboutDiv()
{
	openIFrame( "help/"+ language +"/about.html");
}

function showInfoTrailDiv(trailNumber)
{
	openIFrame( "infotrail/"+ language +"/infotrail.php?no=" + trailNumber);
}

function showInfoPavDiv(pavName)
{
	openIFrame( "infopav/"+ language +"/infopav.php?pav=" + pavName);
}

function closeIFrame()
{
	document.getElementById("iFrame").src = "blank.html";
	document.getElementById("iFrameDiv").style.display = "none";
	document.getElementById("flashPub").style.display = "block";
	document.getElementById("closeiFrameDiv").style.display = "none";
	inputFocus.focus();
}


//-------------------------------------------------------------------------------------------
// MULTI SEARCH RESULT

function showSearchResult()
{
	document.getElementById("maskDiv").style.display = "block";
	document.getElementById("searchResultDiv").style.display = "block";
}
function hideSearchResult()
{
	if(document.getElementById('searchResultList').value != "")
		document.getElementById("searchResultDiv").style.display = "none";
}		
