Skip to content

Instantly share code, notes, and snippets.

@mgng
Created November 24, 2009 08:32
Show Gist options
  • Save mgng/241742 to your computer and use it in GitHub Desktop.
Save mgng/241742 to your computer and use it in GitHub Desktop.
unko
(function(){
if(mix.id==undefined){return;}
var d=document,
mi=mix.id,
bs = '/sets/'+(parseInt(Math.random()*10000000000)+'').substr(0,9)+'/',
cl =function(o){return '<a href="'+o.url+'">'+o.performer+' --- '+o.name+'</a><br>';},
_$ =function(i){return d.getElementById(i);},
ret='rt__',
but='bt__';
if(_$(ret) == undefined){
var r = d.createElement('div');
var b = d.createElement('button');
r.id=ret;
b.id=but;
b.clicked=false;
b.innerHTML='GET';
b.onclick=function(){
if (!b.clicked) {
var a=new aj(bs+'play.json?mix_id='+mi);
a.cb=function(res,status){
eval("var j="+res);
var o=j.track;
_$(ret).innerHTML+=cl(o);
b.clicked=true;
};
a.run();
} else{
var a2=new aj(bs+'next.json?mix_id='+mi);
a2.cb=function(res,status){
eval("var j="+res);
//if(j.track.trackId==0){
if(j.track.id==0){
b.disabled=true;
return;
}
var o=j.track;
_$(ret).innerHTML+=cl(o);
};
a2.run();
}
};
d.body.appendChild(r);
d.body.appendChild(b);
}
function aj(u,f){
var t=this;
this.ud=false;
this.run=function(d) {
if (t.ud){return false;}
t.X=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
t.X.onreadystatechange=function(){
if (t.X.readyState==4){
t.ud=false;
t.cb(t.X.responseText,t.X.status,t.X.responseXML);
t.X=null;
}
};
t.ud=+new Date();
t.X.open('GET',uc+'?'+d+'&stamp='+(t.ud),true);
t.X.send(null);
return true;
};
var uc=u;
this.cb=f||function(){};
}
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment