// -----------------------------------------------------------------
// Intranet-Detailkarten: Funktionen für markierbare Stationssymbole
// (ersetzen ursprüngliche Checkboxen zur Stationsauswahl)
// -----------------------------------------------------------------
var currentImageId 	= "";
var currentArea  	= "";
var leadin 			= "pegelimg";	// für Pegelsymbole in Karten
function PegelImageRButtonHandler(ev)
{
	if(!ev) ev = window.event;
	if(ev && ev.button &&(ev.button==2))
	{	
		var ls = currentImageId.substr(0,leadin.length);
		if(ls==leadin)
		{
			var pn = currentImageId.substr(leadin.length);
			//alert("refreshList('" + currentArea + "', 'pegel_" + pn + "'");
			refreshList(currentArea, 'pegel_' + pn);
		}
	}
	return false;
}
function PegelImageMOutHandler()		{	currentItemId = "";	currentArea = ""; }
function PegelImageNoContexMenu()		{	return false; }
function PegelImageStoreID(itemid,area)	{	currentImageId = itemid; currentArea = area;	}
function PegelImageInitEvents()
{	// parameterlose Eventhandler mit <img>-tags verbinden
	for(var i=0;i<document.images.length;i++)
	{
		imgid = document.images[i].id;
		if(imgid.substr(0,leadin.length)==leadin)
		{
			document.images[i].onmousedown 		= PegelImageRButtonHandler;
			document.images[i].onmouseout 		= PegelImageMOutHandler;
			document.images[i].oncontextmenu 	= PegelImageNoContexMenu;
		}
	}
}
// ----------------------------
// allgemeine Cookie-Funktionen
// ----------------------------

function readCookie(name) 
{
	var nameEQ 	= name + "=";		
	var ca 		= document.cookie.split(';');
							
	for(var i=0;i < ca.length;i++) 
	{
		var c = ca[i];
					
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
		{
			 var gesamt = c.substring(nameEQ.length, c.length);
			 return gesamt;
		}
	}
	return null;
}

function createCookie(name,value,days) 
{
	var expires = "";
	
	if(days) 
	{
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	}
	document.cookie = name+"=" + value + expires + "; path=/";
}

function eraseCookie(name) 
{
	createCookie(name,"",-1);
}

// ------------------------------------------
// Cookies für Mehrfachauswahl-Stationslisten
// ------------------------------------------
var maxUserPegellist 	= 4;
var maxUserPegellistLen	= 6;

function deleteFromStringList(string,elem,separator)
{
	var arr = string.split(separator);
	string 	= '';
	
	for(var i=0;i<arr.length;i++)
	{
		if(arr[i]!=elem)
		{
			if(string == '')	string = arr[i];
			else				string = string + separator + arr[i];
		}
	}
	return string;
}
function AddToStringList(string,elem,separator)
{
	if(string=='')	string = elem;
	else			string = string + separator + elem;
	return string;
}

function refreshList(gebiet, pegelname)
{
	gebiet 			= gebiet.toLowerCase();
	var cookiename	= gebiet + 'liste';
	var pegelliste	= readCookie(cookiename);

	if(pegelliste == null)
		pegelliste = new String();
	
	// -------------------------------------------------
	// zuerst mit Symbol versuchen (Aufruf durch Karten)
	// -------------------------------------------------
	var pegelno = pegelname.substr(6);				// pegelname ist "pegel_XXX"
	var imgid   = "pegelimg" + pegelno;
	var imgitem	= document.getElementById(imgid);
	if(imgitem)
	{
		var imgsel = imgitem.getAttribute("pegelsel");
		if(imgsel)
		{
			imgitem.setAttribute("pegelsel","");
			imgitem.setAttribute("src",imgitem.getAttribute("srcnonsel"));
			pegelliste = deleteFromStringList(pegelliste,pegelname,',');
		}
		else
		{
			if(pegelliste.split(",").length>=maxUserPegellistLen)
				alert('Es sind maximal ' + maxUserPegellistLen + ' Stationen pro Gebiet möglich.');
			else
			{
				imgitem.setAttribute("pegelsel","1");
				imgitem.setAttribute("src",imgitem.getAttribute("srcsel"));
				pegelliste = AddToStringList(pegelliste,pegelname,',');
			}
		}
		createCookie(cookiename,pegelliste,5);
		return;
	}
	// ----------------------------------------------------
	// Aufruf durch Checkboxen (Mehrfachganglinie->Legende)
	// ----------------------------------------------------
	var cboxitem = document.getElementById(pegelname);
	if(cboxitem)
	{
		if(cboxitem.checked == true)
		{
			if(pegelliste.split(",").length>=maxUserPegellistLen)
			{
				document.getElementById(pegelname).checked = false;
				alert('Es sind maximal ' + maxUserPegellistLen + ' Stationen pro Gebiet möglich.');
			}
			else
				pegelliste = AddToStringList(pegelliste,pegelname,',');
		}
		else
		{
			pegelliste = deleteFromStringList(pegelliste,pegelname,',');
		}
		createCookie(cookiename,pegelliste,5);
	}
}

// ------------------------------------
// Cookies für Ganglinien-Zeitintervall
// ------------------------------------

 function setZeitintervall(gebiet, intervall)
 {
 	if(gebiet!= '') // GEBIET wird nur im intranet replaced
	{
		gebiet = gebiet.toLowerCase();
		var cookiename = gebiet + 'zeitintervall';
		createCookie(cookiename,intervall,5);
	}
 }

// ---------------------------------------
// Cookies für Ganglinien-Hoehenskalierung
// ---------------------------------------

function setHoehe(gebiet,gebertyp)
 {
 	if(gebiet != '')	// GEBIET wird nur im intranet replaced
	{
		gebiet 			= gebiet.toLowerCase();
		var selectedVon	= document.getElementById('hoehe_von').selectedIndex;
		var selectedBis	= document.getElementById('hoehe_bis').selectedIndex;		
		var wertBis 	= parseInt(document.getElementById('hoehe_bis').options[selectedBis].value);
		var wertVon 	= parseInt(document.getElementById('hoehe_von').options[selectedVon].value); 
		var cookiename	= gebiet + 'hhs' + gebertyp;
		var cookieval	= wertVon + ":" + wertBis
		createCookie(cookiename,cookieval,5);
	}
 }
 
 
	
