function FTQS(q){var qsReg=new RegExp("[?][^#]*","i");hRef=unescape(q);var qsMatch=hRef.match(qsReg);qsMatch=new String(qsMatch);qsMatch=qsMatch.substr(1,qsMatch.length-1);var rootArr=qsMatch.split("&");for(i=0;i<rootArr.length;i++){var tempArr=rootArr[i].split("=");if(tempArr.length==2){tempArr[0]=unescape(tempArr[0]);tempArr[1]=unescape(tempArr[1]);this[tempArr[0]]=tempArr[1];}}}
document.write("<div id='finetune-container' style='width: 300px; height: 250px; display: block;'></div>");var ft={};ft.delta=10;ft.interval=-1;ft.statusId=-1;ft.statusMode="UNKNOWN";ft.noArtURL="http://live.finetune.com/assets/no_album_art_120.jpg";ft.djName="Unknown DJ";ft.themeId=1;ft.getTimestamp=function(){return parseInt(new Date().getTime().toString().substring(0,10));};ft.loadCSS=function(themeId){var themeURL="";switch(themeId){case'1':themeURL="http://live.finetune.com/lab/badge/oolong.css";break;case'2':themeURL="http://live.finetune.com/lab/badge/basic.css";break;default:themeURL="http://live.finetune.com/lab/badge/basic.css";}
var cssLink='<link rel="stylesheet" href="'+themeURL+'" />';ft.$('head').append(cssLink);};ft.getUserInfo=function(uid){var url="http://live.finetune.com/services/getUserInfo"+"?"+"uid="+uid+"&ts="+ft.getTimestamp()+"&cb=?"
ft.$.getJSON(url,function(json){ft.$("#ft-user-label-container").html(json.userName);ft.$("#ft-user-icon img").attr('src',json.icon);ft.djName=json.userName;});};ft.giddyup=function(){var ftBody=ft.$("#finetune-container");var scripts=document.getElementsByTagName("script");var scriptContainer=ft.$("#ftlive-badge");var params=new FTQS(scriptContainer.attr('src'));ft.uid=params.uid
ft.themeId=params.tid;if(ft.$.browser.msie&&ft.$.browser.version=="6.0"){ft.themeId=2;}
ft.loadCSS(ft.themeId);var b=[];b.push('<div id="ft-bg">');b.push('<div id="ft-userbar">');b.push('<div id="ft-user-icon">');b.push('<img src="http://live.finetune.com/assets/spacer.gif"></img>');b.push('</div>');b.push('<div id="ft-user-label-container"></div>');b.push('</div "ft-userbar">');b.push("<div id='ft-offline' style='display: none;'></div>");b.push("<div id='ft-md' style=''></div 'ft-md'>");b.push('<div id="ft-footer">');b.push('<div id="ft-logo"></div>');b.push('<div id="ft-play"></div>');b.push('</div "ft-footer">');b.push('</div>');ftBody.html(b.join(''));ft.getUserInfo(ft.uid);var ftLiveURL="http://live.finetune.com/listen.php?id="+ft.uid+"&ap=1";ft.$("#ft-play").click(function(){var newWindow=window.open(ftLiveURL,'_blank');newWindow.focus();return false;});ft.nowPlaying(params.uid);};ft.drawLive=function(json){var b=[];b.push("<div id='ft-md-img'>");b.push("<img src='");b.push(json.record.imageurl);b.push("' onerror='this.src=ft.noArtURL;'></img>");b.push("</div>");b.push("<p id='ft-md-tt'>");b.push(json.record.trackName);b.push("</p>");b.push("<p id='ft-md-art'>");b.push(json.record.artistName);b.push("</p>");b.push("<p id='ft-md-alb'>");b.push(json.record.albumName);b.push("</p>");b.push("<div style='clear:both;'></div>");b.push("<div id='ft-md-pos'></div>");var temp=b.join('');if(ft.$("#ft-offline:hidden").length>0){ft.$("#ft-md").fadeOut("fast",function(){ft.$("#ft-md").html(temp).fadeIn("slow",function(){ft.drawPosition(json.record.position,json.record.duration);});});}else{ft.$("#ft-offline").fadeOut("fast",function(){ft.$("#ft-md").html(temp).fadeIn("slow",function(){ft.drawPosition(json.record.position,json.record.duration);});});}};ft.zeroPad=function(digits,n){n=n.toString();while(n.length<digits){n='0'+n;}
return n;};ft.drawPosition=function(p,d){d=Math.round(d);var dur="";var hours_duration=Math.floor(d/3600);if(hours_duration>0)d=d-(hours_duration*3600);var seconds_duration=(d%60);var minutes_duration=(d-seconds_duration)/60;if(hours_duration){dur=hours_duration+":"+ft.zeroPad(2,minutes_duration)+":"+ft.zeroPad(2,seconds_duration);}else{dur=ft.zeroPad(1,minutes_duration)+":"+ft.zeroPad(2,seconds_duration);}
p=Math.round(p);var pos="";var hours_position=Math.floor(p/3600);if(hours_position>0)p=p=(hours_position*3600);var seconds_position=(p%60);var minutes_position=(p-seconds_position)/60;if(hours_duration){pos=hours_position+":"+ft.zeroPad(2,minutes_position)+":"+ft.zeroPad(2,seconds_position);}else{pos=ft.zeroPad(1,minutes_position)+":"+ft.zeroPad(2,seconds_position);}
ft.$("#ft-md-pos").text(pos+" / "+dur);};ft.drawOffline=function(){ft.$("#ft-md").fadeOut("slow",function(){var b=[];b.push(ft.djName);b.push(" is not broadcasting.");ft.$("#ft-offline").html(b.join('')).fadeIn("slow");});};ft.nowPlaying=function(uid){var url="http://live.finetune.com/services/nowPlaying"+"?"+"id="+uid+"&ts="+ft.getTimestamp()+"&cb=?";ft.$.getJSON(url,function(json){if(json.errorCode==1){if(ft.statusMode!="OFFLINE"){ft.statusId=-1;ft.statusMode="OFFLINE";ft.drawOffline();}
if(ft.interval!=-1)clearInterval(ft.interval);ft.interval=-1;setTimeout("ft.nowPlaying("+ft.uid+")",5*1000);return;}
var statusId=json.record.statusId;var remainder=json.record.duration-json.record.position;if(remainder<-10){ft.statusId=-1;ft.statusMode="OFFLINE";ft.drawOffline();if(ft.interval!=-1)clearInterval(ft.interval);ft.interval=-1;setTimeout("ft.nowPlaying("+ft.uid+")",5*1000);return;}
if(ft.statusId!=statusId){ft.statusId=statusId;ft.statusMode="LIVE";ft.updateNow=true;}
if(ft.updateNow){ft.drawLive(json);ft.updateNow=false;}else{ft.drawPosition(json.record.position,json.record.duration);}
if(remainder<ft.delta){if(remainder<1){}else{clearInterval(ft.interval);ft.interval=-1;setTimeout("ft.nowPlaying("+ft.uid+")",(remainder+1)*1000);return;}}
if(ft.interval==-1){ft.interval=setInterval("ft.nowPlaying("+ft.uid+")",ft.delta*1000);}});};ft.outOfOptions=function(){var selector="finetune-container";var ourDiv=document.getElementById(selector);ourDiv.innerHTML="Bummer.";};(function(){var attempts=30;var old_jQuery;if(typeof(jQuery)!="undefined"){if(typeof(jQuery.noConflict)=="function"){old_jQuery=jQuery;delete jQuery;}}
var addLibs=function(){if(attempts==0){ft.outOfOptions();return;}
var head=document.getElementsByTagName("head");if(head.length==0){if(attempts-->0)setTimeout(addLibs,100);return;}
var node=document.createElement("script");node.src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";head[0].appendChild(node);checkLibs();}
var checkLibs=function(){if(attempts==0){ft.outOfOptions();return;}
if(typeof(jQuery)=="undefined"||typeof(jQuery)!="function"||jQuery("*")===null){if(attempts-->0)setTimeout(checkLibs,100);return;}
ft.$=jQuery.noConflict(true);if(typeof old_jQuery=="undefined")
jQuery=old_jQuery;ft.giddyup();}
addLibs();})();
