//var pic_url = "http://192.168.0.50/record/current.jpg";

var noframepath = "http://80.123.207.90/decor/m1m-error.jpg";
var n=Math.floor(Math.random()*1000000);
var session_id=Math.floor(Math.random()*1000000);
var startn=n;
var GetItOn=1;
var framerate=1;
var buffer= new Image();
var aktiv=null;
var db_enabled=0;
var passiv = null;
var cam = 0;
var pic_url = "";
  function DoComplete()
  {
		//debugmsg("DoComplete() buffer.src="+buffer.src);
		if (db_enabled != 0) {
			if (db_enabled<0) {
				//document.CamPic.style.filter="";buffer.style.filter="alpha(opacity=70,style=0)";
				document.CamPic.style.display="";
				buffer.style.display="none";
			} else {
				//document.CamPic.style.filter="alpha(opacity=70,style=0)";buffer.style.filter="";
				buffer.style.display="";
				document.CamPic.style.display="none";
			}
			db_enabled*=-1;
		} else {
	  	document.CamPic.src = buffer.src;
		}
 		GetItOn = 1;
		if (current_refresh_method_nr == 1 && framerate>0) {// Sync onload implementieren
			if (passiv==null)
				Animation();
			else 
				// Moz. ruft manchmal LoadError und DoComplete kurz hintereinander auf
				debugmsg("timer for Animation() already started...");
		}
  }
	function LoadError()
	{
		debugmsg("LoadError:#"+(n-1)+"  db:"+db_enabled);
		if (db_enabled != 0) {
			db_enabled*=-1;			
		} else {
			document.CamPic.src=noframepath;
		}
		GetItOn = 1;
		if (current_refresh_method_nr == 1 && framerate>0) // Sync onload Fehlerbehandlung
			passiv=setTimeout("passiv=null;Animation();",1000);
	}

  function setframerate(cam) {
		framerate=getframerate();
		debugmsg("setframerate: aktiv="+aktiv+" rm="+current_refresh_method_nr+" fps="+framerate);
 		if (aktiv) {
			window.clearInterval(aktiv);
			aktiv = null;
		}
		document.CamPic.onerror=null;
		buffer.onerror=null;
		if (framerate<0) {
		  if (current_refresh_method_nr == 2) { //  Stream ausschalten
				GetItOn=1; Animation(cam);
			}
			return;
		}
		// Refresh Typen
		if (current_refresh_method_nr == 2) { //  Stream anschalten
			buffer.onload = null;
			buffer.onerror= null;
			document.CamPic.onload=null;
			// wg. Mozilla Bug # 42224 "Spontaner Abbruch des Streams"
			document.CamPic.onerror= function () {setTimeout("setframerate();",500) } ;
			document.CamPic.src = "/cgi-bin/faststream.jpg?stream=full&fps="+framerate+"&rand=" + String(n++);
			return;
		} else if (current_refresh_method_nr == 1) { // OnLoad synced
		  session_id++;
			Animation(cam);
			return;
		}
		aktiv=window.setInterval("Animation(cam)",1000/framerate);
		GetItOn=1;	// auf alle Faelle anzeigen!
		Animation(cam); // und go...
	}
  function Animation(camID)
  {
    if (camID == 1) { pic_url = "http://80.123.207.90/record/current.jpg";  }
    if (camID == 2) { pic_url = "http://188.21.55.30/record/current.jpg"; }
		var my_rm_nr=current_refresh_method_nr;
		var my_fr=framerate;
		var my_session=session_id;
		
	  if (GetItOn == 1 || (my_rm_nr == 1 && my_fr>0))
		 	// Bild ist geladen und das naechste kann 
	  {	// angefordert werden.
			GetItOn = 0;
			//debugmsg("Animate:#"+n+" aktiv="+aktiv+" db:"+db_enabled);
			if (db_enabled<0) {
				buffer.onerror=buffer.onload=null;
				document.CamPic.onerror= LoadError;
				document.CamPic.onload = DoComplete;
				if (my_rm_nr == 0)
					document.CamPic.src = pic_url + "?rand=" + String(n++);
				else
				  document.CamPic.src = pic_url + "?sync=" + my_fr + "&session=" + my_session + "&rand=" + String(n++);
			} else {
				document.CamPic.onerror=document.CamPic.onload=null
				buffer.onerror= LoadError;
				buffer.onload = DoComplete;
				if (my_rm_nr == 0)
				  buffer.src = pic_url + "?rand=" + String(n++);
				else
				  buffer.src = pic_url + "?sync=" + my_fr + "&session=" + my_session + "&rand=" + String(n++);
			}
		}
  }
  function animation_init(cam) {
		if ( document.all 
				&& (navigator.platform.substr(0,3) != "Mac")
				&& (document.CamPic.inserAdjacentHTML)
				 ) {
			document.CamPic.insertAdjacentHTML("AfterEnd","<img border=0 style=\"display:none;\" name=dbbuffer><\/b>");
			buffer=document.dbbuffer;
			db_enabled=1;
		}
		setframerate(cam);
	}
