
var page_start_done = false;

function page_start()
{
	if (page_start_done)
		return;
		
	
	
	var x = document.getElementById("Inhalt").scrollWidth;
	var y = document.body.offsetWidth;
	var a = document.getElementById("info_text_leiste");
	var b = document.getElementById("infoleiste");
	
	if (a != null)
	{
		if (x && y && x + 390 < y && b != null)
		{
			b.innerHTML = a.innerHTML;
			a.innerHTML = '';
			a.style.display = "none";
			b.style.display = "block";
			
			document.getElementById("Inhalt").style.width=(x+200)+"px";
			
			var w = document.getElementById("webcam");
			if (w)
				w.style.width='auto';
			
			page_start_done = true;
		}
		else
			a.style.display='block';
	}
}

function fenster(url,x,y)
{
	window.open(url, '', 'width='+x+',height='+y+',scrollbars=yes,resizable=yes');
}

function webcam_mini_live(c,wait)
{
	var jetzt = new Date();
	document.getElementById("webcam_mini_pic").src="/webcam-151.jpg?" + jetzt.getTime() + "-" + c;
	if (wait)
	{
		if (c > 10) wait = wait * 5;
		window.setTimeout("webcam_mini_live(" +(c+1)+","+wait+")",wait*1000);
	}
}

function webcam_mini_overout(over)
{
	var pic = document.getElementById('webcam_mini_pic');
	var jetzt = new Date();
	var time = jetzt.getHours() + "-" + jetzt.getMinutes();
	
	if (over)
	{
		pic.src="/webcam_archiv/clip.gif?" + time;
	}
	else
	{
		pic.src="/webcam-151.jpg?" + jetzt.getTime();
	}
}

function webcam_live_wait(track, size, wait)
{
	window.setTimeout("webcam_live_load("+size+","+track+")", wait * 1000);
}

function webcam_live_load(size,track)
{
	var jetzt = new Date();
	document.getElementById("webcamimg").src="webcam" + (size ? "-"+size : "") + ".jpg?" + jetzt.getTime();
	
	if ((jetzt.getTime() - wwlastupdate) / 1000 >= 60)
	{
		wwlastupdate = jetzt.getTime();
		webcam_update_overlay();
		if (track) webcam_track();
	}
}

function webcam_update_overlay()
{
	xmlHttp = new XMLHttpRequest();
	if (xmlHttp) 
	{
		xmlHttp.open('GET', '/webcam' + webcam_overlay_zoom + '-overlay.html', true);
		xmlHttp.onreadystatechange = function () {
			if (xmlHttp.readyState == 4) {
				document.getElementById('infoboxen_inhalt').innerHTML=xmlHttp.responseText;
			}
		}
    }
	
    xmlHttp.send(null);
}

function webcam_track(id, size) 
{
	var piwikTrackerWebcam = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
	piwikTrackerWebcam.trackLink(location.href.substr(0,location.href.lastIndexOf('/')) + '/webcam' + (id ? id : '') + '-' + (size ? size : wwimagesize) + '.jpg', 'download');
}

function webcam_fps_video(vid, fps)
{
	document.location.href = '/wetter-webcam/video/'+vid+'/'+fps;
}

function opacity(id, opacStart, opacEnd, millisec, step) 
{

	if (document.all) // IE :-(
	{
		
		if (opacEnd == 0)
		{
			document.getElementById(id).style.display = 'none';
			return;
		}
		else if (opacEnd == 100)
		{
			document.getElementById(id).style.display = '';
			return;
		}
		
		
	}
	
	
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;
	if (!step)
		step = document.all ? 10 : 1;
	var i; 
	
	is_fading=1;
	
	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i=i-step) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer = timer + step;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i=i+step)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer = timer + step;
		}
	}
	
	
	setTimeout("is_fading=0;",(timer * speed));
}

//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 = "alpha(opacity=" + opacity + ")";
	
	if (opacity == 0)
		object.display = 'none';
	else
		object.display = '';
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

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++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}

function fadeit(arfade,fadetime,pausetime)
{
  for (var i=0; i < arfade.length ; i++) {
    if (i != 0) { 
     opacity(arfade[i],100, 0, 0); 
    }
  }
  window.setTimeout('fadeit2(arfade,'+fadetime+','+pausetime+',0)',pausetime);
}

