// read skilte gifs once...
var imgAdvarsel = new Image();
imgAdvarsel.src = "advarsel.gif";
var imgGlat = new Image();
imgGlat.src = "glat.gif";
var imgInfo = new Image();
imgInfo.src = "info.gif";
var imgVind = new Image();
imgVind.src = "vind.gif";
var imgWebcam = new Image();
imgWebcam.src = "webcam.gif";
// read param-backgrounds once...
var divLRoad = createParamDiv("vejtempv.gif");
var divRRoad = createParamDiv("vejtemph.gif");
var divLAir = createParamDiv("lufttempv.gif");
var divRAir = createParamDiv("lufttemph.gif");
var divLWind = createParamDiv("vindv.gif");
var divRWind = createParamDiv("vindh.gif");

	function visSkilte(divimg, divmain, skilte)
	{
		for (i=0; i<skilte.length; i++)
		{
			var now = new Date();
			var img;
			// optimizing image fetching...
			if (skilte[i].src.indexOf("advarsel")!=-1) img = imgAdvarsel.cloneNode(true);
			if (skilte[i].src.indexOf("glat")!=-1) img = imgGlat.cloneNode(true);
			if (skilte[i].src.indexOf("info")!=-1) img = imgInfo.cloneNode(true);
			if (skilte[i].src.indexOf("vind")!=-1) img = imgVind.cloneNode(true);
			if (skilte[i].src.indexOf("webcam")!=-1) img = imgWebcam.cloneNode(true);
			img.style.position = "absolute";
			img.style.top = skilte[i].y;
			img.style.left = skilte[i].x;
			img.id = "img"+i;
			img.divid = "tip"+i;
//			img.src = skilte[i].src;
			setSize(img);
			divimg.appendChild(img);
			if (skilte[i].text.length>0 || skilte[i].link.length>0)
			{
				var div = document.createElement("DIV");
				div.id = "tip"+i;
				div.className = "tooltip";
				divmain.appendChild(div);
				img.onmouseover = showtooltip;
				img.onmouseout = hidetooltip;
				if (skilte[i].link.length>0)
				{
					img.style.cursor = "pointer";
					img.link = skilte[i].link;
					img.onclick = showImgInWindow;
//					div.innerHTML = "<img width=352 height=288 src='http://webcam.trafikken.dk/webcam/"+skilte[i].link+"?"+now.getTime()+"'>";
				}
				else
				{
					img.style.cursor = "default";
//					div.innerHTML = skilte[i].text;
				}
			}
			img.text = skilte[i].text;
		}
	}

	function setSize(img)
	{
		if (img.src.indexOf("webcam")!=-1 || img.src.indexOf("info")!=-1)
		{
			img.style.width = 14;
			img.style.height = 14;
		}
		else
		{
			img.style.width = 31;
			img.style.height = 28;
		}
	}
	
	function createParamDiv(src)
	{
		var div = document.createElement("DIV");
		div.style.position = "absolute";
		div.style.fontSize = 9;
		div.style.height = 12;
		div.align = "center";
		div.style.width = 42;
		div.style.textAlign = "right";
		div.style.backgroundImage = "url("+src+")";
		return div;
	}

	function visParams(param, divimg, params)
	{
		for (i=0; i<params.length; i++)
		{
			var ok = false;
			var div;
			if (param==0)
			{
				if (params[i].luft)
				{
					if (params[i].pos=="h")
					{
						div = divRAir.cloneNode(true);
						div.style.left = params[i].x - 4;
						div.innerHTML = "<b>"+params[i].luft+"&nbsp;&nbsp;</b>";
					}
					else
					{
						div = divLAir.cloneNode(true);
						div.style.left = params[i].x - 44;
						div.innerHTML = "<b>"+params[i].luft+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>";
					}
					div.style.color = "#0000ff";
					ok = true;
				}
			}
			if (param==1)
			{
				if (params[i].vej)
				{
					if (params[i].pos=="h")
					{
						div = divRRoad.cloneNode(true);
						div.style.left = params[i].x - 4;
						div.innerHTML = "<b>"+params[i].vej+"&nbsp;&nbsp;</b>";
					}
					else
					{
						div = divLRoad.cloneNode(true);
						div.style.left = params[i].x - 44;
						div.innerHTML = "<b>"+params[i].vej+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>";
					}
					div.style.color = "#ff0000";
					ok = true;
				}
			}
			if (param==2)
			{
				if (params[i].vind)
				{
					if (params[i].pos=="h")
					{
						div = divRWind.cloneNode(true);
						div.style.left = params[i].x - 4;
						div.innerHTML = "<b>"+params[i].vind+"<IMG align='absmiddle' src='"+"wind_"+params[i].dir+".gif"+"' height='15' width='15' border='0'></b>";
					}
					else
					{
						div = divLWind.cloneNode(true);
						div.style.left = params[i].x - 44;
						div.innerHTML = "<b>"+params[i].vind+"<IMG align='absmiddle' src='"+"wind_"+params[i].dir+".gif"+"' height='15' width='15' border='0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>";
					}
					div.style.color = "#000000";
					div.style.fontSize = 10;
					div.style.height = 15;
					ok = true;
				}
			}
			if (ok)
			{
				div.id = "param"+i;
				div.style.top = params[i].y - 5;
				divimg.appendChild(div);
			}
		}
	}
	
	function visNoData(divimg)
	{
		var div = document.createElement("DIV");
		div.id = "nodata";
		div.style.position = "absolute";
		div.style.color = "#ff0000";
		div.style.top = 200;
		div.style.left = 200;
		div.style.fontSize = 30;
		div.style.textAlign = "center";
		div.style.width = 350;
		div.style.height = 32;
		div.innerHTML = "<b>Siden er lukket<br>Åbner igen 15. Oktober 2010</b>";
//		div.innerHTML = "<b>Ingen data!<br>Data er mere end 1 time gammelt...</b>";
		divimg.appendChild(div);
//		opacity("nodata", 30, 100, 3000);
	}

	var win = null;
		
	function showImgInWindow(event)
	{
		if (document.getElementById)
		{
			var e = getEvent(event);
			var src = getSrc(e);
			if (src.link)
			{
				closeWindow();
				win = window.open("", "webcam","height=340,width=420,left=300,top=300,status=no,location=no,menubar=no,tootbar=no");
				var now = new Date();
				win.document.write("<table><tr><img src='http://webcam.trafikken.dk/webcam/"+src.link+"?"+now.getTime()+"'></tr>");
				win.document.write("<tr><div align='center'>"+src.text+"</div></tr></table>");
			}
		}
	}

	function closeWindow()
	{
		if (win!=null && !win.closed)
		{
			win.close();
			win = null;
		}
	}

	function opacity(id, opacStart, opacEnd, millisec) {
		//speed for each frame
		var speed = Math.round(millisec / 100);
		var timer = 0;

		//determine the direction for the blending, if start and end are the same nothing happens
		if(opacStart > opacEnd) {
			for(i = opacStart; i >= opacEnd; i--) {
				setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
				timer++;
			}
		} else if(opacStart < opacEnd) {
			for(i = opacStart; i <= opacEnd; i++)
				{
				setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
				timer++;
			}
		}
	}

	//change the opacity for different browsers
	function changeOpac(opacity, id) {
		var object = document.getElementById(id).style; 
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + opacity + ")";
	}

	function blendimage(divid, imageid, imagefile, millisec) {
		var speed = Math.round(millisec / 100);
		var timer = 0;
		
		//set the current image as background
		document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
		
		//make image transparent
		changeOpac(0, imageid);
		
		//make new image
		document.getElementById(imageid).src = imagefile;

		//fade in image
		for(i = 0; i <= 100; i++) {
			setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
			timer++;
		}
	}

