// global variables needed by nowplaying widget

var nowplaying_lft1=0;
var nowplaying_lft2=0;
var nowplaying_cw=200;
var nowplaying_w=0;
var nowplaying_gap=45;

var now_playing_song = "";
var now_playing_artist = "";
var now_playing_anim_int = 0;

// xml http object function

function getXmlHttp(){
	var xmlHttp;
	try{
		xmlHttp=new XMLHttpRequest();
	}catch (e){
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp;
}

// main functionality

function getNowPlayingWidth(np_text){ // this gets the true width of the now playing text using a hidden div
	document.getElementById("now_playing_hidden").style.display = "block";
	document.getElementById("now_playing_hidden").innerHTML = np_text;
	var w = parseInt(document.getElementById('now_playing_hidden').offsetWidth);
	document.getElementById("now_playing_hidden").style.display = "none";
	return w+5;
}

function doSongCheck(){
	http = getXmlHttp();
	// the address below needs to be changed to a sync'd version on your domain or subdomain
	http.open("GET","http://dx.nme.com/data.php",false);
	http.send(null);
	var xmlDoc=http.responseXML.documentElement;
	if(now_playing_song != xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue){
		now_playing_song = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
		now_playing_artist = xmlDoc.getElementsByTagName("artist")[0].childNodes[0].nodeValue;
		document.getElementById("now_playing_text1").innerHTML = "Now Playing: " + now_playing_artist + " - " + now_playing_song;
		document.getElementById("now_playing_text2").innerHTML = "Now Playing: " + now_playing_artist + " - " + now_playing_song;
		nowplaying_w = getNowPlayingWidth("Now Playing: " + now_playing_artist + " - " + now_playing_song);
		document.getElementById("now_playing_text1").style.width=nowplaying_w+"px";
		document.getElementById("now_playing_text2").style.width=nowplaying_w+"px";
		if(nowplaying_lft2 > nowplaying_lft1){
			nowplaying_lft2 = nowplaying_lft1 + nowplaying_w + nowplaying_gap;
			document.getElementById('now_playing_text2').style.left = nowplaying_lft2 + "px";
		}else{
			nowplaying_lft1 = nowplaying_lft2 + nowplaying_w + nowplaying_gap;
			document.getElementById('now_playing_text1').style.left = nowplaying_lft1 + "px";
		}
	}
}

function doScroll(){
	// check positioning has either div1 or div2 dissappeared
	if(nowplaying_lft1 <= nowplaying_w * -1){nowplaying_lft1 = nowplaying_lft2 + nowplaying_w + nowplaying_gap;}
	nowplaying_lft1--;
	if(nowplaying_lft2 <= nowplaying_w * -1){nowplaying_lft2 = nowplaying_lft1 + nowplaying_w + nowplaying_gap;}
	nowplaying_lft2--;
	// fix any positioning of trailing div
	if(nowplaying_lft1 - nowplaying_lft2 > 0){nowplaying_lft1 = nowplaying_lft2 + nowplaying_w + nowplaying_gap;}else{nowplaying_lft2 = nowplaying_lft1 + nowplaying_w + nowplaying_gap;}
	// set positions
	document.getElementById('now_playing_text1').style.left = nowplaying_lft1 + "px";
	document.getElementById('now_playing_text2').style.left = nowplaying_lft2 + "px";
}

function startTicker(){
	document.getElementById('now_playing_text1').style.display = "blocK";
	document.getElementById('now_playing_text2').style.display = "blocK";
	document.getElementById('now_playing').style.overflow = 'hidden';
	document.getElementById('now_playing_text1').style.float = 'left';
	nowplaying_w = parseInt(document.getElementById('now_playing_text1').offsetWidth);
	document.getElementById('now_playing_text2').style.float = 'left';
	document.getElementById('now_playing_text2').style.left = nowplaying_w + nowplaying_gap + "px";
	setInterval("doScroll()",20); // scroll every 20 miliseconds
	setInterval("doSongCheck()",30000); // check for new song every 30 seconds
	doSongCheck();
}