function fadeit2(arfade,fadetime,pausetime,vis)
{
  new_vis = vis >= arfade.length - 1 ? 0 : vis+1;
  fade_between(arfade[vis],arfade[new_vis],fadetime);
  window.setTimeout('fadeit2(arfade,'+fadetime+','+pausetime+','+new_vis+')', pausetime);
}

function fade_between(from_id, to_id, fadetime)
{
	if (is_fading) return;
	is_fading=true;
	window.setTimeout('is_fading=false;',fadetime);
	opacity(from_id,100, 0, fadetime);
	opacity(to_id, 0, 100, fadetime);
}

function webcam_play()
{
	if (stopping)
	{
		document.getElementById("webcam_button_start").value = "Start";
		playing = false;
		return;
	}

	if (webcam_update())
		wwimagenr++;
		
	document.getElementById("webcam_button_start").value = "Pause";

	if (wwimagenr >= wwplay.length)
	{
		wwimagenr = 0;
		window.setTimeout("webcam_wait()",document.getElementById("webcam_speed").value * 2 + 500);
		return;
	}

	wwcam[wwimagenr].onload=webcam_wait;
	webcam_wait();
	
}

function webcam_update(wwclick)
{

	if (wwimagenr < 0)
		wwimagenr = 0;
	else if (wwimagenr >= wwplay.length)
		wwimagenr = wwplay.length - 1;

	if (!wwpok[wwimagenr])
	{
		wwimagenr++;
		if (wwimagenr >= wwplay.length)
			wwimagenr = 0;
		window.setTimeout("webcam_update();",2);
		return false;
	}
		
	document.getElementById("webcam_button_next").disabled = wwimagenr+1 >= wwplay.length;
	document.getElementById("webcam_button_back").disabled = wwimagenr <= 0;
	
	if (wwimagenr < wwplay.length)
		document.getElementById("webcam_status").innerHTML="Bild: " + (wwimagenr+1) + "/" + wwplay.length;
	
	var speed = parseInt(document.getElementById("webcam_speed").value);
	
	if (wwclick)
		speed = 50;
	else if (speed > min_fade_time)
		speed = speed / 4;
	else
		speed = 0;
		
	if (speed)
	{
		document.getElementById("webcamimg2").src=wwcam[wwimagenr].src;
		opacity("webcamimg", 100, 0, speed);
		window.setTimeout("webcam_fade_reset("+wwimagenr+")", speed * 2);
	}
	else
	{
		document.getElementById("webcamimg").src=wwcam[wwimagenr].src;
	}
	
	document.getElementById("webcam_status2").style.display='none';
	
	return true;
}

function webcam_fade_reset(nr)
{
	if (is_fading)
	{
		min_fade_time = parseInt(document.getElementById("webcam_speed").value);
	}

	document.getElementById('webcamimg').src=wwcam[nr].src;
	changeOpac(100, 'webcamimg');
}

function webcam_change_quali(quali)
{
	var wwq = document.getElementById("webcam_quali");
	
	if (quali == -1 && wwq.value == 800)
		wwq.value = 600;
	else if (quali == -1 && wwq.value == 600)
		wwq.value = 400;

	document.location.href='/webcam.php?picsize='+wwq.value+'&from='+document.location.href;
}

function webcam_wait()
{
	window.setTimeout("webcam_play()",document.getElementById("webcam_speed").value);
}

function webcam_playpause()
{
	if (wwpcount == 0)
		return true;
	
	document.getElementById("webcam_status2").style.display='none';
		
	if (playing)
	{
		stopping = true;
	}
	else
	{
		stopping = false;
		playing = true;
		webcam_wait();
	}
	
	return false;
}

function webcam_step(step, id)
{
	if (id)
	{
		document.location.href="/wetter-webcam/" + id + '/' + wperiod + '/' + wpics;
		return false;
	}
	
	if (wwpcount == 0)
		return false;
	
	stopping = true;
	wwimagenr+=step;
	webcam_update(true);
	return false;

}

function webcam_stop()
{
	if (playing)
		stopping = true;
	
	return false;

}

