if (navigator.appName == 'Netscape') 
var language = navigator.language; 
else 
var language = navigator.browserLanguage; 

if(language.indexOf('zh') != -1)
{	
	var strLoader="<img src='../img/indicator_arrows.gif' width='16' height='16'> <span class='indicator'> 正在加载频道列表...</span>";
	var strLoader1="<img src='../img/indicator_arrows.gif' width='16' height='16'> <span class='indicator'> 正在加载频道列表....</span>";
	var strNoFound="<span class='indicator'>没有找到频道,<br>请稍后再试!</span>";

	var strQc="传输质量:";
	var strQs="信号质量:";
	var urlPrefix=""

} else {

	var strLoader="<img src='../img/indicator_arrows.gif' width='16' height='16'> <span class='indicator'> Loading Channel List...</span>";
	var strLoader1="<img src='../img/indicator_arrows.gif' width='16' height='16'> <span class='indicator'> Loading Channel List....</span>";
	var strNoFound="<span class='indicator'>No channel is available,<br>Please retry later!</span>";

	var strQc="Network Quality:";
	var strQs="Source Quality:";
	var urlPrefix=""

}


var xmlObj = null;

function openPlayer(url) {
var playerWin=window.open(url,"WebPlayer", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,top=100,left=300,width=400,height=515");
playerWin.focus();
return false;
}

function ajaxRead(file,groupId,channelIds) {

	if(window.XMLHttpRequest){
		xmlObj = new XMLHttpRequest();
	} else if(window.ActiveXObject){
		xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		return;
	}

	xmlObj.onreadystatechange = function(){
	/*if(xmlObj.readyState == 4){
		
		}*/
		switch(xmlObj.readyState) 
	　{ 
	
	　　case 1: 
	　　　document.getElementById("chListArea").innerHTML = strLoader; 
	　　　break; 
	　　case 2: 
	　　　document.getElementById("chListArea").innerHTML = strLoader; 
	　　　break; 
	　　case 3: 
	　　　document.getElementById("chListArea").innerHTML = strLoader; 
	　　　break; 
	　　case 4: 
	　　　processXML(xmlObj.responseXML,groupId,channelIds);
	　} 
	}
	xmlObj.open ('GET', file, true);
	xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlObj.send ('');
}



function processXML(obj,groupId,channelIds)

{

var channelArray = new Array();
channelArray = channelIds.split(",");

				
if(obj.getElementsByTagName('group')!=null && obj.getElementsByTagName('group').length>0) {
	var gArray = obj.getElementsByTagName('group');
	var gArrayLen = gArray.length;
	var chArray, chArrayLen;
	var itemArray, itemArrayLen;
	var inHtml="";
	var rowCount=0;
	var bShow=true;
	var globalChFound=false;
	
	inHtml += "<table cellpadding=1 cellspacing=0 width='100%'><tr><td>\n";
		
		for (var i=0; i<gArrayLen; i++){

			var gId=gArray[i].getAttribute("id");
			
            if (gId == groupId) {	
				//alert(gId+"-----"+groupId);	
				var gType=gArray[i].getAttribute("type");
				
				//Start group table
				//inHtml += "<table cellspacing=1 class=group><tr>\n";
				//inHtml += "<td width='400'>"+gArray[i].firstChild.data +"</td>\n";     // group name
				//inHtml += "</tr></table>\n";
				
				//Start channel table
			  
				chArray = gArray[i].getElementsByTagName('channel');
				chArrayLen = chArray.length;
			  
				for(var j=0; j<chArrayLen; j++) {
				
				chId = chArray[j].getAttribute("id");
				var chFound=false;
				if(channelArray.length==1 && channelArray[0]==0)
				{
					chFound = true;
					globalChFound = true;
					
				} else {		
					for (k=0; k<channelArray.length;k++) {
						if( chId == channelArray[k] ) {
							chFound = true;
							globalChFound = true;
							break;
						}
						else continue;
					}
				}
				
				if ( chFound ){ 
					
					inHtml += "<table cellspacing=1 class=channel id='"+ gId +"'>\n";
					var chStatus=chArray[j].getElementsByTagName("status")[0].firstChild.data;
					 
					if (chStatus<3) //no-timed channel
					{	
//					 var start_from = new Date(chArray[j].getElementsByTagName("start_from")[0].firstChild.data);
//				     var pass_time = (new Date() - start_from )/1000;
//					 var pass_time_str = Math.floor(pass_time/3600) + ":" + Math.floor(pass_time%3600/60) + "'" + Math.floor(pass_time%60) + "\"";
//					 //var pass_time_str = Math.floor(pass_time/3600) + "小时" + Math.floor(pass_time%3600/60) + "分";
						  
					inHtml += "<tr class='ch_item'>";
					//inHtml += "<td class='numfield'>"+ chId +".</td>\n";      	//channel-id
					itemArray = chArray[j].getElementsByTagName("name");
					var chName = itemArray[0].firstChild.data;
					itemArray1 = chArray[j].getElementsByTagName("description")
					var chDisc = itemArray1[0].firstChild.data;
					if(language.indexOf('zh') != -1)
					{ 
						if (itemArray[0].getAttribute("cn")!="") chName = itemArray[0].getAttribute("cn");
						if (itemArray1[0].getAttribute("cn")!="") chDisc = itemArray1[0].getAttribute("cn");
					} else {
						if (itemArray[0].getAttribute("en")!="") chName = itemArray[0].getAttribute("en");
					}
					inHtml += "<td width='220'><a href='#' title='"+chDisc+"' onClick=openPlayer('"+urlPrefix+"player.html?sopURL="+chArray[j].getElementsByTagName("sop_address")[0].getElementsByTagName("item")[0].firstChild.data+"&chName="+ escape(chName)+"')>"+ chName +"</a></td>\n"    //channel name
					
					inHtml += "<td width='50'>"+ chArray[j].getElementsByTagName("kbps")[0].firstChild.data +"kbps</td>";	
					//inHtml += "<td width='60'>Qlty:"+ chArray[j].getElementsByTagName("qc")[0].firstChild.data +"/"+chArray[j].getElementsByTagName("qs")[0].firstChild.data+"</td>\n";      	//qlty
					
					var bar1 = 5;
					var qs = parseInt(chArray[j].getElementsByTagName("qs")[0].firstChild.data);
					var qc = parseInt(chArray[j].getElementsByTagName("qc")[0].firstChild.data);
					if (qs<20) {
						bar1 = 0;
					} else if (qs>=20 && qs<50){
						bar1 = 1;
					}
					else {
						bar1 = Math.floor((qc+10)/20);
					}
					var strQuality = strQc + qc +"\n"+  strQs + qs;
					inHtml += "<td width='40' align='center'>";	
					inHtml += "<table align='center' title='"+strQuality+"' height='12' border='0' cellpadding='0' cellspacing='1'><tr>";	
					for (k=1; k<=5; k++) {
						if( k<=bar1 ) {
							inHtml += "<td class='q_green'></td>";	
						} else {
							inHtml += "<td class='q_gray'></td>";
						}
					}
					inHtml += "</tr></table>";	
					inHtml += "</td>";
					
					//inHtml += "<td width='150'>Time:"+ pass_time_str +"</td>\n";      	//time
					inHtml += "<tr>\n";  
					} else {
					 
//					 var start_from = new Date(chArray[j].getElementsByTagName("start_from")[0].firstChild.data);
//					 var start_from_str = start_from.getFullYear() +"-"+ eval(start_from.getMonth()+1)  +"-"+ start_from.getDate() +" "+ start_from.getHours() +":"+ start_from.getMinutes();     //format to yyyy-mm-dd hh:mm
						  
					inHtml += "<tr class='ch_item_disable'>";
					//inHtml += "<td class='numfield'>"+ chId +".</td>\n";      	//channel-id
					itemArray = chArray[j].getElementsByTagName("name");
					inHtml += "<td width='220'>"+ itemArray[0].firstChild.data +"</td>\n"    //channel name
					
					inHtml += "<td width='50'>"+ chArray[j].getElementsByTagName("kbps")[0].firstChild.data +"kbps</td>";	
					inHtml += "<td width='60'>Qlty:"+ chArray[j].getElementsByTagName("qc")[0].firstChild.data +"/"+chArray[j].getElementsByTagName("qs")[0].firstChild.data+"</td>\n";      	//qlty
					//inHtml += "<td width='150'>Will Start at"+ start_from_str +"</td>\n";      	//time
					inHtml += "<tr>\n"; 
					}
				inHtml += "</table>\n";
				}
			}		
			inHtml+="</td></tr></table>";
		//alert (inHtml);		  
		}
	}
	if(!globalChFound) {
		inHtml=strNoFound;
	}		

} else {
	inHtml=strNoFound;
}

document.getElementById ('chListArea').innerHTML = inHtml;

}

if (navigator.appName.indexOf("Netscape") >-1 ) {
		
	HTMLElement.prototype.__defineSetter__("innerText", function (sText) {
	   this.innerHTML = sText.replace(/\&/g, "&").replace(/</g, "&lt;").replace(/>/g, ">").replace(/\n/g, "<BR>");
	});
	HTMLElement.prototype.__defineGetter__("innerText", function () {
	   var r = this.ownerDocument.createRange();
	   r.selectNodeContents(this);
	   return r.toString();
	});
}
