function changePlayer(elem) {
	var selected = elem.selectedIndex;
	var newValue = elem.options[selected].value;
	var parts = newValue.split("|");
	var application = parts[0];
	var stream = parts[1];
	if (ios) {
		jwplayer("mediaplayer").load(
				{
					'file' : 'http://derchris.eu:1935/'+application+'/' + stream + '/playlist.m3u8'
				});
	} else {
		jwplayer("mediaplayer").load({
			'streamer' : 'rtmp://derchris.eu/'+application,
			'file' : stream
		});
	}
	jwplayer("mediaplayer").play();
	document.getElementById('format_rtsp').href = link_rtsp.split("{stream}").join(stream).split("{application}").join(application);
	document.getElementById('format_ios').href = link_ios.split("{stream}").join(stream).split("{application}").join(application);
}
function secondsToTime(secs) {
	var hours = Math.floor(secs / (60 * 60));

	var divisor_for_minutes = secs % (60 * 60);
	var minutes = Math.floor(divisor_for_minutes / 60);

	var divisor_for_seconds = divisor_for_minutes % 60;
	var seconds = Math.ceil(divisor_for_seconds);
	return hours + "h " + minutes + "m " + seconds + "s";
}
function status_update(xml) {
	var xmlDoc, parser;
	if (window.DOMParser) {
		parser = new DOMParser();
		xmlDoc = parser.parseFromString(xml, "text/xml");
	} else {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = "false";
		xmlDoc.loadXML(xml);
	}
	document.getElementById('current_viewers').innerHTML = xmlDoc.getElementsByTagName('visitors')[0].childNodes[0].nodeValue;
	document.getElementById('online_streams').innerHTML = xmlDoc.getElementsByTagName('streams_online')[0].childNodes[0].nodeValue;
	if (parseInt(xmlDoc.getElementsByTagName('uptime')[0].childNodes[0].nodeValue) > 0) {
		document.getElementById('uptime').innerHTML = language_array["stream"]["running_since"]+" "+secondsToTime(xmlDoc.getElementsByTagName('uptime')[0].childNodes[0].nodeValue);
	} else {
		document.getElementById('uptime').innerHTML = '';
	}

	var streams_on = xmlDoc.getElementsByTagName('stream');
	var stream_elem = document.getElementById('streamlist');
	var selected_key = stream_elem.options[stream_elem.selectedIndex].value;
	var i = stream_elem.options.length;
	while (i > 0) {
		stream_elem.remove(0);
		i--;
	}
	if(streams_on.length > 0){
		for (i = 0; i < streams_on.length; i++) {
			var elOptNew = document.createElement('option');
			elOptNew.text = streams_on[i].childNodes[0].textContent;
			elOptNew.value = streams_on[i].childNodes[1].textContent+"|"+streams_on[i].childNodes[0].textContent;
			try {
				stream_elem.add(elOptNew, null); 
			} catch (ex) {
				stream_elem.add(elOptNew);
			}
			if (elOptNew.value == selected_key) {
				stream_elem.selectedIndex = i;
			}
		}
		if(selected_key == "#"){
			changePlayer(stream_elem);
		}
	}
	else{
		var elOptNew = document.createElement('option');
		elOptNew.text = language_array['stream']['no_stream_online'];
		elOptNew.disabled = true;
		try {
			stream_elem.add(elOptNew, null); 
		} catch (ex) {
			stream_elem.add(elOptNew);
		}
		stream_elem.selectedIndex = 0;
		document.getElementById('format_rtsp').href = '#';
		document.getElementById('format_ios').href = '#';
	}

}
function onRecordSubmit(){
	document.getElementById('frame_box').style.display = 'block';
	window.setTimeout(function(){
		fetch('stream_ajax.php?record=true&forceReload', 'recording', 'replace', 'event');
		},2000);
}
var settings = {
		players: function(location, players){
			var defaults = {
				html5: {type:"html5"},
				flash: {type:"flash", src:"images/streaming/player.swf"},
				download: {type:"download"}
			};
			if (!players){
				return [defaults.html5, defaults.flash, defaults.download];
			} else {
				var result = [];
				for (var player = 0; player < players.length; player++) {
					result.push(defaults[players[player]]);
				} 
				return result;
			}
		},
};
language_array['stream']=new Array();
fetch('getlang.php?modul=stream&mode=array','none','execute','event');
fetch('stream_ajax.php', status_update, 'callback', 'time', 10000);