function webcam_preload_count()
{
	var nummer = this.id.substring(10);
	wwpok[nummer] = true;
	wwpcount++;
	
	if (wwpcount > wwplay.length * 0.96)
	{
		document.getElementById("webcam_button_start").disabled = false;
		if (playing == false)
		{
			wwimagenr = 0;
			playing = true;
			webcam_wait();
		}
	}
	else if (!playing)
	{
		document.getElementById("webcam_status2").innerHTML="<strong><u>Bitte warten!</u></strong><br>Bilder werden geladen<br>" + wwpcount + " / " + wwplay.length + (wwimagesize == 800 ? ' ('+wsize+'MByte)' : '')
		+ '<p style="font-size:8pt">Die Ladezeit h&auml;ngt von Ihrer Internetverbindung, ihrem PC aber auch vom verwendeten Browser ab.</p>';
/*		+ (wwimagesize > 400 ? ' <p style="font-size:8pt">Laden Dauert zu lange? --&gt; <a style="font-size:8pt" href="." onclick="webcam_change_quali(-1);return false;">geringere Qualit&auml;t</a></p>' : ''); */
		document.getElementById("webcam_status2").style.display='block';
	}
	
	if (playing)
	{
		document.getElementById("webcam_status2").style.display='none';
	}
	else if (wwimagenr < nummer)
	{
		document.getElementById("webcamimg").src=this.src;
		wwimagenr = nummer;
	}
	
}

function webcam_preload()
{
	
	document.getElementById("webcam_button_back").disabled = !wprevid;
	document.getElementById("webcam_button_next").disabled = !wnextid;
	document.getElementById("webcam_button_hback").disabled = !whprevid;
	document.getElementById("webcam_button_hnext").disabled = !whnextid;
	document.getElementById("webcam_button_start").disabled = wwplay.length?true:false;
	document.getElementById("webcamimg").onload="";
	

	if (wwplay.length > 0)
	{
		document.getElementById("webcam_status2").style.display='block';
		document.getElementById("webcam_status2").innerHTML="<strong><u>Bitte warten!</u></strong><br>Bilder werden geladen";
	}
	
	var i = 0;
	for (i=0;i<wwplay.length;i++)
	{
		wwcam[i] = new Image();
		wwcam[i].onload=webcam_preload_count;
		wwcam[i].onerror=webcam_preload_count;
		wwcam[i].src = '/webcam' + wwplay[i] + (wwimagesize ? '-' + wwimagesize : '') + '.jpg';
		wwcam[i].id = 'webcam_pic' + i;
	}

}

function webcam_archivwahl(typ)
{
	var x;
	
	if (typ == -1)
	{
		wArDiv.style.display = 'none';
	}
	else
	{
		x = "<a style='display:block;float:right;font-weight:bold;' href='javascript:void(0)' onclick='webcam_archivwahl(-1);' >[X]</a>";
		
		x += "<div style='clear:both;padding-top:1px;padding-bottom:10px;'>" + wArTText[typ] + " ausw&auml;hlen:<br>";
		
		var i = 0;
		for (i=0;i<wArText[typ].length;i++)
		{
			x += '<a href="/wetter-webcam/' + wArData[typ][i] + '" class="aw">' + wArText[typ][i] + '</a> ';
		}
		x += "</div>";

		if (wArLink[typ] != '')
			x += "Archiv f&uuml;r <em>" + wArAText[typ] + "</em> <a href='/wetter-webcam/archiv/" + wArLink[typ] + "' class='aw'>zeigen</a>.";

		wArDiv.innerHTML = x;
		wArDiv.style.display = 'block';
		document.getElementById('archivwahl' + typ).insertBefore(wArDiv, null);
		
	}
	
	return false;
}

function webcam_thumb_video(id,nr)
{
	window.setTimeout("webcam_thumb_video2("+id+","+nr+")", id ? 1500 : 3500);
}

function webcam_thumb_video2(id,nr)
{
	var front = document.getElementById('webcam_thumb_video'+id);
	var back  = document.getElementById('webcam_thumb_video_back'+id);
	var front_nr = nr >= wwthumbv[id].length-1 ? 0 : nr+1;
	var back_nr = nr == 0 ? wwthumbv[id].length-1 : nr-1;

	
	front.onload = webcam_thumb_video(id, front_nr);
	front.src = '/webcam'+wwthumbv[id][nr]+'t.jpg';
	back.src = '/webcam'+wwthumbv[id][back_nr]+'t.jpg';
	
	opacity('webcam_thumb_video'+id, 0, 100, 500, 20) 
	
	window.setTimeout('webcam_thumb_video3('+id+','+nr+');', 1000);

}

function webcam_thumb_video3(id,nr)
{
	document.getElementById("webcam_thumb_video_back"+id).src="/webcam"+wwthumbv[id][nr]+"t.jpg";
	changeOpac(0, 'webcam_thumb_video'+id);
}


