var checkVideoPlay;
var is_playing;
var dt_ziehung;
var liveInterval;
var offset;
var startTime;
var timeinterval;
var sc_url        = "http://www.kenotv.de/cgi/sitecontrol";
var js_url        = window.location.search == '?test' ? "http://kenotv.itc-pro.de/js/livetime_test.js" : "http://kenotv.itc-pro.de/js/livetime.js";
var js_ms_url     = window.location.search == '?test' ? "http://kenotv.itc-pro.de/js/livemovie_test.js" : "http://kenotv.itc-pro.de/js/livemovie.js";
var anz_eintraege = 9;
var beginMinute   = 10;
var beginStunde   = 19;
var cur_movie_pos = 0;
var eintrag_hoehe = 22;
var element_hoehe = max_eintraege * eintrag_hoehe;
var gesamt_hoehe  = anz_eintraege * eintrag_hoehe;
var has_flash     = true;
var has_flash     = true;
var homepage      = false;
var is_on         = "";
var max_eintraege = 10;
var movies        = [];
var o_is_on       = "";
var site          = "";	
var sync          = 0;
var pause         = false;
var end_panel_img = false;
var end_panel_id  = false;

function seek(video_id, value) {
	ele = $("#"+video_id);
	if (ele) {
		vid = ele.get(0);
		if (vid) {
			if (isNaN(vid.duration)) {
				writeLog(video_id, '[Seek] Keine Duration'); 
				setTimeout("seek('"+video_id+"','"+value+"')", 100);
			} else {
				if (value > vid.duration) {
					writeLog(video_id, '[Seek] Durationende'); 
					endLiveHTML();
					return
				}
			
				try {
					vid.currentTime = value;
					writeLog(video_id, '[Seek] Seeked');
				} catch(err) {
					 setTimeout("seek('"+video_id+"','"+value+"')", 1000);
				}
			}
		} else {
			writeLog(video_id, '[Seek] Video-Datei (get(0)) nicht gefunden'); 
		}
	} else {
		writeLog(video_id, '[Seek] Video-Element nicht gefunden'); 
	}
}

function writeLog(id, s) {
	if (console && console.log) {
		if (id == 'video_live')
			console.log(id + ': ' + s);
	}
};

function insertVideo(div_id, movie_src, video_id,poster,addParam) {
	$('#'+div_id).append("<video id='"+video_id+"' width='750' height='423' src='"+movie_src+"' type='video/mp4;'   poster='"+poster+"' "+addParam+" ></video>");
}


function endLiveHTML() {
	if (end_panel_id && end_panel_img) {
		document.getElementById("player_container_live_big").style.display='none';
  	$('#'+end_panel_id).html("<div id='endpanel'><img src='"+end_panel_img+"' height='422'></div>");	
		$('#'+end_panel_id).show();
	}
	$('#player').hide();
	if (checkVideoPlay)	clearInterval(checkVideoPlay);
	setTimeout("end_live()", 120 * 1000);
}

function bindEndPanel(video_id) {
	$("#"+video_id).bind("ended", endLiveHTML);
}

function fakeClick(fn) {
	var a = $('<a href="#" id="fakeClick"></a>');
	a.bind("click", function(e) {
		e.preventDefault();
		fn();
	});
	
	$("body").append(a);
			
	var evt;
	var el = $("#fakeClick").get(0);
	
	if (document.createEvent) {
		evt = document.createEvent("MouseEvents");
		if (evt.initMouseEvent) {
			evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
			el.dispatchEvent(evt);
		}
	}
	
	$(el).remove();
}

function supports_h264_baseline_video() { 
	return true

	if (!document.createElement('video').canPlayType) {
		return false;
	} 

	var v = document.createElement("video"); 
	return v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').match(/maybe|probably/i);
}

function centercenter(obj) {
	var site_w = jQuery(window).width();
	var site_h = jQuery(window).height();
	var site_scroll = jQuery(document).scrollTop();
	
	obj.css("left", Math.round(site_w / 2) - Math.round(obj.width() / 2)+"px");
	obj.css("top", Math.round((site_h / 2) + site_scroll) - Math.round(obj.height() / 2)+"px");
}

function loadsitecontroller() {
	var s1 = new SWFObject("/flash/sitecontrol.swf","mediaplayer","1","1","9");

	if (s1 && s1.installedVer && s1.installedVer.major >= 9) {
		s1.addVariable("sitecontrolurl", sc_url);
		s1.addVariable("polltime","15");
		s1.write("sitecontrol");
	} else 	if (supports_h264_baseline_video()) {
		has_flash = false;
		getServerTime();
	} else	if (!homepage) {
		showFlashMessage();
	}
}

