
function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}
showLegend = function()
{
	var booToShow;
	var objLegend = document.getElementById("legend");
	this.blur();
	this.innerHTML == "Show legend" ? booToShow = true : booToShow = false ;
	if(booToShow) 
	{
		this.innerHTML = "Hide legend"
		objLegend.style.display = "block";
	}
	else
	{
		this.innerHTML = "Show legend"
		objLegend.style.display = "";
	}
	return false;
}
addLegend = function()
{

	if (document.getElementById("legendlink") != null)
	{
		var objLegendLink = document.getElementById("legendlink").getElementsByTagName("a")[0];
		objLegendLink.onclick = showLegend;
		document.getElementById("drag").onmousedown = function(event) {
			dragStart(event, 'legend');
		};
	}
}

	function cssjs(a,o,c1,c2)
	{
		switch (a){
			case 'swap':
				o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				return new RegExp('\\b'+c1+'\\b').test(o.className)
			break;
		}
	}

addEvent(window,"load", addLegend);