var pList;
var pulse;
var tStamp;


var pReq = new asynchReq();

function initLoad() {
	pReq.onComplete = initList;
	pReq.get("../json_playlist.cgi");
}	

function listLoad() {
	pReq.onComplete = handleList;
	pReq.get("../json_playlist.cgi");
}	

var initList = function (responseText,responseXML) {
	
	
	eval('pList = ' + responseText);
	$("track0").innerHTML = pList.track[0].title;
	$("artist0").innerHTML = pList.track[0].artist;
	$("album0").innerHTML = pList.track[0].album;
	$("time0").innerHTML = '(' + convertSeconds(pList.track[0].seconds) + ')';
	
	this.isComplete = false;
	
	
}
var handleList = function (responseText,responseXML) {
	
	
	eval('pList = ' + responseText);
	$("track0").innerHTML = pList.track[0].title;
	$("artist0").innerHTML = pList.track[0].artist;
	$("album0").innerHTML = pList.track[0].album;
	$("time0").innerHTML = '(' + convertSeconds(pList.track[0].seconds) + ')';
	//$("remain0").innerHTML = pList.rfresh;
	this.isComplete = false;
	if (pList.rfresh <= 15) {
		//console.log('Log:' +  5000);
		clearTimeout(pulse);
		pulse = setTimeout("listLoad()",5000);
	} else {
		//console.log('log:' +  ((pList.rfresh - 15) * 1000));
		countdown(pList.track[0].seconds,pList.rfresh);
		
		if ((pList.rfresh - 15) > 0) {
			clearTimeout(pulse);
			pulse = setTimeout("listLoad()",((pList.rfresh - 15) * 1000));
		}
		else {
			clearTimeout(pulse);
			pulse = setTimeout("listLoad()",1000);
		}
	}
	
}
function countdown(_length, _secs) {
	var elapsed = Math.round((((_length - _secs)/_length) * 100) - .5);
	
	
	if (_secs > 10) {
		$("progress").style.width = elapsed + "%";
		//$("remain0").innerHTML = elapsed;
		clearTimeout(tStamp);
		tStamp = setTimeout("countdown(" + _length + "," + (_secs - 1) + ")",1000);
	}
	else {
		$("progress").style.width = elapsed + "%";
		// $("remain0").innerHTML = '-';
		clearTimeout(tStamp);
	}
}

function convertSeconds(_secs) {
	var mins = Math.round((_secs / 60) - .5) + ':';
	var secs = ((_secs % 60) < 10) ? '0'+(_secs % 60) : (_secs % 60);
	
	return mins+secs;
}
function Browser() {	
	this.isIE 	= (navigator.userAgent.indexOf("MSIE"	) > -1) ? true : false; 
	this.isIE6 	= (navigator.userAgent.indexOf("MSIE 6"	) > -1) ? true : false; 
	this.isIE7 	= (navigator.userAgent.indexOf("MSIE 7"	) > -1) ? true : false; 
	this.isFF 	= (navigator.userAgent.indexOf("Firefox") > -1) ? true : false; 
	this.is 	= (this.isIE6) ? "MSIE 6" : (this.isIE7) ? "MSIE 7" : (this.isFF) ? "Firefox" : "unknown";
}

var browser = new Browser();


/* alias for getElementById(); can return multiple */
function $() {
	var elements = new Array();	
	for (var i = 0; i < arguments.length; i++) {		
		var element = arguments[i];		
		if (typeof(element) == 'string') {
			if (document.getElementById) {
				element = document.getElementById(element);
			}
			else if (document.all)	{
				element = document.all[element];
			}
		}	
		if (arguments.length == 1) {
			return element;
		}	
		elements.push(element);
	}	
	return elements;
} 

function button() {
	return document.getElementsByTagName("button");
}
button.prototype.submitted = function () {	return this.submitted;	}

	