function showLive() {
	if (homepage) {
		jQuery.get('/s/pics/count.gif?block=1&typ=liveziehung&homepage=1&rand='+Math.random());
		$("#liveplayer_box").expose({ closeOnEsc: false, closeOnClick: false, color: '#000000', opacity: 0.7 });
		hideTheming();
		startPlayerBig();
	} else {
		jQuery.get('/s/pics/count.gif?block=1&typ=liveziehung&rand='+Math.random());
		$("#ondemand").hide();
		$("#livebox").show();
		startPlayerBig();
		document.getElementById("player_container").innerHTML = "";
	}
}

function pickDate(pos, datum) {
	$('#cur_date').html(datum);
	$('#ziehungdatumvom').show();
	$('#dates').toggle();
			
	if( has_flash){
		if (o_is_on == "normal") {
			o_is_on = "";
			startMovie(pos,true);
		} else {
			o_is_on = "";
			startMovieBig(pos,true);
		}
	} else {
		startMovieHTML5(pos,true);
	}
}    

function refresh_movies (func) {
	$.ajax({
				 url:        "/d/archiv.json?"+Math.random(),
				 dataType:   'json',
				 success:  function (data) {
						if (data)
								movies = data;
						if (func != null) func()
				 },
				 error:    function (xmlrequest, status, error) {
						if (console) console.log("ERROR -- status:"+status+"  error:"+error);
						if (movies != null && movies.length) {
								if (func != null) func()
						} else {
								refresh_movies(func);
						}
				 }
	});
}

function fill_dropdown() {
	var str = '';
	
	$.each(movies, function (index, value) {
	  datearray = value.date.split(".");
	  str += '<a href="javascript:pickDate(\''+ index +'\', \''+ value.date +'\');" onFocus="this.blur()" style="display:block; height:'+ eintrag_hoehe +'px; background-image:url(/shared/dropdown/bg.gif); color:#e5e5e5; text-decoration:none; line-height:'+ eintrag_hoehe +'px; font-size:11px; padding-left:6px; ">'+ value.date +' &rsaquo;</a>'; 
	});
	
	$('#scroll').html(str);
}

function closeLive() {
	$("#sitecontrol").html("")
	showOndemand();
}

function showFlashMessage () {
	jQuery.get('/s/pics/count.gif?block=1&typ=flashmessage&rand='+Math.random());
	document.getElementById('flashMessage').style.display='';
}

function startPlayerBig() {
	if (!homepage) {
		$("#player_container_big").html("");
		$("#player_container").html("");
		o_is_on = "";
	}

	if (is_on != "big") {
		is_on = "big";
		var so = new SWFObject("http://source.kenotv.de/flash/live/player_container_large.swf", "playerId", "750", "463", 9);
		so.addParam("allowfullscreen", "true");
		so.addParam("allowscriptaccess", "always");
		so.addParam("wmode", "transparent");
		so.write('player_container_live_big');
		
		if (homepage) {
			$("#liveplayer_box").css("width","802px");
			$("#liveplayer_box").css("height","474px");
			
			$("#bittewarten").css("top","135px");
			$("#bittewarten").css("left","248px");
			
			centercenter($("#liveplayer_box"));
		}
		document.getElementById("playerbg").style.display = "none";
		document.getElementById("playerbgbig").style.display = "block";
		document.getElementById("player_container_div").style.display = "none";
		document.getElementById("player_container_big_div").style.display = "block";    
		document.getElementById("player_container_live").innerHTML = "";
		if (homepage)
			document.getElementById("liveplayer_box").style.display = "block";
	}
}

function end_live(){
	$("#endpanel").fadeOut(400);
	if (checkVideoPlay) {
		clearInterval(checkVideoPlay);
		checkVideoPlay = null;
	}
	if (homepage) {
		location.href="/d/homepage.html";
	} else {
		location.href="/s/ziehung.html";
	}
}

function update_countdown () {
	var h = document.getElementById('hours');
	var m = document.getElementById('minutes');
	var r = Math.floor(dt_ziehung - ((new Date().getTime()+offset) / 1000));
					
	if (!isNaN(r)) {
		r += 60 - (r % 60);
		var minutes = (r % (60*60)) / 60;    
		var hours   = (r - (r % (60*60))) / (60*60);
					
		if (hours < 10) {hours = "&nbsp;&nbsp;"+hours}
		if (minutes < 10) {minutes = "0"+minutes}
							
		if (!(m.innerHTML == "00" && h.innerHTML == "&nbsp;&nbsp;0")) { 
			h.innerHTML = hours;
			m.innerHTML = minutes;
		}
		setTimeout("update_countdown()", 10000);
	}
}
			
