var NOTICE_MID;
var NOTICE_URL;
var PlayerStatus;
var PlayerUrl;
var LiveStatus;
function Refresh_Notice(mid,URL) {
	NOTICE_MID = mid;
	NOTICE_URL = URL;
	_Refresh_Notice();
}
function _Refresh_Notice() {
	var _url = NOTICE_URL.split("?");
	var url = _url[0];
	var pars = _url[1];
	var sObj = new Ajax.Request(
		url,
		{   
			method: 'get',
			parameters: pars,
			onComplete: showNotice,
			onFailure: showFailureNotice
		}
	);
	if(LiveStatus != "off")
		setTimeout('_Refresh_Notice()',10000);
}

function showFailureNotice(request) {
	return;
}

function showNotice(sRequest) {
	var text;
	if(sRequest.responseXML) {
		var channelList = sRequest.responseXML.getElementsByTagName('live_notice_channel');
		if(channelList.length) {
			var title = getNodeValues(channelList[0].getElementsByTagName('title')[0]);
			var no = getNodeValues(channelList[0].getElementsByTagName('no')[0]);
			var type = getNodeValues(channelList[0].getElementsByTagName('type')[0]);
			var player_id = getNodeValues(channelList[0].getElementsByTagName('player_id')[0]);
			var reload_id = getNodeValues(channelList[0].getElementsByTagName('reload_id')[0]);
			var live_mode = getNodeValues(channelList[0].getElementsByTagName('mode')[0]);
			LiveStatus = live_mode;
			var current_channel = getNodeValues(channelList[0].getElementsByTagName('current_channel')[0]);
			var nodeList = sRequest.responseXML.getElementsByTagName('live_notice_item');
			if(nodeList.length) {
				for(i=0; i<nodeList.length; i++) {
					var node = nodeList[i];
					var _text = getNodeValues(node.getElementsByTagName('description')[0]);
					var channel_notice_id = getNodeValues(node.getElementsByTagName('channel_notice_id')[0]);
					var ctype = getNodeValues(node.getElementsByTagName('type')[0]);
					var mode = getNodeValues(node.getElementsByTagName('mode')[0]);
					var url = getNodeValues(node.getElementsByTagName('url')[0]);
					if(channel_notice_id) {
						var CNID = $(channel_notice_id);
						if(CNID && _text)
							CNID.update(_text);
					}
					if(current_channel-1 == i || nodeList.length == 1) {
						text = _text;
						if(ctype == "StreamingUrl" && player_id) {
							_check_playStatus(no,'windowmedia',player_id,reload_id,mode,url,current_channel);
						}
					}
				}
			}
		} else if(sRequest.responseText) {
			text = sRequest.responseText;
		}
	} else if(sRequest.responseText) {
		text = sRequest.responseText;
	}
	N_MID = $(NOTICE_MID);
	if(text && N_MID) {
		N_MID.update(text);
	}
}

function _check_playStatus(no,type,id,reload_id,mode,url,current_channel) {
	if (Prototype.Browser.Gecko) {
		return;
	}
	var Rid;
	switch(type) {
		case "windowmedia":
			var PL = $(id);
			if(mode == "on") {
				if(PlayerStatus != mode || PlayerUrl != url || (channel_IE && (channel_IE.PlayState < 2 || channel_IE.PlayState > 3))) {
					if((PlayerUrl != url || PlayerStatus != mode) && reload_id) {
						Rid = $(reload_id);
					}
					if(Rid) {
						var _url = './index.php';
						var pars = 'no='+no+'&player_only=1&player_channel='+current_channel;
						var sObj = new Ajax.Updater(
							{success: Rid},
							_url,
							{
								method: 'get',
								parameters: pars
							}
						);
					} else {
						channel_IE.Controls.stop();
						//channel_IE.URL = url;
						PL.setAttribute("src",url);
						channel_IE.Controls.play();
					}
				}
			}
			break;
		default:
			break;
	}
	PlayerStatus = mode;
	PlayerUrl = url;
}

function getNodeValues(node) {
	var childs = node.childNodes;
	for(var i=0; i<childs.length; ++i) {
		if(childs[i].nodeType == 3 || childs[i].nodeType == 4) {
			return trim(childs[i].data);
		}
	}
}

function trim(s) {
	s += '';
	return s.replace(/^\s*|\s*$/g, '');
}
