var timeValue = 0;
var isRunning = 0;
var x1 = 0, y1 = 0, x2 = 0, y2 = 0;
var checkdom_cnt=0;
var flash_cnt=0;
var startcheck=false;
var flashcheck=false;
var dom_init=false;
var swfobj = null;
//var flashplayer=null;
var swf_wrapperobj = null;
var topposition = null;
var playerHTML = null;
var runs = 0;
var flashready = false;
var flashruntimes = false;
var flash_wait_cnt = 0;
// Zeitintervalle
// erster Start nach runint[1], zweiter nach runint[2], etc..
var runint= [90,90];


// Wird vom Flashplayer aufgerufen, wenn 100% geladen sind
function flashloaded (val) {
	//alert("Flashresponse");
	flashready =true;
}
// Wird vom Flashplayer aufgerufen
function flashcomm(runtime) {
	resetTimer();
}


function is_function(obj) {
	return (typeof obj == 'function' || typeof obj == 'object');
}


function resetTimer()
{
	if (!dom_init) {
		checkdom();
		return true;
	}
	timeValue = 0;
	if(isRunning == 0)
	{
		isRunning = 1;
		timer_run(0);
	}
	hide_flash_div();

}

function timer_run(val)
{
	if (!dom_init) {
		return true;
	}
	//var showTime = 90 * 1000;
	var runint_entries = runint.length;
	var cur_index = (runs<runint_entries)  ? runs : runint_entries-1;
	var showTime = runint[cur_index]*1000;
	//alert(cur_index);
	timeValue = timeValue + val;

	if( timeValue <= showTime) {
		setTimeout('timer_run(1000)',1000);
	} else  {
		show_flash_div();
		flash_wait_cnt=0;
		setTimeout('start_flash()',500);
	}
}

function hide_flash_div() {
	//swfobj.style.top="-5000px";
	swfobj.style.display='none';
	//swfobj.innerHTML="";
}

function show_flash_div() {
	var scrolltop = window.pageYOffset
		|| document.documentElement.scrollTop
		|| document.body.scrollTop
		|| 0;
		scrolltop = (scrolltop > topposition) ? (scrolltop-topposition)+"px" : "0px";
		swfobj.style.top=scrolltop;
		swfobj.style.display='';
}

function start_flash () {
	// flashready erst bei 100% geladen, sonst funzt flashProxy nicht
	if (flashready) {
		if (!flashruntimes) {
			flashProxy.call('firstStart','Calling1');
			flashruntimes=true;
		} else {
			flashProxy.call('startMovie','Calling2');
		}
		runs++;
		isRunning = 0;
		return true;
	} else {
		if (flash_wait_cnt>=20) {
			//alert("keine Antwort vom Flash-Player..!");
			return false;
		}
		flash_wait_cnt++;
		setTimeout('start_flash()',500);
	}

}
function mouse_move_reset(evt)
{
	if (!dom_init) {
		return true;
	}


	if(x1==0 && y1==0)
	{
		x1=evt.screenX;
		y1=evt.screenY;
		setTimeout('x1=0; y1=0;',50);

	}

	x2=evt.screenX;
	y2=evt.screenY;
	setTimeout('x2=0; y2=0;',50);

	if(x1 != x2 || y1 != y2) {
		resetTimer();
	}
}



function checkdom() {
	try {
		if (document.getElementById("swf") && document.getElementById("swf_wrapper") && player_embeded  && is_function(flashProxy.call)) {
			throw true;
		} else {
			throw false;
		}
	} catch(e) {
		if (!e) {
			if (checkdom_cnt<20) {
				setTimeout(checkdom,500);
				checkdom_cnt++;
			} else {
				//alert('Applikation konnte nicht initialisiert werden!');
			}
		}
		if (e) {
			dom_init=true;
			swfobj = document.getElementById("swf");
			swf_wrapperobj = document.getElementById("swf_wrapper");
			var toppos =swf_wrapperobj.style.top;
			var matches = toppos.match(/(\d*).*/);
			topposition = matches[1];
			playerHTML = swfobj.innerHTML;
			resetTimer();
		}

	}

}