function getServerTime(){
	checkServerTime();
	timeinterval = setInterval("checkServerTime()",15000);
}

function checkServerTime(){
	var scr = document.createElement('script');
	scr.language = "JavaScript"
	scr.src = js_url + "?rand" + Math.random();
	scr.type = "text/javascript"
	document.body.appendChild(scr);
}

function checkServerTimeLive(data) {
		var stunde = beginStunde; 
		var laufzeit;
		if (data.startzeit > 0)
			laufzeit = Math.round(data.serverzeit - data.startzeit) / 1000;
					
		var d = new Date(Number(data.serverzeit));
		var h = d.getUTCHours();
		var m = d.getUTCMinutes();
					
		if (laufzeit > 0 || ((parseInt(h) == parseInt(eval(stunde + data.time_diff))) && parseInt(m) >= parseInt(beginMinute - 2) && data.dauer > 0)) {
			if (laufzeit > (parseInt(data.dauer) + 120)) {
				if (site != "ondemand")
					showOndemand(data.serverzeit, eval(beginStunde+data.time_diff), beginMinute) ;
			} else {
				if (site != "live")
					showLiveHtml5();
			}
		} else {
			if (data.inProcess == 1) {
				if (site != "live")
					showLiveHtml5();
			} else {
				if (site != "ondemand")
					showOndemand(data.serverzeit, eval(beginStunde + data.time_diff), beginMinute) ;
			}
		}
}

function checkLiveMovie(){
	var scr      = document.createElement('script');
	scr.language = "JavaScript"
	scr.src      = js_ms_url + "?rand" + Math.random();
	scr.type     = "text/javascript"
	document.body.appendChild(scr);
}

function checkLiveMovieLive(data){
	if (data.startzeit && data.liveclip_filename) {
		clearInterval(liveInterval);
		clearInterval(timeinterval);
		startLiveBigHtml5(data);	
	}					
}

function showOndemand(serverzeit, stunde, minute) {
	if (homepage) {
		$.mask.close();
		showTheming();
		document.getElementById("liveplayer_box").style.display = "none";
		$("#player_container_live").html("");
		$("#player_container_live_big").html("");
		is_on = "";
	} else {
		refresh_movies(function () { 
			fill_dropdown();
			if (movies && movies.length) {
				$('#cur_date').html(movies[0].date);
			}
			if (has_flash) {
				startMovieBig(0, false);
			} else {
				showStartMovie(0,false); 
			}
			
			$("#ondemand").show();
			$("#livebox").hide();
						
			document.getElementById("player_container_live").innerHTML = "";
			document.getElementById("player_container_live_big").innerHTML = "";
			is_on = "";
						
			document.getElementById('hours').innerHTML = "";
			document.getElementById('minutes').innerHTML = "";
						
			if (serverzeit > 0) {       
				var d = new Date();
				d.setTime(serverzeit);
								
				var now = new Date();
				offset = d.getTime() - now.getTime();
														
				var d1 = new Date();
				d1.setUTCHours(stunde);
				d1.setUTCMinutes(minute);
										
				var t1 = Math.floor((d1.getTime() - now.getTime()) / 1000);
										
				if (t1 < 0) {
					t1 += 86400;
				}
										
				dt_ziehung = new Date((new Date().getTime()) + (t1 * 1000)).getTime() / 1000;
				update_countdown();
			}
		});
	}
}

function startPlayerBigHtml5() {
	if (homepage) {
		centercenter($("#liveplayer_box"));
	} else {
		$("#player_container_big").html("");
		$("#player_container").html("");
		o_is_on = "";
	}
	document.getElementById("playerbg").style.display = "none";
	document.getElementById("playerbgbig").style.display = "block";
	document.getElementById("player_container_div").style.display = "none";
	document.getElementById("player_container_big_div").style.display = "block";    
	document.getElementById("player_container_live").innerHTML = "";
	document.getElementById("player_container_live_big").innerHTML = "";
	if (homepage) 
		document.getElementById("liveplayer_box").style.display = "block";
	$('#player_container_live_big').append("<img src='/shared/in_kuerze.jpg' height='422' width='750'>");
	//insertVideo("player_container_live_big","/shared/in_kuerze.mp4","start_video","/s/pics/ziehung/startbild640x360.jpg","loop  autostart controls ");
	site = "live";
}

