var epg = null;
var EPG_OFFSET = 0;
var EPG_LIVE_STREAM_OFFSET = 0;
var tzOffset = 0;
var epgCurrDay = epgCurrProg = null, epgNextProg = null;
var epgDay = null, epgCurrentOffset = 0, epgSelectedDay = null, epgOverProgram;
var epgTimelineStart = null;
var EPG_TAB_NUMBER = 6;
var EPG_TAB_NUMBER_150 = 7;
var _epgIsLive = false, curr_channel = 1;
function $get(id) {
	return document.getElementById(id);
}
function _me(me, ev, mode) {
	var el = GetLinkImage(me);
	var src = String(el.src);
	var pos = src.lastIndexOf(".");
	var ext = src.substring(pos );
	var name = src.substring(0, pos );
	if (mode == 1) {
		if (name.substring(name.length - 4) == "_off") {
			src = name.substring(0, name.length - 4) + "_over" + ext;
		}
	}
	else if (mode == 2) {
		if ( name.substring(name.length - 5) == "_over") {
			src = name.substring(0, name.length - 5) + "_off" + ext;
		}
	}
	el.src = src;
}
function _me2(me, ev, mode) {
	var el = GetLinkImage(me);
	var src = String(el.src);
	var pos = src.lastIndexOf(".");
	var ext = src.substring(pos );
	var name = src.substring(0, pos );
	if (mode == 1) {
		if (name.substring(name.length - 4) == "_off") {
			src = name.substring(0, name.length - 4) + "_on" + ext;
		}
	}
	else if (mode == 2) {
		if ( name.substring(name.length - 3) == "_on") {
			src = name.substring(0, name.length - 3) + "_off" + ext;
		}
	}
	el.src = src;
}

function ResizeTracker(size) {
	var size2 = (size == null ? curr_size : size);
	var d1 = $get("divWatchLive");
	var d2 = $get("plyr1_track");
	if (inFullscreen) {
		var w = $('controls1').style.width;
		var w2 = parseInt(w.substring(w, w.length - 2));
		var targetW = w2 - 370;
		if (curr_channel == 1 && !_epgIsLive) targetW -= 40;
		if (targetW < 40) {
			d2.style.width = "1px"
			d2.style.visibility = "hidden";
		}
		else {
			d2.style.width = targetW + "px"
			d2.style.visibility = "visible";
		}
	}
	else {
		var w = 0;
		if (curr_channel == 1 && !_epgIsLive) {
			if (size2 == 1) {
				w = 240;
			}
			else {
				w = 400;
			}
		}
		else {
			if (size2 == 1) {
				w = 280;
			}
			else {
				w = 440;
			}
		}
		d2.style.width = w + "px";
	}
}

function ResizeTracker_old__(size) {
	var size2 = (size == null ? curr_size : size);
	var d1 = $get("divWatchLive");
	var d2 = $get("plyr1_track");
	if (inFullscreen) {
		var w = $('controls1').style.width;
		var w2 = parseInt(w.substring(w, w.length - 2));
		var targetW = w2 - 370;
		if (curr_channel == 1 && !_epgIsLive) targetW -= 40;
		if (targetW < 40) {
			d2.style.width = "1px"
			d2.style.visibility = "hidden";
		}
		else {
			d2.style.width = targetW + "px"
			d2.style.visibility = "visible";
		}
	}
	else {
		var w = 0;
		if (curr_channel == 1 && !_epgIsLive) {
			if (size2 == 1) {
				w = 118;
			}
			else {
				w = 278;
			}
		}
		else {
			if (size2 == 1) {
				w = 158;
			}
			else {
				w = 318;
			}
		}
		d2.style.width = w + "px";
	}
}

function WatchLive(me, ev) {
	CancelEvent(ev);
	DoBlur(me);
	if (_dvr._scrubspeed != 0) {
			_dvr._qmp.StopScrubbing();
			_dvr._scrubspeed = 0;
			_dvr._seeking = false;
			_dvr.UpdatePSDisplay();
			setTimeout("WatchLive2()", 1000);
	}
	else {
		_dvr._qmp.CurrentPosition(-1);
	}
	//move_player.Play();
	_epgIsLive = true;
	var d = $get("divWatchLive");
	d.style.display = "none";
	ResizeTracker()
	return false;
}
function WatchLive2() {
	_dvr._qmp.CurrentPosition(-1);
}
function OnKeyUp(ev) {
	if (!ev || !ev.keyCode) return;
	if (!inFullscreen) return;
	if (ev.keyCode != 27) return;
	FullScreen(null, null, false);
}
var _unloaded = false, _mutedInterval = null;;
function DoUnload(me, ev, mode) {
	if (_unloaded) return;
	if (move_player) {
		move_player.Stop();
	}
	if (_mutedInterval) {
		clearInterval(_mutedInterval);
		_mutedInterval = null;
	}
	_unloaded = true;
}
function KeepMuted() {
	return;
	for (var i = 0; i < 5; i++) {
		var player = _mosaicPlayers[i];
		if (player) {
			try {
				var muted = player.Muted();
				var volume = player.Volume();
				var isOk = true;
				if (!muted || volume != 1) {
					isOk = false;
					log("not muted: " + i + " - " + muted + ":" + volume);
				}
				if (!isOk) {
					player.Volume(1);
					player.Muted(true);
				}
			} catch(e) {
				log("failed to mute: " + i + ":" + e.message);
			}
		}
	}
}

