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

function webcam_mini_live(c)
{
	if (c > 10) return;
	var jetzt = new Date();
	document.getElementById("webcam_mini").style.backgroundImage="url(webcam-153.jpg?" + jetzt.getTime() + "-" + c + ")";
	window.setTimeout("webcam_mini_live(" +(c+1)+")", 60*1000);
}

function webcam_live_wait()
{
	window.setTimeout("webcam_live_load()",60 * 1000);
}

function webcam_live_load()
{
	var jetzt = new Date();
	document.getElementById("webcamimg").src="webcam.jpg?" + jetzt.getTime();

}

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

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 = "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;
	}
	
	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 * 5);
		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;
		
	document.getElementById("webcam_button_next").disabled = wwimagenr+1 >= wwplay.length;
	document.getElementById("webcam_button_back").disabled = wwimagenr <= 0;
	document.getElementById("webcam_status").innerHTML="Bild: " + (wwimagenr+1) + "/" + wwplay.length;
	
	if (!wwclick && document.getElementById("webcam_speed").value > 70)
		wwfadespeed = document.getElementById("webcam_speed").value / 4;
	else if (wwclick)
		wwfadespeed = 50;
	else
		wwfadespeed = 0;
	
	if (wwfadespeed)
	{
		document.getElementById("webcamimg2").src=wwcam[wwimagenr].src;

//		var wwfademess1 = new Date();
		opacity("webcamimg", 100, 0, wwfadespeed);
//		var wwfademess2 = new Date();
		window.setTimeout("webcam_fade_reset("+wwimagenr+")", wwfadespeed * 2);
	}
	else
		document.getElementById("webcamimg").src=wwcam[wwimagenr].src;
	
	document.getElementById("webcam_status2").style.display='none';
}

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

function webcam_preload_count()
{
	if (wwpcount + 1 > wwplay.length * 0.96)
	{
		document.getElementById("webcam_button_start").disabled = false;
		if (playing == false)
		{
			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)' : '') + (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ät</a></p>' : '');
		document.getElementById("webcam_status2").style.display='block';
	}
	
	if (playing)
		document.getElementById("webcam_status2").style.display='none';
	
	wwpcount++;
}

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="/webcam/" + id + '/' + wperiod;
		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()
{
	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].src = '/webcam' + wwplay[i] + (wwimagesize ? '-' + wwimagesize : '') + '.jpg';
		wwcam[i].onload=webcam_preload_count;
		wwcam[i].onerror=webcam_preload_count;
	}

}

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ählen:<br>";
		
		var i = 0;
		for (i=0;i<wArText[typ].length;i++)
		{
			x += '<a href="/webcam/' + wArData[typ][i] + '" class="aw">' + wArText[typ][i] + '</a> ';
		}
		x += "</div>";

		if (wArLink[typ] != '')
			x += "Archiv für <em>" + wArAText[typ] + "</em> <a href='/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+")", 300);
}

function webcam_thumb_video2(id,nr)
{
	document.getElementById('webcam_thumb_video'+id).onload = webcam_thumb_video(id,nr >= wwthumbv[id].length -1 ? 0 : nr+1);
	document.getElementById('webcam_thumb_video'+id).src = '/webcam'+wwthumbv[id][nr]+'t.jpg';
}