function startLiveBigHtml5(data) {
	if (homepage) {	
		centercenter($("#liveplayer_box"));
	} else {
		$("#player_container_big").html("");
		$("#player_container").html("");
		o_is_on = "";
	}

	document.getElementById("playerbg").style.display = "none";
	document.getElementById("playerbgbig").style.display = "block";
	document.getElementById("player_container_div").style.display = "none";
	document.getElementById("player_container_big_div").style.display = "block";    
	document.getElementById("player_container_live").innerHTML = "";
	document.getElementById("player_container_live_big").innerHTML = "";
	if (homepage) 
		document.getElementById("liveplayer_box").style.display = "block";

	var timeObj = new Date();
	startTime = timeObj.getTime() / 1000; 
	is_playing = Math.round(data.serverzeit - data.startzeit)/1000;
	end_panel_img = data.source2 + data.endpanel_filename;
	end_panel_id  = 'player_container_live_big';

	insertVideo("player_container_live_big",data.source2 + data.liveclip_filename + ".mp4", "video_live", "/s/pics/ziehung/startbild640x360.jpg", " autostart controls ");

	bindEndPanel('video_live');

	site = "live";
}

function startMovie(pos, autostart) {
	if (o_is_on != "normal") {
		o_is_on = "normal";
		cur_movie_pos = pos;
					
		$("#vom_div").css("left","766px");
		$("#ziehungsarchive_div").css("left","776px");
		$("#dropdown_div").css("left","767px");
		$("#naechsteziehung_div").css("left","781px");
		$("#timebg_div").css("left","770px");
		$("#min_div").css("left","842px");
		$("#dp_div").css("left","824px");
		$("#std_div").css("left","777px");
		$("#mintext_div").css("left","844px");
		$("#stdtext_div").css("left","776px");
					
		$("#player_container").show();
		$("#player_container_big").hide();
		$("#player_container_big").html("");
		if (pos >= 0) {
			if (movies[pos] && movies[pos].filename) {
				var filename = movies[pos].filename;
				var s1 = new SWFObject("/flash/ondemand_player_container.swf","mediaplayer","640","395","9");
				s1.addParam("allowfullscreen","true");
				s1.addParam("wmode", "transparent");
				s1.addVariable("width","640");
				s1.addVariable("height","395");
				s1.addVariable("file",filename);
				if (autostart) {
					s1.addVariable("autoplay","true");
					jQuery.get('/s/pics/count.gif?block=1&typ=ondemand&movie='+ movies[pos].id +'&rand='+Math.random());
				} else {
					s1.addVariable("autoplay","false");
					s1.addVariable("image","/s/pics/ziehung/startbild640x360.jpg");
				}
				s1.addVariable("backcolor","940084")
				s1.addVariable("frontcolor","0xFFFFFF");
				s1.addVariable("controlbar","over");
				s1.addVariable("videourl",filename);
				s1.write("player_container");
											
				$('#ziehungdatum').html(movies[pos].date);
			} else {
				$('#player_container').html('<img src="/s/pics/keine_aufzeichnung.jpg" width="402" height="300" border="0">');
			}
			$('a.bold').attr('class', '');
		} else { 
			alert('Video-Datei nicht gefunden!'); 
		}
	}
}

function startMovieBig(pos, autostart) {
	if (o_is_on != "big") {
		o_is_on = "big";
		cur_movie_pos = pos;
					
		$("#vom_div").css("left","798px");
		$("#ziehungsarchive_div").css("left","811px");
		$("#dropdown_div").css("left","796px");
		$("#naechsteziehung_div").css("left","810px");
		$("#timebg_div").css("left","796px");
		$("#min_div").css("left","867px");
		$("#dp_div").css("left","847px");
		$("#std_div").css("left","799px");
		$("#mintext_div").css("left","869px");
		$("#stdtext_div").css("left","805px");
		$("#player_container").hide();
		$("#player_container_big").show();
		$("#player_container").html("");
		if (pos >= 0) {
			if (movies[pos] && movies[pos].filename) {
				var filename = movies[pos].filename;
				var s1 = new SWFObject("/flash/ondemand_player_container_big.swf","mediaplayer","750","463","9");
				s1.addParam("allowfullscreen","true");
				s1.addParam("wmode", "transparent");
				s1.addVariable("width","750");
				s1.addVariable("height","463");
				s1.addVariable("file",filename);
				if (autostart) {
					s1.addVariable("autoplay","true");
					jQuery.get('/s/pics/count.gif?block=1&typ=ondemand&movie='+ movies[pos].id +'&rand='+Math.random());
				} else {
					s1.addVariable("autoplay","false");
					s1.addVariable("image","/s/pics/ziehung/startbild640x360.jpg");
				}
				s1.addVariable("backcolor","940084")
				s1.addVariable("frontcolor","0xFFFFFF");
				s1.addVariable("controlbar","over");
				s1.addVariable("videourl",filename);
				s1.write("player_container_big");
											
				$('#ziehungdatum').html(movies[pos].date);
													
			} else {
				$('#player_container_big').html('<img src="/s/pics/keine_aufzeichnung.jpg" width="402" height="300" border="0">');
			}
			$('a.bold').attr('class', '');
		} else { 
			alert('Video-Datei nicht gefunden!'); 
		}
	}
}

