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


// Variable global
var favoritesList = new Array();
var favoritesIsLoad = false;


//-------------------------------------------------------------------------------------------
// Load,  setup and Get cookies

function setFavorites()
{
	// Si déja load - stop
	if(favoritesIsLoad == true)
		return;

	// Si il y a un cooki
	if (document.cookie.length > 0)
	{
		var c_name = "favorites";
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1)
		{
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(";",c_start);
			if (c_end==-1)
				c_end=document.cookie.length;
			
			var str = unescape(document.cookie.substring(c_start,c_end));
			favoritesList = str.split(',');  // split  parameters
		}

		// Setup Select
		var SelectFavorites = document.getElementById('favList');
		SelectFavorites.options.length = 0;		
		var nbOpt = 0;

		// Find Trail and load select
		for(var t=0; t<trailListIndex; t++)
		{
			for(var f=0; f<favoritesList.length; f++)
			{
				if(trailsList[t].number == favoritesList[f])
				{
					SelectFavorites.options[nbOpt++] = new Option(trailsList[t].number + ", " + trailsList[t].province + ", " + trailsList[t].name, trailsList[t].sw + ", " + trailsList[t].ne + ", " + t);
					favoritesIsLoad = true;
				}
			}
		}
	}
}


//-------------------------------------------------------------------------------------------
// Add selection to favorites select

function addFavorite()
{
	// Store le nouveau numéro de trail
	var newTrail = trailsList[highlight.trailIndex].number;
		
	// If favorites is not load or Setup
	if(favoritesIsLoad == false)
		setFavorites();
	
	// Build string - trails are seperate with coma 
	var value = "";
	if(favoritesIsLoad == true)
	{
		for(var f=0; f<favoritesList.length; f++)
		{
			if(favoritesList[f] != newTrail)
				value = value + favoritesList[f] + ",";
		}
	}
	
	// Stupe and store string in cookie
	var c_name = "favorites";
	var expiredays = 365;
	var exdate = new Date();
	value = value + newTrail;
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
	
	// Load and setup favorites with new trail
	favoritesIsLoad = false;
	setFavorites();		
	alert(lang(18));	// It's done
}


//-------------------------------------------------------------------------------------------
// Delete Selected trail in favorites select

function delFavorite()
{
	if(favoritesIsLoad == true && document.getElementById('favList').value != "")
	{
		// Get selected trail parameter
		var param = document.getElementById('favList').value.split(',');  // split  parameters
		var t = param[4]*1;
				
		// Build string - trails are seperate with coma 
		var value = "";
		for(var f=0; f<favoritesList.length; f++)
		{
			if(favoritesList[f] != trailsList[t].number)
				value = value + favoritesList[f] + ",";
		}
		
		if(value == "" || value == ",")
		{
			var d = new Date();
			document.cookie = "favorites=1;expires=" + d.toGMTString() + ";" + ";";
			document.getElementById('favList').options.length = 0;	
		}
		else
		{
			// Stupe and store string in cookie
			var c_name = "favorites";
			var expiredays = 365;
			var exdate = new Date();
			exdate.setDate(exdate.getDate() + expiredays);
			document.cookie = c_name + "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
		}
			
		// Load and setup favorites with new trail
		favoritesIsLoad = false;
		setFavorites();		
	}
}

