var debug = constants['com.hsi.client.debug'];
function rolling_bar(rolling_div,start,end,speed) {

	rolling_div=$(rolling_div);start=$(start);end=$(end)
	
	function Marquee(){
		if(end.offsetWidth-rolling_div.scrollLeft<=0){
			rolling_div.scrollLeft-=start.offsetWidth;
		}else{
			rolling_div.scrollLeft++
		}
	}
	flag=setInterval(Marquee,speed);
}

function rolling_bar_update(xmlDoc, args){

	var method ="start_rolling_bar("+args.toJSON()+")";
	//restart
	if (xmlDoc == null){
		if (debug) 	alert("Failure occured, Auto restarting: "+method);
		restart_ajax(method);
		return;
	}	

	for (var i = 0 ; i < args.length;i++){
		if (!args[i].match(/[0-9]{2}\.[0-9]{2}/)){
			alert("Unmatched index argument: "+args[i]);
			continue;
		}
		var eIndex = $('rt-rolling-bar-'+args[i]);
		if (!eIndex) {
			if (debug) alert("Rolling bar doesn't exist: "+args[i]+", retrying.");
			restart_ajax(method);
			return;		
		}
		var indexNo = args[i].substring(0,2);
		var sectorNo = args[i].substring(3,5);
		var isMainIndex = (parseInt(sectorNo)==0);
		var query;
		if (isMainIndex){
			query ="/allindex/index[@no="+indexNo+"]";
		}else{
			query ="//index[@no="+indexNo+" and @sector="+sectorNo+"]";		
		}			
		var nIndex = xmlDoc.selectSingleNode(query);		
		if (!nIndex){
//			alert("Cannot find index: "+indexNo+", sector: "+sectorNo);
			continue;
		}
		var no = nIndex.selectSingleNode("./@no").value;
		var name = nIndex.selectSingleNode("./name/text()").text;
		var cname = nIndex.selectSingleNode("./cname/text()").text;
		var current = nIndex.selectSingleNode("./@current").value;
		var change = nIndex.selectSingleNode("./@change").value;
		var isRaised = change.indexOf('-')==-1;
		if (change.indexOf('-') || change.indexOf('+')) change = change.substring(1);// Left trim [+|-]
		eIndex.innerHTML = (locale=="zh_hk"?cname:name)
		+" <b>"+current+"</b> "		
		+" <img src=\""+constants['com.hsi.client.imagePath']+"/share/"+(isRaised?"img_arrowup.gif":"img_arrowdown.gif")+"\" width=\"5\" height=\"7\" /> "
		+"<span class=\""+(isRaised?"bluestxt":"redstxt")+"\">"+change+"</span>";										
		$('rt-rolling-bar2-'+args[i]).innerHTML = eIndex.innerHTML;
										
	}
	
	//Ajax
	restart_ajax(method,refreshFreq*1000);	
}


function start_rolling_bar(indexes){
	try{		
		var keys = indexes.join("|");
		var url = simpleindexUrl + "&keys="+keys;		
		loadXMLDoc(url,rolling_bar_update, indexes);
	}catch(e){
		alert(e);
	}
}


function rolling_bar_update2(xmlDoc, sIndex){
	//restart
	if (xmlDoc == null){
		if (debug) 	alert("Failure occured.");
		return;
	}	
	
		if (!sIndex.match(/[0-9]{2}\.[0-9]{2}/)){
			alert("Unmatched index argument: "+sIndex);
			return;
		}
		var eIndex = $('rt-rolling-bar-'+sIndex);
		if (!eIndex) {
			if (debug) alert("Rolling bar doesn't exist: "+sIndex+".");
			return;		
		}
		var indexNo = sIndex.substring(0,2);
		var sectorNo = sIndex.substring(3,5);
		var isMainIndex = (parseInt(sectorNo)==0);
		var query;
		if (isMainIndex){
			query ="/allindex/index[@no="+indexNo+"]";
		}else{
			query ="//index[@no="+indexNo+" and @sector="+sectorNo+"]";		
		}			
		var nIndex = xmlDoc.selectSingleNode(query);		
		if (!nIndex){
			alert("Cannot find index: "+indexNo+", sector: "+sectorNo);
			return;
		}			
		var no = nIndex.selectSingleNode("./@no").value;
		var name = nIndex.selectSingleNode("./name/text()").text;
		var cname = nIndex.selectSingleNode("./cname/text()").text;
		var current = nIndex.selectSingleNode("./@current").value;		
		var change = nIndex.selectSingleNode("./@change").value;
		var isRaised = change.indexOf('-')==-1;
		if (change.indexOf('-') || change.indexOf('+')) change = change.substring(1);// Left trim [+|-]
		eIndex.innerHTML = (locale=="zh_hk"?cname:name)
		+" <b>"+current+"</b> "		
		+" <img src=\""+constants['com.hsi.client.imagePath']+"/share/"+(isRaised?"img_arrowup.gif":"img_arrowdown.gif")+"\" width=\"5\" height=\"7\" /> "
		+"<span class=\""+(isRaised?"bluestxt":"redstxt")+"\">"+change+"</span>";										
		$('rt-rolling-bar2-'+sIndex).innerHTML = eIndex.innerHTML;
	
	
}