function startMovieHTML5(pos,autostart) {
	o_is_on = "big";

	$("#vom_div").css("left","798px");
	$("#ziehungsarchive_div").css("left","811px");
	$("#dropdown_div").css("left","796px");
	$("#naechsteziehung_div").css("left","810px");
	$("#timebg_div").css("left","796px");
	$("#min_div").css("left","867px");
	$("#dp_div").css("left","847px");
	$("#std_div").css("left","799px");
	$("#mintext_div").css("left","869px");
	$("#stdtext_div").css("left","805px");
	$("#player_container").hide();
	$("#player_container_big").show();
	$("#player_container").html("");
	$("#player_container_big").html("");
	
	site="ondemand";
	if (movies[pos] && movies[pos].filename) {
		var filename = movies[pos].filename;
		var container="<video id='video' width='750' height='423' src='"+filename+"'  poster='/s/pics/ziehung/startbild640x360.jpg' controls></video>";
		$("#player_container_big").html(container);
		if (autostart) {
			$(function() {
					var video = $("#video").get(0);
					fakeClick(function() {
						video.play();
					});
				});
		}
						
		$('#ziehungdatum').html(movies[pos].date);
		$('#ziehungdatumvom').show();
		$('a.bold').attr('class', '');
	} else { 
		alert('Video-Datei nicht gefunden!'); 
	}
}

function  showStartMovie(pos,autostart){
	$("#vom_div").css("left","798px");
	$("#ziehungsarchive_div").css("left","811px");
	$("#dropdown_div").css("left","796px");
	$("#naechsteziehung_div").css("left","810px");
	$("#timebg_div").css("left","796px");
	$("#min_div").css("left","867px");
	$("#dp_div").css("left","847px");
	$("#std_div").css("left","799px");
	$("#mintext_div").css("left","869px");
	$("#stdtext_div").css("left","805px");
	$("#player_container").hide();
	$("#player_container_big").show();
	$("#player_container").html("");
	$("#player_container_big").html("");
	$("#player_container_big").html("<div onclick='startMovieHTML5(0,true);' style='cursor:pointer;'><img src='/shared/film_starten.jpg' alt='Film starten'></div>");
	$('#ziehungdatum').html(movies[pos].date);
	$('#ziehungdatumvom').show();
} 

function showLiveHtml5() {
	jQuery.get('/s/pics/count.gif?block=1&typ=liveziehung&rand='+Math.random());

	if (homepage) {
		$("#liveplayer_box").expose({ closeOnEsc: false, closeOnClick: false, color: '#000000', opacity: 0.7 });
		hideTheming();
	} else {
		$("#ondemand").hide();
		$("#livebox").show();
		document.getElementById("player_container").innerHTML = "";
	}
	startPlayerBigHtml5();
	liveInterval = setInterval("checkLiveMovie()",1000);
}

function startPlayer() {
	if (!homepage) {
		$("#player_container_big").html("");
		$("#player_container").html("");
		o_is_on = "";
	}

  if (is_on != "normal") {
		is_on = "normal";
		var so = new SWFObject("http://source.kenotv.de/flash/live/player_container.swf", "playerId", "640", "395", 9);
		so.addParam("allowfullscreen", "true");
		so.addParam("allowscriptaccess", "always");
		so.addParam("wmode", "transparent");
		so.write('player_container_live');
	
		if (homepage) {	
			$("#liveplayer_box").css("width","692px");
			$("#liveplayer_box").css("height","412px");
			$("#bittewarten").css("top","130px");
			$("#bittewarten").css("left","198px");
			
			centercenter($("#liveplayer_box"));
		}
		document.getElementById("playerbg").style.display = "block";
		document.getElementById("playerbgbig").style.display = "none";
		document.getElementById("player_container_div").style.display = "block";
		document.getElementById("player_container_big_div").style.display = "none"; 
		document.getElementById("player_container_live_big").innerHTML = "";
		if (homepage)	
			document.getElementById("liveplayer_box").style.display = "block";
	}
}

function startVideo(video_id) {
	var video = $("#"+video_id).get(0);
	if (video) {
		video.play();
		if (is_playing > 2) {
			startTime -= is_playing; 
			seek("video_live",is_playing);
		}
	}
}


