/* Yahoo! Media Player, Offsite Minified Build 1.5.31.  Copyright (c) 2007, Yahoo! Inc.  All rights reserved.
 * Your use of this Yahoo! Media Player is subject to the Yahoo! Terms of Service
 * located at http://info.yahoo.com/legal/us/yahoo/utos/utos-173.html.
 */


if(!("console"in window)||!("firebug"in console)){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i)window.console[names[i]]=function(){};}YAHOO.namespace("music.WebPlayer.Utils");YAHOO.music.WebPlayer.Utils.object=function(o){var F=function(){};F.prototype=o;return new F();};YAHOO.music.WebPlayer.Utils.enhance=function(r,s){for(var p in s){r[p]=s[p];}return s;};YAHOO.music.WebPlayer.Utils.isArray=function(o){return o&&typeof o==='object'&&typeof o.length==='number'&&(o.propertyIsEnumerable?!(o.propertyIsEnumerable('length')):(Array&&o.constructor&&o.constructor==Array));};YAHOO.music.WebPlayer.Utils.arrayRemove=function(a,e){var i=YAHOO.music.WebPlayer.Utils.arrayFind(a,e);if(i===false){return false;}a.splice(i,1);return true;};YAHOO.music.WebPlayer.Utils.arrayFind=function(a,e){var len=a.length;for(var i=0;i<len;i++){if(a[i]===e){return i;}}return false;};YAHOO.music.WebPlayer.Utils.bind=function(that,fun){var a=[];for(var i=2;i<arguments.length;i++){a[i-2]=arguments[i];}return YAHOO.music.WebPlayer.Utils.bindFromArray(that,fun,a);};YAHOO.music.WebPlayer.Utils.bind.UNBOUND={};YAHOO.music.WebPlayer.Utils.bind.BOUND={};YAHOO.music.WebPlayer.Utils.bindFromArray=function(that,fun,ba){return function(){var bind=YAHOO.music.WebPlayer.Utils.bind;var aa=[];var j=0;for(var i=0;i<ba.length;i++){if((ba[i]!==undefined)&&(ba[i]!==bind.UNBOUND)){if(ba[i]===bind.BOUND){aa[i]=undefined;}else
{aa[i]=ba[i];}}else
{aa[i]=arguments[j];j++;}}for(;j<arguments.length;j++){aa[i]=arguments[j];i++;}return fun.apply(that,aa);};};YAHOO.music.WebPlayer.Utils.bindCallback=function(that,callback,timeout,error){var completed=false;var timerId;var userFunc;var f=function(timedOut){if(completed){return false;}completed=true;if(timedOut){if(userFunc._addTimeout>0){completed=false;var newF=YAHOO.music.WebPlayer.Utils.bindFromArray(this,f,arguments);setTimeout(newF,userFunc._addTimeout);userFunc._addTimeout=0;return;}}else
{clearTimeout(timerId);}var a=[];for(var i=1;i<arguments.length;i++){a[i-1]=arguments[i];}callback.apply(that,a);return true;};var ba=[true];for(var i=4;i<arguments.length;i++){ba[i-3]=arguments[i];}ba[i-3]=error;var g=YAHOO.music.WebPlayer.Utils.bindFromArray(that,f,ba);timerId=setTimeout(g,timeout);ba=[false];for(i=4;i<arguments.length;i++){ba[i-3]=arguments[i];}userFunc=YAHOO.music.WebPlayer.Utils.bindFromArray(that,f,ba);userFunc._addTimeout=0;return userFunc;};YAHOO.music.WebPlayer.Utils.trim=function(s){if(typeof s!=="string"){return"";}return s.replace(/^\s+|\s+$/g,'');};YAHOO.music.WebPlayer.Utils.getXHRObject=function(){try{return new XMLHttpRequest();}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}return null;};YAHOO.music.WebPlayer.Utils.escapeHTML=function(s){var f=YAHOO.music.WebPlayer.Utils.escapeHTML;if(!f.div){f.div=document.createElement('div');f.text=document.createTextNode('');f.div.appendChild(f.text);}f.text.data=s;return f.div.innerHTML;};YAHOO.music.WebPlayer.Utils.xmlDecode=function(str){var retVal="";if(str){retVal=str.toString();retVal=retVal.replace(/\&gt\;/g,">");retVal=retVal.replace(/\&lt\;/g,"<");retVal=retVal.replace(/\&apos\;/g,"'");retVal=retVal.replace(/\&quot\;/g,'"');retVal=retVal.replace(/\&amp\;/g,"&");}return retVal;};YAHOO.music.WebPlayer.Utils.parseUrl=function(data){var e=/^((http|ftp|file):\/)?\/?([^:\/\s]+)((\/[\w\W]+)*\/)(([\w\W]+)\.([^#?\s]+))(#[[\w\W]\-]+)?$/;var localfile=/^((file:\/\/\/?)?(\w:)?\.?[\/(\\\\)])?(([\w\W\s]+)?[\/(\\\\)])(([\w\W\s]+)(\.([^#?\s\\\/]+))?)$/;if(data.match(e)){return{url:data,protocol:RegExp.$2,host:RegExp.$3,path:RegExp.$4,file:RegExp.$6,filename:RegExp.$7,ext:RegExp.$8,hash:RegExp.$9};}else if(data.match(localfile)){return{url:data,protocol:RegExp.$2,path:RegExp.$5,file:RegExp.$6,filename:RegExp.$7,ext:RegExp.$8};}else
{return null;}};YAHOO.music.WebPlayer.Utils.getQsParam=function(sUrl,paramName){paramName=paramName.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+paramName+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(sUrl);if(results==null){return"";}else
{return results[1];}};YAHOO.music.WebPlayer.Utils.sprintf=function(fstring){var format_RE=new RegExp('(.*?)(%%|%\\d+|$)(\\$[sdf])?','g');retstr="";while(format_arr=format_RE.exec(fstring)){retstr+=format_arr[1];if(format_arr[2]=='')break;if(format_arr[2]=="%%"){retstr+="%";}else
{retstr+=arguments[format_arr[2].substr(1)];}}return retstr;};YAHOO.music.WebPlayer.Utils.cropElmXul=function(className,tagName,rootNode){if(document.getBoxObjectFor&&window.openDialog){var $D=YAHOO.ympyui.util.Dom;var d=document.createElement('div');var sNS='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';var xml=document.createElementNS(sNS,'window');var label=document.createElementNS(sNS,'description');label.setAttribute('crop','end');xml.appendChild(label);var fn=function(el){var xml2=xml.cloneNode(true);xml2.firstChild.setAttribute('value',el.textContent);el.innerHTML='';el.appendChild(xml2);};var a=YAHOO.ympyui.util.Dom.getElementsByClassName(className,tagName,rootNode);for(var i=0;el=a[i];i++){fn(el);};}else
{return function(){};};return fn;};YAHOO.music.WebPlayer.Utils.swfobject=function(){var domLoadFnArr=[];var regObjArr=[];var timer=null;var storedAltContent=null;var isDomLoaded=false;var isExpressInstallActive=false;var ua=function(){var w3cdom=typeof document.getElementById!="undefined"&&typeof document.getElementsByTagName!="undefined"&&typeof document.createElement!="undefined"&&typeof document.appendChild!="undefined"&&typeof document.replaceChild!="undefined"&&typeof document.removeChild!="undefined"&&typeof document.cloneNode!="undefined";var playerVersion=[0,0,0];var d=null;if(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]=="object"){d=navigator.plugins["Shockwave Flash"].description;if(d){d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/r/.test(d)?parseInt(d.replace(/^.*r(.*)$/,"$1"),10):0;}}else if(typeof window.ActiveXObject!="undefined"){var a=null;var fp6Crash=false;try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");playerVersion=[6,0,21];a.AllowScriptAccess="always";}catch(e){if(playerVersion[0]==6){fp6Crash=true;}}if(!fp6Crash){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}}if(!fp6Crash&&typeof a=="object"){try{d=a.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];}}catch(e){}}}var u=navigator.userAgent.toLowerCase();var p=navigator.platform.toLowerCase();var av=navigator.appVersion.toLowerCase();var webkit=/webkit/.test(u);var webkitVersion=webkit?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):0;var ie=u?/msie/.test(u):/msie/.test(av);var win=p?/win/.test(p):/win/.test(u);var mac=p?/mac/.test(p):/mac/.test(u);return{w3cdom:w3cdom,playerVersion:playerVersion,webkit:webkit,webkitVersion:webkitVersion,ie:ie,win:win,mac:mac};}();var onDomLoad=function(){if(!ua.w3cdom){return;}addDomLoadEvent(main);if(ua.ie&&ua.win){try{document.write("<script id=__ie_ondomload defer=true src=//:></script>");var s=document.getElementById("__ie_ondomload");if(s){s.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);callDomLoadFunctions();}};}}catch(e){}}if(ua.webkit&&typeof document.readyState!="undefined"){timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){callDomLoadFunctions();}},10);}if(typeof document.addEventListener!="undefined"){document.addEventListener("DOMContentLoaded",callDomLoadFunctions,null);}addLoadEvent(callDomLoadFunctions);}();function callDomLoadFunctions(){if(isDomLoaded){return;}if(ua.ie&&ua.win){var s=document.createElement("span");try{var t=document.getElementsByTagName("body")[0].appendChild(s);t.parentNode.removeChild(t);}catch(e){return;}}isDomLoaded=true;if(timer){clearInterval(timer);timer=null;}var dl=domLoadFnArr.length;for(var i=0;i<dl;i++){domLoadFnArr[i]();}}function addDomLoadEvent(fn){domLoadFnArr[domLoadFnArr.length]=fn;}function addLoadEvent(fn){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",fn,false);}else if(typeof document.addEventListener!="undefined"){document.addEventListener("load",fn,false);}else if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",fn);}else if(typeof window.onload=="function"){var fnOld=window.onload;window.onload=function(){fnOld();fn();};}else{window.onload=fn;}}function main(){var rl=regObjArr.length;for(var i=0;i<rl;i++){var id=regObjArr[i].id;if(ua.playerVersion[0]>0){var obj=document.getElementById(id);if(obj){if(hasPlayerVersion(regObjArr[i].swfVersion)){if(ua.webkit&&ua.webkitVersion<312){fixParams(obj);}}else if(regObjArr[i].expressInstall&&!isExpressInstallActive&&hasPlayerVersion([6,0,65])&&(ua.win||ua.mac)){showExpressInstall(regObjArr[i]);}else{displayAltContent(obj);}}}createCSS("#"+id,"visibility:visible");}}function fixParams(obj){var nestedObj=obj.getElementsByTagName("object")[0];if(nestedObj){var e=document.createElement("embed");var a=nestedObj.attributes;if(a){var al=a.length;for(var i=0;i<al;i++){if(a[i].nodeName.toLowerCase()=="data"){e.setAttribute("src",a[i].nodeValue);}else{e.setAttribute(a[i].nodeName,a[i].nodeValue);}}}var c=nestedObj.childNodes;if(c){var cl=c.length;for(var j=0;j<cl;j++){if(c[j].nodeType==1&&c[j].nodeName.toLowerCase()=="param"){e.setAttribute(c[j].getAttribute("name"),c[j].getAttribute("value"));}}}obj.parentNode.replaceChild(e,obj);}}function fixObjectLeaks(){if(ua.ie&&ua.win&&hasPlayerVersion([8,0,0])){window.attachEvent("onunload",function(){var o=document.getElementsByTagName("object");if(o){var ol=o.length;for(var i=0;i<ol;i++){o[i].style.display="none";for(var x in o[i]){if(typeof o[i][x]=="function"){o[i][x]=function(){};}}}}});}}function showExpressInstall(regObj){isExpressInstallActive=true;var obj=document.getElementById(regObj.id);if(obj){if(regObj.altContentId){var ac=document.getElementById(regObj.altContentId);if(ac){storedAltContent=ac;}}else{storedAltContent=abstractAltContent(obj);}var w=regObj.width?regObj.width:(obj.getAttribute("width")?obj.getAttribute("width"):0);if(parseInt(w,10)<310){w="310";}var h=regObj.height?regObj.height:(obj.getAttribute("height")?obj.getAttribute("height"):0);if(parseInt(h,10)<137){h="137";}var pt=ua.ie&&ua.win?"ActiveX":"PlugIn";document.title=document.title.slice(0,47)+" - Flash Player Installation";var dt=document.title;var fv="MMredirectURL="+window.location+"&MMplayerType="+pt+"&MMdoctitle="+dt;var el=obj;if(ua.ie&&ua.win&&obj.readyState!=4){el=document.createElement("div");obj.parentNode.insertBefore(el,obj);obj.style.display="none";window.attachEvent("onload",function(){obj.parentNode.removeChild(obj);});}createSWF({data:regObj.expressInstall,id:"SWFObjectExprInst",width:w,height:h},{flashvars:fv},el);}}function displayAltContent(obj){if(ua.ie&&ua.win&&obj.readyState!=4){var el=document.createElement("div");obj.parentNode.insertBefore(el,obj);el.parentNode.replaceChild(abstractAltContent(obj),el);obj.style.display="none";window.attachEvent("onload",function(){obj.parentNode.removeChild(obj);});}else{obj.parentNode.replaceChild(abstractAltContent(obj),obj);}}function abstractAltContent(obj){var ac=document.createElement("div");if(ua.win&&ua.ie){ac.innerHTML=obj.innerHTML;}else{var nestedObj=obj.getElementsByTagName("object")[0];if(nestedObj){var c=nestedObj.childNodes;if(c){var cl=c.length;for(var i=0;i<cl;i++){if(!(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="param")&&!(c[i].nodeType==8)){ac.appendChild(c[i].cloneNode(true));}}}}}return ac;}function createSWF(attObj,parObj,el){if(ua.ie&&ua.win){var att="";for(var i in attObj){if(typeof attObj[i]=="string"){if(i=="data"){parObj.movie=attObj[i];}else if(i.toLowerCase()=="styleclass"){att+=' class="'+attObj[i]+'"';}else if(i!="classid"){att+=' '+i+'="'+attObj[i]+'"';}}}var par="";for(var j in parObj){if(typeof parObj[j]=="string"){par+='<param name="'+j+'" value="'+parObj[j]+'" />';}}el.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+att+'>'+par+'</object>';fixObjectLeaks();}else if(ua.webkit&&ua.webkitVersion<312){var e=document.createElement("embed");e.setAttribute("type","application/x-shockwave-flash");for(var k in attObj){if(typeof attObj[k]=="string"){if(k=="data"){e.setAttribute("src",attObj[k]);}else if(k.toLowerCase()=="styleclass"){e.setAttribute("class",attObj[k]);}else if(k!="classid"){e.setAttribute(k,attObj[k]);}}}for(var l in parObj){if(typeof parObj[l]=="string"){if(l!="movie"){e.setAttribute(l,parObj[l]);}}}el.parentNode.replaceChild(e,el);}else{var o=document.createElement("object");o.setAttribute("type","application/x-shockwave-flash");for(var m in attObj){if(typeof attObj[m]=="string"){if(m.toLowerCase()=="styleclass"){o.setAttribute("class",attObj[m]);}else if(m!="classid"){o.setAttribute(m,attObj[m]);}}}for(var n in parObj){if(typeof parObj[n]=="string"&&n!="movie"){createObjParam(o,n,parObj[n]);}}el.parentNode.replaceChild(o,el);}}function createObjParam(el,pName,pValue){var p=document.createElement("param");p.setAttribute("name",pName);p.setAttribute("value",pValue);el.appendChild(p);}function hasPlayerVersion(rv){return(ua.playerVersion[0]>rv[0]||(ua.playerVersion[0]==rv[0]&&ua.playerVersion[1]>rv[1])||(ua.playerVersion[0]==rv[0]&&ua.playerVersion[1]==rv[1]&&ua.playerVersion[2]>=rv[2]))?true:false;}function createCSS(sel,decl){if(ua.ie&&ua.mac){return;}var h=document.getElementsByTagName("head")[0];var s=document.createElement("style");s.setAttribute("type","text/css");s.setAttribute("media","screen");if(!(ua.ie&&ua.win)&&typeof document.createTextNode!="undefined"){s.appendChild(document.createTextNode(sel+" {"+decl+"}"));}h.appendChild(s);if(ua.ie&&ua.win&&typeof document.styleSheets!="undefined"&&document.styleSheets.length>0){var ls=document.styleSheets[document.styleSheets.length-1];if(typeof ls.addRule=="object"){ls.addRule(sel,decl);}}}return{registerObject:function(objectIdStr,swfVersionStr,xiSwfUrlStr){if(!ua.w3cdom||!objectIdStr||!swfVersionStr){return;}var regObj={};regObj.id=objectIdStr;var v=swfVersionStr.split(".");regObj.swfVersion=[parseInt(v[0],10),parseInt(v[1],10),parseInt(v[2],10)];regObj.expressInstall=xiSwfUrlStr?xiSwfUrlStr:false;regObjArr[regObjArr.length]=regObj;createCSS("#"+objectIdStr,"visibility:hidden");},getObjectById:function(objectIdStr){var r=null;if(ua.w3cdom&&isDomLoaded){var o=document.getElementById(objectIdStr);if(o){var n=o.getElementsByTagName("object")[0];if(!n||(n&&typeof o.SetVariable!="undefined")){r=o;}else if(typeof n.SetVariable!="undefined"){r=n;}}}return r;},embedSWF:function(swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj){if(!ua.w3cdom||!swfUrlStr||!replaceElemIdStr||!widthStr||!heightStr||!swfVersionStr){return;}if(hasPlayerVersion(swfVersionStr.split("."))){createCSS("#"+replaceElemIdStr,"visibility:hidden");var att=(typeof attObj=="object")?attObj:{};att.data=swfUrlStr;att.width=widthStr;att.height=heightStr;var par=(typeof parObj=="object")?parObj:{};if(typeof flashvarsObj=="object"){for(var i in flashvarsObj){if(typeof flashvarsObj[i]=="string"){if(typeof par.flashvars!="undefined"){par.flashvars+="&"+i+"="+flashvarsObj[i];}else{par.flashvars=i+"="+flashvarsObj[i];}}}}createSWF(att,par,document.getElementById(replaceElemIdStr));createCSS("#"+replaceElemIdStr,"visibility:visible");}else if(xiSwfUrlStr&&!isExpressInstallActive&&hasPlayerVersion([6,0,65])&&(ua.win||ua.mac)){createCSS("#"+replaceElemIdStr,"visibility:hidden");addDomLoadEvent(function(){var regObj={};regObj.id=regObj.altContentId=replaceElemIdStr;regObj.width=widthStr;regObj.height=heightStr;regObj.expressInstall=xiSwfUrlStr;showExpressInstall(regObj);createCSS("#"+replaceElemIdStr,"visibility:visible");});}},getFlashPlayerVersion:function(){return{major:ua.playerVersion[0],minor:ua.playerVersion[1],release:ua.playerVersion[2]};},hasFlashPlayerVersion:function(versionStr){return hasPlayerVersion(versionStr.split("."));},createSWF:function(attObj,parObj,el){if(ua.w3cdom&&isDomLoaded){createSWF(attObj,parObj,el);}},createCSS:function(sel,decl){if(ua.w3cdom){createCSS(sel,decl);}},addDomLoadEvent:addDomLoadEvent,addLoadEvent:addLoadEvent,getQueryParamValue:function(param){var q=document.location.search||document.location.hash;if(param==null){return q;}if(q){var pairs=q.substring(1).split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return pairs[i].substring((pairs[i].indexOf("=")+1));}}}return"";},expressInstallCallback:function(){if(isExpressInstallActive&&storedAltContent){var obj=document.getElementById("SWFObjectExprInst");if(obj){obj.parentNode.replaceChild(storedAltContent,obj);storedAltContent=null;isExpressInstallActive=false;}}},getPlayer:function(name){if(ua.ie){return window[name];}else
{if(document[name].length!=undefined){return document[name][1];}else
{return document[name];}}}};}();YAHOO.music.WebPlayer.Utils.SWFProxy=function(){var map={};var magicNumber=0;var swfproxyName="";var flashEnabled=false;var loaded=false;var swfobject=YAHOO.music.WebPlayer.Utils.swfobject;var queue=[];var timeoutID=null;return{init:function(){swfproxyName="swfproxy";var dummyContainer=document.createElement('span');dummyContainer.id="dummyProxyContainer";document.body.appendChild(dummyContainer);if(swfobject.hasFlashPlayerVersion('9.0.0')){flashEnabled=true;swfobject.embedSWF("http://l.yimg.com/us.yimg.com/i/us/mus/swf/ymwp/swfproxy-1.5.31.swf",dummyContainer.id,"1","1","9.0.0",false,{},{allowscriptaccess:"always",allownetworking:"all"},{id:swfproxyName,name:swfproxyName,style:"position:absolute; top:0; left:-30px;"});}},onLoad:function(){loaded=true;for(var i in queue){this.getXSPF(queue[i].url,queue[i].callback);}},getXSPF:function(url,callback){if(loaded){if(callback.scope==null){callback.scope=window;}var id=magicNumber++;swfobject.getPlayer(swfproxyName).flGetXSPF(id,url);map[id]=callback;return true;}else
{if(flashEnabled){queue.push({url:url,callback:callback});if(timeoutID==null){timeoutID=window.setTimeout(checkFlashLoaded,5000);}return true;}else
{return false;}}function checkFlashLoaded(){if(!loaded){var func,scope,args,o;for(var i in queue){if(queue[i].callback.scope==null){queue[i].callback.scope=window;}func=queue[i].callback.failure;scope=queue[i].callback.scope;args=queue[i].callback.argument;o={status:"Flash proxy failed to load",argument:args};func.call(scope,o);}queue=[];}timeoutID=null;}},successHandler:function(id,result){var func=map[id].success;var scope=map[id].scope;var args=map[id].argument;var o={responseText:result,argument:args};func.call(scope,o);},failureHandler:function(id,statusText){var func=map[id].failure;var scope=map[id].scope;var args=map[id].argument;var o={status:statusText,argument:args};func.call(scope,o);}};}();YAHOO.music.WebPlayer.Utils.SWFProxy.init();YAHOO.music.WebPlayer.Utils.getCookie=function(name){name=' '+name+'=';var i,cookies;cookies=' '+document.cookie+';';if((i=cookies.indexOf(name))>=0){i+=name.length;cookies=cookies.substring(i,cookies.indexOf(';',i));return cookies;}return"";};YAHOO.music.WebPlayer.Utils.createCookie=function(name,value,days,path,domain,secure){var maxage=days!==undefined&&days!==null?days*24*60*60:null;var date=null;if(maxage!=null){date=new Date();date.setTime(date.getTime()+maxage);}document.cookie=name+"="+escape(value)+((date)?"; expires="+date.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");};YAHOO.music.WebPlayer.Utils.eraseCookie=function(name,path,domain){YAHOO.music.WebPlayer.Utils.createCookie(name,"",0,path,domain);};YAHOO.music.WebPlayer.Utils._base32Decode=function(v){var d=0;var c;v=v.toLowerCase();for(var i=0;i<v.length;i++){d<<=5;c=v.charCodeAt(i);if(c>=97&&c<=119){d+=c-97+10;}else
{d+=c-48;}}return d;};YAHOO.music.WebPlayer.Utils.getSubCookie=function(name,subname){subname='&'+subname+'=';var i,subcookie;subcookie=YAHOO.music.WebPlayer.Utils.getCookie(name);subcookie='&'+subcookie+'&';if((i=subcookie.indexOf(subname))>=0){subcookie=subcookie.substring(i+subname.length,subcookie.indexOf('&',i+subname.length));return subcookie;}return"";};YAHOO.music.WebPlayer.Utils.getId=function(){var id=YAHOO.music.WebPlayer.Utils.getYid();if(id){return id;}var v=YAHOO.music.WebPlayer.Utils.getSubCookie("B","B");return YAHOO.music.WebPlayer.Utils._base32Decode(v);};YAHOO.music.WebPlayer.Utils.getYid=function(){var v=YAHOO.music.WebPlayer.Utils.getSubCookie("Y","n");return YAHOO.music.WebPlayer.Utils._base32Decode(v);};YAHOO.music.WebPlayer.Utils.PerfLog=function(spaceid,src){this._spaceid=spaceid;this._times=[];this._nextTime=1;this._start=Number(new Date());this._src=src;};YAHOO.music.WebPlayer.Utils.PerfLog._bw=YAHOO.music.WebPlayer.Utils.getSubCookie("BA","ba");if(!YAHOO.music.WebPlayer.Utils.PerfLog._bw){YAHOO.music.WebPlayer.Utils.PerfLog._bw=2500;}YAHOO.music.WebPlayer.Utils.PerfLog.spaceIds={Performance:791003458,GetXspf:791003459,StartToSound:791003460,GetMetadata:791003461,CopRequest:791003462,ClickToOnStart:791003463,ResumeToSound:791003465,TransitToSound:791003466};YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.WebPlayer.Utils.PerfLog.prototype,{_timeNames:["t_resp","t_rtpage","t_render","t_end"],logTime:function(name){if(name===undefined){name=this._nextTime++;}this._times[name]=Number(new Date())-this._start;return this._times[name];},done:function(){this._end=Number(new Date());},send:function(){if(!this._end){this.done();}var url=[(document.location.protocol=="https:"?"https:":"http:")+"//rtb.pclick.yahoo.com/images/rt.gif"];url.push("?u=",encodeURIComponent(document.location));url.push("&r=",encodeURIComponent(document.location));url.push("&r2=",encodeURIComponent(document.location));url.push("&t_done=",this._end-this._start);if(this._src){url.push("&src=",this._src);}url.push("&v=1.62");url.push("&spaceid=",this._spaceid);for(var i=0;i<this._timeNames.length;i++){var n=this._timeNames[i];var t=this._times[n];if(t!==undefined){url.push("&",n,"=",t);}}var other="";for(i=1;i<5;i++){if(this._times[i]!==undefined){other+=",t"+i+"|"+this._times[i];}}if(other!==""){url.push("&t_other=",other.substring(1));}url.push("&ba=",YAHOO.music.WebPlayer.Utils.PerfLog._bw);console.log(url.join(""));var tmpimg=new Image();tmpimg.onload=function(){tmpimg.onload=null;};tmpimg.src=url.join("");}});YAHOO.music.WebPlayer.Utils._imageIndex=0;YAHOO.music.WebPlayer.Utils._imageElement=[];YAHOO.music.WebPlayer.Utils._logUrl=function(url){var u=YAHOO.music.WebPlayer.Utils;var d=new Date().getTime();if(d==u._lastLog){d++;}u._lastLog=d;var tmpimg=new Image();tmpimg.onload=function(){if(tmpimg&&tmpimg.onload){tmpimg.onload=null;}};tmpimg.src=url+"&z="+d;};YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.WebPlayer.Utils,{CML_PLAY:100,CML_COMPLETE:101,CML_SKIPPED:102,CML_CLOSED:103,CML_INCOMPLETE:106,CML_STOPPED:110,_cml_names:["Play","Complete","Skipped","Closed","","","Incomplete","","","","Stopped"]});YAHOO.music.WebPlayer.Utils.logDyc=function(spaceid){var url="http://geo.yahoo.com/b?s="+spaceid;this._logUrl(url);};YAHOO.music.WebPlayer.Utils.logRd=function(rd){var url="http://rd.yahoo.com/music/musicwebplayer/"+YAHOO.music.WebPlayer.Utils.playerType+"/"+rd+"/*http://music.yahoo.com/t.gif?y=1";this._logUrl(url);};YAHOO.music.WebPlayer.Utils._logThisUser=function(){if(this._logThisClient===undefined){this._logThisClient=false;var id=YAHOO.music.WebPlayer.Utils.getId();if(id){if(!(id%40)){this._logThisClient=true;}}else
{if(Math.random()<0.025){this._logThisClient=true;}}}return this._logThisClient;};YAHOO.music.WebPlayer.Utils._getLogObj=function(){var bw=YAHOO.music.WebPlayer.Utils.getSubCookie("BA","ba");if(!bw){bw=-1;}var o={pid:YAHOO.music.WebPlayer.Utils._psc,aec:0,aed:"unknown",pv:"unknown",stid:-1,bw:bw,mid:-1,sid:-1,bc:-1,wec:-1,burl:"unknown",tz:(new Date().getTimezoneOffset())/60,uid:YAHOO.music.WebPlayer.Utils.getId()};if(!o.uid){o.uid=-1;}return o;};YAHOO.music.WebPlayer.Utils._logObj=function(o){var parms=["http://ybmonitor.bcst.yahoo.com/QOSWebService/ProcessService.asmx/ProcessLaunchQOSResult?"];parms.push("&pid=",encodeURIComponent(o.pid));parms.push("&aec=",encodeURIComponent(20000+new Number(o.aec)));parms.push("&aed=",encodeURIComponent(o.aed).substr(0,254));parms.push("&pv=",encodeURIComponent(o.pv));parms.push("&uid=",encodeURIComponent(o.uid));parms.push("&stid=",encodeURIComponent(o.stid));parms.push("&bw=",encodeURIComponent(o.bw));parms.push("&mid=",encodeURIComponent(o.mid));parms.push("&sid=",encodeURIComponent(o.sid));parms.push("&bc=",encodeURIComponent(o.bc));if(o.wec>2147483647){o.wec-=4294967296;}if(o.wec>0){o.wec=-o.wec;}parms.push("&wec=",encodeURIComponent(o.wec));parms.push("&tz=",encodeURIComponent(o.tz));parms.push("&burl=",encodeURIComponent(o.burl).substr(0,511));o.u=parms.join("");var image=YAHOO.music.WebPlayer.Utils._logUrl(o.u);};YAHOO.music.WebPlayer.Utils.logMsg=function(mo,msg,pv){if(!this._logThisUser()){return;}var o=YAHOO.music.WebPlayer.Utils._getLogObj();o.aed=msg;if(pv){o.pv=pv;}if(mo){if(mo.lastPlayState&&mo.lastPlayState.ttlUrl){o.burl=mo.lastPlayState.ttlUrl;}else if(mo.url){o.burl=mo.url;}if(mo.ymu&&mo.id){o.mid=mo.id;}}YAHOO.music.WebPlayer.Utils._logObj(o);};YAHOO.music.WebPlayer.Utils.logQos=function(error,source,summary,version){if(!this._logThisUser()){return;}var u=YAHOO.music.WebPlayer.Utils;var o=u._getLogObj();o.aed="";if(source){o.aed=source+":";}if(error instanceof YAHOO.music.MediaEngine.Error){if(error.summary){o.aed+=error.summary+":";}var n=error.nativeTech;if(n){u.logRd("errors/"+n+"/"+error.nativeCode.toString(16));o.aed+=n;o.wec=error.nativeCode;if(error.description){o.aed=o.aed+":"+error.description;}if(error.version){o.pv=error.version;}}else
{if(error.errorCode==error.ERR_NATIVE_ERROR){var nc=error.getNativeCode();u.logRd("errors/app/"+error.errorCode+"/"+nc);if(nc){o.wec=nc;}}else
{u.logRd("errors/app/"+error.errorCode);}var d=["App:",error.errNames[error.errorCode]," "];if(summary){d.push("<",summary,"> ");}var j=0;for(var i=u._callStack.length;(i>0)&&(j<3);i--,j++){d.push("<",u._callStack[i-1],">");}o.aed=d.join("");o.aec=error.errorCode;}var m=error.mediaObject;if(m){if(m.ttlUrl){o.burl=m.ttlUrl;}else if(m.url){o.burl=m.url;}if(m.mediaId){o.mid=m.id;}}}else if(error instanceof YAHOO.music.WebPlayer.Error){console.log("ECode = "+error.errorCode+"; Context = "+error.context+"; Description = "+error.description+"; Summary = "+error.summary);u.logRd("errors/feeds/"+error.context+"/"+error.errorCode);o.aec=error.errorCode;o.aed=error.summary+" "+error.description;o.pv=error.context;}else
{u.logRd("errors/app/unknown");o.aed="Error object missing";}u._logObj(o);};YAHOO.music.WebPlayer.Utils._callStack=[];YAHOO.music.WebPlayer.Utils.logFunctionCalls=false;YAHOO.music.WebPlayer.Utils._getString=function(t){if(!t){return t;}if(typeof t==="object"){if(t._toString){return t._toString();}if(t.___objectName){if(t.hasOwnProperty("___objectName")){return"["+t.___objectName+"]";}return"[Subclass of "+t.___objectName+"]";}if(typeof t.length==="number"&&t.propertyIsEnumerable&&!t.propertyIsEnumerable('length')){if(t.length===0){return"[Empty Array]";}var s=[];s.push("[");var d="";for(var i=0;i<3&&i<t.length;i++){s.push(d);s.push(this._getString(t[i]));d=", ";}if(t.length>3){s.push(", ...");}s.push("]");return s.join("");}return t;}else if(typeof t=="function"){if(t.___name){return t.___name+"()";}else
{return"[Function]";}}else if(typeof t=="string"){return'"'+t+'"';}return t;};YAHOO.music.WebPlayer.Utils._getWrapFun=function(objectName,fun,name){var f=function(){try
{var u=YAHOO.music.WebPlayer.Utils;try
{var msg=[];msg.push("Function Call:");if(this.___objectName){msg.push(this.___objectName);msg.push(".");}msg.push(name);msg.push("(");var delimiter="";for(var i=0;i<arguments.length;i++){msg.push(delimiter);msg.push(u._getString(arguments[i]));delimiter=", ";}msg.push(")");msg=msg.join("");u._callStack.push(msg);if(u.logFunctionCalls){u.logMsg(null,msg);}}catch(e){}u._callStack.reported=false;return fun.apply(this,arguments);}catch(e){var u=YAHOO.music.WebPlayer.Utils;if(!u._callStack.reported){u.logQos(e.name,u.MC_APP,e.message,YAHOO.music.MediaEngine._version);u._callStack.reported=true;}if(u._callStack.length>1){throw(e);}}finally
{u._callStack.pop();}};return f;};YAHOO.music.WebPlayer.Utils.wrapFuns=function(objectName,object,funs,except){var o=object;o.___objectName=objectName;if(funs&&!except){for(var i=0;i<funs.length;i++){this._wrapFun(objectName,object,funs[i]);}}else
{for(var name in o){if(o.hasOwnProperty(name)){if(!funs||(YAHOO.music.WebPlayer.Utils.arrayFind(funs,name)===false)){this._wrapFun(objectName,object,name);}}}}};YAHOO.music.WebPlayer.Utils._wrapFun=function(objectName,object,name){if(typeof object[name]=="function"){var fun=object[name];if(fun.___name){return;}object[name]=this._getWrapFun(objectName,fun,name);object[name].___name=name;object[name].prototype=fun.prototype;for(var p in fun){object[name][p]=fun[p];}}};YAHOO.namespace("music.MediaEngine");if(!YAHOO.music.MediaEngine._initialized){YAHOO.music.MediaEngine={_initialized:true,_version:"1.5.31",_players:{},_nextUniqueId:0,attach:function(queueEventHandler,controllerEventHandler,name,create,videoElement,what,clientObj){if(name===undefined){name=null;}if(create===undefined){create=true;}if(name===null){name="_Default_Player_";}var player;if(name===false){player=new this.Player();}else
{player=this._players[name];if(!player){if(!create){return null;}player=new this.Player(name);this._players[name]=player;}}var clientPlayer=player._createClient(this.getUniqueId(),clientObj);var c=this._clients;for(var n in c){if(c[n].onClientAttached){c[n].onClientAttached(clientPlayer.clientId,clientObj);}}clientPlayer.controller.attachEventHandler(controllerEventHandler);clientPlayer.queue.attachEventHandler(queueEventHandler);if(videoElement){clientPlayer.controller.setVideoElement(videoElement);}if(what){clientPlayer.queue.add(what);}return clientPlayer;},detach:function(player){return player.detach();},getUniqueId:function(){return this._nextUniqueId++;},getVersion:function(){return this._version;},getInstanceNames:function(){var a=[];for(var name in this._players){a.push(name);}return a;},stopAll:function(){var count=0;for(var name in this._players){var player=this._players[name];if(player.controller.getRenderState()!=YAHOO.music.MediaEngine.Controller.RS_STOPPED){count++;}player.controller.stop(undefined,true);}return count;},getLocale:function(){return this._locale;},setLocale:function(locale){this._locale=locale;},playMedia:function(source,videoElement,events,paused,volume){var p=this.attach(null,events,"_PlayMedia_Player_",true,videoElement);var c=p.controller;var q=p.queue;var qHandler={onCleared:function(){q.detachEventHandler(qHandler);q.add(source);var cHandler={onStop:function(){c.detachEventHandler(cHandler);p.detach();}};c.attachEventHandler(cHandler);if(videoElement){c.setVideoElement(videoElement);}if((volume!==undefined)&&((typeof volume=="number")||(typeof volume=="string"))){c.setVolume(volume);}if(paused){c.pause();}else
{c.start();}}};q.attachEventHandler(qHandler);p.queue.clear();return c;},_delete:function(name){var p=this._players[name];if(!p){return;}p.controller.stop();delete this._players[name];}};}YAHOO.namespace("music.MediaEngine.Debug");YAHOO.music.MediaEngine.Debug._showQueueStatus=function(player){var s="Queue has "+player.queue.getCount()+" tracks.<br>";var mo=player.queue.getCurrent();if(!mo){s+="  No current track";}else
{s+="  <b>Current track:</b> ";if(mo.url){s+=mo.url;}else if(mo.title){s+=mo.title;if(mo.Artist&&mo.Artist.name){s+=" by ";s+=mo.Artist.name;}}else
{s+="TTL URL";}}s+="<br>";return s;};YAHOO.music.MediaEngine.Debug._findName=function(c,func){if(!func){return"None";}var inFunc=func.toString();var name;for(name in c){if(typeof c[name]=="function"){var s=c[name].toString();var m=inFunc.indexOf(s);if((m!==-1)&&(m<inFunc.length)){return name;}}}return func;};YAHOO.music.MediaEngine.Debug._showControllerStatus=function(player){var s="";var c=player.controller;s+="<b>Current Technology:</b>";var p=c._shared._currentPlayer;if(p){if(p instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP){s+="Windows Media Player";if(p.getDuration===p._ffGetDuration){s+=" (Crippled FF)";}else if(p.getDuration===p._ffYpGetDuration){s+=" (Enhanced FF)";}else
{s+=" (IE)";}}else if(p instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.QT){s+=" QuickTime";}else if(p instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.Flash){s+=" Flash";}}else
{s+="None";}s+="<br>";var rsNames=["Stopped","Paused","Playing","Seeking","Waiting","Transitioning","Other","Organic Transition","Error"];s+="<b>Render State:</b> "+rsNames[c._shared.renderState]+"<br>";s+="<b>Play State:</b> "+rsNames[c._shared.playState]+"<br>";var ts=rsNames[c._shared.targetState];if(ts){s+="<b>Target State:</b> "+ts+"<br>";}s+="<b>Repeat:</b> "+c._shared.repeat+"  <b>Volume:</b> "+c._shared.volume;if(c._shared.muted){s+=" (muted)";}s+="<br>";p=c._shared.pending;if(!p.length){s+="No technology events expected</br>";}else
{s+="<b>Waiting For:</b><br>";for(var i=0;i<p.length;i++){var r=p[i];for(var j=0;j<r.length;j++){var e=r[j];var delimiter="States: ";var w=e.state;if(!YAHOO.music.WebPlayer.Utils.isArray(r.state)){w=[w];}for(var k=0;k<w.length;k++){s+=delimiter+rsNames[w[k]];delimiter=", ";}s+="<br>";var ac="";delimiter="Actions: ";w=e.action;if(!YAHOO.music.WebPlayer.Utils.isArray(w)){w=[w];}for(k=0;k<w.length;k++){ac+=delimiter+this._findName(c,w[k]);delimiter=", ";}s+=ac+"<br>";}}}return s;};YAHOO.music.MediaEngine.Debug._showStatus=function(){var s="<h3>Media Engine Status</h3>";var players=YAHOO.music.MediaEngine.getInstanceNames();for(var i=0;i<players.length;i++){s=s+"<h4>"+players[i]+"</h4>";var p=YAHOO.music.MediaEngine._players[players[i]];s+=YAHOO.music.MediaEngine.Debug._showQueueStatus(p);s+=YAHOO.music.MediaEngine.Debug._showControllerStatus(p);}YAHOO.music.MediaEngine.Debug.panel.setBody(s);YAHOO.music.MediaEngine.Debug.panel.render(document.body);};YAHOO.music.MediaEngine.Debug.showStatus=function(){if(!this.panel){this.panel=new YAHOO.ympyui.widget.Panel("MediaEngineStatus",{width:"500px",visible:true,draggable:true,constraintoviewport:false,close:false});this.panel.setHeader("Media Engine Status");}setTimeout(this._showStatus,0);};YAHOO.namespace("music.MediaEngine");YAHOO.music.MediaEngine.Error=function(errorCode,summary,version,severity){this.errorCode=errorCode;this.summary=summary?summary:this.errNames[errorCode];this.version=version?version:YAHOO.music.MediaEngine._version;this.severity=severity?severity:this.SEVERITY_2;};YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.Error.prototype,YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.Error,{ERR_SUCCESS:0,ERR_NOT_IMPLEMENTED:1,ERR_PARM_NOT_IMPLEMENTED:2,ERR_INVALID_PARM:3,ERR_ALREADY_EXISTS:4,ERR_NOT_FOUND:5,ERR_NO_PLAYER:6,ERR_WRONG_STATE:7,ERR_EMPTY_QUEUE:8,ERR_NO_MORE:9,ERR_NO_URL:10,ERR_TIMEOUT:11,ERR_UNKNOWN_DURATION:12,ERR_NO_CURRENT:13,ERR_NATIVE_ERROR:14,ERR_NEED_LICENSE:15,ERR_UNKNOWN_STOPPING:16,ERR_UNEXPECTED_STATE_CHANGE:17,ERR_NEED_PLUGIN:18,ERR_DRM_UNSUPPORTED:19,SEVERITY_1:0,SEVERITY_2:1,SEVERITY_3:2,SEVERITY_4:3,errNames:["Success","Not Implemented","Parm Not Implemented","Invalid Parm","Already Exists","Not Found","No Player","Wrong State","Empty Queue","No More","No Url","Timeout","Unknown Duration","No Current","Native Error","Need License","Unknown Error: Stopping","Unexpected State Change","Need Plugin","DRM Unsupported"]}));YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.Error.prototype,{_callNativeFun:function(fun){if(this.nativeError&&this.nativeError[fun]&&(typeof this.nativeError[fun]=="function")){return this.nativeError[fun]();}},getSummary:function(){var r=this._callNativeFun("getSummary");if(r){return r;}return this.summary;},getDescription:function(){var r=this._callNativeFun("getDescription");if(r){return r;}return this.description?this.description:this.summary;},getNativeCode:function(){if(this.nativeCode){return this.nativeCode;}if(this.nativeError&&this.nativeError.errorCode){return this.nativeError.errorCode;}},getInfoUrl:function(){var r=this._callNativeFun("getInfoUrl");if(r){return r;}return this.infoUrl;},setNativeError:function(tech,code,error){this.nativeTech=tech;this.nativeCode=code&0x7FFFFFFF;if(code&0x80000000){this.nativeCode+=0x80000000;}this.nativeError=error;if(error&&error.description){this.summary=error.description;}if(error&&error.message){this.description=error.message;}}});YAHOO.namespace("music.MediaEngine");YAHOO.music.MediaEngine.Events={attachEventHandler:function(eventHandler){if(!eventHandler){return;}var h=this._handlers;var E=YAHOO.music.MediaEngine.Error;if(YAHOO.music.WebPlayer.Utils.arrayFind(h,eventHandler)!==false){return new E(E.ERR_ALREADY_EXISTS);}h.push(eventHandler);var ch=this._clientHandlers;if(!ch){return h.length;}ch.push(eventHandler);return ch.length;},detachEventHandler:function(eventHandler){var ch=this._clientHandlers;var E=YAHOO.music.MediaEngine.Error;if(!eventHandler){if(ch===undefined){ch=this._handlers;}else
{for(var i in ch){YAHOO.music.WebPlayer.Utils.arrayRemove(this._handlers,ch[i]);}}ch.length=0;return 0;}if(ch===undefined){ch=this._handlers;}else
{if(!YAHOO.music.WebPlayer.Utils.arrayRemove(ch,eventHandler)){return new E(E.ERR_NOT_FOUND);}}if(!YAHOO.music.WebPlayer.Utils.arrayRemove(this._handlers,eventHandler)){return new E(E.ERR_NOT_FOUND);}return ch.length;},_fireEvent:function(){this._fireEventTo(this._handlers,true,arguments);},_fireEventNoId:function(){this._fireEventTo(this._handlers,false,arguments);},_fireEventToClient:function(){this._fireEventTo(this._clientHandlers,false,arguments);},_fireEventTo:function(h,withId,args){var a=[];if(withId){a.push(this._clientId);}var i;for(i=1;i<args.length;i++){a.push(args[i]);}var event=args[0];var doFire=function(){for(i=0;i<h.length;i++){if(h[i][event]&&(typeof h[i][event]=="function")){h[i][event].apply(h[i],a);}}};setTimeout(doFire,0);}};YAHOO.namespace("music.MediaEngine.Player");YAHOO.music.MediaEngine.Player=function(name){this._name=name;this._clients={};this.queue=new YAHOO.music.MediaEngine.MediaQueue(null,null,this);this.controller=new YAHOO.music.MediaEngine.Controller(this.queue);};YAHOO.music.MediaEngine.Player.prototype={_createClient:function(clientId,clientObj){var clientPlayer=YAHOO.music.WebPlayer.Utils.object(this);clientPlayer.clientId=clientId;clientPlayer.onClientDetached=function(){};var base=clientPlayer.controller;clientPlayer.controller=YAHOO.music.WebPlayer.Utils.object(clientPlayer.controller);var c=clientPlayer.controller;c._base=base;c._player=clientPlayer;c._clientId=clientId;c._clientHandlers=[];c._fixEventHandlers();base=clientPlayer.queue;clientPlayer.queue=YAHOO.music.WebPlayer.Utils.object(clientPlayer.queue);var q=clientPlayer.queue;q._base=base;q._player=clientPlayer;q._clientId=clientId;q._clientHandlers=[];this._clients[clientId]=clientPlayer;return clientPlayer;},detach:function(){if(this._name!=="_Internal_Player_"){YAHOO.music.MediaEngine.MediaObjectExplorer._releasePlayer();}if(!this._clients[this.clientId]){return;}delete this._clients[this.clientId];var clientCount=0;var c=this._clients;for(var name in c){clientCount++;if(c[name].onClientDetached){c[name].onClientDetached(this.clientId,this._clientObj);}}if(!clientCount){this.controller.stop(undefined,true);YAHOO.music.MediaEngine._delete(this._name);}return clientCount;}};YAHOO.music.MediaEngine.Controller=function(queue,eventHandler){this._queue=queue;this._handlers=[];this._base=this;this._shared={renderState:YAHOO.music.MediaEngine.Controller.prototype.RS_STOPPED,playState:YAHOO.music.MediaEngine.Controller.prototype.RS_STOPPED,onRenderStateChange:this._bind(this,this._onPlayStateChange),onSeek:this._bind(this,this._onSeek),onError:this._bind(this,this._onError),queueEventHandler:{},repeat:false,volume:1,muted:false,pending:[],moStarting:null,consecutiveErrors:[],timeoutAction:null,timeoutExpires:0};queue.attachEventHandler(this._shared.queueEventHandler);this._shared.queueEventHandler.onSetCurrent=this._bind(this,this._onSetCurrent);if(eventHandler){this.attachEventHandler(eventHandler);}};YAHOO.music.MediaEngine.Controller.prototype=YAHOO.music.WebPlayer.Utils.object(YAHOO.music.MediaEngine.Events);YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.Controller.prototype,{_rsNames:["Stopped","Paused","Playing","Seeking","Waiting","Transitioning","Other","Organic Transition","Error"],_toString:function(){var s=[];s.push("[Controller");if(this._clientId){s.push(" #"+this._clientId);}if(this._shared){var p=this._shared._currentPlayer;if(p){if(p instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP){s.push(" WMP");if(p.getDuration===p._ffGetDuration){s.push(" (Crippled FF)");}else if(p.getDuration===p._ffYpGetDuration){s.push(" (Enhanced FF)");}else
{s.push(" (IE)");}}else if(p instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.QT){s.push(" QuickTime");}}s.push(" RS:"+this._rsNames[this._shared.renderState]);s.push(" PS:"+this._rsNames[this._shared.playState]);if(this._shared.targetState){s.push(" TS:"+this._rsNames[this._shared.targetState]);}}s.push("]");return s.join("");},_error:YAHOO.music.MediaEngine.Error,_utils:YAHOO.music.WebPlayer.Utils,_bind:YAHOO.music.WebPlayer.Utils.bind,_perflog:YAHOO.music.WebPlayer.Utils.PerfLog,RS_STOPPED:0,RS_PAUSED:1,RS_PLAYING:2,RS_SEEKING:3,RS_WAITING:4,RS_TRANSITIONING:5,RS_OTHER:6,_RS_ORGANIC:7,_RS_ERROR:8,_RS_SPECIAL:9,_TO_START_FAILED:25500,_fixEventHandlers:function(){this._fireStart=this._bind(this,this._fireStart);this._firePause=this._bind(this,this._firePause);this._fireStop=this._bind(this,this._fireStop);this._fireVideoElement=this._bind(this,this._fireVideoElement);this._fireSeek=this._bind(this,this._fireSeek);this._fireRepeat=this._bind(this,this._fireRepeat);this._fireNext=this._bind(this,this._fireNext);this._firePrevious=this._bind(this,this._firePrevious);this._fireError=this._bind(this,this._fireError);},_fireMediaChange:function(){var mo=this._queue.getCurrent();var sc=this.getSeekCaps();this._fireEventNoId("onMediaChange",mo,sc);},_fireBegin:function(){this._shared.consecutiveErrors.length=0;var mo=this._queue.getCurrent();var sc=this.getSeekCaps();var dur=this._getDuration();mo._duration=dur;this._fireEventNoId("onBegin",mo,sc,dur);if(YAHOO.MediaPlayer){YAHOO.MediaPlayer._fireOnTrackStart({mediaObject:mo});}},_fireEnd:function(){var mo=this._queue.getCurrent();this._fireEventNoId("onEnd",mo);if(YAHOO.MediaPlayer){YAHOO.MediaPlayer._fireOnTrackComplete({mediaObject:mo});}},_firePause:function(){var mo=this._queue.getCurrent();var pos=this.getProgress();this._fireEvent("onPause",mo,pos);if(YAHOO.MediaPlayer){YAHOO.MediaPlayer._fireOnTrackPause({mediaObject:mo,position:pos});}},_fireStart:function(error){var mo=this._queue.getCurrent();var dur=this._getDuration();this._fireEvent("onStart",mo,dur,error);},_fireStop:function(fadeoutTime,error){this._fireEvent("onStop",fadeoutTime,error);},_fireStateChange:function(){this._fireEventNoId("onRenderStateChange",this._shared.renderState);},_fireError:function(error){this._fireEvent("onError",error);},_fireVideoElement:function(element,oldElement){this._fireEvent("onVideoElementChanged",element,oldElement);},_fireSeek:function(){this._fireEvent("onSeekComplete",this._queue.getCurrent(),this.getProgress(),this._getDuration());},_fireRepeat:function(){this._fireEvent("onSetRepeat",this._shared.repeat);},_fireNext:function(oldMo,newMo,err){this._fireEvent("onNext",oldMo,newMo,err);},_firePrevious:function(oldMo,newMo,err){this._fireEvent("onPrevious",oldMo,newMo,err);},_fireProgress:function(){if(this._shared.renderState==this.RS_PLAYING){this._fireEventToClient("onProgress",this._queue.getCurrent(),this.getProgress(),this._getDuration());}if(YAHOO.MediaPlayer){YAHOO.MediaPlayer._fireOnProgress({progress:this.getProgress(),duration:this._getDuration()});}},_fireBufferingProgress:function(){if(this._shared.playState!=this.RS_STOPPED){this._fireEventToClient("onBufferingProgress",this._queue.getCurrent,this.getBufferingProgress(),this._getDuration());}},_logTrackStart:function(mo){var path="engine/trackstart";if(mo){if(mo.ymu){path=path+"/YMU";if(mo.lastPlayState){if(mo.lastPlayState.clip===true){path=path+"Clip";}if(mo.lastPlayState.clip===false){path=path+"Full";}}}else
{path=path+"/NonYMU";}}this._utils.logRd(path);},_logStart:function(mo,time){this._shared.currentTrack=mo;var now=new Date().getTime();if(mo._beacon){mo._beacon.send();delete mo._beacon;}this._utils.logMsg(mo,"started "+(now-time)+"ms after start()",this._getVersion());this._logTrackStart(mo);this._utils.logCml(mo,0,this._utils.CML_PLAY);},_logResume:function(mo,time){var now=new Date().getTime();if(mo._beacon){mo._beacon.send();delete mo._beacon;}this._utils.logRd("engine/resume");this._utils.logMsg(mo,"resuming "+(now-time)+"ms after start()",this._getVersion());},_logTransition:function(mo,time){var now=new Date().getTime();if(mo._beacon){mo._beacon.send();delete mo._beacon;}this._logTrackStart(mo);this._shared.currentTrack=mo;this._utils.logMsg(mo,"started "+(now-time)+"ms after transition",this._getVersion());this._utils.logCml(mo,0,this._utils.CML_PLAY);},_logStop:function(auto){this._logSkipOrStop(false,auto);},_logSkip:function(){this._logSkipOrStop(true);},_logSkipOrStop:function(skip,auto){if(skip){this._utils.logRd("engine/skip");}else
{this._utils.logRd("engine/stop");}var now=new Date().getTime();var url="<No URL>";var mo=undefined;if(this._shared.currentTrack){mo=this._shared.currentTrack;url=mo.url;}var msg;if(skip){msg="skipped ";}else
{msg="stopped ";}msg=msg+this._shared.stoppingAt+"s into the track";if(auto){msg="automatically "+msg;}this._utils.logMsg(mo,msg,this._getVersion());if(skip){this._utils.logCml(mo,this._shared.stoppingAt,this._utils.CML_SKIPPED);}else
{if(auto){this._utils.logCml(mo,this._shared.stoppingAt,this._utils.CML_CLOSED);}else
{this._utils.logCml(mo,this._shared.stoppingAt,this._utils.CML_STOPPED);}}delete this._shared.currentTrack;},_logComplete:function(){this._utils.logRd("engine/complete");var mo=undefined;var msg="Completed ";if(this._shared.currentTrack){mo=this._shared.currentTrack;msg+=mo.url;}this._utils.logMsg(mo,msg,this._getVersion());this._utils.logCml(mo,mo._duration,this._utils.CML_COMPLETE);delete this._shared.currentTrack;},_logPause:function(){this._utils.logRd("engine/pause");var mo=this._queue.getCurrent();this._utils.logMsg(mo,"paused at "+this.getProgress()+"s",this._getVersion());},_logError:function(error){if(error){error.version=this._getVersion();}this._utils.logQos(error);if(this._shared.currentTrack){var stoppingAt=0;if(this._shared.currentPlayer){stoppingAt=this.getProgress();}this._utils.logCml(this._shared.currentTrack,stoppingAt,this._utils.CML_INCOMPLETE);delete this._shared.currentTrack;}},_doStart:function(seekPos){if(this._shared.renderState==this.RS_PAUSED){return this._shared._currentPlayer.resume();}var e;var mo=this._queue.getCurrent();if(!mo){this._clearPending();e=new this._error(this._error.ERR_EMPTY_QUEUE);this._fireStart(e);return;}this._setMediaPlayer(mo);var currentPlayer=this._shared._currentPlayer;if(currentPlayer){YAHOO.music.WebPlayer.ui.enableVolumeSlider();if(currentPlayer instanceof YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP){if(currentPlayer.getDuration===currentPlayer._ffGetDuration){YAHOO.music.WebPlayer.ui.disableVolumeSlider();}}e=currentPlayer.start(mo,this._getVolume(),seekPos);}else
{e=this._error.ERR_NO_PLAYER;}if(e){e=new this._error(e);e.mediaObject=mo;this._onError(e);}},_doPause:function(){this._shared._currentPlayer.pause();},_doStop:function(fadeoutTime){if(this._shared._currentPlayer){this._shared.stoppingAt=this.getProgress();this._shared._currentPlayer.stop(fadeoutTime);}},_onSetCurrent:function(clientId,newCurrent,oldCurrent){if((newCurrent!==null)&&(this._shared.moStarting==this._queue.getItem(newCurrent))){return;}var ps=this._shared.playState;var ts=this._shared.targetState;if(ts){this._clearPending();this._doStop();if(ts===this.RS_PLAYING){this.start();}else
{this.pause();}return;}else if(ps==this.RS_STOPPED){this._fireMediaChange();return;}var time=new Date().getTime();var mo=this._queue.getCurrent();if(!newCurrent){var e=new this._error(this._error.ERR_NO_CURRENT);var f=this._bind(this,this._fireStop,this._bind.BOUND,e);this._addPending(true,[{state:this.RS_STOPPED,action:[this._logStop,f]}]);this._doStop();return;}this._shared.targetState=this.RS_PLAYING;if(ps!==this._RS_ORGANIC){this._addPending(false,[{state:this.RS_STOPPED,action:[this._logSkip,this._fireMediaChange,this._doStart]}]);}this._addBeacon(mo,this._perflog.spaceIds.TransitToSound);var r=[{state:this.RS_PLAYING,action:[this._bind(this,this._logTransition,mo,time),this._fireBegin],timeout:this._TO_START_FAILED,timeoutAction:this._bind(this,this._startFailed,mo,time)}];this._addPending(false,r);if(ps==this.RS_PAUSED){this._shared.targetState=this.RS_PAUSED;r[0].action.push(this._doPause);this._addPending(false,[{state:this.RS_PAUSED,action:this._logPause}]);}if(ps===this._RS_ORGANIC){this._shared.playState=this._shared.renderState;this._fireMediaChange();this._doStart();}else
{this._doStop();}},_organic:function(){if(this._shared.playState!=this.RS_STOPPED){return;}var d=this._getDuration();this._fireEventNoId("onProgress",this._queue.getCurrent(),d,d);this._logComplete();this._fireEnd();var q=this._queue;var id=q.getCurrent(true);id=q.getNext(id);if(typeof id!="number"){if(this._shared.repeat){id=q.getFirst();}}if(typeof id!=="number"){this._fireStop();return;}this._shared.playState=this._RS_ORGANIC;q.setCurrent(id);},_onPlayStateChange:function(renderState){this._fireEventNoId("onRenderStateChange",renderState);var changed=false;this._shared.renderState=renderState;if((renderState===this.RS_STOPPED)||(renderState===this.RS_PAUSED)||(renderState===this.RS_PLAYING)){this._shared.moStarting=undefined;if((this._shared.playState!==this._RS_ORGANIC)&&(this._shared.playState!==renderState)){this._shared.playState=renderState;changed=true;}}if(renderState===this._shared.targetState){delete this._shared.targetState;}if(!this._shared.pending.length){if(changed){this._organic();}}else
{this._processPending(renderState);}},_addPending:function(reset,args){if(reset){this._clearPending();}var p=this._shared.pending;var l=p.length;for(var i=1;i<arguments.length;i++){p.push(arguments[i]);}if(!l){this._updateTimeout();}},_clearPending:function(){var c=this._shared.pending.length;this._shared.pending.length=0;this._updateTimeout();return c;},_increaseTimeout:function(add){if(!this._shared._actionTimer){return false;}clearTimeout(this._shared.actionTimer);delete this._shared.actionTimer;var timeout=add+this._shared.timeoutExpires-new Date().getTime();this._shared._actionTimer=setTimeout(this._shared.timeoutAction,timeout);return timeout;},_updateTimeout:function(){if(this._shared._actionTimer){clearTimeout(this._shared._actionTimer);delete this._shared._actionTimer;}if(!this._shared.pending.length){return;}var er=this._shared.pending[0][0];var t=er.timeout;if(t){var f;if(er.timeoutAction){f=this._bind(this,er.timeoutAction);}else
{f=this._bind(this,this._actionTimeout);}this._shared.timeoutAction=f;this._shared.timeoutExpires=t+new Date().getTime();this._shared._actionTimer=setTimeout(f,t);}},_actionTimeout:function(){this._shared.renderState=this.RS_STOPPED;this._shared.playState=this.RS_STOPPED;this._shared.pending.length=0;delete this._shared._actionTimer;this._doStop();var e=new this._error(this._error.ERR_UNKNOWN_STOPPING);this._fireError(e);},_processPending:function(renderState){var p=this._shared.pending;if(!p.length){return false;}var r=p.shift();if(this._processRenderState(r,renderState)){this._updateTimeout();return true;}else
{p.unshift(r);return false;}},_processRenderState:function(r,renderState){for(var i=0;i<r.length;i++){var e=r[i];if(!e){return false;}var doIt;if(this._utils.isArray(e.state)){doIt=((e.state.length===0)||(this._utils.arrayFind(e.state,renderState)!==false));}else
{doIt=((e.state===undefined)||(e.state==renderState));}if(doIt){var a=e.action;if(a!==undefined){if(this._utils.isArray(a)){for(i=0;i<a.length;i++){if(a[i].call(this)===false){return false;}}}else if(a.call(this)===false){return false;}}return true;}}return false;},_getVolume:function(){if(this._shared.muted){return 0;}return this._shared.volume;},_getDuration:function(){if(this._shared._currentPlayer){return this._shared._currentPlayer.getDuration();}},_onSeek:function(oldPos,newPos){this._fireSeek();},_onErrorCallback:function(mo,error,retry){if(error){this._logError(error);this._fireError(error);}this._retry(mo,retry);},_retry:function(mo,retry){var mo2=this._queue.getCurrent();if(mo!==mo2){return;}this._clearPending();if(this._shared.targetState!=this.RS_PLAYING){this._doStop();this._shared.consecutiveErrors.length=0;return;}if(retry){this._utils.logRd("engine/retry");var f=this._bind(this,this.start);setTimeout(f,0);}else
{this._utils.logRd("engine/skip");delete this._shared.targetState;this._shared.playState=this._RS_ORGANIC;this._stopOnError(this._advance());}},_stopOnError:function(error){if(error){this._doStop();this._shared.playState=this.RS_STOPPED;this._shared.renderState=this.RS_STOPPED;this._clearPending();this._fireStop(undefined,error);}},_onError:function(error){if(this._processPending(this._RS_ERROR)){return this._stopOnError(error);}var moe=YAHOO.music.MediaEngine.MediaObjectExplorer;var mo=error.mediaObject;if(mo.retry&&(mo.retry!==0)){mo.retry--;this._retry(mo,true);return;}delete mo.retry;if(mo===undefined){mo=this._bind.BOUND;}this._shared.consecutiveErrors.push(error);var f=this._bind(this,this._onErrorCallback,mo);if(moe.onError(error,f,this._shared.consecutiveErrors)){this._fireError(error);}},setVideoElement:function(element){var oldElement=this.getVideoElement();this._base._videoElement=element;this._fireVideoElement(this.getVideoElement(),oldElement);},getVideoElement:function(){var e=this._videoElement;if(typeof e==="string"){e=document.getElementById(e);if(!e){e=this._videoElement;}}return e;},_startFailed:function(mo,time){var err=new this._error(this._error.ERR_TIMEOUT,"Attempt to start playback failed.");err.mediaObject=mo;this._onError(err);},getTargetState:function(){return this._shared.targetState;},_addBeacon:function(mo,spaceid){var src="Enh";if((!window.ActiveXObject)&&!navigator.plugins["Yahoo Music Plugin for Mozilla"]){src="Crp";}mo._beacon=new this._perflog(spaceid,src);},_getMetadataError:function(){},getMetadata:function(mo,callback,timeout){var r=[{state:this._RS_SPECIAL},{state:this._RS_ERROR,action:this._getMetadataError}];this._addPending(true,r);var cp=this._setMediaPlayer(mo);return cp.getMetadata(mo,callback,timeout);},start:function(seekPos){var rs=this._shared.renderState;if(rs==this.RS_PLAYING){return this._fireStart(new this._error(this._error.ERR_WRONG_STATE));}var mo=this._queue.getCurrent();if(!mo){return this._fireStart(new this._error(this._error.ERR_NO_CURRENT));}this._shared.moStarting=mo;this._addBeacon(mo,this._perflog.spaceIds.StartToSound);this._shared.targetState=this.RS_PLAYING;var time=new Date().getTime();var r=[{state:this.RS_PLAYING,action:[this._bind(this,this._logStart,mo,time),this._fireStart],timeout:this._TO_START_FAILED,timeoutAction:this._bind(this,this._startFailed,mo,time)}];if(rs==this.RS_STOPPED){r[0].action.push(this._fireBegin);}else if(rs==this.RS_PAUSED){this._addBeacon(mo,this._perflog.spaceIds.ResumeToSound);r[0].action[0]=this._bind(this,this._logResume,mo,time);}this._addPending(true,r);this._doStart(seekPos);},pause:function(){if(this._shared.renderState==this.RS_PLAYING){this._addPending(true,[{state:this.RS_PAUSED,action:[this._logPause,this._firePause]}]);this._shared.targetState=this.RS_PAUSED;var e=this._shared._currentPlayer.pause();}else if(this._shared.playState==this.RS_STOPPED){var mo=this._queue.getCurrent();if(mo.retry){mo.retry=0;this.stop();return;}var time=new Date().getTime();this._addBeacon(mo,this._perflog.spaceIds.StartToSound);this._addPending(true,[{state:this.RS_PLAYING,action:[this._bind(this,this._logStart,mo,time),this._logPause,this._firePause,this._fireBegin,this._doPause]},{state:this._RS_ERROR}],[{state:this.RS_PAUSE}]);this._shared.targetState=this.RS_PAUSED;this._doStart();}else if(this._shared.playState==this._RS_ORGANIC){delete this._shared.targetState;this._shared.playState=this.RS_STOPPED;}else
{this._firePause(new this._error(this._error.ERR_WRONG_STATE));}},stop:function(fadeoutTime,_auto){if(fadeoutTime){this._fireStop(fadeoutTime,new this._error(this._error.ERR_PARM_NOT_IMPLEMENTED));return;}delete this._shared.targetState;var c=this._shared._currentPlayer;if(!c||(c.getRenderState()===this.RS_STOPPED)){if(this._clearPending()||(this.getRenderState()!==this.RS_STOPPED)){this._shared.renderState=this.RS_STOPPED;this._shared.playState=this.RS_STOPPED;this._fireStop(fadeoutTime);}else
{this._fireStop(fadeoutTime,new this._error(this._error.ERR_WRONG_STATE));}this._doStop(fadeoutTime);return;}if(this._shared.playState==this._RS_ORGANIC){this._shared.playState=this.RS_STOPPED;this._clearPending();this._fireStop();}else
{var r=[{state:[this.RS_STOPPED],action:[this._bind(this,this._logStop,_auto),this._fireStop]},{state:[this.RS_SEEKING,this.RS_PAUSED,this.RS_PLAYING],action:[this._bind(this,this._fireStop,undefined,new this._error(this._error.ERR_UNEXPECTED_STATE_CHANGE)),this._fireStateChange]}];this._addPending(true,r);this._doStop(fadeoutTime);}},next:function(){this._advance(true);},previous:function(){this._advance(true,true);},_advance:function(fire,reverse){var err,oldMo,newMo;var q=this._queue;var E=this._error;var id=q.getCurrent(true);if(typeof id!=="number"){err=new E(E.ERR_NO_CURRENT);}else
{oldMo=q.getCurrent();if(reverse){id=q.getPrevious(id);}else
{id=q.getNext(id);}if(typeof id!=="number"){if(this._shared.repeat){if(reverse){id=q.getLast();}else
{id=q.getFirst();}}else
{err=new E(E.ERR_NO_MORE);}}if(!err){newMo=q.getItem(id);}}if(fire){if(reverse){this._firePrevious(oldMo,newMo,err);}else
{this._fireNext(oldMo,newMo,err);}}if(err){return err;}q.setCurrent(id);},getProgress:function(){return this._shared._currentPlayer?this._shared._currentPlayer.getProgress():0;},setProgressInterval:function(interval){if(this._progressTimer){clearInterval(this._progressTimer);}delete this._progressTimer;if(!interval){return;}var f=this._bind(this,this._fireProgress);this._progressTimer=setInterval(f,interval);},setBufferingProgressInterval:function(interval){if(this._bufferProgressTimer){clearInterval(this._bufferProgressTimer);}delete this._bufferProgressTimer;if(!interval){return;}var f=this._bind(this,this._fireBufferingProgress);this._bufferProgressTimer=setInterval(f,interval);},getSeekCaps:function(){var o={pause:true,stop:true,fastforward:false,fastreverse:false,next:true,previous:true,framestep:false,seek:true,pluginAvailable:false,estimatedTimes:false,errorEvents:true,trueEvents:true,storeLicense:true,instantVolume:true};if(!this._shared.repeat){var q=this._queue;var id=q.getCurrent(true);if(id==q.getFirst()){o.previous=false;}if(id==q.getLast()){o.next=false;}}var p=this._shared._currentPlayer;if(p&&p._getSeekCaps){p._getSeekCaps(o);}return o;},seek:function(toPos){this._shared._currentPlayer.setPosition(toPos);},setCrossfade:function(duration){this._fireEvent("onSetCrossfade",undefined,new this._error(this.ERR_NOT_IMPLEMENTED));},getCrossfade:function(){return new this._error(this.ERR_NOT_IMPLEMENTED);},getRenderState:function(){if(this._shared.targetState){return this._shared.targetState;}if(this._shared.playState==this._RS_ORGANIC){return this.RS_PLAYING;}return this._shared.renderState;},isFullScreen:function(){return new this._error(this.ERR_NOT_IMPLEMENTED);},setFullScreen:function(fullscreen){this._fireEvent("onSetFullScreen",new this._error(this.ERR_NOT_IMPLEMENTED));},getRepeat:function(){return this._shared.repeat;},setRepeat:function(repeat){if(this._shared.repeat==repeat){return;}this._shared.repeat=repeat;this._fireRepeat();},getVolume:function(){return this._shared.volume;},setVolume:function(volume,restart){var s=this._shared;if(!restart&&(volume==s.volume)){return;}s.volume=volume;var p=s._currentPlayer;if(p){p.setVolume(this._getVolume());if(restart){if(p._setVolumeNow){p._setVolumeNow();}}}if(!restart){this._fireEvent("onSetVolume",volume);}},getBalance:function(){return new this._error(this.ERR_NOT_IMPLEMENTED);},setBalance:function(balance){this._fireEvent("onSetBalance",undefined,new this._error(this.ERR_NOT_IMPLEMENTED));},getFade:function(){return new this._error(this.ERR_NOT_IMPLEMENTED);},setFade:function(fade){this._fireEvent("onSetFade",undefined,new this._error(this.ERR_NOT_IMPLEMENTED));},getMute:function(){return this._shared.muted;},setMute:function(mute){this._shared.muted=mute;this._shared._currentPlayer.setVolume(this._getVolume());this._fireEvent("onSetMute",mute);},_callCurrentTechFun:function(fun){var p=this._shared._currentPlayer;if(!p||(this._shared.playState==this.RS_STOPPED)){return new this._error(this._error.ERR_WRONG_STATE);}if(!p[fun]){return new this._error(this.ERR_NOT_IMPLEMENTED);}var aa=[];for(var i=1;i<arguments.length;i++){aa[i-1]=arguments[i];}return p[fun].apply(p,aa);},fastForward:function(speed){return this._callCurrentTechFun("onFastForward",speed);},frameStep:function(forward){return this._callCurrentTechFun("frameStep",forward);},getBufferingCount:function(){return this._callCurrentTechFun("getBufferingCount");},getBufferingProgress:function(){return this._callCurrentTechFun("getBufferingProgress");},getBufferingTime:function(){return this._callCurrentTechFun("getBufferingTime");},setBufferingTime:function(time){var e=this._callCurrentTechFun("setBufferingTime",time);if(!e){e=time;}this._fireEvent("onSetBufferingTime",e);},getFrameRate:function(){return this._callCurrentTechFun("getFrameRate");},getFramesSkipped:function(){return this._callCurrentTechFun("getFramesSkipped");},getLostPackets:function(){return this._callCurrentTechFun("getLostPackets");},getReceptionQuality:function(){return this._callCurrentTechFun("getReceptionQuality");},_setMediaPlayer:function(mo){this._shared._currentPlayer=this._getMediaPlayer(mo);return this._shared._currentPlayer;},_getMediaPlayer:function(mo){var mt=YAHOO.music.MediaEngine.MediaObjectExplorer.getMimeType(mo);var mpt=YAHOO.music.MediaEngine.MediaPlayerTechnology;var b=mpt.SL_IMPOSSIBLE;var bt="QT";for(var name in mpt){var t=mpt[name];if(t&&t.prototype&&t.prototype.getSupportLevel){var l=t.prototype.getSupportLevel(mt);if(l>b){b=l;bt=name;}}}if(b===mpt.SL_IMPOSSIBLE){e=this._error.ERR_NO_PLAYER;e=new this._error(e);e.mediaObject=mo;this._onError(e);return;}var c=this._base;if(bt==="QT"){var url=mo.url;var m=YAHOO.music.MediaEngine.MediaObjectExplorer._mimeTypes;var length=m.length;for(var i=0;i<length;i++){if(url.toLowerCase().indexOf(m[i][0])!=-1){bt="QT";break;}bt="WMP";}}if(!c[bt]){c[bt]=new YAHOO.music.MediaEngine.MediaPlayerTechnology[bt](this);YAHOO.music.WebPlayer.Utils.wrapFuns("MediaTech"+bt,c[bt]);}return c[bt];},_getVersion:function(){if(this._shared._currentPlayer){return this._shared._currentPlayer.getVersion();}}});YAHOO.music.MediaEngine.MediaQueue=function(objs,eventHandler,player){this._orderedList=[];this._orderedList._objectsMap={};this.nsUtils=YAHOO.music.WebPlayer.Utils;this._handlers=[];if(eventHandler){this.attachEventHandler(eventHandler);}this.genUniqueNumber=this._uniqueId();if(player){this._player=player;}this.setCurrent(null);if(objs){this.add(objs);}};YAHOO.music.MediaEngine.MediaQueue.DEFAULT_PROGRESS_CHUNKSIZE=-1;YAHOO.music.MediaEngine.MediaQueue.makeErrorObject=function(errCode,obj){var errObj=new YAHOO.music.MediaEngine.Error(errCode);errObj.mediaObject=obj;return errObj;};YAHOO.music.MediaEngine.MediaQueue.prototype=YAHOO.music.WebPlayer.Utils.object(YAHOO.music.MediaEngine.Events);YAHOO.music.WebPlayer.Utils.enhance(YAHOO.music.MediaEngine.MediaQueue.prototype,{constructor:YAHOO.music.MediaEngine.MediaQueue,progressChunkSize:YAHOO.music.MediaEngine.MediaQueue.DEFAULT_PROGRESS_CHUNKSIZE,_player:null,getController:function(){return this._player?this._player.controller:null;},lock:function(){},unlock:function(){},add:function(obj,insertBefore){var err;if(typeof obj!=="object"&&typeof obj!=="string"){err=YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARM);this._fireEvent("onAdded",[],insertBefore,err);return;}this.lock();var arrAdds=[];if(this.nsUtils.isArray(obj)){var len=obj.length;if(len===0){this._fireEvent("onAdded",[],insertBefore);return;}var chunkSize=0;var chunkMax=this.progressChunkSize>len||this.progressChunkSize===-1?len:this.progressChunkSize;var lastObjectId=insertBefore;var remaining=len;while(remaining>0){var addedObj=this._addObject(obj[len-remaining]);arrAdds.push(addedObj);remaining--;chunkSize++;if(chunkSize===chunkMax){this._fireEvent("onAdded",arrAdds,lastObjectId);lastObjectId=addedObj.id;if(remaining<chunkMax){chunkMax=remaining;}chunkSize=0;if(this._orderedList._current===null){this.setCurrent(arrAdds[0].id);}arrAdds=[];}}}else
{arrAdds.push(this._addObject(obj));this._fireEvent("onAdded",arrAdds,insertBefore);if(this._orderedList._current===null){this.setCurrent(arrAdds[0].id);}}this.unlock();},move:function(ids,insertAfterId){this.lock();var arrMove=[];if(this.nsUtils.isArray(ids)){var lastInsertId=insertAfterId;var len=ids.length;var chunkSize=0;var chunkMax=this.progressChunkSize>len||this.progressChunkSize===-1?len:this.progressChunkSize;var remaining=len;while(remaining>0){var mvObj=this._moveObject(ids[len-remaining],lastInsertId);arrMove.push(mvObj);remaining--;chunkSize++;if(chunkSize===chunkMax){this._fireEvent("onMoved",arrMove,lastInsertId);lastInsertId=mvObj.id;if(remaining<chunkMax){chunkMax=remaining;}chunkSize=0;}}}else
{arrMove.push(this._moveObject(ids,insertAfterId));this._fireEvent("onMoved",arrMove,insertAfterId);}this.unlock();},remove:function(ids){this.lock();var arrDels=[];var oldCurr=this._orderedList._current,curr=oldCurr;var that=this;function singleRemove(id){var o={};var remObj=that._removeObject(id,false,o);if(remObj.id!==null&&id===curr&&o.pos!==undefined&&typeof o.pos==='number'){curr=o.pos<(that._orderedList.length)?that._orderedList[o.pos]:null;}return remObj;}if(this.nsUtils.isArray(ids)){var len=ids.length;var chunkSize=0;var chunkMax=this.progressChunkSize>len||this.progressChunkSize==-1?len:this.progressChunkSize;var remaining=len;while(remaining>0){arrDels.push(singleRemove(ids[len-remaining]));remaining--;chunkSize++;if(chunkSize===chunkMax){this._fireEvent("onRemoved",arrDels);if(remaining<chunkMax){chunkMax=remaining;}chunkSize=0;}}}else
{arrDels.push(singleRemove(ids));this._fireEvent("onRemoved",arrDels);}if(curr!==oldCurr){this.setCurrent(curr);}this.unlock();},clear:function(){this._orderedList.splice(0,this._orderedList.length);this._orderedList._objectsMap={};this.setCurrent(null);this._fireEvent("onCleared");},getCount:function(){return this._orderedList.length;},getPosition:function(id){var pos=this.nsUtils.arrayFind(this._orderedList,id);return pos!==false?pos:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getItem:function(id){var pos=this.nsUtils.arrayFind(this._orderedList,id);return pos!==false?this._orderedList._objectsMap[id]:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getFirst:function(){return this._orderedList.length>0?this._orderedList[0]:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getLast:function(){return this._orderedList.length>0?this._orderedList[this._orderedList.length-1]:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getNext:function(id){var pos=this.nsUtils.arrayFind(this._orderedList,id);return(pos!==false&&this._orderedList.length>(pos+1))?this._orderedList[pos+1]:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getPrevious:function(id){var pos=this.nsUtils.arrayFind(this._orderedList,id);return(pos!==false&&pos>0)?this._orderedList[pos-1]:new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);},getAllMedia:function(){var len=this._orderedList.length;var objs=[],id;for(var i=0;i<len;i++){id=this._orderedList[i];objs.push(this._objectWithId(id,this._orderedList._objectsMap[id]));}return objs;},setCurrent:function(id){var err=null;if(id!==null){if(typeof id!=="number"){err=new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARAM);}else if(this.nsUtils.arrayFind(this._orderedList,id)===false){err=new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);}}if(err!==null){this._fireEvent("onSetCurrent",err,id);}else
{var old=this._orderedList._current;this._orderedList._current=id;this._fireEvent("onSetCurrent",id,old);}},getCurrent:function(bId){return bId?this._orderedList._current:(this._orderedList._current!==null?this._orderedList._objectsMap[this._orderedList._current]:null);},isSameObject:function(id1,id2){return this._orderedList._objectsMap[id1]===this._orderedList._objectsMap[id2];},setChunkSize:function(numSize){if(typeof numSize!=="number"||(numSize<0&&numSize!==-1)){return new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARAM);}var oldSize=this.progressChunkSize;this.progressChunkSize=numSize;return oldSize;},getMetadata:function(id){function onMetaFetched(mo,metaObj,uid){if(typeof metaObj==YAHOO.music.MediaEngine.Error){mo.hasMeta=true;return;}for(var name in metaObj){if(mo.rofields&&mo.rofields.search(name+",")==-1){mo[name]=metaObj[name];}}mo.hasMeta=true;this._fireEvent("onUpdated",uid,mo);}var item=this.getItem(id);if(typeof item==YAHOO.music.MediaEngine.Error){this._fireEvent("onUpdated",null,item);return;}if(item.hasMeta){this._fireEvent("onUpdated",id,item);return;}var callback=this.nsUtils.bind(this,onMetaFetched,undefined,undefined,id);YAHOO.music.MediaEngine.MediaObjectExplorer._getMetadata(item,callback);},_objectWithId:function(id,obj){var idObj={};idObj.id=id;idObj.mediaObject=obj;return idObj;},_addObject:function(obj,insertBeforeId){if((typeof obj!=="object"&&typeof(obj)!=="string")||(insertBeforeId!==undefined&&(insertBeforeId<0||typeof insertBeforeId!=="number"))){return this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARM,obj));}var id=this.genUniqueNumber();if(insertBeforeId===undefined){this._orderedList.push(id);}else
{var insertPos=this.nsUtils.arrayFind(this._orderedList,insertBeforeId);if(insertPos===null){return this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND,obj));}this._orderedList.splice(insertPos,0,id);}if(typeof obj==="string"){var url=obj;obj={};obj[YAHOO.music.MediaEngine.MediaObject.url]=url;}this._orderedList._objectsMap[id]=obj;return this._objectWithId(id,obj);},_removeObject:function(id,bPreserveMap,next){if(typeof id!=="number"){return this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARM,id));}var pos=this.nsUtils.arrayFind(this._orderedList,id);if(pos===false){return this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND,id));}this._orderedList.splice(pos,1);var delObj=this._orderedList._objectsMap[id];if(!bPreserveMap){delete this._orderedList._objectsMap[id];}if(next!==undefined){next.pos=pos;}return this._objectWithId(id,delObj);},_moveObject:function(id,idBefore){if(typeof id!=="number"||typeof idBefore!=="number"){return this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARM,id));}var insertPos;var resObj;if((insertPos=this.nsUtils.arrayFind(this._orderedList,idBefore))!==false){resObj=this._removeObject(id,true);if(resObj.id!==null){this._orderedList.splice(insertPos,0,id);return resObj;}}return resObj!==undefined?resObj:this._objectWithId(null,YAHOO.music.MediaEngine.MediaQueue.makeErrorObject(YAHOO.music.MediaEngine.Error.ERR_INVALID_PARM,id));},_uniqueId:function(){var id=1;return function(){return id++;};}});YAHOO.music.MediaEngine.MediaObject=function(url,metadata,source,callback,timeout){var p=YAHOO.music.MediaEngine;var m=p.MediaObject;this[m.uid]=p.getUniqueId();};YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.MediaObject,{bitRate:"bitRate",duration:"duration",streamDuration:"streamDuration",fileType:"fileType",frameRate:"frameRate",mediaType:"mediaType",mimeType:"mimeType",vbe:"vbe",videoHeight:"videoHeight",videoWidth:"videoWidth",mediaId:"mediaId",mediaIdCatalog:"mediaIdCatalog",url:"url",sourceUrl:"sourceUrl",sources:"sources",uid:"uid",album:"album",albumId:"albumId",albumArtUrl:"albumArtUrl",artist:"artist",artistId:"artistId",copyright:"copyright",discNumber:"discNumber",description:"description",explicit:"explicit",genre:"genre",genreId:"genreId",lyrics:"lyrics",mpaaRating:"mpaaRating",rating:"rating",releaseDate:"releaseDate",title:"title",trackNumber:"trackNumber",playCount:"playCount",userRating:"userRating",lastPlayed:"lastPlayed"});YAHOO.music.MediaEngine.MediaObject.prototype={_error:YAHOO.music.MediaEngine.Error,getPlayableUrl:function(callback,timeout,force){if(this.url){return callback(this.url);}var e=new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NO_URL);e.mediaObject=this;return callback(e);},getDuration:function(callback,timeout,force){var o=this.streamDuration;if(!o){o=new this._error(this._error.ERR_UNKNOWN_DURATION);o.mediaObject=this;}callback(o);},getMetadata:function(field,source,callback,timeout,force){}};YAHOO.namespace("music.MediaEngine");YAHOO.music.MediaEngine.MediaObjectExplorer={_TO_GETMETADATA:10000,_inGetMetadata:false,_metadataQueue:[],getPlayableUrl:function(mo,callback,timeout,force){var E=YAHOO.music.MediaEngine.Error;if(mo&&mo.getPlayableUrl&&(typeof mo.getPlayableUrl=="function")){mo.getPlayableUrl(callback,timeout,force);}else if(mo&&mo.url){callback(mo.url);}else
{var e=new E(E.ERR_NO_URL);e.mediaObject=mo;callback(e);}},_getPlayableUrl:function(controller,mo,callback,timeout,force){var c2=function(url,add){if(add){controller._increaseTimeout(add);}return callback(url);};var add=this.getPlayableUrl(mo,c2,timeout,force);if(add&&(typeof(add)=="number")){controller._increaseTimeout(add);callback._addTimeout+=add;}},getMetadata:function(mo,callback,timeout){if(mo.getMetadata&&(typeof mo.getMetadata=="function")){return mo.getMetadata(callback,timeout);}else
{var p=YAHOO.music.MediaEngine.MediaObjectExplorer._getPlayer();return p.controller.getMetadata(mo,callback,timeout);}},_getMetadata:function(mo,callback,timeout){if(!timeout){timeout=this._TO_GETMETADATA;}var E=YAHOO.music.MediaEngine.Error;if(!mo){callback(mo,new E(E.ERR_INVALID_PARM));return;}var mq=this._metadataQueue;for(var i=0;i<mq.length;i++){if(mq[i].mo==mo){mq.splice(i,1);break;}}mq.unshift({mo:mo,callback:callback,timeout:timeout});this._getNextMetadata();},_getNextMetadata:function(){var c;var moe=YAHOO.music.MediaEngine.MediaObjectExplorer;var E=YAHOO.music.MediaEngine.Error;if(moe._inGetMetadata){return;}var mr=moe._metadataQueue.shift();if(!mr){return;}moe._inGetMetadata=true;var handler={onStop:function(clientId,fadeTime,error){if(error instanceof YAHOO.music.MediaEngine.Error){c(error);}}};c=YAHOO.music.WebPlayer.Utils.bindCallback(moe,moe._getMetadataCallback,mr.timeout,new E(E.ERR_TIMEOUT),handler,mr.callback,mr.mo);var p=YAHOO.music.MediaEngine.MediaObjectExplorer._getPlayer();p.controller.attachEventHandler(handler);c._addTimeout+=moe.getMetadata(mr.mo,c,mr.timeout);},_getMetadataCallback:function(handler,callback,mo,metadata){var p=YAHOO.music.MediaEngine.MediaObjectExplorer._getPlayer();p.controller.detachEventHandler(handler);callback(mo,metadata);this._inGetMetadata=false;setTimeout(this._getNextMetadata,0);},getDuration:function(mo,callback,timeout,force){var E=YAHOO.music.MediaEngine.Error;if(mo&&mo.getDuration&&(typeof mo.getDuration=="function")){mo.getDuration(callback,timeout,force);}else if(mo&&mo.streamDuration){callback(mo.streamDuration);}else
{var e=new E(E.ERR_UNKNOWN_DURATION);e.mediaObject=mo;callback(e);}},_mimeTypes:[[".mp3","audio/mpeg"],[".xspf","application/xspf+xml"]],getMimeType:function(mo){var mt={};if(!mo){return mt;}if(mo.getMimeType&&(typeof mo.getMimeType=="function")){return mo.getMimeType();}if(mo.mimeType){mt.mimeType=mo.mimeType;return mt;}if(!mo.url){return mt;}var m=YAHOO.music.MediaEngine.MediaObjectExplorer._mimeTypes;var length=m.length;var stringToCheck=mo.url;var questionIndex=stringToCheck.indexOf('?');if(questionIndex!==-1){stringToCheck=stringToCheck.substring(0,questionIndex);}var dotIndex=stringToCheck.lastIndexOf(".");var pattern=stringToCheck.substring(dotIndex,stringToCheck.length).toLowerCase();for(var i=0;i<length;i++){if(pattern.indexOf(m[i][0])!==-1){mt.mimeType=m[i][1];}}return mt;},_getPlayer:function(){var moe=YAHOO.music.MediaEngine.MediaObjectExplorer;if(!moe._internalPlayer){moe._internalPlayer=YAHOO.music.MediaEngine.attach(null,null,"_Internal_Player_");}return moe._internalPlayer;},_getTech:function(mo){var p=YAHOO.music.MediaEngine.MediaObjectExplorer._getPlayer();return p.controller._getMediaPlayer(mo);},_releasePlayer:function(){var moe=YAHOO.music.MediaEngine.MediaObjectExplorer;if(moe._internalPlayer){moe._internalPlayer.detach();delete moe._internalPlayer;}},isDrmSupported:function(mo){var tech=YAHOO.music.MediaEngine.MediaObjectExplorer._getTech(mo);return tech.isDrmSupported();},isDrmEnabled:function(mo){var moe=YAHOO.music.MediaEngine.MediaObjectExplorer;if(!moe.isDrmSupported()){return false;}var tech=moe._getTech(mo);return tech.isDrmEnabled();},getPluginUrl:function(mo){var tech=YAHOO.music.MediaEngine.MediaObjectExplorer._getTech(mo);return tech.getPluginUrl();},getSystemInfo:function(mo){var tech=YAHOO.music.MediaEngine.MediaObjectExplorer._getTech(mo);var sysInfo=tech.getSystemInfo();if(sysInfo instanceof YAHOO.music.MediaEngine.Error){YAHOO.music.WebPlayer.Utils.logQos(sysInfo);}return sysInfo;},storeLicense:function(mo,license){var tech=YAHOO.music.MediaEngine.MediaObjectExplorer._getTech(mo);var e=tech.storeLicense(mo,license);if(e instanceof YAHOO.music.MediaEngine.Error){YAHOO.music.WebPlayer.Utils.logQos(e);}return e;},onError:function(error,callback,consecutiveErrors){if(error.errorCode==error.ERR_UNKNOWN_DURATION){error.mediaObject.streamDuration=30;callback(error,true);return false;}callback(error);return false;}};YAHOO.namespace("music.MediaEngine");YAHOO.music.MediaEngine.MediaPlayerTechnology={_error:YAHOO.music.MediaEngine.Error,_bind:YAHOO.music.WebPlayer.Utils.bind,_bindCallback:YAHOO.music.WebPlayer.Utils.bindCallback,_TO_GETURL:10000,SL_IMPOSSIBLE:0,SL_POSSIBLE:1,SL_DEFAULT:2,SL_PROBABLE:3,SL_CRIPPLED:4,SL_INCOMPLETE:5,SL_COMPLETE:6,getSupportLevel:function(mt,ps){if(ps){for(var i=0;i<ps.length;i++){var p=ps[i];{for(var j=0;j<p.length;j++){if(mt.mimeType){if(p[j].type==mt.mimeType){return this.SL_INCOMPLETE;}}else if(mt.extension){var s=","+p[j].suffixes+",";if(s.indexOf(","+mt.extension+",")!=-1){return this.SL_PROBABLE;}}}}}}return this.SL_IMPOSSIBLE;},getMetadata:function(mo,field){return new this._error(this._error.ERR_NOT_IMPLEMENTED);},_getVideoElement:function(){var e=this._controller.getVideoElement();if(!e||(typeof e==="string")){e=document.createElement("span");document.body.appendChild(e);this._controller.setVideoElement(e);}return e;},_getUniqueName:function(prefix){var index=0;do
{var name=prefix+index++;var e=document.getElementById(name);}while(e);return name;},isDrmSupported:function(){return new this._error(this._error.ERR_DRM_UNSUPPORTED);},isDrmEnabled:function(){return this.isDrmSupported();}};YAHOO.namespace("music.MediaEngine.MediaPlayerTechnology");YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP=function(controller){this._controller=controller._base;this._uid=YAHOO.music.MediaEngine.getUniqueId();};YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype=YAHOO.music.WebPlayer.Utils.object(YAHOO.music.MediaEngine.MediaPlayerTechnology);YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype,{PS_UNDEFINED:0,PS_STOPPED:1,PS_PAUSED:2,PS_PLAYING:3,PS_SCANFORWARD:4,PS_SCANREVERSE:5,PS_BUFFERING:6,PS_WAITING:7,PS_MEDIAENDED:8,PS_TRANSITIONING:9,PS_READY:10,PS_RECONNECTING:11,_renderState:YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype.PS_UNDEFINED,start:function(mo,volume){if(!this._player||!this._player.controls){this._createPlayer();}if(!this._player){return this._error.ERR_NO_PLAYER;}this._mo=mo;var cb=this._bindCallback(this,this._start2,this._TO_GETURL,this._error.ERR_TIMEOUT,mo,volume);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(mo,cb,this._TO_GETURL,false);},_start2:function(mo,volume,url){if(mo!==this._mo){return;}if(typeof url=="number"){url=new this._error(url);}if(url instanceof YAHOO.music.MediaEngine.Error){url.mediaObject=mo;return this._controller._shared.onError(url);}this.setVolume(volume);var p=this._player;p.URL=url;try{p.controls.play();}catch(e){}},stop:function(){this._player.controls.stop();},setVolume:function(volume){this._volume=volume;if(this._player){this._player.Settings.volume=volume*100;}},pause:function(){this._player.controls.pause();},resume:function(){this._player.controls.play();},getProgress:function(){return this._player.controls.currentPosition;},getBufferingProgress:function(){if(this._player&&this._player.controls.currentItem){var t=this._player.network.bufferingTime;var p=this._player.network.bufferingProgress;t=t/1000*p/100+this.getProgress();if(t>this.getDuration()){return this.getDuration();}return t;}},getDuration:function(){if(this._player&&this._player.controls.currentItem){return this._player.controls.currentItem.duration;}},seek:function(toPos){this._player.controls.currentPosition=toPos;},getRenderState:function(){return this._mapRenderState(this._player.playState);},getMetadata:function(mo,callback,timeout){if(!this._player){this._createPlayer();}if(!this._player){callback(new this._error(this._error.ERR_NO_PLAYER));return;}var cb=this._bindCallback(this,this._getMetadata2,this._TO_GETURL,this._error.ERR_TIMEOUT,callback,timeout);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(mo,cb,this._TO_GETURL,false);},_getMetadata2:function(callback,timeout,url){if(typeof url=="number"){url=new this._error(url);}if(url instanceof YAHOO.music.MediaEngine.Error){callback(url);return;}var sd=this._bindCallback(this,this._stopAndDetach,timeout,0);var osc=this._bind(this,this._onOpenStateChange,callback,sd);this._attachEventHandlerFunc("OpenStateChange","_onOpenStateChange",osc);var p=this._player;p.URL=url;this.setVolume(0);p.controls.play();},_stopAndDetach:function(){this._player.controls.stop();this._detachEventHandler("OpenStateChange","_onOpenStateChange");this._controller._shared.onRenderStateChange(this._controller._RS_SPECIAL);},_onOpenStateChange:function(callback,sd,newState){if(newState!=13){return;}var m={};var cm=this._player.currentMedia;for(var i=0;i<cm.attributeCount;i++){var name=cm.getAttributeName(i);var value=cm.getItemInfo(name);if(value){m[name]=value;}}callback(m);sd();},_sysInfo:null,_drmAx:null,_fixDrmError:function(e,ff){switch(e.nativeCode){case 0x800a01ad:e.description='You need to enable a required Microsoft Internet Browser Add-On in order to '+'hear full-length tracks. Please allow the Add On to run, above. If you do not '+'see the Add-On bar, or need more information, '+'<a href="http://help.yahoo.com/l/us/yahoo/music/music/error/enable-addon.html">'+'click here</a>.';break;default:e.description='Your digital rights management (DRM) license store may be corrupt.<br/><br/>'+'<a href="http://help.yahoo.com/l/us/yahoo/music/music/error/drm-error.html">'+'Click here</a> for instructions to repair.';break;}},getSystemInfo:function(){var e=this.isDrmEnabled();if(e instanceof this._error){return e;}if(!this._sysInfo){try
{if(!this._drmAx){this._drmAx=new ActiveXObject("DRM.GetLicense");}this._sysInfo='<?xml version="1.0" encoding="utf-8"?><DrmSystemInfo>';this._sysInfo+=this._drmAx.GetSystemInfo();this._sysInfo+='</DrmSystemInfo>';}catch(e){var err=new this._error(this._error.ERR_NATIVE_ERROR);err.setNativeError("DRM.GetLicense",e.number,e);this._fixDrmError(err);return err;}}return this._sysInfo;},isDrmSupported:function(){return true;},isDrmEnabled:function(){try
{if(!this._drmAx){this._drmAx=new ActiveXObject("DRM.GetLicense");}}catch(e){var err=new this._error(this._error.ERR_NATIVE_ERROR);err.setNativeError("DRM.GetLicense",e.number,e);this._fixDrmError(err);return err;}if(this._drmAx){return true;}return new this._error(this._error.ERR_NEED_PLUGIN);},getPluginUrl:function(){var e=this.isDrmEnabled();if(e instanceof this._error){return e.infoUrl;}},storeLicense:function(mo,license){try
{if(!this._drmAx){this._drmAx=new ActiveXObject("DRM.GetLicense");}this._drmAx.StoreLicense(this._decode(license));}catch(e){var err=new this._error(this._error.ERR_NATIVE_ERROR);err.setNativeError("DRM.GetLicense",e.number,e);err.mediaObject=mo;return err;}},getSupportLevel:function(mt){if(navigator.platform.indexOf("Mac")!=-1){return this.SL_IMPOSSIBLE;}switch(mt.mimeType){case"audio/x-ms-wma":case"audio/mp4":case"audio/wav":case"audio/x-wav":case"video/x-ms-asf":return this.SL_COMPLETE;case"audio/mpeg":case"audio/x-mpeg":case"audio/mp3":case"audio/x-mp3":case"audio/midi":case"audio/mid":var u=navigator.userAgent.toLowerCase();var av=navigator.appVersion.toLowerCase();var ie=u?/msie/.test(u):/msie/.test(av);if(ie){return this.SL_INCOMPLETE;}else
{return this.SL_POSSIBLE;}default:return this.SL_DEFAULT;}},getVersion:function(){if(!this._version){if(!this._player){this._player=this._createPlayer();}if(!this._player){this._version="No WMP";}}return this._version;},_decode:function(str){var retVal;if(str){retVal=str.toString();retVal=retVal.replace(/\&gt\;/g,">");retVal=retVal.replace(/\&lt\;/g,"<");retVal=retVal.replace(/\&apos\;/g,"'");retVal=retVal.replace(/\&quot\;/g,'"');retVal=retVal.replace(/\&amp\;/g,"&");}return retVal;},_onBuffering:function(start){if(start){this._renderState=this.RS_WAITING;}},_onError:function(){if(!this._player.error.errorCount){return;}var e=this._player.error.Item(0);this._player.URL="";if(!e){e=new this._error(this._error.ERR_NATIVE_ERROR);e.description="Unknown error.";e.mediaObject=this._mo;e.nativeCode=0;return this._controller._shared.onError(e);}this._handleError(e.errorCode,e.errorDescription);this._player.error.clearErrorQueue();},_handleError:function(errorCode,errorDescription){var e=new this._error(this._error.ERR_NATIVE_ERROR);e.setNativeError("WMP",errorCode);e.description=errorDescription;e.mediaObject=this._mo;switch(e.nativeCode){case 0xC00D1197:e.errorCode=e.ERR_NOT_FOUND;break;case 0x80041002:e.errorCode=e.ERR_NEED_LICENSE;break;case 0xc00d11b3:e.description="We're sorry, the server appears to be busy. Please try again in a few minutes.";if(!this._mo.retry&&(this._mo.retry!==0)){this._mo.retry=3;}break;case 0xc00d11ba:e.description="Your sound card appears to be malfunctioning or in use by another program. <br/><br/><a href='http://help.yahoo.com/l/us/yahoo/music/music/error/stream-soundcard.html'>Click here</a> to troubleshoot.";break;case 0xc00d10b5:e.description="You seem to have lost your connection to the Internet.  Please reconnect and try again.";break;case 0xc00d10b3:e.description="Your Internet connection is blocked.  This could be caused by your computer's firewall or Windows Media Player may be set to work offline. <br/><br/><a href='http://help.yahoo.com/l/us/yahoo/music/music/error/stream-firewall.html'>Click here</a> to troubleshoot.";break;case 0xc00d11cd:e.description="Playback cannot begin.  This may be caused by another application.  Please close any other open applications and try again.";break;case 0x8007000d:e.description="We're sorry, an error occurred with this track. Please try another, or try this one later. We have logged the problem for resolution.";break;case 0xc00d0035:e.description="Your proxy server is not named correctly in Windows Media Player. <br/><br/><a href='http://help.yahoo.com/l/us/yahoo/music/music/error/stream-proxy.html'>Click here</a> to troubleshoot.";break;}this._controller._shared.onError(e);},_onMediaError:function(mediaObject){this._onError();},_mapRenderState:function(renderState){var c=this._controller;switch(renderState){case this.PS_PLAYING:return c.RS_PLAYING;case this.PS_PAUSED:return c.RS_PAUSED;case this.PS_STOPPED:case this.PS_MEDIAENDED:case this.PS_READY:return c.RS_STOPPED;case this.PS_SCANFORWARD:case this.PS_SCANREVERSE:return c.RS_SEEKING;case this.PS_BUFFERING:case this.PS_WAITING:case this.PS_RECONNECTING:return c.RS_WAITING;case this.PS_TRANSITIONING:return c.RS_TRANSITIONING;}return c.RS_OTHER;},_onPlayStateChange:function(newState){this._renderState=newState;this._controller._shared.onRenderStateChange(this._mapRenderState(newState));},_onPositionChange:function(oldPosition,newPosition){this._controller._shared.onSeek(oldPosition,newPosition);},_createPlayer:function(){var added=false;var e=this._controller.getVideoElement();if(!e||(typeof e==="string")){e=document.createElement("div");document.body.appendChild(e);added=true;this._controller.setVideoElement(e);}var name=this._getUniqueName("wmp");var html="<object id='"+name+"' style='width:1px; height:1px; position:absolute; top:0; left:-30px; display:none;'"+"classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 "+"type='application/x-oleobject'>"+"<param name='autostart' value='false'>"+"</object>";e.innerHTML=html;this._player=document.getElementById(name);if(!this._player.controls){this._player=undefined;try
{e.removeChild(e.childNodes[0]);}catch(er){}this._initForFirefox();return true;}this._player.Settings.enableErrorDialogs=false;this._version="WMP "+this._player.versionInfo+" (IE)";if(added){document.body.removeChild(e);}this._attachEventHandler("Buffering","_onBuffering");this._attachEventHandler("Error","_onError");this._attachEventHandler("MediaError","_onMediaError");this._attachEventHandler("PlayStateChange","_onPlayStateChange");this._attachEventHandler("PositionChange","_onPositionChange");},_attachEventHandler:function(wmpHandler,myHandler){var func=YAHOO.music.WebPlayer.Utils.bind(this,this[myHandler]);return this._attachEventHandlerFunc(wmpHandler,myHandler,func);},_attachEventHandlerFunc:function(wmpHandler,myHandler,func){var wmp=YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP;var funcName=myHandler+this._uid;wmp[funcName]=func;wmp._player=this._player;var wmpName="YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP";var s="function "+wmpName+"._player::"+wmpHandler+"() ";s+="{ "+wmpName+"."+funcName+".apply(null, arguments); }";eval(s);delete wmp._player;},_detachEventHandler:function(wmpHandler,myHandler){var wmp=YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP;var funcName=myHandler+this._uid;delete wmp[funcName];wmp._player=this._player;var wmpName="YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP";var s="function "+wmpName+"._player::"+wmpHandler+"() { }";eval(s);delete wmp._player;}});YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype,{_ffPosition:0,_ffTimeout:undefined,_ffPlugins:undefined,_ffInterval:undefined,originalContentDoc:null,_initForFirefox:function(){var p=YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype;if(navigator.plugins["Yahoo Music Plugin for Mozilla"]){p.start=p._ffYpStart;p.stop=p._ffYpStop;p.setVolume=p._ffYpSetVolume;p.pause=p._ffYpPause;p.resume=p._ffYpResume;p.getProgress=p._ffYpGetProgress;p.getDuration=p._ffYpGetDuration;p.seek=p._ffYpSeek;p.getRenderState=p._ffYpGetRenderState;p.getSystemInfo=p._ffYpGetSystemInfo;p.storeLicense=p._ffYpStoreLicense;p.isDrmSupported=p._ffYpIsDrmSupported;p.getPluginUrl=p._doNothing;p._createPlayer=p._ffYpCreatePlayer;p.getSupportLevel=p._ffYpGetSupportLevel;p.getBufferingProgress=p._ffYpGetBufferingProgress;}else
{p.start=p._ffStart;p.stop=p._ffStop;p.setVolume=p._ffSetVolume;p.pause=p._ffPause;p.resume=p._ffResume;p.getProgress=p._ffGetProgress;p.getDuration=p._ffGetDuration;p.seek=p._ffSeek;p.getRenderState=p._ffGetRenderState;p.getSystemInfo=p._ffNeedPluginError;p.storeLicense=p._ffNeedPluginError;p.isDrmSupported=p._ffNeedPluginError;p.getPluginUrl=p._ffGetPluginUrl;p._getSeekCaps=p._ffGetSeekCaps;p._createPlayer=p._ffCreatePlayer;p._setVolumeNow=p._ffSetVolumeNow;p.getSupportLevel=p._ffGetSupportLevel;p.getBufferingProgress=p._ffNeedPluginError;}},_ffYpStart:function(mo,volume){if(!this._player||(this._player.type!=='application/x-mplayer2'&&this._player.type!=='application/yahoomusic-plugin')){this._createPlayer();}var p=this._player;if(!this._player){return this._error.ERR_NO_PLAYER;}this._mo=mo;var cb=this._bindCallback(this,this._ffYpStart2,this._TO_GETURL,this._error.ERR_TIMEOUT,mo,volume);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(mo,cb,this._TO_GETURL,false);},_ffYpStart2:function(mo,volume,url){if(mo!==this._mo){return;}if(url instanceof YAHOO.music.MediaEngine.Error){return this._controller._shared.onError(url);}if(typeof url=="number"){return this._ffFireError(url);}this.setVolume(volume);var f=YAHOO.music.WebPlayer.Utils.bind(this,this._ffYpCheckRenderState);if(this._ffTimeout){clearInterval(this._ffTimeout);}this._ffTimeout=setInterval(f,100);this._player.start(url);},_ffStart:function(mo,volume,seekPos){this.setVolume(volume);this._ffPosition=0;this._mo=mo;this._ffDoStart();},_ffFireError:function(e){var error=new this._error(e);error.mediaObject=this._mo;this._controller._shared.onError(error);},_ffDoStart:function(){var cb=this._bindCallback(this,this._ffDoStart2,this._TO_GETURL,this._error.ERR_TIMEOUT,this._mo);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(this._mo,cb,this._TO_GETURL,false);},_ffDoStart2:function(mo,url,duration){if(this._mo!=mo){return;}if(url instanceof YAHOO.music.MediaEngine.Error){return this._controller._shared.onError(url);}if(typeof url=="number"){return this._ffFireError(url);}this._createPlayer(url);if(!this._player){return this._ffFireError(this._error.ERR_NO_PLAYER);}this._ffDur=0;this._ffDoSetRenderState(this._controller.RS_WAITING);var f=YAHOO.music.WebPlayer.Utils.bind(this,this._ffOnEow);if(this._ffTimeout){clearTimeout(this._ffTimeout);}this._ffTimeout=setTimeout(f,500);var e=this._controller.getVideoElement();e.style.display="block";},_ffOnEow:function(){this._ffTimeout=undefined;this._ffStartedAt=new Date().getTime();this._ffDoSetRenderState(this._controller.RS_PLAYING);var f=YAHOO.music.WebPlayer.Utils.bind(this,this._ffOnEot);if(this._player!=null){this.originalContentDoc=this._player.contentDocument;this._ffInterval=setInterval(f,300);}},_ffOnEot:function(){if(this.originalContentDoc!==this._player.contentDocument){this.stop();}},_ffDoSetRenderState:function(rs){this._renderState=rs;this._controller._shared.onRenderStateChange(rs);},_ffYpStop:function(){if(this._player){this._player.stop();}this._player=undefined;this._renderState=this._controller.RS_STOPPED;if(this._ffTimeout){clearInterval(this._ffTimeout);this._ffTimeout=undefined;}this._ffDoSetRenderState(this._renderState);},_ffStop:function(){this._ffDoStop();this._ffDoSetRenderState(this._controller.RS_STOPPED);},_ffDoStop:function(){if(this._ffTimeout){clearTimeout(this._ffTimeout);this._ffTimeout=undefined;}if(this._ffInterval){clearInterval(this._ffInterval);this._ffInterval=undefined;}var e=this._controller.getVideoElement();try
{e.removeChild(e.childNodes[0]);}catch(er){}this._player=undefined;},_ffYpSetVolume:function(volume){this._volume=volume;if(this._player){this._player.setVolume(volume*100);}},_ffSetVolume:function(volume){this._volume=volume;},_ffYpPause:function(){this._player.pause();},_ffPause:function(){this._ffPosition=this.getProgress();this._ffDoStop();this._ffDoSetRenderState(this._controller.RS_PAUSED);},_ffYpResume:function(){this._player.resume();},_ffResume:function(){this._ffDoStart();},_ffYpGetProgress:function(){if(this._player){return this._player.getProgress();}},_ffGetProgress:function(){if(this._renderState==this._controller.RS_WAITING){return this._ffPosition;}var d=new Date();return this._ffPosition+((d.getTime()-this._ffStartedAt)/1000);},_ffYpGetDuration:function(){if(this._player){return this._player.getDuration();}},_ffGetDuration:function(){return this._ffDur;},_ffYpSeek:function(toPos){this._player.seek(toPos);},_ffSeek:function(toPos){var old=this.getProgress();this._ffDoStop();this._ffPosition=toPos;this._ffDoStart();this._controller._shared.onSeek(old,toPos);},_ffYpCheckErrors:function(){var p=this._player;if(!p){return;}var c=0,i=0;while(!p.clearErrors(c)){c=p.getErrorCount();for(;i<c;i++){this._handleError(p.getErrorCode(i),p.getErrorDescription(i));}}},_ffYpCheckRenderState:function(){this._ffYpCheckErrors();var rs=this._ffYpGetRenderState();if(rs!=this._renderState){this._renderState=rs;this._controller._shared.onRenderStateChange(rs);}},_ffYpGetRenderState:function(){if(this._player&&this._player.getRenderState){return this._mapRenderState(this._player.getRenderState());}return this._controller.RS_STOPPED;},_ffYpGetSystemInfo:function(){if(!this._player){this._ffYpCreatePlayer();}if(!this._sysInfo){this._sysInfo='<?xml version="1.0" encoding="utf-8"?><DrmSystemInfo>';this._sysInfo+=this._player.getSystemInfo();this._sysInfo+='</DrmSystemInfo>';}return this._sysInfo;},_ffYpStoreLicense:function(mo,license){if(!this._player){this._ffYpCreatePlayer();}var p=this._player;var h=p.storeLicense(this._decode(license));if(h){var err=new this._error(this._error.ERR_NATIVE_ERROR);err.setNativeError("Yahoo Music Plugin for Mozilla",h);err.mediaObject=mo;this._fixDrmError(err,true);return err;}},_ffYpGetSupportLevel:function(mt){if(navigator.platform.indexOf("Mac")!=-1){return this.SL_IMPOSSIBLE;}var support=YAHOO.music.MediaEngine.MediaPlayerTechnology.getSupportLevel(mt,this._ffGetPlugins());if(support==this.SL_IMPOSSIBLE){return this.SL_DEFAULT;}return support;},_ffGetSupportLevel:function(mt){if(navigator.platform.indexOf("Mac")!=-1){return this.SL_IMPOSSIBLE;}var support=YAHOO.music.MediaEngine.MediaPlayerTechnology.getSupportLevel(mt,this._ffGetPlugins());if(support==this.SL_IMPOSSIBLE){return this.SL_DEFAULT;}if(support==this.SL_INCOMPLETE){return this.SL_CRIPPLED;}return support;},_doNothing:function(){},_ffYpIsDrmSupported:function(){return true;},_ffNeedPluginError:function(){var e=new this._error(this._error.ERR_NEED_PLUGIN);e.infoUrl=this.getPluginUrl();return e;},_ffGetPluginUrl:function(){return"http://yme.music.yahoo.com/drmplugin/ymusic.xpi";},_ffGetSeekCaps:function(sc){sc.pluginAvailable=true;sc.estimatedTimes=true;sc.errorEvents=false;sc.trueEvents=false;sc.storeLicense=false;sc.instantVolume=false;sc.fastforward=false;sc.fastreverse=false;sc.framestep=false;},_ffGetRenderState:function(){return this._renderState;},_ffSetVolumeNow:function(){this._ffPosition=this.getProgress();this._ffDoStop();this._ffDoStart();},_ffGetPlugins:function(){if(this._ffPlugins!==undefined){return this._ffPlugins;}if(navigator.plugins.length){this._ffPlugins=[];for(var i=0;i<navigator.plugins.length;i++){if(navigator.plugins[i].name.indexOf("Windows Media Player")>=0){this._ffPlugins.push(navigator.plugins[i]);}}}return this._plugins;},_ffCreatePlayer:function(url){var e=this._getVideoElement();var name=this._getUniqueName("wmp");var v=this._volume;v=v?(Math.log(v)*1000):-10000;var html='<iframe id="'+name+'" src="http://mediaplayer.yahoo.com/services/wmpff.php?url='+encodeURIComponent(url)+'&pos='+this._ffPosition+'" border="0" style="position:absolute; top:0; right:0; width:1px; height:1px; visibility:hidden;"></iframe>';e.innerHTML=html;this._player=document.getElementById(name);this._version="WMP (FF)";},_ffYpCreatePlayer:function(){var e=this._getVideoElement();e.style.display="block";var name=this._getUniqueName("wmp");var html="<embed id='"+name+"' type='application/yahoomusic-plugin' width=0 height=0>";e.innerHTML=html;this._player=document.getElementById(name);if(this._player&&this._player.getPluginVersion&&this._player.getMediaPlayerVersion){this._version="WMP "+this._player.getMediaPlayerVersion()+" (FF, plugin "+this._player.getPluginVersion()+")";}else
{this._version="WMP (FF Enhanced)";}}});if(!window.ActiveXObject){YAHOO.music.MediaEngine.MediaPlayerTechnology.WMP.prototype._initForFirefox();}YAHOO.namespace("music.MediaEngine.MediaPlayerTechnology");YAHOO.music.MediaEngine.MediaPlayerTechnology.QT=function(controller){this._controller=controller._base||controller;this._uid=YAHOO.music.MediaEngine.getUniqueId();};YAHOO.music.MediaEngine.MediaPlayerTechnology.QT.prototype=YAHOO.music.WebPlayer.Utils.object(YAHOO.music.MediaEngine.MediaPlayerTechnology);YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.MediaPlayerTechnology.QT.prototype,{_volume:255,_stopped:true,_plugins:undefined,_fireError:function(errorCode,errorDescription){if(this._player){try{this._player.SetURL("");this._player.Stop();}catch(e){e=null;}}this._stopped=true;this._renderState=this._controller.RS_STOPPED;if(this._timeout){clearInterval(this._timeout);this._timeout=undefined;}this._controller._shared.onRenderStateChange(this._renderState);var e=new this._error(errorCode);e.mediaObject=this._mo;e.description=errorDescription;this._controller._shared.onError(e);},start:function(mo,volume){if(!this._player||!this._player.SetURL){this._createPlayer();}if(!this._player){return this._error.ERR_NO_PLAYER;}this._mo=mo;if(!this._isFormatSupported(mo)){return this._fireError(YAHOO.music.MediaEngine.Error.ERR_NEED_PLUGIN,"You can enjoy :30 clips from Yahoo! Music Unlimited, but you'll need the Flip4Mac plugin. <a href='http://www.flip4mac.com/wmv_download.htm' target='_blank'>Click here</a> to download, then restart your browser after installing.");}var cb=this._bindCallback(this,this._start2,this._TO_GETURL,this._error.ERR_TIMEOUT,mo,volume);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(mo,cb,this._TO_GETURL,false);},_start2:function(mo,volume,url){if(mo!==this._mo){return;}if(url instanceof YAHOO.music.MediaEngine.Error){return this._controller._shared.onError(url);}if(typeof url=="number"){return this._fireError(url);}this.setVolume(volume);var f=YAHOO.music.WebPlayer.Utils.bind(this,this._checkRenderState);if(this._timeout){clearInterval(this._timeout);}this._timeout=setInterval(f,100);this._stopped=false;try{this._player.SetURL(encodeURI(decodeURI(url)));this._player.Play();}catch(e){this._fireError(YAHOO.music.MediaEngine.Error.ERR_UNKNOWN_STOPPING);}},stop:function(){try{this._player.SetURL("");this._player.Stop();}catch(e){e=null;}this._stopped=true;this._renderState=this._controller.RS_STOPPED;if(this._timeout){clearInterval(this._timeout);this._timeout=undefined;}this._controller._shared.onRenderStateChange(this._renderState);},setVolume:function(volume){try{if(!isNaN(volume)){this._volume=parseInt(volume*255,10);}}catch(e){e=null;}},pause:function(){try{this._player.Stop();}catch(e){e=null;}this._renderState=this._controller.RS_PAUSED;this._controller._shared.onRenderStateChange(this._renderState);},resume:function(){try{this._player.Play();}catch(e){e=null;}this._renderState=this._controller.RS_PLAYING;this._controller._shared.onRenderStateChange(this._renderState);},getProgress:function(){var progress=0;try{progress=this._player.GetTime()/this._player.GetTimeScale();}catch(e){return 0;}return isNaN(progress)?0:progress;},getDuration:function(){var duration=0;try{duration=this._player.GetDuration()/this._player.GetTimeScale();}catch(e){return 0;}return isNaN(duration)?0:duration;},seek:function(toPos){try{this._player.SetTime(toPos);}catch(e){e=null;}},getVersion:function(){if(!this._version){if(!this._player){this._player=this._createPlayer();}if(!this._player){this._version="No QT";}}return this._version;},getSystemInfo:function(){var e=this.isDrmEnabled();if(e instanceof this._error){return e;}return e;},getPluginUrl:function(){return"http://www.flip4mac.com/wmv_download.htm";},_checkRenderState:function(){var rs=this.getRenderState();if(rs!=this._renderState){this._renderState=rs;this._controller._shared.onRenderStateChange(rs);}},getRenderState:function(){if(!this._stopped&&this._player){try
{var s=this._player.GetPluginStatus();if((s==null)||(s=="Waiting")||(s=="Loading")||(s.indexOf("Complete, Buffering")!=-1)){return this._controller.RS_WAITING;}if(s.indexOf("Error")>-1){this.stop();if(s.indexOf("404")>-1){this._fireError(YAHOO.music.MediaEngine.Error.ERR_NOT_FOUND);}else
{this._fireError(YAHOO.music.MediaEngine.Error.ERR_UNKNOWN_STOPPING);}return this._controller.RS_STOPPED;}if((s=="Playable")||(s=="Complete")){var r=this._player.GetRate();if(r===0){if(this.getProgress()==this.getDuration()){this.stop();return this._controller.RS_STOPPED;}else if(this.getProgress()==0){return this._controller.RS_WAITING;}return this._controller.RS_PAUSED;}if(this._player.GetVolume()!=this._volume){this._player.SetVolume(this._volume);}return this._controller.RS_PLAYING;}}catch(e){}}},getBufferingProgress:function(){return 0;},_getPlugins:function(){if(this._plugins!==undefined){return this._plugins;}this._plugins=[];if(navigator.plugins.length){for(var i=0;i<navigator.plugins.length;i++){if(navigator.plugins[i].name.indexOf("QuickTime")>=0){this._plugins.push(navigator.plugins[i]);}}}return this._plugins;},_createPlayer:function(url){var e=this._getVideoElement();var name=this._getUniqueName("qt");var html;var embed=this._getPlugins().length>0;if(embed){html="<embed width='1px' height='1px' "+"id='"+name+"' "+"name='"+name+"' "+"type='video/quicktime' "+"src='"+url+"' "+"pluginspage='http://www.apple.com/quicktime/download/' "+"enablejavascript='true' "+"controller='false' "+"style='position:fixed; top:0; right:0;' "+"autoplay='true' "+"/>";}else
{html="<object width='1px' height='1px'"+"id = '"+name+"' "+"classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'"+"codebase='http://www.apple.com/qtactivex/qtplugin.cab '"+">"+"<param name='src' value='"+url+"'></param>"+"<param name='controller' value='False'></param>"+"<param name='EnableJavaScript' value='True'></param>"+"</object>";}e.innerHTML=html;this._player=document.getElementById(name);this._version="QT "+this._player.GetQuickTimeVersion();},getSupportLevel:function(mt){if(navigator.platform.indexOf("Mac")!=-1&&mt&&mt.mimeType=='audio/x-ms-wma'){return((navigator.mimeTypes[mt.mimeType]!=null)?this.SL_INCOMPLETE:this.SL_POSSIBLE);}if(navigator.plugins.length){return YAHOO.music.MediaEngine.MediaPlayerTechnology.getSupportLevel(mt,this._getPlugins());}switch(mt.mimeType){case"audio/aac":case"audio/x-aac":case"audio/mp4":case"audio/x-aiff":case"audio/x-wav":case"audio/wav":return this.SL_POSSIBLE;case"audio/mpeg":case"audio/x-mpeg":case"audio/mp3":case"audio/x-mp3":case"audio/midi":case"audio/mid":var u=navigator.userAgent.toLowerCase();var av=navigator.appVersion.toLowerCase();var ie=u?/msie/.test(u):/msie/.test(av);if(ie){return this.SL_POSSIBLE;}else
{return this.SL_INCOMPLETE;}}return this.SL_POSSIBLE;},_isFormatSupported:function(mediaObject){var mimeType=YAHOO.music.MediaEngine.MediaObjectExplorer.getMimeType(mediaObject);return(this.getSupportLevel(mimeType)>this.SL_POSSIBLE);}});YAHOO.namespace("music.MediaEngine.MediaPlayerTechnology");YAHOO.music.MediaEngine.MediaPlayerTechnology.Flash=function(controller){this._controller=controller._base||controller;this._uid=YAHOO.music.MediaEngine.getUniqueId();};YAHOO.music.MediaEngine.MediaPlayerTechnology.Flash.prototype=YAHOO.music.WebPlayer.Utils.object(YAHOO.music.MediaEngine.MediaPlayerTechnology);YAHOO.music.WebPlayer.Utils.enhance
(YAHOO.music.MediaEngine.MediaPlayerTechnology.Flash.prototype,{_volume:255,_url:"",_plugins:undefined,_loaded:false,_playerName:"",seekPos:-1,start:function(mo,volume,seekPos){if(seekPos==null){seekPos=-1;}this.seekPos=seekPos;if(!this.getPlayer()||!this.getPlayer().flSetURL){this._createPlayer();}if(!this.getPlayer()){return this._error.ERR_NO_PLAYER;}this._mo=mo;var cb=this._bindCallback(this,this._start2,this._TO_GETURL,this._error.ERR_TIMEOUT,mo,volume);YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl(mo,cb,this._TO_GETURL,false);},_start2:function(mo,volume,url){if(mo!==this._mo){return;}if(typeof url=="number"){url=new this._error(url);}if(url instanceof YAHOO.music.MediaEngine.Error){url.mediaObject=mo;return this._controller._shared.onError(url);}this._url=url;this._volume=volume;if(this._loaded){this.stop();this.getPlayer().flSetURL(this._url);this.setVolume(this._volume);this.getPlayer().flPlay(this.seekPos);}},onLoad:function(){this.getPlayer().flAddListener('PlayStateChange','onPlayStateChange');this.getPlayer().flAddListener('Error','onError');if(this._url!=""){this.getPlayer().flSetURL(this._url);this.setVolume(this._volume);this.getPlayer().flPlay(this.seekPos);}this._loaded=true;},onPlayStateChange:function(newState){this._controller._shared.onRenderStateChange(newState);},onError:function(errorDesc){var e=new this._error(this._error.ERR_NATIVE_ERROR);e.description=errorDesc;e.mediaObject=this._mo;e.nativeCode=0;return this._controller._shared.onError(e);},setVolume:function(volume){this._volume=volume;if(this.getPlayer()){this.getPlayer().flSetVolume(volume);}},stop:function(){if(this._controller._shared.renderState!=this._controller.RS_STOPPED){this.getPlayer().flStop();this._controller._shared.onRenderStateChange(this._controller.RS_STOPPED);}},pause:function(){this.getPlayer().flPause();},resume:function(){this.getPlayer().flPlay();},getProgress:function(){var progress=0;try
{progress=this.getPlayer().flGetElapsed()/1000;}catch(e){return 0;}return isNaN(progress)?0:progress;},getDuration:function(){var duration=0;try
{duration=this.getPlayer().flGetDuration()/1000;}catch(e){return 0;}return isNaN(duration)?0:duration;},seek:function(toPos){try
{}catch(e){e=null;}},getVersion:function(){if(!this._version){if(!this.getPlayer()){this._createPlayer();}if(!this.getPlayer()){this._version="No Flash";}}return this._version;},getSystemInfo:function(){var e=this.isDrmEnabled();if(e instanceof this._error){return e;}return e;},getPluginUrl:function(){return"http://www.adobe.com/go/getflashplayer";},getRenderState:function(){return this._controller._shared.renderState;},_createPlayer:function(){this._loaded=false;this._playerName=this._getUniqueName("flash");var dummyDiv=document.createElement('span');dummyDiv.id="dummy"+this._playerName;document.body.appendChild(dummyDiv);YAHOO.music.WebPlayer.Utils.swfobject.embedSWF("http://l.yimg.com/us.yimg.com/i/us/mus/swf/ymwp/flashsound-1.5.31.swf",dummyDiv.id,"1","1","9.0.0",false,{},{allowscriptaccess:"always",allownetworking:"all"},{id:this._playerName,name:this._playerName,style:"position:absolute; top:0; left:-30px;"});var flashVersion=YAHOO.music.WebPlayer.Utils.swfobject.getFlashPlayerVersion();this._version="Flash "+flashVersion.major+"."+flashVersion.minor+"."+flashVersion.release;},getPlayer:function(){if(this._playerName==null||this._playerName==""){return null;}this._player=YAHOO.music.WebPlayer.Utils.swfobject.getPlayer(this._playerName);return this._player;},getSupportLevel:function(mt){if(YAHOO.music.WebPlayer.Utils.swfobject.hasFlashPlayerVersion('9.0.0')){switch(mt.mimeType){case"audio/mpeg":case"audio/x-mpeg":case"audio/mp3":case"audio/x-mp3":return this.SL_COMPLETE;}}return this.SL_IMPOSSIBLE;}});YAHOO.namespace("music.WebPlayer.Utils");YAHOO.music.WebPlayer.Utils.YMUTRACKEXPR=/http(\:|%3A)\/\/([^:\/\s]+\.yahoo\.com)(\/\w+)*\/(track)\/(\d+$)$/;YAHOO.music.WebPlayer.Utils.STRIPULT=/[\w\W]+(http(\:|%3A)\/\/[\w\W]+)$/;YAHOO.music.WebPlayer.Utils.YMUPLAYLISTEXPR=/^http\:\/\/([^:\/\s]+\.yahoo\.com)(\/\w+)*\/(playlist)\/([A-Z|0-9][A-Z|0-9|-]+[A-Z|0-9]+$)$/;YAHOO.music.WebPlayer.Utils.YMUPLAYLISTEXPR2=/^http\:\/\/([^:\/\s]+\.yahoo\.com)(\/\w+)*\/(playlist)\/[\?guid=]*([A-Z|0-9][A-Z|0-9|-]+[A-Z|0-9]+$)$/;YAHOO.music.WebPlayer.Utils.YMUXSPF1=/(http(\:|%3A)\/\/([^:\/\s]+\.yahoo\.com)(\/\w+)*(\/playlist)*\/([A-Z|0-9][A-Z|0-9|-]+[A-Z|0-9]+)\.xspf)/;YAHOO.music.WebPlayer.Utils.YMUXSPF2=/(\/[\w|\W]+)*(\/playlist)*\/([A-Z|0-9][A-Z|0-9|-]+[A-Z|0-9]+)\.xspf/;YAHOO.music.WebPlayer.Utils.XSPF=/^http\:\/\/[^:\/\s]+.com(\/[\w|\W]+)+\.xspf/;YAHOO.music.WebPlayer.Utils.RELPATHXSPF=/(\/[\w|\W]+)+\.xspf/;YAHOO.music.WebPlayer.Utils.YAHOODOMAIN=/^http\:\/\/([^:\/\s]+\.yahoo\.com)/;YAHOO.music.WebPlayer.Utils.YMUENTITY=/^http\:\/\/([^:\/\s]+\.yahoo\.com)[\/\w+]*\/((\w+)\/([\w|-]+$))$/;YAHOO.music.WebPlayer.Utils.YMUTRACKURLBASE="http://music.yahoo.com/track/";YAHOO.music.WebPlayer.Utils.YMUTRACKTYPE="track";YAHOO.music.WebPlayer.Utils.YMUPLAYLISTTYPE="playlist";YAHOO.music.WebPlayer.Utils.YMUALBUMTYPE="album";YAHOO.music.WebPlayer.Utils.XSPFTYPE="xspf";YAHOO.music.WebPlayer.Utils.XSPFMIMETYPE="application/xspf+xml";YAHOO.music.WebPlayer.Utils.XSPFPLAYTHISPAGEMIMETYPE="application/xspf+playthispage";YAHOO.music.WebPlayer.Utils.isYMUTrack=function(url){if(url&&typeof url==="string"){return YAHOO.music.WebPlayer.Utils.YMUTRACKEXPR.test(url);}};YAHOO.music.WebPlayer.Utils.isYMUMedia=function(url){return YAHOO.music.WebPlayer.Utils.YMUENTITY.test(url);};YAHOO.music.WebPlayer.Utils.evalMedia=function(media){if(!media){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Utils.evalMedia","!media check",YAHOO.music.WebPlayer.Error.qos);return false;}if(media.ymu!==undefined){return media.ymu;}var ns=YAHOO.music.WebPlayer.Utils;return ns.evalYMUTrack(media)||ns.evalYMUXSPF(media)||ns.evalXSPF(media)||ns.evalYMUPlaylist(media);};YAHOO.music.WebPlayer.Utils.evalYMUTrack=function(media){if(!media){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Utils.evalYMUTrack","!media check",YAHOO.music.WebPlayer.Error.qos);return false;}var ns=YAHOO.music.WebPlayer.Utils;if(media.ymu===true&&media.mediaType===ns.YMUTRACKTYPE){return true;}var url=media["ymp:songID"]?ns.YMUTRACKURLBASE+media["ymp:songID"]:media.url||media.sourceUrl||media.location;if(!url)url=ns.YMUTRACKURLBASE+media["id"];if(url){var pattern=new RegExp(ns.YMUTRACKEXPR);var result=url.match(pattern);if(result){media.id=result[5];media.domain=result[2];media.mediaType=result[4];media.ymu=true;media.sourceUrl=url;}}else
{if(url.indexOf("_ylt=")>-1){if(url&&url.match(ns.STRIPULT)){var rxUrl=RegExp.$1;if(typeof rxUrl=="string"&&rxUrl.indexOf("http")==0){media.url=unescape(rxUrl);}}}media.ymu=false;}return media.ymu;};YAHOO.music.WebPlayer.Utils.evalXSPF=function(media){if(!media){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Utils.evalXSPF","!media check",YAHOO.music.WebPlayer.Error.qos);return false;}var ns=YAHOO.music.WebPlayer.Utils;if(media.mimeType==ns.XSPFMIMETYPE||media.mimeType==ns.XSPFPLAYTHISPAGEMIMETYPE){media.mediaType=ns.XSPFTYPE;result=true;}else
{var url=media.url||media.sourceUrl||media.location;media.ymu=false;var result;if(url&&(url.match(ns.XSPF)||(url.match(ns.RELPATHXSPF)&&ns.isYahooDocument()))){media.mediaType=ns.XSPFTYPE;result=true;}else
{result=false;}}return result;};YAHOO.music.WebPlayer.Utils.evalYMUXSPF=function(media){if(!media){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Utils.evalXSPF","!media check",YAHOO.music.WebPlayer.Error.qos);return false;}var ns=YAHOO.music.WebPlayer.Utils;var url=media.url||media.sourceUrl||media.location;media.ymu=false;var result;if(!url){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_URL_MISSING,"general","Utils.evalYMUXSPF","!media.url check",YAHOO.music.WebPlayer.Error.qos);return false;}if(url.match(ns.YMUXSPF1)){media.url=unescape(RegExp.$1);media.mediaType=ns.XSPFTYPE;media.id=RegExp.$6;media.ymu=true;result=true;}else if(url.match(ns.YMUXSPF2)){media.mediaType=ns.XSPFTYPE;media.id=RegExp.$3;media.ymu=true;result=true;}else
{result=false;}return result;};YAHOO.music.WebPlayer.Utils.evalYMUPlaylist=function(media){if(!media){YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Utils.evalYMUPlaylist","!media check",YAHOO.music.WebPlayer.Error.qos);return false;}var ns=YAHOO.music.WebPlayer.Utils;var url=media.url||media.sourceUrl||media.location;if(url&&url.match(ns.YMUPLAYLISTEXPR2)){media.id=RegExp.$4;media.domain=RegExp.$1;media.mediaType=RegExp.$3;media.ymu=true;}else
{media.ymu=false;}return media.ymu;};YAHOO.music.WebPlayer.Utils.removeBraces=function(str){var expStripbrace=/\{([\w|-]+)\}$/;return str.match(expStripbrace)?RegExp.$1:str;};YAHOO.music.WebPlayer.Utils.isYahooDocument=function(){return true;};YAHOO.namespace("music.WebPlayer");YAHOO.music.WebPlayer.User=function(callback,scope){if(!callback){return this.nsError.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Crumb::ctor","Missing callback",YAHOO.music.WebPlayer.Error.qos);}this.ymid=null;this.isMember=null;this._callback=callback;this._scope=scope;this.nsError=YAHOO.music.WebPlayer.Error;};YAHOO.music.WebPlayer.User.prototype={constructor:YAHOO.music.WebPlayer.User,urlStart:'/wsapi/user/v1/auth/properties',query:function(sync){var result;this.ymid=null;this.isMember=null;if(!sync){this.makeAsyncRequest();}else
{result=this.makeSyncRequest();this._onDone(result);}},makeAsyncRequest:function(){function onUserSuccess(o){var result=this.parseResponse(o);this._onDone(result);}function onUserFailure(o){var err=YAHOO.music.WebPlayer.Error.makeFrom(o);this._onDone(err);}var requestParams={success:onUserSuccess,failure:onUserFailure,scope:this};YAHOO.ympyui.util.Connect.initHeader("Cache-Control","no-cache");YAHOO.ympyui.util.Connect.initHeader("Pragma","no-cache");YAHOO.ympyui.util.Connect.initHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");YAHOO.ympyui.util.Connect.asyncRequest('GET',this.urlStart,requestParams);},makeSyncRequest:function(){var xhr=YAHOO.music.WebPlayer.Utils.getXHRObject();var result=null;var nsError=YAHOO.music.WebPlayer.Error;if(xhr){try
{xhr.open("GET",this.urlStart,false);xhr.setRequestHeader("Cache-Control","no-cache");xhr.setRequestHeader("Pragma","no-cache");xhr.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");xhr.send(null);if(xhr.readyState===4&&xhr.status===200){result=this.parseResponse(xhr);}else
{result=this.nsError.makeFrom(xhr,this.nsError.qos,this.nsError.GEN_USERREQ_FAILED,"general");}}catch(e){result=this.nsError.make(this.nsError.GEN_USERREQ_FAILED,"general","XHR object usage failed","",this.nsError.qos);}}else
{result=new this.nsError(this.nsError.GEN_USERREQ_FAILED,"general","XHR object creation failed","",this.nsError.qos);}return result;},parseResponse:function(respObj){var result=null;var respXML=respObj.responseXML;try
{var userNodes=respXML?respXML.getElementsByTagName("User"):null;if(userNodes&&userNodes.length>0){this.ymid=userNodes[0].getAttribute("ymid");this.isMember=userNodes[0].getAttribute("isMember")==="1"?true:false;result=this;}else
{result=new this.nsError(this.nsError.GEN_USERREQ_FAILED,"general",respObj.responseText,"User node absent in response",this.nsError.qos);}}catch(e){result=new this.nsError(this.nsError.GEN_USERREQ_FAILED,"general","the result parsing failed","",this.nsError.qos);}return result;},_onDone:function(results){if(this._scope){if(typeof this._callback==="string"){this._scope[this._callback](results);}else
{this._callback.call(this._scope,results);}}else
{this._callback(results);}}};YAHOO.music.WebPlayer.uiStrings={IDS_STAT_BUFFER:"Buffering ...",IDS_STAT_CONNECT:"connecting ...",IDS_STAT_LIC:"Requesting track license ...",IDS_STAT_FETCHMETADATA:"Requesting track information ...",IDS_STAT_FETCHPLAYLIST:"Requesting playlist tracks ...",IDS_STAT_FETCHSTREAM:"Requesting stream...",IDS_STAT_LICFAILED:"License request failed",IDS_STAT_TIMEDOUT:"Timed out. Please retry",IDS_STAT_ERRORINSTRUCTION:"Click icon for details.",IDS_DEFAULT:"We're sorry, an error has occurred. Please try another track, or try this one later.<br/><br/>We have logged the problem for resolution.",IDS_NOTRACKINFO:"Track information is not available",IDS_CONNFAILED:"Connection failed",IDS_QUERY_FAILED:"The query failed",IDS_PLQUERY_FAILED:"Unable to retrieve playlist",IDS_SERVER_FAILED:"We're sorry, we could not connect to the server at this time. Please try again later.",IDS_INVALID_CRUMB:'You must be on a Yahoo! site to play this track. <a href="http://music.yahoo.com">Click here</a> to go to Yahoo! Music',IDS_COPURL_FAILED:"Playback problem, skipped for now.",IDS_MEDENG_NEEDPLUGIN:'Firefox requires a plug-in to play full-length subscription tracks. <a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/5498">Click here</a> to open a new window, then click "Install Now" on the plug-in page.<p></p>Once the plug-in is loaded, restart Firefox for full track playback.',IDS_PLAYLIST_EMPTY:"The playlist is empty",IDS_PLAYLIST_INVALID:"We're sorry, an error has occurred. Please try another playlist, or try this one later.<br/><br/>We have logged the problem for resolution.",IDS_PLAYERR_THRESHOLD:"We’re sorry, multiple playback errors have occurred. Playback is stopped for now. Check individual track errors for more information.",IDS_UNSUPPORTED_PLAYTYPE:"Sorry, we didn't find content we support.",IDS_INVALID_PARAM:"Sorry, we have encountered a program error. This will be logged for fixing.",IDS_URL_MISSING:"This track is missing location (url) information.",IDS_HTRACK_EXCEPTION:"Some anchors had error in track info specification.",IDS_HTRACK_INVALID:"There was a problem parsing the tracks from the page.",IDS_STRMNSERVER:"We're sorry, full length tracks are not available right now. Only :30 samples will be played.<br/><br/>Please try again later.",IDS_YMUACCOUNT:'Our records show your subscription is not active. To check your account, <a href="http://help.yahoo.com/l/us/yahoo/music/jukebox/myaccount/index.html">click here</a>.',IDS_INVALIDTRACK:"We're sorry, this track is no longer available in the catalog.",IDS_TRACKUNAVAILABLE:"We're sorry, this track is longer availble. <a href='http://help.yahoo.com/l/us/yahoo/music/music/error/not-available.html'>Why is this?</a>",IDS_NEEDLOGIN:'It appears you have signed in to Yahoo! Music Unlimited in another location. You have been signed out here, so only :30 samples will play. To continue full playback, sign out of Yahoo! then sign back in. For more information, <a href="http://help.yahoo.com/l/us/yahoo/music/music/error/auto-signed-out.html">click here</a>.',IDS_INVALIDUSERTYPE:"We're sorry, our servers encountered a problem playing full length tracks.  Please make sure you are logged in as a valid subscription user.<br/>If the problem persists, please contact Customer Care to resolve.",IDS_LICERROR:"We're sorry, full length tracks are not available right now. Only :30 samples will be played.<br/><br/>Please try refreshing this page, or try again later.",IDS_DRMUPDT:'A security component upgrade for Windows Media Player is required. <a href="http://drmlicense.one.microsoft.com/indivsite/en/indivit.asp">Click here</a> to get the free upgrade and follow the simple instructions. Once complete, refresh this browser window then try playback again.',IDS_DRMUPDT_FF:"A security component upgrade for Windows Media Player is required, which is free and takes only a minute to install. However, you must use Internet Explorer to get the upgrade from Microsoft. Copy the URL below and paste it into an Explorer window then follow the instructions. Once complete, refresh this browser window then try playback again.<br><br>http://drmlicense.one.microsoft.com/indivsite/en/indivit.asp",IDS_TOOLTIP_PREAMBLE:"This audio is hosted at: "};YAHOO.music.WebPlayer.uiStrings.get=function(id){var str=id?YAHOO.music.WebPlayer.uiStrings[id]:"";return str?str:"";};YAHOO.music.WebPlayer.Error=function(code,context,description,summary,logType,httpCode){this.errorCode=code;this.context=context;this.description=description;this.summary=summary;this.severity=YAHOO.music.WebPlayer.Error.SEVERITY_2;this.extraInfo=null;this.status=httpCode;this.log(logType);};YAHOO.music.WebPlayer.Error.qos=1;YAHOO.music.WebPlayer.Error.cml=10;YAHOO.music.WebPlayer.Error.SEVERITY_1=1;YAHOO.music.WebPlayer.Error.SEVERITY_2=2;YAHOO.music.WebPlayer.Error.SEVERITY_3=3;YAHOO.music.WebPlayer.Error.makeFrom=function(errObj,logType,errcode,category){if(!errObj){return;}var err=null;var suffix;if(errObj instanceof YAHOO.music.MediaEngine.Error){err=new YAHOO.music.WebPlayer.Error(errcode||YAHOO.music.WebPlayer.Error.GEN_MEDENG_ERROR,category||"general",errObj.description?errObj.description:"","ErrorCode = "+errObj.errorCode+"NativeCode = "+errObj.nativeCode+" summary = "+errObj.summary,logType);return err;}else if((errObj.status!=undefined)&&errObj.statusText){var summary="["+errObj.status+"] "+errObj.statusText;err=new YAHOO.music.WebPlayer.Error(errcode||YAHOO.music.WebPlayer.Error.GEN_QUERY_FAILED,category||"general",errObj.responseText||"",summary,logType,errObj.status);}else
{err=new YAHOO.music.WebPlayer.Error(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,category||"general","Unknown","unknown",logType);}return err;};YAHOO.music.WebPlayer.Error.make=function(errCode,context,desc,summary,logType,httpCode){var err;if(!errCode||!context){err=new YAHOO.music.WebPlayer.Error(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","streammgr.makeError copErrorCode = "+errCode,"original context = "+context+"; "+desc+"; "+summary,YAHOO.music.WebPlayer.Error.qos,httpCode);return;}err=new YAHOO.music.WebPlayer.Error(errCode,context,desc,summary,logType,httpCode);return err;};YAHOO.music.WebPlayer.Utils.enhance(YAHOO.music.WebPlayer.Error,{WSAPI_ERR_INVALIDREQ:1,WSAPI_ERR_AUTHFAILED:3,WSAPI_ERR_UNAUTHORIZED:403,GEN_LIC_STORE:1000,GEN_XSPFQUERY_FAILED:1001,GEN_STRM_RESP_INVALID:1002,GEN_QUERY_FAILED:1003,GEN_PLQUERY_FAILED:1004,GEN_TRACK_METAFAILED:1005,GEN_INVALID_PARAM:1006,GEN_MEDENG_ERROR:1007,GEN_XHROBJ_REQ_FAILED:1008,GEN_CRUMBREQ_FAILED:1009,GEN_COPSERVICE_FAILED:1010,GEN_COPURL_FAILED:1011,GEN_USERREQ_FAILED:1012,GEN_MEDENG_NEEDPLUGIN:1013,GEN_LIC_RESP_INVALID:1014,GEN_LICREQ_FAILED:1015,GEN_PLAYLIST_EMPTY:1016,GEN_COP_AUTHFAILED:1017,GEN_PLAYLIST_INVALID:1018,GEN_GETSYSINFO_FAILED:1019,GEN_PLAYER_THRESHOLD:1020,GEN_UNSUPPORTED_PLAYTYPE:1021,GEN_URL_MISSING:1022,GEN_BAD_METAJSONDATA:1023,GEN_HTRACKDOM_EXCEPTION:1024});YAHOO.music.WebPlayer.Error.prototype={constructor:YAHOO.music.WebPlayer.Error,getNativeDescrition:function(){return this.description;},getDescription:function(){return YAHOO.music.WebPlayer.Error.message.get(this);},getSummary:function(){return this.summary;},getInfoUrl:function(){return this.infoUrl;},getSeverity:function(){return this.severity;},log:function(logType){if(logType&&(logType&YAHOO.music.WebPlayer.Error.qos)){YAHOO.music.WebPlayer.Utils.logQos(this);}if(logType&&(logType&YAHOO.music.WebPlayer.Error.cml)){}}};YAHOO.music.WebPlayer.Error.message={init:function(){this.general={1001:"IDS_PLQUERY_FAILED",1002:"IDS_COPURL_FAILED",1003:"IDS_QUERY_FAILED",1004:"IDS_PLQUERY_FAILED",1005:"IDS_NOTRACKINFO",1006:"IDS_INVALID_PARAM",1007:"IDS_DEFAULT",1008:"IDS_CONNFAILED",1009:"IDS_SERVER_FAILED",1010:"IDS_SERVER_FAILED",1011:"IDS_COPURL_FAILED",1012:"IDS_SERVER_FAILED",1013:"IDS_MEDENG_NEEDPLUGIN",1016:"IDS_PLAYLIST_EMPTY",1017:"IDS_SERVER_FAILED",1018:"IDS_PLAYLIST_INVALID",1020:"IDS_DEFAULT",1021:"IDS_UNSUPPORTED_PLAYTYPE",1022:"IDS_URL_MISSING",1024:"IDS_HTRACK_EXCEPTION",1025:"IDS_HTRACK_INVALID"};this.license={100:"IDS_LICERROR",103:"IDS_LICERROR",110:"IDS_LICERROR",111:"IDS_LICERROR",115:"IDS_LICERROR",116:"IDS_LICERROR",212:"IDS_LICERROR",206:"IDS_DRMUPDT",210:"IDS_DRMUPDT",211:"IDS_DRMUPDT",214:"IDS_DRMUPDT",215:"IDS_DRMUPDT",222:"IDS_DRMUPDT",223:"IDS_NEEDLOGIN",1000:"IDS_USE_ERR_DESC",1019:"IDS_USE_ERR_DESC",1014:"IDS_LICERROR",1015:"IDS_STAT_LICFAILED"};if(!window.ActiveXObject){this.license[206]="IDS_DRMUPDT_FF";this.license[210]="IDS_DRMUPDT_FF";this.license[211]="IDS_DRMUPDT_FF";this.license[214]="IDS_DRMUPDT_FF";this.license[215]="IDS_DRMUPDT_FF";this.license[222]="IDS_DRMUPDT_FF";}this.stream={100:"IDS_STRMNSERVER",103:"IDS_STRMNSERVER",110:"IDS_STRMNSERVER",111:"IDS_STRMNSERVER",112:"IDS_INVALIDUSERTYPE",115:"IDS_STRMNSERVER",116:"IDS_STRMNSERVER",117:"IDS_DEFAULT",203:"IDS_YMUACCOUNT",208:"IDS_TRACKUNAVAILABLE",218:"IDS_DEFAULT",220:"IDS_INVALIDTRACK",223:"IDS_NEEDLOGIN"};},get:function(errObj){var code=errObj.errorCode;var context=errObj.context||"general";if(!YAHOO.music.WebPlayer.uiStrings){return"Sorry, a problem was encountered";}var id=null;if(this[context]){id=this[context][code];}if(!id){return YAHOO.music.WebPlayer.uiStrings.IDS_DEFAULT+" error ("+code+" , "+context+")";}if(errObj.errorCode==YAHOO.music.WebPlayer.Error.GEN_MEDENG_ERROR&&errObj.description&&errObj.description!=""){return errObj.description;}if(id=="IDS_USE_ERR_DESC"){return errObj.description;}return(typeof errObj.extraInfo==="string"&&errObj.extraInfo.length>0)?YAHOO.music.WebPlayer.uiStrings.get(id)+" : "+errObj.extraInfo:YAHOO.music.WebPlayer.uiStrings.get(id);}};YAHOO.music.WebPlayer.Error.message.init();YAHOO.music.WebPlayer.uiMessage={nsUIStrings:YAHOO.music.WebPlayer.uiStrings,uiStatusClbk:null,_setStatus:function(idString,maxdisptime){if(this.nsUIStrings&&this.uiStatusClbk&&this.uiStatusClbk.setStatusMessage){if(!idString){this.uiStatusClbk.setStatusMessage(null);return;}var statusObj={};if(typeof idString=="string"){statusObj.message=this.nsUIStrings.get(idString);}else if(idString instanceof YAHOO.music.WebPlayer.Error){statusObj.message=idString.getDescription();}statusObj.maxtime=maxdisptime&&typeof maxdisptime==="number"?maxdisptime:null;this.uiStatusClbk.setStatusMessage(statusObj);}},_setError:function(err,idstatus){if(this.uiStatusClbk&&this.uiStatusClbk.setError){this.uiStatusClbk.setError(err);if(idstatus&&(typeof idstatus!="string")){this._setStatus(idstatus);}else if(!err){this._setStatus();}else
{this._setStatus("IDS_STAT_ERRORINSTRUCTION");}}},_setState:function(stateObj){if(this.uiStatusClbk&&this.uiStatusClbk.setState){this.uiStatusClbk.setState(stateObj);}},setStatus:function(statstringid){},setError:function(err,noStatus){},setState:function(statObj){},init:function(){this.setStatus=YAHOO.music.WebPlayer.Utils.bind(this,this._setStatus);this.setError=YAHOO.music.WebPlayer.Utils.bind(this,this._setError);this.setState=YAHOO.music.WebPlayer.Utils.bind(this,this._setState);}};YAHOO.music.WebPlayer.uiMessage.init();YAHOO.music.WebPlayer.Utils.BatchJob=function(){this.jobId=YAHOO.music.WebPlayer.Utils.BatchJob.jobId++;this.tasks=[];this.aborted=false;};YAHOO.music.WebPlayer.Utils.BatchJob.activeTaskCallbacks={store:function(handlerObj,funcName){var obj=this.find(handlerObj,funcName);if(obj){obj.ref++;}else
{obj={};obj.name=funcName;obj.scope=handlerObj;obj.callback=handlerObj[funcName];obj.ref=1;var handler=this._map[handlerObj];if(!handler){this._map[handlerObj]={length:0};}this._map[handlerObj][funcName]=obj;this._map[handlerObj].length++;}return obj.callback;},find:function(handlerObj,funcName){var obj;if(this._map[handlerObj]){obj=this._map[handlerObj][funcName];}return obj?obj:false;},remove:function(handlerObj,funcName){var obj=this.find(handlerObj,funcName);if(obj){obj.ref--;if(obj.ref===0){delete this._map[handlerObj][funcName];this._map[handlerObj].length--;if(this._map[handlerObj].length===0){delete this._map[handlerObj];}}}return obj;},_map:{}};YAHOO.music.WebPlayer.Utils.BatchJob.jobId=1;YAHOO.music.WebPlayer.Utils.BatchJob.prototype={_executing:false,execute:function(){if(this.aborted){console.log("execute called after abort");return;}if(!this._executing){this.doNext();}},abort:function(resetCallbacks){console.log(this.jobId+" : Abort called");this.aborted=true;this._executing=false;var i,len;var callObj;var callScope,funcname;if(resetCallbacks===true){for(i=0,len=this.tasks.length;i<len;i++){callScope=this.tasks[i][1];funcname=this.tasks[i][2];if(callObj=YAHOO.music.WebPlayer.Utils.BatchJob.activeTaskCallbacks.remove(callScope,funcname)){callScope[funcname]=callObj.callback;}}}this.tasks.length=0;},push:function(fn,fnname,args,scope,cbkhandler,cbkfnName){var that=this;var func=YAHOO.music.WebPlayer.Utils.bindFromArray(scope,fn,args?args:[]);this.tasks.push([func,cbkhandler,cbkfnName,fnname]);this.execute();},doNext:function(){if(this.tasks.length===0||this.aborted){this._executing=false;console.log(this.jobId+" : doNext aborted or ended "+this.aborted);return;}console.log(this.jobId+" : doNext called on "+this.tasks[0][3]);var retry=arguments&&arguments.length>0?arguments[0]:0;if(retry>0){console.log("doNext retry number : "+retry);}var inProgress=YAHOO.music.WebPlayer.Utils.BatchJob.activeTaskCallbacks.find(this.tasks[0][1],this.tasks[0][2]);var retryfunc;if(inProgress){if(retry>10){this.abort(true);return;}console.log(this.jobId+" : Same operation in progress - will retry "+this.tasks[0][3]);retryfunc=YAHOO.music.WebPlayer.Utils.bind(this,this.doNext,++retry);setTimeout(retryfunc,1000);return;}var nextObj=this.tasks.shift();var async;var fn=nextObj[0];var cbkhandler=nextObj[1];var cbkfnName=nextObj[2];var that=this;var origCallback;if(async=(cbkhandler&&cbkhandler[cbkfnName])){origCallback=YAHOO.music.WebPlayer.Utils.BatchJob.activeTaskCallbacks.store(cbkhandler,cbkfnName);console.log(this.jobId+" : callback replaced "+cbkfnName);cbkhandler[cbkfnName]=function(){if(that.aborted){console.log(that.jobId+" : Received, but ignoring due to abort");}else
{console.log(that.jobId+" : calling "+cbkfnName);origCallback.apply(cbkhandler,arguments);}var obj=YAHOO.music.WebPlayer.Utils.BatchJob.activeTaskCallbacks.remove(cbkhandler,cbkfnName);if(obj.scope!==cbkhandler||obj.name!==cbkfnName){}else
{console.log(that.jobId+" : callback restored "+cbkfnName);cbkhandler[cbkfnName]=obj.callback;}that.doNext();};}console.log(this.jobId+" : calling "+nextObj[3]);this._executing=true;nextObj[0]();if(!async){this.doNext();}}};YAHOO.namespace("YAHOO.music.WebPlayer");YAHOO.music.WebPlayer.HTrack=function(a,index){this.index=index;if(a){this.parseElm(a);}return this;};YAHOO.music.WebPlayer.HTrack.fromString=function(htrackstr){var htrack=new YAHOO.music.WebPlayer.HTrack(null,0);var arr=htrackstr.split(",,");var expData=/^(\w+)=([\w\W]+)/;var part;for(var i=0,len=arr.length;i<len;i++){if(arr[i].match(expData)){htrack[RegExp.$1]=RegExp.$2;}}return htrack;};YAHOO.music.WebPlayer.HTrack.prototype={toString:function(){var attrs=[];attrs[0]="index="+this.index;attrs[1]="url="+this.url;if(this.title){attrs[2]="title="+this.title;}if(this.mimeType){attrs[3]="mimeType="+this.mimeType;}if(this.onblurString){attrs[4]="onblur="+this.onblurString;}if(this.onfocusString){attrs[5]="onfocus="+this.onfocusString;}if(this.albumart){attrs[6]="albumart="+this.albumart;}return attrs.join(",,");},parseElm:function(elm){this.getElm=function(){return elm;};var nsParser=YAHOO.music.WebPlayer.HTrack.Parser;this.url=elm.href;this.title=(elm.title.length>0)?unescape(String(elm.title).replace(/_/g," ")):null;this.text=YAHOO.music.WebPlayer.HTrack.Parser.trim(unescape(nsParser.parseNodeText(elm).replace(/_/g," ")));if(this.title){var nsMeta=YAHOO.music.WebPlayer.metadata;nsMeta?nsMeta.readOnlyFields(this,["title"]):this.rofields="title,";}else if(this.text!=""){this.title=this.text;}this.mimeType=null;if(elm.type){this.mimeType=String(elm.type);}else if(YAHOO.ympyui.util.Dom.hasClass(elm,"playthispage")){this.mimeType=YAHOO.music.WebPlayer.Utils.XSPFPLAYTHISPAGEMIMETYPE;}var imgs=elm.getElementsByTagName('img');var img=(imgs.length>0)?imgs[0]:null;if(img!==null){this.albumart=img.src;this.albumartdesc=img.alt||null;}else
{this.albumart=this.albumartdesc=null;}}};YAHOO.music.WebPlayer.HTrack.Parser={_typeApplicationEnum:{'quicktimeplayer':true,'shockwave-flash':false,'ogg':true,'smil':true,'xspf+xml':true,'x-quicktimeplayer':true,'x-shockwave-flash':false,'x-ogg':true,'x-smil':true,'x-xspf+xml':true},_isValidType:function(type){var parts=type.split('/');return(parts[0]==='audio'||parts[0]==='video'||(parts[0]==='application'&&this._typeApplicationEnum[parts[1]]===true));},_isValidHref:function(href){if(!href){return false;}if(YAHOO.music.WebPlayer.Utils){if(YAHOO.music.WebPlayer.Utils.isYMUTrack(href)===true){return true;}}else
{if(/http(\:|%3A)\/\/([^:\/\s]+\.yahoo\.com)(\/\w+)*\/(track)\/(\d+$)$/.test(href)){return true;}}var m=YAHOO.music.MediaEngine.MediaObjectExplorer._mimeTypes;var length=m.length;var stringToCheck=href;var questionIndex=stringToCheck.indexOf('?');if(questionIndex!==-1){stringToCheck=stringToCheck.substring(0,questionIndex);}var dotIndex=stringToCheck.lastIndexOf(".");var pattern=stringToCheck.substring(dotIndex,stringToCheck.length).toLowerCase();for(var i=0;i<length;i++){if(pattern==m[i][0]){return true;}}return false;},trim:function(s){if(typeof s!=="string"){return"";}return s.replace(/^\s+|\s+$/g,'');},_containsWord:function(text,word){var hasWord=false;if(typeof(text)!=='string'||text.length===0||typeof(word)!=='string'||word.length===0){return hasWord;}for(var idx=0,words=this.trim(text).split(' '),len=words.length,currentWord;idx<len;idx++){currentWord=words[idx];if(currentWord===word){hasWord=true;break;}}return hasWord;},_getAnchors:function(root){var results=[];if(this.isAnchor(root)){results.push(root);return results;}for(var idx=0,arr=root.getElementsByTagName('a'),len=arr.length,a;idx<len;idx++){try
{a=arr[idx];if(a&&a.href&&a.href.length>0){results.push(a);}}catch(ex){YAHOO.music.WebPlayer.HTrack.logError(ex);}}return results;},_filterHTracks:function(anchors){var results=[];for(var idx=0,len=anchors.length,a,className;idx<len;idx++){a=anchors[idx];className=String(a.className);if(this._containsWord(className,'htrack')){results.push(a);}}return results;},_filterRels:function(anchors){var results=[];for(var idx=0,len=anchors.length,a,rel;idx<len;idx++){a=anchors[idx];rel=String(a.rel);if(this._containsWord(rel,'enclosure')){results.push(a);}}return results;},_filterAudio:function(anchors){var results=[];for(var idx=0,len=anchors.length,a,type,href;idx<len;idx++){a=anchors[idx];type=String(a.type);if(YAHOO.ympyui.util.Dom.hasClass(a,'playthispage')){results.push(a);}else if(type!==""){if(this._isValidType(type)){results.push(a);}}else
{href=String(a.href);if(this._isValidHref(href)){results.push(a);}}}return results;},_parseTracks:function(root){var anchors=this.isAnchor(root)?[root]:this._getAnchors(root||document);if(anchors.length===0){return anchors;}var htracks=this._filterHTracks(anchors);if(htracks.length>0){return htracks;}var rels=this._filterRels(anchors);if(rels.length>0){return rels;}var types=this._filterAudio(anchors);if(types.length>0){return types;}return[];},_setupAnchor:function(a,index){if(a.tabIndex!=index){a.tabIndex=index;}YAHOO.ympyui.util.Dom.addClass(a,YAHOO.music.WebPlayer.playClass);return a;},scrape:function(docElem,indexOffset,callback,scope){if(!callback){return;}var tracks=[];var anchors=this._parseTracks(docElem);anchors=this._filterDuplicates(anchors);var tiAnchors=[];var unorderedAnchors=[];try
{for(var idx=0,len=anchors.length,anchor;idx<len;idx++){anchor=anchors[idx];if(typeof(anchor.href)==="string"&&(anchor.href.indexOf("file://")>=0||anchor.href.toLowerCase().indexOf("http://localhost")>=0)){continue;}if(typeof(anchor.tabIndex)==='number'&&anchor.tabIndex>=1&&anchor.tabIndex<=32767&&String(anchor.tabIndex).indexOf('.')<0){if(tiAnchors[anchor.tabIndex]===undefined){tiAnchors[anchor.tabIndex]=anchor;}}else
{unorderedAnchors.push(anchor);}}tiAnchors.sort(function(a,b){return a.tabIndex-b.tabIndex;});for(var validIdx=0,il=tiAnchors.length;validIdx<il;validIdx++){if(tiAnchors[validIdx]===undefined){tiAnchors.splice(validIdx,il-validIdx);break;}}anchors=tiAnchors.concat(unorderedAnchors);var anc;var ival=indexOffset;for(var idx1=0,len1=anchors.length;idx1<len1;idx1++){anc=anchors[idx1];if(anc){ival=indexOffset+idx1+1;tracks.push(new YAHOO.music.WebPlayer.HTrack(anc,ival));anchors[idx1]=this._setupAnchor(anc,ival);}}}catch(ex){YAHOO.music.WebPlayer.HTrack.logError(ex);}if(scope){callback.call(scope,tracks,anchors,ival);}else
{callback(tracks,anchors,ival);}},_filterDuplicates:function(anchors){var refinedAnchors=[];var len=anchors.length;if(len>0){refinedAnchors[0]=anchors[0];if(len>1){for(var i=1;i<len;i++){if(anchors[i].href!==refinedAnchors[refinedAnchors.length-1].href){refinedAnchors.push(anchors[i]);}}}}return refinedAnchors;},htrackFromAnchor:function(a,index){var idx=index||a.tabIndex||0;var tr=new YAHOO.music.WebPlayer.HTrack(a,idx);return tr;},isAnchor:function(elm){return(elm&&elm.tagName&&String(elm.tagName).toLowerCase()=="a");},isDocElement:function(elm){return((elm&&elm.getElementsByTagName)||this.isAnchor(elm));},parseNodeText:function(elm){try
{if(typeof(elm.innerText)==='string'){return elm.innerText;}if(elm.nodeType===3){return elm.nodeValue;}var textNodes=[],idx=0;while(elm.childNodes[idx]){textNodes.push(this.parseNodeText(elm.childNodes[idx++]));}return textNodes.join('');}catch(ex){YAHOO.music.WebPlayer.HTrack.logError(ex);return"";}},parseEventFunction:function(func){var funcString=null;if(typeof(func)==='function'){funcString=String(func);funcString='function()'+funcString.substr(funcString.indexOf(')')+1);}return funcString;},getScrapedTracks:function(){return this._tracks;},toString:function(tracks){if(!tracks){return"";}var arrStrs=[];for(var i=0,len=tracks.length;i<len;i++){arrStrs[i]=tracks[i].toString();}return arrStrs.join(";;");},fromString:function(htracksStr,append){if(!htracksStr){return;}var tracks=[];var fromFunc=YAHOO.music.WebPlayer.HTrack.fromString;var htrackstrs=htracksStr.split(";;");for(var i=0,len=htrackstrs.length;i<len;i++){tracks.push(fromFunc(htrackstrs[i]));}return tracks;}};YAHOO.music.WebPlayer.HTrack.logError=function(domex,code,desc,summary){var nsError=YAHOO.music.WebPlayer.Error;var err=null;if(nsError){err=domex?nsError.make(nsError.GEN_HTRACKDOM_EXCEPTION,"general",domex.description,domex.summary,nsError.qos):nsError.make(code||nsError.GEN_INVALID_HTRACK,"general",desc||"",summary||"",nsError.qos);if(YAHOO.music.WebPlayer.ui){YAHOO.music.WebPlayer.ui.setError(err);}}if(domex){console.log(domex);}return err;};YAHOO.music.WebPlayer.Crumb=function(callback,scope){this.nsError=YAHOO.music.WebPlayer.Error;if(!callback){return this.nsError.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Crumb::ctor","Missing callback",YAHOO.music.WebPlayer.Error.qos);}this.crumb=null;this._callback=callback;this._scope=scope;};YAHOO.music.WebPlayer.Crumb.prototype={constructor:YAHOO.music.WebPlayer.Crumb,urlStart:'/musicservices/crumbGet.php',get:function(){return this.crumb;},refresh:function(sync){var result;this.crumb=null;try
{if(!sync){this.makeAsyncRequest();}else
{result=this.makeSyncRequest();this._onDone(result);}}catch(e){result=this.nsError.make(this.nsError.GEN_CRUMBREQ_FAILED,"general",e.description||"xhr request exception",e.summary||"",this.nsError.qos);this._onDone(result);}},makeAsyncRequest:function(){function onUrlSuccess(o){var result=this.parseResponse(o);if(typeof result!=YAHOO.music.WebPlayer.Error){this.crumb=result;}this._onDone(result);}function onUrlFailure(o){var err=YAHOO.music.WebPlayer.Error.makeFrom(o);this._onDone(err);}var requestParams={success:onUrlSuccess,failure:onUrlFailure,scope:this};YAHOO.ympyui.util.Connect.initHeader("Cache-Control","no-cache");YAHOO.ympyui.util.Connect.initHeader("Pragma","no-cache");YAHOO.ympyui.util.Connect.initHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");YAHOO.ympyui.util.Connect.asyncRequest('GET',this.urlStart,requestParams);},makeSyncRequest:function(){var xhr=YAHOO.music.WebPlayer.Utils.getXHRObject();var result;if(xhr){try
{xhr.open("GET",this.urlStart,false);xhr.setRequestHeader("Cache-Control","no-cache");xhr.setRequestHeader("Pragma","no-cache");xhr.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");xhr.send(null);if(xhr.readyState==4&&xhr.status==200){result=this.parseResponse(xhr);}else
{result=this.nsError.makeFrom(xhr,this.nsError.qos,this.nsError.GEN_CRUMBREQ_FAILED,"general");}}catch(e){result=this.nsError.make(this.nsError.GEN_CRUMBREQ_FAILED,"general","XHR object usage failed","",this.nsError.qos);}}else
{result=this.nsError.make(this.nsError.GEN_CRUMBREQ_FAILED,"general","XHR object creation failed","",this.nsError.qos);}return result;},parseResponse:function(respObj){var resptxt=respObj.responseText;var exp=/<CRUMB>([\w\W]+)<\/CRUMB>/;if(resptxt.match(exp)){return RegExp.$1;}return this.nsError.make(this.nsError.GEN_CRUMBREQ_FAILED,"general","the result parsing failed","",this.nsError.qos);},_onDone:function(results){if(this._scope){if(typeof this._callback==="string"){this._scope[this._callback](results);}else
{this._callback.call(this._scope,results);}}else
{this._callback(results);}}};YAHOO.music.WebPlayer.YMUPlaylistTracks=function(arrPls,callback,scope){if(!callback){return;}var err;this._onDone=scope?YAHOO.music.WebPlayer.Utils.bind(scope,callback):callback;if(!arrPls||!arrPls.length||arrPls.length===0){err=YAHOO.music.WebPlayer.Error.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","YMUPlaylistTracks::ctor","Missing Playlists list",YAHOO.music.WebPlayer.Error.qos);this._onDone(err);return;}this.query(arrPls);};YAHOO.music.WebPlayer.YMUPlaylistTracks.prototype={constructor:YAHOO.music.WebPlayer.YMUPlaylistTracks,_urlStart:'/wsapi/playlist/v1/item/',_urlEnd:';output=json;response=tracks',query:function(arr){var url=this._urlStart;var err;var i;for(i=0;i<arr.length;i++){if(arr&&arr[i].id){url+=arr[i].id;url+=i<(arr.length-1)?',':'';}}var callback={success:this.onPlSuccess,failure:this.onPlFailure,scope:this};try
{YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music",".pid="+YAHOO.music.WebPlayer.partnerId);YAHOO.ympyui.util.Connect.asyncRequest('GET',url+this._urlEnd,callback);}catch(e){err=this.nsError.make(this.nsError.GEN_PLQUERY_FAILED,"general",e.description||"xhr request exception",url+this._urlEnd,this.nsError.qos);err.severity=this.nsError.SEVERITY_1;this._onDone(err);}},onPlSuccess:function(o){console.log("onPlSuccess called");var playlists;var plArray,alltracks,ytracks=[],url,track;var utils=YAHOO.music.WebPlayer.Utils;var i,j,len,total,plId;var plresponse;var nsUtils=YAHOO.music.WebPlayer.Utils;this.batchjob=new nsUtils.BatchJob();this.metacallback={};var that=this;function onTrackMetadataDone(arrTracks,item,done){item.Track=arrTracks;if(done){that._onDone(plArray);}}function getTrackMetadata(item,scope,callback){var trackarr=item.Track;var i,len;var idarr=[];for(i=0,len=trackarr.length;i<len;i++){if(YAHOO.music.WebPlayer.Utils.evalMedia(trackarr[i])){idarr.push(trackarr[i].id);}}var meta=new YAHOO.music.WebPlayer.YMUTrackMetadata(idarr,callback,scope);}try
{eval("plresponse = "+o.responseText);console.log(o.responseText);var funcName;plArray=plresponse.Playlists.Playlist;if(!plArray[0]){plArray=[plresponse.Playlists.Playlist];}for(i=0,len=plArray.length;i<len;i++){funcName="onMeta"+i;this.metacallback[funcName]=nsUtils.bind(this,onTrackMetadataDone,undefined,plArray[i],i===len-1);this.batchjob.push(getTrackMetadata,'getTrackMetadata',[plArray[i],this.metacallback,funcName],this,this.metacallback,funcName);}this.batchjob.execute();}catch(e){}},onPlFailure:function(o){var nsError=YAHOO.music.WebPlayer.Error;var err=nsError.makeFrom(o,nsError.qos,nsError.GEN_PLQUERY_FAILED,"general");this._onDone(err);}};YAHOO.music.WebPlayer.Playback=function(mo,callback,sync,timeout,scope,playinfo){if(!callback){return this.nsError.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Playback::ctor","Missing callback",YAHOO.music.WebPlayer.Error.qos);}this.media=mo;this._onDone=scope?YAHOO.music.WebPlayer.Utils.bind(scope,callback,undefined):callback;this.timeout=timeout||10000;this.nsError=YAHOO.music.WebPlayer.Error;this.crumb=playinfo.crumb;var clipparam=";forceclip="+(playinfo.forceclip?1:0);var keyidparam=playinfo.keyid?";keyid="+playinfo.keyid:"";var csidparam=YAHOO.music.WebPlayer.Playback.csid?";csid="+YAHOO.music.WebPlayer.Playback.csid:"";this.requestUrl=this.urlStart+this.media.id+clipparam+keyidparam+csidparam;this.makeUrlRequest(sync);};YAHOO.music.WebPlayer.Playback.baseUrl='/wsapi/playback/v1/track/stream/';YAHOO.music.WebPlayer.Playback.parseErrorResponse=function(respObj,context,mo){var nsError=YAHOO.music.WebPlayer.Error;var err;var respText=respObj.responseText;var expCode=/code\=(\\)?\"(\d+)(\\)?\"/;var expDesc=/description\=(\\)?\"([\w\W]+)(\\)?\"/;var expClipUrl=/<clipurl>([\w\W]+)<\/clipurl>/;var code,desc,clipurl,summary;var result;if(respText&&respText!==""){if((result=respText.match(expCode))!==null){code=result[2];}else
{code=respObj.status>=500?nsError.GEN_COPSERVICE_FAILED:nsError.GEN_COPURL_FAILED;return nsError.makeFrom(respObj,nsError.qos,code,"general");}result=null;if((result=respText.match(expDesc))!==null){desc=result[2];}result=null;if((result=respText.match(expClipUrl))!==null){if(result[1]&&result[1]!==""){clipurl=result[1];}}summary="media id = "+(mo?mo.id:"unknown");err=nsError.make(code,context,desc,summary,nsError.qos,respObj.status);if(clipurl){err.clipurl=clipurl;}}else
{err=nsError.makeFrom(respObj,nsError.qos,nsError.GEN_COPSERVICE_FAILED,"general");err.severity=nsError.SEVERITY_1;}return err;};YAHOO.music.WebPlayer.Playback.csid=null;YAHOO.music.WebPlayer.Playback.prototype={urlStart:YAHOO.music.WebPlayer.Playback.baseUrl,partnerid:YAHOO.music.WebPlayer.partnerId,makeUrlRequest:function(sync){var result;try
{if(!sync){this.makeAsyncUrlRequest();}else
{result=this.makeSyncUrlRequest();this._onDone(result);}}catch(e){result=this.nsError.make(this.nsError.GEN_COPURL_FAILED,"general",e.description||"xhr request exception",this.requestUrl+" ("+(e.summary||"")+")",this.nsError.qos);this._onDone(result);}},makeAsyncUrlRequest:function(){function onUrlSuccess(o){if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.send();}var result=this.parseUrlResponse(o);this._onDone(result);}function onUrlFailure(o){if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.done();}var err=YAHOO.music.WebPlayer.Playback.parseErrorResponse(o,"stream",this.media);this._onDone(err);}var perfObj=new YAHOO.music.WebPlayer.Utils.PerfLog(YAHOO.music.WebPlayer.Utils.PerfLog.spaceIds.CopRequest);var requestParams={success:onUrlSuccess,failure:onUrlFailure,scope:this,timeout:this.timeout,argument:perfObj};YAHOO.ympyui.util.Connect.initHeader("Cache-Control","no-cache");YAHOO.ympyui.util.Connect.initHeader("Pragma","no-cache");YAHOO.ympyui.util.Connect.initHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music",".pid="+this.partnerid);YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music-Sig",".crumb="+this.crumb);YAHOO.ympyui.util.Connect.asyncRequest('GET',this.requestUrl,requestParams);},makeSyncUrlRequest:function(){var xhr=YAHOO.music.WebPlayer.Utils.getXHRObject();var result;if(xhr){xhr.open("GET",this.requestUrl,false);xhr.setRequestHeader("Cache-Control","no-cache");xhr.setRequestHeader("Pragma","no-cache");xhr.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");xhr.send(null);if(xhr.readyState===4&&xhr.status===200){result=this.parseUrlResponse(xhr.responseXML);}else
{result=YAHOO.music.WebPlayer.Playback.parseErrorResponse(xhr,"stream",this.media);}}else
{result=new this.nsError(this.nsError.GEN_XHROBJ_REQ_FAILED,"stream","Sync object request failed","media obj = "+this.media.id,this.nsError.qos);}return result;},parseUrlResponse:function(respObj){var result;var status;var strxml=respObj.responseXML;var urls=strxml.getElementsByTagName("url");if(urls&&urls.length>0){var duration=strxml.getElementsByTagName("length");var type=strxml.getElementsByTagName("type");var tsid=strxml.getElementsByTagName("tsid");var keyid=strxml.getElementsByTagName("keyid");var dmid=strxml.getElementsByTagName("dmid");var ymid=strxml.getElementsByTagName("ymid");result={};result.url=urls[0].firstChild.nodeValue;if(duration&&duration.length>0&&duration[0].firstChild){result.streamDuration=duration[0].firstChild.nodeValue;}if(type&&type[0].firstChild&&type[0].firstChild.nodeValue=="clip"){result.clip=true;if(!result.streamDuration){result.streamDuration=30;}}if(!YAHOO.music.WebPlayer.Playback.csid){var csid=strxml.getElementsByTagName("csid");if(csid&&csid.length>0&&csid[0].firstChild){YAHOO.music.WebPlayer.Playback.csid=csid[0].firstChild.nodeValue;}}if(YAHOO.music.WebPlayer.Playback.csid){result.csid=YAHOO.music.WebPlayer.Playback.csid;}if(tsid&&tsid.length>0&&tsid[0].firstChild){result.tsid=tsid[0].firstChild.nodeValue;}if(keyid&&keyid.length>0&&keyid[0].firstChild){result.keyid=keyid[0].firstChild.nodeValue;}if(dmid&&dmid.length>0&&dmid[0].firstChild){result.dmid=dmid[0].firstChild.nodeValue;}if(ymid&&ymid.length>0&&ymid[0].firstChild){result.ymid=ymid[0].firstChild.nodeValue;}}if(!result.url){result=this.nsError.makeFrom(respObj,this.nsError.qos,this.nsError.GEN_STRM_RESP_INVALID,"stream");}return result;}};YAHOO.music.WebPlayer.Playback.getLicense=function(mo,systemInfo,sync,callback,scope,playinfo){var onDone=callback?YAHOO.music.WebPlayer.Utils.bind(scope,callback):null;var nsError=YAHOO.music.WebPlayer.Error;function onLicSuccess(o){var respStr=o.responseText;var lic={};var exp=/<response><license>([\w\W]+)<\/license>(<keyid>([\w\W]+)<\/keyid>)*([\w\W]*)<\/response>/;var results=respStr.match(exp);if(results&&results.length>1){lic.licstr=results[1];lic.keyid=results[3];}if(!lic.licstr){lic=nsError.makeFrom(o,nsError.qos,nsError.GEN_LIC_RESP_INVALID,"license");}onDone(lic);}function onLicFailure(o){var err=YAHOO.music.WebPlayer.Playback.parseErrorResponse(o,"license");onDone(err);}var id=mo.id;var err;if(!id||!systemInfo||!callback){err=nsError.make(nsError.ERR_INVALID_PARM,"general","playback.GetLicense","id = "+id,nsError.qos);if(onDone){onDone(err);}else
{return err;}}var licurl=YAHOO.music.WebPlayer.Playback.baseUrl+id+'/license';var crumb=playinfo.crumb;var requestParams;var body=systemInfo;var xhr;try
{if(!sync){requestParams={success:onLicSuccess,failure:onLicFailure};YAHOO.ympyui.util.Connect.initHeader("Content-Type","multitype/form-data");YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music",".pid="+YAHOO.music.WebPlayer.partnerId);YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music-Sig",".crumb="+crumb);YAHOO.ympyui.util.Connect.asyncRequest('POST',licurl,requestParams,body);}else
{xhr=YAHOO.music.WebPlayer.Utils.getXHRObject();if(xhr){xhr.open("POST",licurl,false);xhr.setRequestHeader("Content-Type","multitype/form-data");xhr.setRequestHeader("X-Yahoo-Music",".pid="+YAHOO.music.WebPlayer.partnerId);xhr.setRequestHeader("X-Yahoo-Music-Sig",".crumb="+crumb);xhr.send(body);if(xhr.readyState===4&&xhr.status===200){onLicSuccess(xhr);return;}}onLicFailure(xhr);}}catch(e){err=nsError.make(nsError.GEN_LICREQ_FAILED,"license",e.description||"xhr request exception",e.summary||"",nsError.qos);onDone(err);}};YAHOO.music.WebPlayer.YMUTrackMetadata=function(tracks,callback,scope){var err;if(!callback){return this.nsError.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","YMUTrackMetadata::ctor","Missing callback",YAHOO.music.WebPlayer.Error.qos);}this._callback=callback;this._scope=scope;this.query(tracks);};YAHOO.music.WebPlayer.YMUTrackMetadata.setDummyTrackMeta=function(track){if(!track){return null;}YAHOO.music.WebPlayer.metadata.setDefaultMeta(track,true);if(!track.sourceUrl&&track.id){track.sourceUrl=YAHOO.music.WebPlayer.Utils.YMUTRACKURLBASE+track.id;}return track;};YAHOO.music.WebPlayer.YMUTrackMetadata.prototype={_urlStart:'/wsapi/track/v1/item/',_urlEnd:';response=artists,releases;output=json',nsError:YAHOO.music.WebPlayer.Error,_numChunks:0,_maxIdsPerChunk:200,_numChunkResp:0,_trackMeta:[],_nsUIMsg:YAHOO.music.WebPlayer.uiMessage||{setStatus:function(){},setError:function(){}},query:function(arrIds){var arrChunks=[];this._nsUIMsg.setStatus("IDS_STAT_FETCHMETADATA");this._numChunks=Math.ceil(arrIds.length/this._maxIdsPerChunk);for(var i=0;i<this._numChunks-1;i++){arrChunks[i]=arrIds.slice(i*this._maxIdsPerChunk,((i+1)*this._maxIdsPerChunk));this.atomicQuery(arrChunks[i]);}this.atomicQuery(arrIds.slice((this._numChunks-1)*this._maxIdsPerChunk));},atomicQuery:function(arrIds){var url=this._urlStart;url+=arrIds.join(",");url=url.replace(/[\,]+/g,"\,");url=url.replace(/\/\,/g,"/");var perfObj=new YAHOO.music.WebPlayer.Utils.PerfLog(YAHOO.music.WebPlayer.Utils.PerfLog.spaceIds.GetMetadata);var callback={success:this.onMetaSuccess,failure:this.onMetaFailure,scope:this,argument:perfObj,timeout:30000};try
{YAHOO.ympyui.util.Connect.initHeader("X-Yahoo-Music",".pid="+YAHOO.music.WebPlayer.partnerId);YAHOO.ympyui.util.Connect.asyncRequest('GET',url+this._urlEnd,callback);}catch(e){var err=this.nsError.make(this.nsError.GEN_TRACK_METAFAILED,"general",e.description||"xhr request exception",url+this._urlEnd,this.nsError.qos);}},onMetaSuccess:function(o){var tracksData;var err;if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.send();}try
{eval("tracksData = "+o.responseText);}catch(e){this.nsError.makeFrom(o,this.nsError.qos,this.nsError.GEN_BAD_METAJSONDATA);}if(!(tracksData&&tracksData.Tracks&&tracksData.Tracks.Track)){this._onDone(this.parseErrorResponse(o));return;}var arrTracks=tracksData.Tracks.Track;console.log(arrTracks);if(!YAHOO.music.WebPlayer.Utils.isArray(arrTracks)){arrTracks=[];arrTracks.push(tracksData.Tracks.Track);}var i,len,item;var fldtype=YAHOO.music.MediaEngine.MediaObject;var baseurl=YAHOO.music.WebPlayer.Utils.YMUTRACKURLBASE;for(i=0,len=arrTracks.length;i<len;i++){item=arrTracks[i];if(!item[fldtype.sourceUrl]&&item.id){item[fldtype.sourceUrl]=baseurl+item.id;}}this._onDone(arrTracks);},onMetaFailure:function(o){if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.done();}this._onDone(this.parseErrorResponse(o));},parseErrorResponse:function(respObj){return this.nsError.makeFrom(respObj,this.nsError.qos,this.nsError.GEN_TRACK_METAFAILED);},_onDone:function(results){this._numChunkResp++;if(YAHOO.music.WebPlayer.Utils.isArray(results)){this._trackMeta=this._trackMeta.concat(results);}if(this._numChunkResp<this._numChunks){return;}if(this._scope){if(typeof this._callback==="string"){this._scope[this._callback](this._trackMeta.length>0?this._trackMeta:results);}else
{this._callback.call(this._scope,this._trackMeta.length>0?this._trackMeta:results);}}else
{this._callback(this._trackMeta.length>0?this._trackMeta:results);}this._numChunks=0;this._numChunkResp=0;this._trackMeta=[];this._nsUIMsg.setStatus();}};YAHOO.music.WebPlayer.metadata={setDefaultMeta:function(track,ignoreFilename){if(!track){return null;}if(!track.title){track.title=ignoreFilename?"track name":this.getTitleFromFilename(track.url||track.sourceUrl);}if(!track.Artist){track.Artist={name:track.artist||track.creator||""};}else
{if(YAHOO.music.WebPlayer.Utils.isArray(track.Artist)){track.Artist=track.Artist[0];}}if(!track.Album){track.Album={Release:{title:track.album||""}};}track.Album.Release.Image={url:(track.albumart||track.image)?track.albumart||track.image:"http://l.yimg.com/us.yimg.com/i/us/mus/ymwp/webplayer-default-album-1.5.31.gif"};track.Album.Release.Image.defaultUrl="http://l.yimg.com/us.yimg.com/i/us/mus/ymwp/webplayer-default-album-1.5.31.gif";track.Search={Artist:{},Album:{Release:{}}};track.Search.Artist.name=(track&&track.Artist&&track.Artist.name)?track.Artist.name.replace(/['"]/g,''):"";track.Search.title=track.title.replace(/['"]/g,'');track.Search.Album.Release.title=(track&&track.Album&&track.Album.Release&&track.Album.Release.title)?track.Album.Release.title.replace(/['"]/g,''):"";if(track&&track.Album&&track.Album.Release&&track.Album.Release.title&&track.Album.Release.title.length>0){track.Search.Album.link="http://search.yahoo.com/search?p="+track.Search.Artist.name+" "+track.Search.Album.Release.title+"&fr=client_ymp";track.Album.Release.DisplayTitle=track.Album.Release.title;}else
{if(typeof(track['url'])==="string"&&track['url'].indexOf("http://")!==-1){var domainRegex=/^([a-zA-Z]+:\/\/)?([^\/]+)\/.*?$/;if(track['url'].match(domainRegex)&&document.domain!==RegExp.$2){track.Search.Album.link=RegExp.$1+RegExp.$2;if(track&&track.Album&&track.Album.Release){track.Album.Release.DisplayTitle=RegExp.$1+RegExp.$2;}}}}if(track&&track.Artist&&typeof(track.Artist.name)==="string"&&track.Artist.name.length>0){track.ArtistNameToolTip="'"+track.Artist.name+"'";}if(track&&track.Album&&track.Album.Release&&typeof(track.Album.Release.DisplayTitle)==="string"&&track.Album.Release.DisplayTitle.length>0){track.AlbumTitleToolTip="'"+track.Album.Release.DisplayTitle+"'";}return track;},setMetaFromUrl:function(track,aDefSchema){var url=track.url||track.sourceUrl;if(!url){console.log("metadata:setMetaFromUrl no url");this.setDefaultMeta(track);return;}if(!this.findUrlMetaParams(track)){var parts=this.splitMetaSchema(url);var schema=parts.metaSchema||aDefSchema;if(!schema){this.setDefaultMeta(track);return;}var urlsegments=YAHOO.music.WebPlayer.Utils.parseUrl(parts.url);var fnameParts;if(urlsegments&&urlsegments.filename){fnameParts=urlsegments.filename.split(schema.delim);for(var i=fnameParts.length-1,j=schema.length-1;i>=0&&j>=0;i--,j--){track[schema[j]]=unescape(fnameParts[i].replace(/_/g," "));}}}this.setDefaultMeta(track);},findUrlMetaParams:function(track){var url=track.url||track.sourceUrl;if(!url){console.log("metadata:findUrlMetaParams no url");return false;}if(typeof(track['url'])==="string"&&track['url'].indexOf("http://")!==-1){var domainRegex=/^([a-zA-Z]+:\/\/)?([^\/]+)\/.*?$/;if(track['url'].match(domainRegex)){track['tooltip']="'"+YAHOO.music.WebPlayer.uiStrings.IDS_TOOLTIP_PREAMBLE+RegExp.$1+RegExp.$2+"'";}}var expParams=/(\?([\w\W]+))?$/i;var params;var val;if(url.match(expParams)){params=RegExp.$2;}var expSchema=/schema\=/i;if(!params||params.search(expSchema)!=-1){return false;}params=YAHOO.music.WebPlayer.Utils.xmlDecode(params);var segments=params.split('&');var len=segments.length;for(var i=0;i<len;i++){var subString=segments[i];if(subString.indexOf("=")===-1){if(segments[i-1]&&segments[i-1].length>0){segments[i-1]+="&"+segments[i];}segments[i]=null;}}for(var i=0;i<len;i++){if(typeof(segments[i])==="string"&&segments[i].indexOf("=")!==-1){var nameValPair=segments[i].split("=");var len2=nameValPair.length;if(len2<2)continue;else if(len2>2){for(var j=1;j<len2-1;j++){nameValPair[1]+="="+nameValPair[1+j];}}track[nameValPair[0]]=unescape(nameValPair[1]);}}return true;},splitMetaSchema:function(urlpath){var split={};var schemaVal=null;var exp=/(\?schema\=([\w\W]*))?$/i;var schemaSeg;if(urlpath.match(exp)){schemaSeg=RegExp.$1||"";split.url=urlpath.slice(0,urlpath.length-schemaSeg.length);schemaVal=RegExp.$2;}else
{split.url=urlpath;}if(!schemaVal||schemaVal==""){return split;}var schema=schemaVal.toLowerCase();var delim=/(\W)+/;if(!schema.match(delim)){return split;}var delimstr=RegExp.$1;split.metaSchema=schema.split(delimstr);split.metaSchema.delim=delimstr;return split;},getTitleFromFilename:function(url){var title="track name";var filename;var parts=YAHOO.music.WebPlayer.Utils.parseUrl(url);if(parts){filename=parts.filename;}if(filename&&filename!=""){title=filename.replace(/_/g," ");}return title;},readOnlyFields:function(track,afields){if(!track.rofields){track.rofields="";}var newset=afields.join(",")+",";newset.replace(/creator,/i,"artist,");track.rofields+=newset;}};YAHOO.namespace("YAHOO.music.WebPlayer");YAHOO.music.WebPlayer.YMUStreamMgr=new function(){this.nsUtils=YAHOO.music.WebPlayer.Utils;this.nsError=YAHOO.music.WebPlayer.Error;this.nsui=YAHOO.music.WebPlayer.uiMessage||{setStatus:function(){},setError:function(){}};this.playProps={crumb:null,forceclip:false,keyid:null,licstate:null,stateEnum:{fetching:1,success:2},playErrLimit:5};this.chainGetPlayableUrl=function(){this.baseGetPlayableUrl=YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl;YAHOO.music.MediaEngine.MediaObjectExplorer.getPlayableUrl=this.nsUtils.bind(this,this.getPlayableUrl);};this.chainGetMimeType=function(){this.baseGetMimeType=YAHOO.music.MediaEngine.MediaObjectExplorer.getMimeType;YAHOO.music.MediaEngine.MediaObjectExplorer.getMimeType=this.nsUtils.bind(this,this.getMimeType);};this.chainOnPlayError=function(){this.baseOnPlayError=YAHOO.music.MediaEngine.MediaObjectExplorer.onError;YAHOO.music.MediaEngine.MediaObjectExplorer.onError=this.nsUtils.bind(this,this.onPlayError);};this.isAuthFailure=function(error){return(error&&error.errorCode==this.nsError.WSAPI_ERR_AUTHFAILED&&error.status==this.nsError.WSAPI_ERR_UNAUTHORIZED);};this.fetchCrumb=function(){this.playProps.crumb=null;function onCrumbRetrieved(respObj){this.playProps.crumb=respObj;}var crumbServ=new YAHOO.music.WebPlayer.Crumb(onCrumbRetrieved,this);crumbServ.refresh(true);};this.getPlayableUrl=function(mo,callback,timeout,force){if(!mo||!callback){this.nsError.make(this.nsError.GEN_INVALID_PARAM,"general","streammgr::getPlayableUrl",mo.id,this.nsError.qos);return;}function onUrlQueryDone(respObj){this.nsui.setStatus();var result=this.handleUrlResponse(mo,respObj);callback(result);}var err;var query;if(mo&&this.nsUtils.evalMedia(mo)){if(!this.playProps.drmSupportCheck&&!this.playProps.forceClip){this.playProps.drmSupportCheck=true;var canPlay=YAHOO.music.MediaEngine.MediaObjectExplorer.isDrmSupported(mo);if(canPlay instanceof YAHOO.music.MediaEngine.Error){if(canPlay.errorCode==canPlay.ERR_DRM_UNSUPPORTED){this.playProps.forceclip=true;}}}if(mo.clipurl&&this.clipModeValid()){callback(mo.clipurl);return;}if(!this.playProps.crumb){this.fetchCrumb();if(this.playProps.crumb instanceof this.nsError){err=new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NATIVE_ERROR);err.mediaObject=mo;err.nativeError=this.playProps.crumb;err.nativeError.severity=this.nsError.SEVERITY_1;this.nsui.setError(err.nativeError);callback(err);this.playProps.crumb=null;return;}}this.nsui.setStatus("IDS_STAT_FETCHSTREAM");query=new YAHOO.music.WebPlayer.Playback(mo,onUrlQueryDone,false,timeout,this,this.playProps);}else
{this.baseGetPlayableUrl(mo,callback,timeout,force);}};this.getMimeType=function(mo){if(mo&&this.nsUtils.evalMedia(mo)){var mt={mimeType:'audio/x-ms-wma',extension:'wma'};return mt;}else
{return this.baseGetMimeType(mo);}};this.handleUrlResponse=function(mo,respObj){var that=this;function makeNativeError(error,severity){var meErr=new YAHOO.music.MediaEngine.Error(YAHOO.music.MediaEngine.Error.ERR_NATIVE_ERROR);meErr.mediaObject=mo;meErr.nativeError=error;if(severity){error.severity=severity;}return meErr;}var result=respObj&&respObj.url?respObj.url:null;if(respObj instanceof this.nsError||!result){result=makeNativeError(respObj);if(this.isAuthFailure(respObj)){if(mo.retryErrorCode==respObj.errorCode&&(typeof this.playProps.crumb=="string")){delete mo.retryErrorCode;var newerr=this.nsError.make(this.nsError.GEN_COP_AUTHFAILED,"general",respObj.description,respObj.summary,this.nsError.qos);result=makeNativeError(newerr,this.nsError.SEVERITY_1);}else
{this.fetchCrumb();if(this.playProps.crumb instanceof this.nsError){result=makeNativeError(this.playProps.crumb,this.nsError.SEVERITY_1);}}}else if(respObj.clipurl){respObj.clip=true;result=respObj.clipurl;this.nsui.setError(respObj);}}else
{if(!respObj.clip&&this.needNewLicense()){this.nsui.setStatus("IDS_STAT_LIC");this.getLicense(mo,function(){},null,true);if(this.playProps.licstate instanceof this.nsError){result=makeNativeError(this.playProps.licstate);this.playProps.forceclip=true;return result;}this.playProps.forceclip=false;this.nsui.setStatus(null);}mo.streamDuration=respObj.streamDuration;mo.copcsid=respObj.csid;mo.coptid=respObj.tsid;mo.dmid=respObj.dmid;mo.ymid=respObj.dmid;if(this.playProps.forceclip&&respObj.clip){mo.clipurl=result;}if(!respObj.clip){this.nsui.setError(null);}this.nsui.setState({clip:respObj.clip?true:false});}mo.lastPlayState={};if(typeof result==="string"){mo.lastPlayState.clip=respObj.clip;mo.lastPlayState.ttlUrl=result;}return result;};this.needNewLicense=function(){if(this.playProps.licstate==this.playProps.stateEnum.success){return false;}if(this.nsUtils.getCookie("LicValid")==""){return true;}this.playProps.licstate=this.playProps.stateEnum.success;return false;};this.getLicense=function(mo,cbk,scope,sync){var e;var callback=scope&&cbk?this.nsUtils.bind(scope,cbk):cbk;this.nsui.setStatus("IDS_STAT_LIC");function onLicDone(respObj){var e=null;var uiErr;if(respObj&&respObj.licstr){this.playProps.keyid=respObj.keyid&&respObj.keyid!=""?respObj.keyid:null;e=YAHOO.music.MediaEngine.MediaObjectExplorer.storeLicense(mo,respObj.licstr);if(!e){this.playProps.licstate=this.playProps.stateEnum.success;this.nsUtils.createCookie("LicValid","1",10);}else
{uiErr=this.nsError.make(this.nsError.GEN_LIC_STORE,"license",e.message,e.description,this.nsError.qos);this.playProps.licstate=uiErr;}}else
{this.playProps.licstate=respObj;}if(callback){callback(this.playProps.licstate);}}if(!mo||!this.nsUtils.evalYMUTrack(mo)){return;}if(this.playProps.licstate==this.playProps.stateEnum.fetching){return;}var systemInfo=YAHOO.music.MediaEngine.MediaObjectExplorer.getSystemInfo(mo);if(!systemInfo||systemInfo instanceof YAHOO.music.MediaEngine.Error){e=this.nsError.makeFrom(systemInfo,this.nsError.qos,this.nsError.GEN_GETSYSINFO_FAILED,"license");this.playProps.licstate=e;if(systemInfo.errorCode==systemInfo.ERR_NEED_PLUGIN){e.errorCode=this.nsError.GEN_MEDENG_NEEDPLUGIN;e.context="general";this.playProps.forceclip=true;}if(systemInfo.severity==systemInfo.SEVERITY_1){this.playProps.forceclip=true;}if(callback){callback(e);}return;}this.playProps.licstate=this.playProps.stateEnum.fetching;YAHOO.music.WebPlayer.Playback.getLicense(mo,systemInfo,sync,onLicDone,this,this.playProps);};this.clipModeValid=function(){if(!this.playProps.forceclip){return false;}if(this.playProps.licstate&&this.playProps.licstate.errorCode==this.nsError.GEN_MEDENG_NEEDPLUGIN){var sys=YAHOO.music.MediaEngine.MediaObjectExplorer.getSystemInfo();if(sys&&!(sys instanceof YAHOO.music.MediaEngine.Error)){this.playProps.licstate=null;this.playProps.forceclip=false;return false;}}return true;};this.onPlayError=function(error,callback,arrErrs){var nsError=this.nsError;function onLicenseDone(err){if(err&&err instanceof this.nsError){error.errorCode=this.nsError.ERR_NATIVE_ERROR;error.nativeError=err;callback(error,false);}else
{callback(null,true);}}function ofLocalOrigin(error){return(error.errorCode==error.ERR_NATIVE_ERROR&&(error.nativeError instanceof nsError));}var result=true;if(error.errorCode===error.ERR_TIMEOUT){var msg=YAHOO.music.WebPlayer.uiStrings.get("IDS_STAT_TIMEDOUT");error.summary=msg;this.nsui.setError(error);return;}if(error.errorCode===error.ERR_NEED_LICENSE){if(this.getLicense(error.mediaObject,onLicenseDone,this,true)){return false;}}if(ofLocalOrigin(error)){var nativeErr=error.nativeError;var status=null;result=false;if(this.isAuthFailure(nativeErr)){error.mediaObject.retryErrorCode=nativeErr.errorCode;callback(null,true);return false;}else if(nativeErr.context=="license"&&this.playProps.forceclip){status="IDS_STAT_LICFAILED";callback(null,true);}else if(nativeErr.errorCode==this.nsError.GEN_COPSERVICE_FAILED){nativeErr.severity=this.nsError.SEVERITY_1;callback(error,false);}else if(nativeErr.errorCode==this.nsError.GEN_MEDENG_NEEDPLUGIN&&this.playProps.forceclip){callback(null,true);}if(nativeErr.context!="stream"){this.nsui.setError(nativeErr,status);}else
{result=true;}}else if(this.nsUtils.isArray(arrErrs)){var nYmuErrs=0;var mo;for(var i=0,len=arrErrs.length;i<len;i++){mo=arrErrs[i].mediaObject;if(mo&&mo.ymu){nYmuErrs++;if(nYmuErrs==this.playProps.playErrLimit){var err=this.nsError.make(this.nsError.GEN_PLAYER_THRESHOLD,"general","","",this.nsError.qos);err.severity=this.nsError.SEVERITY_1;this.nsui.setError(err);callback(error,false);result=false;}}}}if(result==true&&error.mediaObject&&!error.mediaObject.error){error.mediaObject.error=this.nsError.makeFrom(error);}return result===false?false:this.baseOnPlayError(error,callback,arrErrs);};this.chainGetPlayableUrl();this.chainOnPlayError();this.chainGetMimeType();}();YAHOO.music.WebPlayer.Xspf=function(xspfObj,callback,scope){var err;var xspfpath=xspfObj.url;this.nsError=YAHOO.music.WebPlayer.Error;if(!callback||!xspfpath){return this.nsError.make(YAHOO.music.WebPlayer.Error.GEN_INVALID_PARAM,"general","Xspf::ctor","Missing callback",YAHOO.music.WebPlayer.Error.qos);}var split=this._nsMeta.splitMetaSchema(xspfpath);this.xspf=split.url;this.metaSchema=split.metaSchema;this._callback=callback;this._scope=scope;this.xspfpath=xspfpath;this.xspfMimeType=xspfObj.mimeType;};YAHOO.music.WebPlayer.Xspf.prototype={_xpathTrackExpr:"xspf:playlist/xspf:trackList/xspf:track",_xpathIdExpr:"xspf:playlist/xspf:trackList//xspf:identifier",_xspfns:'http://xspf.org/ns/0/',_tracks:[],_trackurlBase:YAHOO.music.WebPlayer.Utils.YMUTRACKURLBASE,_nsYMUMeta:YAHOO.music.WebPlayer.YMUTrackMetadata,_nsMeta:YAHOO.music.WebPlayer.metadata,query:function(){var perfObj=new YAHOO.music.WebPlayer.Utils.PerfLog(YAHOO.music.WebPlayer.Utils.PerfLog.spaceIds.GetXspf);var err;var callback={success:this.onXspfSuccess,failure:this.onXspfFailure,scope:this,timeout:30000,argument:perfObj};var myRegExp=/(https?|ftp):\/\/([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\?[-A-Z0-9+&@#\/%=~_|!:,.;]*)?/i;var match=myRegExp.exec(this.xspfpath);var urlObj={};urlObj.url=match[0];urlObj.protocol=match[1];urlObj.domain=match[2];urlObj.path=match[3];urlObj.param=match[4];if(urlObj.domain==document.domain&&this.xspfMimeType!=YAHOO.music.WebPlayer.Utils.XSPFPLAYTHISPAGEMIMETYPE){try
{YAHOO.ympyui.util.Connect.asyncRequest('GET',this.xspfpath,callback);}catch(e){err=this.nsError.make(this.nsError.GEN_PLQUERY_FAILED,"general",e.description||"xhr request exception",this.xspfpath);err.severity=this.nsError.SEVERITY_1;this._onDone(err);}}else
{var result=YAHOO.music.WebPlayer.Utils.SWFProxy.getXSPF(this.xspfpath,callback);if(!result){var err=this.nsError.make(this.nsError.GEN_PLQUERY_FAILED,"general","swfproxy request exception",this.xspfpath);err.severity=this.nsError.SEVERITY_1;this._onDone(err);}}},_getResponseXml:function(o){if(!o){return null;}var xspfxml=null;try
{if(window.ActiveXObject){xspfxml=new ActiveXObject("Microsoft.XMLDOM");xspfxml.async="false";xspfxml.loadXML(o.responseText);}else
{var parser=new DOMParser();xspfxml=parser.parseFromString(o.responseText,"text/xml");}}catch(e){}if(!xspfxml){xspfxml=o.responseXML;}return xspfxml;},onXspfSuccess:function(o){if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.send();}var xspfxml=this._getResponseXml(o);if(!xspfxml){this._onDone(this.nsError.make(this.nsError.GEN_PLAYLIST_INVALID,"general",o.responseText,"responseXML null"));return;}var err=this._getTracks(xspfxml);if(!err&&this._tracks.ids&&this._tracks.ids.length>0){var query=new YAHOO.music.WebPlayer.YMUTrackMetadata(this._tracks.ids,this.onYMUTrackMetaDone,this);}else
{this._onDone(err?err:this._tracks);}},onXspfFailure:function(o){if(o.argument instanceof YAHOO.music.WebPlayer.Utils.PerfLog){o.argument.done();}var err=this.nsError.makeFrom(o,null,this.nsError.GEN_PLQUERY_FAILED,"general");err.description=this.xspf+" "+err.description;err.severity=this.nsError.SEVERITY_1;this._onDone(err);},_getTracks:function(xspfxml){var trackNodes;var err=null;this._tracks=[];this._tracks.metadata={};this._tracks.ids=[];if(document.evaluate){try
{var that=this;function nsResolver(prefix){var ns={'xspf':that._xspfns};return ns[prefix]||null;}trackNodes=xspfxml.evaluate(this._xpathTrackExpr,xspfxml,nsResolver,XPathResult.ANY_TYPE,null);var iter=trackNodes.iterateNext();if(!iter){err=this.nsError.make(this.nsError.GEN_PLAYLIST_EMPTY,"general","Empty playlist","No error");}else
{while(iter){this._addTrack(iter);iter=trackNodes.iterateNext();}}}catch(e){err=this.nsError.make(this.nsError.GEN_PLQUERY_FAILED,"general",e.description||"xpath exception","_getTracks");}}else
{if(typeof(xspfxml.setProperty)!=="undefined"){xspfxml.setProperty("SelectionNamespaces","xmlns:xspf='http://xspf.org/ns/0/'");xspfxml.setProperty("SelectionLanguage","XPath");trackNodes=xspfxml.selectNodes(this._xpathTrackExpr);}if(trackNodes==null||trackNodes.length===0){trackNodes=xspfxml.getElementsByTagName("track");}if(trackNodes.length>0){for(var i=0,len=trackNodes.length;i<len;i++){this._addTrack(trackNodes[i]);}}else
{err=this._handleXPathError(xspfxml);}}trackNodes=null;return err;},_addTrack:function(xspfTrackNode){var track={};var fields=[];var item;var nsUtils=YAHOO.music.WebPlayer.Utils;var nsMO=YAHOO.music.MediaEngine.MediaObject;var trackprops=xspfTrackNode.childNodes;track.xspfpath=this.xspfpath;for(var i=0,len=trackprops.length;i<len;i++){item=trackprops[i];if(item.nodeType!=1){continue;}if(item.nodeName==="identifier"||item.nodeName==="location"){if(track.ymu&&track.sourceUrl&&track.sourceUrl!=""){continue;}var url=item.firstChild?item.firstChild.nodeValue:null;if(!url){continue;}if(YAHOO.music.WebPlayer.HTrack.Parser._isValidHref(url)===false){continue;}track[nsMO.url]=url;if(url&&nsUtils.isYMUTrack(url)){track.ymu=true;nsUtils.evalYMUTrack(track);this._tracks.ids.push(track.id);}}if(item.firstChild){var data=nsUtils.trim(item.firstChild.nodeValue);if(data&&data!=""){track[item.nodeName]=item.firstChild.nodeValue;fields.push(item.nodeName);}}}this._nsMeta.readOnlyFields(track,fields);if(track.url.indexOf("file://")===-1&&track.url.toLowerCase().indexOf("http://localhost")===-1){this._tracks.push(track);}if(!track.ymu){this._nsMeta.setMetaFromUrl(track,this.metaSchema);}else
{this._nsMeta.setDefaultMeta(track);}if(!track[nsMO.url]&&!track[nsMO.sourceUrl]){track.error=this.nsError.make(this.nsError.GEN_URL_MISSING,"general","guid="+this._getPlaylistName(),"xspf:_addTrack");}trackprops=null;},onYMUTrackMetaDone:function(arrMeta){if(arrMeta.errorCode===YAHOO.music.WebPlayer.Error.GEN_TRACK_METAFAILED){this._onDone(this._tracks);return;}var metahash={};for(var i=0,len=arrMeta.length;i<len;i++){metahash["id"+arrMeta[i].id]=arrMeta[i];}var track;var key;for(i=0,len=this._tracks.length;i<len;i++){track=this._tracks[i];if(!track.ymu){continue;}key="id"+track.id;if(metahash[key]){this._tracks[i]=metahash[key];}}this._onDone(this._tracks);},_handleXPathError:function(xspfxml){var domNodeList;var err=null;var oDOM;try
{oDOM=new ActiveXObject("MSXML2.DOMDocument");oDOM.async=oDOM.resolveExternals=oDOM.validateOnParse=false;oDOM.setProperty("SelectionNamespaces","xmlns:xspf='http://xspf.org/ns/0/'");oDOM.setProperty("SelectionLanguage","XPath");xspfxml.save(oDOM);if(oDOM.parseError.errorCode){err=this.nsError.make(this.nsError.GEN_PLAYLIST_INVALID,"general","error code = "+oDOM.parseError.errorCode,oDOM.parseError.reason);}else
{err=this.nsError.make(this.nsError.GEN_PLAYLIST_EMPTY,"general","Empty playlist","No error");}}catch(e){err=this.nsError.make(this.nsError.GEN_PLQUERY_FAILED,"general",e.description||"DOm exception","_handleXPathError");}oDOM=domNodeList=null;return err;},_onDone:function(results){if(results instanceof this.nsError){results.description=this._getPlaylistName()+" "+results.description;results.log(this.nsError.qos);}if(this._scope){if(typeof this._callback==="string"){this._scope[this._callback](results);}else
{this._callback.call(this._scope,results);}}else
{this._callback(results);}},_getPlaylistName:function(){if(this.plname){return this.plname;}this.plname="unknown";var expr=/playlist\/([\w\W]+)\.xspf$/;if(this.xspf.match(expr)){this.plname=RegExp.$1;}return this.plname;}};YAHOO.namespace("YAHOO.music.WebPlayer");YAHOO.music.WebPlayer.YMUFeed=function(uiStatusClbkObj){this.nsError=YAHOO.music.WebPlayer.Error;this.nsUIMsg=YAHOO.music.WebPlayer.uiMessage;this.nsUIMsg.uiStatusClbk=this.nsUIMsg.uiStatusClbk||uiStatusClbkObj;this.streamMgr=YAHOO.music.WebPlayer.YMUStreamMgr;};YAHOO.music.WebPlayer.YMUFeed.prototype={constructor:YAHOO.music.WebPlayer.YMUFeed,_onDone:function(results,pos,callback,scope){if(YAHOO.MediaPlayer){YAHOO.MediaPlayer._fireOnScrapeComplete({tracks:results});}if(scope){if(typeof callback==="string"){scope[callback](results,pos);}else
{callback.call(scope,results,pos);}}else
{callback(results);}},abort:function(){this._abort=true;},process:function(input,bsync,pos,callback,scope){if(!input){return this.nsError.make(this.nsError.GEN_INVALID_PARAM,"general","YMUFeed::process","Missing input param",this.nsError.qos);}if(!callback){return this.nsError.make(this.nsError.GEN_INVALID_PARAM,"general","YMUFeed::ctor","Missing callback",this.nsError.qos);}var elemId,elem;var htrackFeed;var o;var _this=this;var exp=/[\w|-]*#([\w|-]*)/;if(typeof input==="string"){if(input.match(exp)){elemId=RegExp.$1;if(elemId){elem=document.getElementById(elemId);if(elem){htrackFeed=new YAHOO.music.WebPlayer.HTrackFeed(elem,function(tracks){_this._processArray(tracks,callback,scope);},true,bsync);return;}}else
{}return;}else
{o={};o.url=input;input=[o];}}this._processArray(input,pos,callback,scope);},_processArray:function(arrItems,pos,callback,scope){var idx=0,curPlIdx=0,insertedTracks=0;var _this=this;var utils=YAHOO.music.WebPlayer.Utils;var bplDone=false,bTracksDone=false,bXspfDone=false,bAllReqsMade=false;var aNonYMUTrack=[];var yTrackIds=[];var aPl=[];var xspf=[];yTrackIds.metadata={};yTrackIds.item=[];function checkAndCommit(){if(!bplDone||!bTracksDone||!bXspfDone||!bAllReqsMade){return;}var i,len,key,meta;var finalArr=[];var iteminPos;var nsMeta=YAHOO.music.WebPlayer.YMUTrackMetadata;var metaErr=yTrackIds.metadata.err;for(i=0,len=arrItems.length;i<len;i++){iteminPos=yTrackIds[i]||aPl[i]||aNonYMUTrack[i]||xspf[i];if(utils.isArray(iteminPos)){finalArr=finalArr.concat(iteminPos);}else if(!(iteminPos instanceof _this.nsError)){if(iteminPos===yTrackIds[i]){key="id"+yTrackIds[i];meta=yTrackIds.metadata[key];if(meta){utils.enhance(yTrackIds.item[i],meta);}else if(metaErr){yTrackIds.item[i].error=metaErr;yTrackIds.item[i].error.extraInfo="YMU track id "+yTrackIds.item[i];}finalArr.push(nsMeta.setDummyTrackMeta(yTrackIds.item[i]));}else
{finalArr.push(iteminPos);}}}if(finalArr.length===0){if(iteminPos instanceof _this.nsError){finalArr=iteminPos;}else
{finalArr=_this.nsError.make(_this.nsError.GEN_UNSUPPORTED_PLAYTYPE,"general");}}_this._onDone(finalArr,pos,callback,scope);YAHOO.music.WebPlayer.onPlaylistReady.fire(finalArr);}function onPlaylistQueryDone(arrPl){bplDone=true;this.nsUIMsg.setStatus();if(arrPl instanceof this.nsError){this.nsUIMsg.setError(arrPl);checkAndCommit();return;}var stripBraces=utils.removeBraces;var i,j,len,lenPos,pos,id,item,itemPosArr;for(i=0,len=arrPl.length;i<len;i++){item=arrPl[i];id=stripBraces(item.id);itemPosArr=aPl[id];for(j=0,lenPos=aPl[id].length;j<lenPos;j++){pos=aPl[id].shift();aPl[pos]=item.Track;}}checkAndCommit();}function onTrackMetadataDone(aTrackMeta){var i,len,item;bTracksDone=true;this.nsUIMsg.setStatus();if(aTrackMeta instanceof this.nsError){yTrackIds.metadata.err=aTrackMeta;checkAndCommit();return;}for(i=0,len=aTrackMeta.length;i<len;i++){item=aTrackMeta[i];yTrackIds.metadata["id"+item.id]=item;}checkAndCommit();}function onXspfDone(arrTracks,idx){this.nsUIMsg.setStatus();arrTracks.extraInfo=xspf[idx].title;var hasTracks=utils.isArray(arrTracks)&&arrTracks.length>0;if(!hasTracks){arrTracks instanceof this.nsError?this.nsUIMsg.setError(arrTracks):this.nsUIMsg.setStatus("IDS_PLAYLIST_EMPTY");}else
{var xspfelTrack=xspf[idx].elTrack;var ancIndex=xspf[idx].index;for(var i=0,len=arrTracks.length;i<len;i++){arrTracks[i].index=ancIndex;arrTracks[i].elTrack=xspfelTrack;}}xspf[idx]=arrTracks;xspf.count--;if(xspf.count===0){bXspfDone=true;checkAndCommit();}}function sortByType(aItems){var item;var i,len;var key;for(i=0,len=aItems.length;i<len;i++){item=aItems[i];utils.evalMedia(item);switch(item.mediaType){case utils.YMUTRACKTYPE:yTrackIds[i]=item.id;yTrackIds.item[i]=item;break;case utils.XSPFTYPE:xspf[i]=item;break;case utils.YMUPLAYLISTTYPE:aPl[i]=item;if(!aPl[item.id]){aPl[item.id]=[];}aPl[item.id].push(i);break;default:if(!item.ymu){YAHOO.music.WebPlayer.metadata.setMetaFromUrl(item);aNonYMUTrack[i]=item;}else
{_this.nsError.make(_this.nsError.GEN_UNSUPPORTED_PLAYTYPE,"general","YMUFeed:sortByType",item.url||"Unknown",_this.nsError.qos);}break;}}}var o;if(!utils.isArray(arrItems)){if(typeof arrItems==="string"){o={};o.url=arrItems;arrItems=[o];}else
{o=arrItems;arrItems=[o];}}sortByType(arrItems);bAllReqsMade=false;bplDone=aPl.length===0;bTracksDone=yTrackIds.length===0;bXspfDone=!xspf||!xspf.length;var query;if(!bTracksDone){this.nsUIMsg.setStatus("IDS_STAT_FETCHMETADATA");query=new YAHOO.music.WebPlayer.YMUTrackMetadata(yTrackIds,onTrackMetadataDone,this);}if(!bXspfDone){this.nsUIMsg.setStatus("IDS_STAT_FETCHPLAYLIST");var xspfcbk;xspf.count=0;var xspfobjs=[];for(var i=0,len=xspf.length;i<len;i++){if(xspf[i]){xspfcbk=utils.bind(this,onXspfDone,undefined,i);xspfobjs[xspf.count]=new YAHOO.music.WebPlayer.Xspf(xspf[i],xspfcbk,this);xspf.count++;}}for(i=0,len=xspfobjs.length;i<len;i++){xspfobjs[i].query();}}if(!bplDone){this.nsUIMsg.setStatus("IDS_STAT_FETCHPLAYLIST");query=new YAHOO.music.WebPlayer.YMUPlaylistTracks(aPl,onPlaylistQueryDone,this);}bAllReqsMade=true;checkAndCommit();}};YAHOO.namespace("YAHOO.music.WebPlayer");YAHOO.music.WebPlayer.HTrackFeed=function(elm,callback,bScrape,bSync){this._onDone=callback;this._domElem=elm|document;if(bScrape){this.scrape(elm,true,bSync);}};YAHOO.music.WebPlayer.HTrackFeed.prototype={constructor:YAHOO.music.WebPlayer.HTrackFeed,scrape:function(domElem,bClear,bSync){if(domElem){this._domElem=domElem;}var that=this;var execute=function(){YAHOO.music.WebPlayer.HTrack.Parser.scrape(domElem,!bClear);if(that._onDone){that._onDone(that.getTracks());}};if(bSync){execute();}else
{window.setTimeout(execute,0);}},getTracks:function(){return YAHOO.music.WebPlayer.HTrack.Parser.getScrapedTracks();}};YAHOO.music.WebPlayer.learnMoreLink=(ympparams["injected-by"]=="foxytunes-ff")?"http://www.foxytunes.com/mediaplayers/yahoo-media-player/":"http://mediaplayer.yahoo.com";YAHOO.music.WebPlayer.webplayermarkup='<div id="ymwp-player" class="ymwp-player-class ymwp-absolute"> <div id="ymwp-maximizeplayqueue" class="ymwp-maximizeplayqueue-class ymwp-button-class">Playlist<span></span></div> <div id="ymwp-player-body" class="ymwp-player-body-class">  <span class="ymwp-renderstatechange-event"><a id="ymwp-open" class="ymwp-open-class ymwp-button-class" href="#"></a></span>  <span class="ymwp-renderstatechange-event">   <div id="ymwp-prev" class="ymwp-prev-class ymwp-button-class"></div>   <div id="ymwp-pause" class="ymwp-pause-class ymwp-button-class"></div>   <div id="ymwp-play" class="ymwp-play-class ymwp-button-class"></div>   <div id="ymwp-next" class="ymwp-next-class ymwp-button-class"></div>  </span>  <div id="ymwp-volume-bg" class="ymwp-volume-bg-class">   <div id="ymwp-volume-off-bg" class="ymwp-volume-off-bg-class"></div>   <div id="ymwp-volume-thumb" class="ymwp-volume-thumb-class"></div>  </div>  <a id="ymwp-maximize" class="ymwp-maximize-class" href="#"></a>  <div id="ymwp-nowplaying" class="ymwp-nowplaying-class">   <div class="ymwp-setcurrent-event">    <a href="http://search.yahoo.com/search?p={Search.Artist.name}%20{Search.title}&fr=client_ymp" class="ymp-nowplaying-albumart-class" target="_new">     <img id="ymwp_defaultImgUrl" src="ympurl:///{Album.Release.Image.defaultUrl}" onload="YAHOO.music.WebPlayer.checkImgAltAttribute(this);YAHOO.ympyui.util.Dom.setStyle(this,\'visibility\', \'visible\');" width="47px" height="47px" alt="{Album.Release.title} " />    </a>    <a href="http://search.yahoo.com/search?p={Search.Artist.name}%20{Search.title}&fr=client_ymp" class="ymp-nowplaying-albumart-class" target="_new">     <img src="ympurl:///{Album.Release.Image.url}" onload="YAHOO.music.WebPlayer.checkImgAltAttribute(this);YAHOO.ympyui.util.Dom.setStyle(this,\'visibility\', \'visible\');" width="47px" height="47px" alt="{Album.Release.title} " />    </a>    <div class="ymp-nowplaying-queueposition-class">     <b>{queuePosition}.&nbsp;</b>    </div>    <div class="ymwp-nowplaying-title-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="http://search.yahoo.com/search?p={Search.Artist.name}%20{Search.title}&fr=client_ymp" target="_new" title="{tooltip}">{title}</a>    </div>    <div class="ymwp-nowplaying-artist-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="http://search.yahoo.com/search?p={Search.Artist.name}&fr=client_ymp" title="{ArtistNameToolTip}" target="_new">{Artist.name}</a>    </div>    <div class="ymwp-nowplaying-album-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="ympurl:///{Search.Album.link}" title="{AlbumTitleToolTip}" target="_new">{Album.Release.DisplayTitle}</a>    </div>   </div>   <div class="ymwp-setcurrent-ymu-event">    <a href="http://music.yahoo.com/release/{Album.Release.id}" class="ymp-nowplaying-albumart-class" target="_new">     <img src="http://l.yimg.com/img.music.yahoo.com/image/v1/track/{id}" onload="YAHOO.ympyui.util.Dom.setStyle(this,\'visibility\', \'visible\');" width="47px" height="47px" alt="{Album.Release.title} " />    </a>    <div class="ymp-nowplaying-queueposition-class">     <b>{queuePosition}.&nbsp;</b>    </div>    <div class="ymwp-nowplaying-title-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="http://music.yahoo.com/track/{id}" target="_new"><b>{title}</b></a>    </div>    <div class="ymwp-nowplaying-artist-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="http://music.yahoo.com/ar-{Artist.id}" target="_new">{Artist.name}</a>    </div>    <div class="ymwp-nowplaying-album-class ymwp-ellipsis">     <a class="ymwp-ellipsis" href="ympurl:///{Search.Album.link}" target="_new">{Album.Release.DisplayTitle}</a>    </div>   </div>   <div id="ymwp-nowplaying-topright">    <span id="ymwp-local-link-button-container">     <a id="ymwp-local-link-button" onclick="return false;" title="find on page">Local</a>    </span>    <div id="ymwp-nowplayinginfo" class="ymwp-nowplaying-infobutton-class ymwp-infobutton-class"></div>   </div>   <div id="ymwp-nowplaying-bottomright">    <span id="ymwp-buy" class="ymwp-buy-class ymwp-setcurrent-event ymwp-button-class"></span>    <div class="ymwp-progress-class ymwp-onprogress-event">{position}{duration}</div>   </div>  </div>  <div class="ymwp-upsellcont-class">   <a id="ymwp-contplay" class="ymwp-contplay-button">Pop</a>   <a href="'+YAHOO.music.WebPlayer.learnMoreLink+'" class="ymwp-getthisplayer" target="_new"><b>learn more about this player</b></a>  </div> </div> <a id="ymwp-minimize" class="ymwp-minimize-class" href="#"></a></div><div id="ymwp-playqueue" class="ymwp-playqueue-class"> <div id="ymwp-minimizeplayqueue" class="ymwp-minimizeplayqueue-class ymwp-button-class">Playlist<span></span></div> <div class="ymwp-playqueue-top-class">  <div class="ymwp-playqueue-top-corner-class"></div> </div> <div id="ymwp-playqueue-list" class="ymwp-playqueue-list-class">  <ol>   <li id="ymwp-playqueue-item">    <a class="ymwp-playqueue-anchor-class" href="javascript:void(0);">{queuePosition}. <b>{title}</b>{Artist.name}</a>   </li>  </ol> </div> <div class="ymwp-playqueue-bottom-class"></div></div><form id="ymwp-contplay-form" name="contplayform" action="" method="post" target="_new"> <input name="playlistpos" type="hidden" value="0" /> <input name="seekpos" type="hidden" value="0" /></form>';YAHOO.namespace("music.WebPlayer");YAHOO.music.WebPlayer.ClassEvent=function(className,el){this._readTemplates(YAHOO.ympyui.util.Dom.getElementsByClassName(className,null,el));};YAHOO.music.WebPlayer.ClassEvent.prototype={arrEl:null,arrTemplate:null,arrSavedHTML:null,dummyMedia:{id:"12345",Album:{Release:{Image:{url:"../../img/webplayer-default-album-CURRENT_VERSION.gif",defaultUrl:"../../img/webplayer-default-album-CURRENT_VERSION.gif"}}}},fire:function(dataobj,save){for(var i=0;i<this.arrEl.length;i++){if(save&&(this.arrEl[i].innerHTML!=dataobj)){this.arrSavedHTML[i]=this.arrEl[i].innerHTML;}if(dataobj==undefined){this.arrEl[i].innerHTML=(this.arrSavedHTML[i]?this.arrSavedHTML[i]:'');}else if(typeof dataobj=="string"){this.arrEl[i].innerHTML=dataobj;}else
{this.arrEl[i].innerHTML=this._supplant(this.arrTemplate[i],dataobj);}}},_readTemplates:function(arrEl){this.arrEl=arrEl;this.arrTemplate=[];this.arrSavedHTML=[];for(var i=0;i<this.arrEl.length;i++){var str=this.arrEl[i].innerHTML;str=str.replace(/%7B/gi,'{');str=str.replace(/%7D/gi,'}');this.arrTemplate[i]=str.replace(/ympurl:\/\/\//gi,'');this.arrEl[i].innerHTML=this._supplant(this.arrTemplate[i],this.dummyMedia);}},_supplant:function(t,o){return t.replace(/{([^{}]*)}/g,function(a,b){var values=b.split('.');var r=o;for(var i=0;i<values.length;i++){r=(r[values[i]])?(r[values[i]]):null;if(!r)break;}return typeof r==='string'?YAHOO.music.WebPlayer.Utils.escapeHTML(r):'';});}};YAHOO.namespace("music.WebPlayer");YAHOO.music.WebPlayer.PlayerUI=function(){this.name="ymwp-player";this.seekPos=0;this.playlistPos=0;this._bindElements();this._bindButtonStates();this._createPanels();this._createPlayer();this._sliderInit();this._renderState=null;this.onSetCurrent();};YAHOO.music.WebPlayer.PlayerUI.prototype={destroy:function(){this.player.detach();YAHOO.ympyui.util.Event.removeListener(window,"resize",this._onresize);YAHOO.ympyui.util.Event.removeListener(window,"scroll",this._onscroll);},_sliderInit:function(){this._createVolumeSlider();this._setInitialState();this._bindWindowListeners();},EnumUIState:{UIS_MINIMIZED:"minimized",UIS_OPENED:"opened",UIS_MAXIMIZED:"maximized"},initialUIState:"minimized",setUIState:function(uistate,callback,scope){switch(uistate){case this.EnumUIState.UIS_MINIMIZED:this.minimize(callback,scope);break;case this.EnumUIState.UIS_OPENED:this.open(callback,scope);break;case this.EnumUIState.UIS_MAXIMIZED:this.maximize(callback,scope);break;}},show:function(state,callback,scope){var curstate=this.playerPanel.cfg.getProperty("visible");state=(state==undefined)?true:state;var minHeight=262;var minWidth=661;var vpHeight=YAHOO.ympyui.util.Dom.getViewportHeight();var vpWidth=YAHOO.ympyui.util.Dom.getViewportWidth();if(vpHeight<minHeight||vpWidth<minWidth){state=false;}this.playerPanel.cfg.setProperty("visible",state);if(state){var u=YAHOO.music.WebPlayer.Utils;if(u.spaceIds&&u.spaceIds.WebPlayerShown){u.logDyc(u.spaceIds.WebPlayerShown);}}if(state&&!curstate){this.setUIState(this.initialUIState,callback,scope);}else if(callback){scope?callback.call(scope):callback();}},_bindWindowListeners:function(){YAHOO.ympyui.util.Event.addListener(window,"resize",this._onresize,this,true);YAHOO.ympyui.util.Event.addListener(window,"scroll",this._onscroll,this,true);},_onUserData:function(results){if(this.user.isMember){}},_bindElements:function(){var markup;if(YAHOO.music.WebPlayer.webplayermarkup){markup=YAHOO.music.WebPlayer.webplayermarkup;}var el=document.createElement("DIV");el.innerHTML=markup;this._setCurrentEvent=new YAHOO.music.WebPlayer.ClassEvent("ymwp-setcurrent-event",el);this._setCurrentYMUEvent=new YAHOO.music.WebPlayer.ClassEvent("ymwp-setcurrent-ymu-event",el);this._onProgressEvent=new YAHOO.music.WebPlayer.ClassEvent("ymwp-onprogress-event",el);document.body.appendChild(el);this.elPlayer=YAHOO.ympyui.util.Dom.get("ymwp-player");this.elPlayQueue=YAHOO.ympyui.util.Dom.get("ymwp-playqueue");this.elPlayQueueItem=YAHOO.ympyui.util.Dom.get("ymwp-playqueue-item");(this.elPlayer)?YAHOO.ympyui.util.Event.addListener(this.elPlayer,"click",this._onPlayerClick,this,true):null;(this.elPlayer)?YAHOO.ympyui.util.Event.addListener(this.elPlayer,"mouseover",this._onPlayerMouseOver,this,true):null;(this.elPlayer)?YAHOO.ympyui.util.Event.addListener(this.elPlayer,"mouseout",this._onPlayerMouseOut,this,true):null;(this.elPlayQueue)?YAHOO.ympyui.util.Event.addListener(this.elPlayQueue,"click",this._onPlayerClick,this,true):null;(this.elPlayQueue)?YAHOO.ympyui.util.Event.addListener(this.elPlayQueue,"select",this._onStopEvent,this,true):null;(document.body)?YAHOO.ympyui.util.Event.addListener(document.body,"click",this._onBodyClick,this,true):null;YAHOO.ympyui.util.Event.addListener("ymwp-playqueue-list","scroll",this._onPlayQueueScroll,this,true);YAHOO.ympyui.util.Event.addListener("ymwp-contplay","click",this.popPlayer,this,true);if(this.elPlayQueueItem){this.elPlayQueueItemParentNode=this.elPlayQueueItem.parentNode;this.elPlayQueueItem.parentNode.removeChild(this.elPlayQueueItem);this.elPlayQueueItemTemplate=decodeURIComponent(this.elPlayQueueItem.innerHTML);}},popPlayer:function(e){},_setInitialState:function(){},_createPanel:function(el,vis,zIndex){var width=YAHOO.ympyui.util.Dom.getStyle(el,"width");var height=YAHOO.ympyui.util.Dom.getStyle(el,"height");var top=parseInt(YAHOO.ympyui.util.Dom.getStyle(el,"top"));var left=parseInt(YAHOO.ympyui.util.Dom.getStyle(el,"left"));var cssoverlay=YAHOO.ympyui.widget.Overlay.CSS_OVERLAY;var cssmodule=YAHOO.ympyui.widget.Module.CSS_MODULE;YAHOO.ympyui.widget.Overlay.CSS_OVERLAY="ymwp-absolute";YAHOO.ympyui.widget.Module.CSS_MODULE="";var panel=new YAHOO.ympyui.widget.Overlay(el.id+"-overlay",{monitorresize:true,visible:(vis?true:false),width:width,height:height,x:left,y:top,zIndex:(zIndex?zIndex:10000)});YAHOO.ympyui.widget.Overlay.CSS_OVERLAY=cssoverlay;YAHOO.ympyui.widget.Overlay.CSS_MODULE=cssmodule;YAHOO.ympyui.util.Dom.setStyle(el,"left","0px");YAHOO.ympyui.util.Dom.setStyle(el,"top","0px");YAHOO.ympyui.util.Dom.setStyle(el,'display','none');panel.appendToBody(el);panel.render(document.body);YAHOO.ympyui.util.Dom.setStyle(el,'display','block');width=YAHOO.ympyui.util.Dom.getStyle(el,"width");height=YAHOO.ympyui.util.Dom.getStyle(el,"height");panel.cfg.setProperty('width',width);panel.cfg.setProperty('height',height);YAHOO.ympyui.util.Dom.addClass(el,"ymwp-absolute");return panel;},_createPanels:function(){this.playerPanel=this._createPanel(this.elPlayer,false,9999);this.playQueuePanel=this._createPanel(this.elPlayQueue,false);if(this.browser=='gecko'||(this.browser=='ie7'&&this.ie7DocMode=="standards")||(this.browser=='safari'&&this.platform=='win')){YAHOO.ympyui.util.Dom.addClass(this.playerPanel.element,'ymwp-fixed');if(this.browser=='gecko'){YAHOO.ympyui.util.Dom.addClass(this.playQueuePanel.element,'ymwp-fixed');}}this._positionPlayer();this.minimize();this.minimizeplayqueue();},_createVolumeSlider:function(){this._volumeSliderHeight=parseInt(YAHOO.ympyui.util.Dom.getStyle("ymwp-volume-bg","height"));this._volumeSlider=YAHOO.ympyui.widget.Slider.getVertSlider("ymwp-volume-bg","ymwp-volume-thumb",0,this._volumeSliderHeight);if(this.browser=='gecko'||(this.browser=='safari'&&this.platform=='win')){var ffVersion=this.ffVersion;this._volumeSlider.onMouseDown=function(e){if(!this.isLocked()&&this.backgroundEnabled){var x=YAHOO.ympyui.util.Event.getPageX(e)-document.body.scrollLeft-document.documentElement.scrollLeft;var y=YAHOO.ympyui.util.Event.getPageY(e);if(ffVersion!=3){y-=document.body.scrollTop-document.documentElement.scrollTop;}this.focus();this.moveThumb(x,y);}};this._volumeSlider.onDrag=function(e){if(!this.isLocked()){var x=YAHOO.ympyui.util.Event.getPageX(e)-document.body.scrollLeft-document.documentElement.scrollLeft;var y=YAHOO.ympyui.util.Event.getPageY(e);if(ffVersion!=3){y-=document.body.scrollTop-document.documentElement.scrollTop;}this.moveThumb(x,y,true,true);}};this._volumeSlider.goose=this._volumeSlider.thumb.goose=true;}this._volumeSlider.setValue(this._volumeSliderHeight/2,true);this._volumeSlider.subscribe("change",this._onVolumeSliderChange,this,true);this._volumeSlider.subscribe("slideEnd",this._onVolumeSliderEnd,this,true);},disableVolumeSlider:function(){YAHOO.ympyui.util.Dom.setStyle(this._volumeSlider.thumb.getEl(),"cursor","default");YAHOO.ympyui.util.Dom.addClass(this._volumeSlider.id,'ymwp-volume-bg-class-disabled');this._volumeSlider.lock();},enableVolumeSlider:function(){YAHOO.ympyui.util.Dom.setStyle(this._volumeSlider.thumb.getEl(),"cursor","pointer");YAHOO.ympyui.util.Dom.removeClass(this._volumeSlider.id,'ymwp-volume-bg-class-disabled');this._volumeSlider.unlock();},_onVolumeSliderEnd:function(newvalue){if(this.player)this.player.controller.setVolume(this.player.controller.getVolume(),true);},_onVolumeSliderChange:function(newvalue){if(this.player)this.player.controller.setVolume(1.-newvalue/this._volumeSliderHeight);},_supplant:function(t,o){return t.replace(/{([^{}]*)}/g,function(a,b){var values=b.split('.');var r=o;for(var i=0;i<values.length;i++){r=(r[values[i]])?(r[values[i]]):null;if(!r)break;}return typeof r==='string'?YAHOO.music.WebPlayer.Utils.escapeHTML(r):'';});},infopanelclose:function(e){if(this.infoPanel){this.infoPanel.hide();}},_onInfoPanelBeforeHide:function(){if(this.lastError){this.lastError=null;this.setStatusMessage();this._updateNowPlayingInfo();}},_showInfoPanel:function(elRef,msg){var rgButton=this._getFixedRegion(elRef);if(!this.infoPanel){var elPanel=document.createElement("DIV");elPanel.id="ymwp-infopanel";this.infoPanel=this._createPanel(elPanel,false);YAHOO.ympyui.util.Dom.addClass(this.infoPanel.element,"ymwp-infopanel-class");YAHOO.ympyui.util.Event.addListener(this.infoPanel.element,"click",this._onPlayerClick,this,true);this.infoPanel.beforeHideEvent.subscribe(this._onInfoPanelBeforeHide,this,true);var elIcon=document.createElement("DIV");YAHOO.ympyui.util.Dom.addClass(elIcon,"ymwp-infopanel-icon-class");this.infoPanel.element.appendChild(elIcon);var elShadow=document.createElement("DIV");YAHOO.ympyui.util.Dom.addClass(elShadow,"ymwp-infopanel-shadow-rt-class");this.infoPanel.element.appendChild(elShadow);elShadow=document.createElement("DIV");YAHOO.ympyui.util.Dom.addClass(elShadow,"ymwp-infopanel-shadow-btm-class");this.infoPanel.element.appendChild(elShadow);var elClose=document.createElement("SPAN");elClose.id="ymwp-infopanelclose";YAHOO.ympyui.util.Dom.addClass(elClose,"ymwp-infopanel-close-class");this.infoPanel.element.appendChild(elClose);var elTail=document.createElement("DIV");elTail.id="ymwp-infopanel-tail";YAHOO.ympyui.util.Dom.addClass(elTail,"ymwp-infopanel-tail-class");this.infoPanel.element.appendChild(elTail);}this.infoPanel.setHeader("<div class='tl'></div><span></span><div class='tr'></div>");this.infoPanel.setBody("<div id='ymwp-infopanel-content'>"+msg+"</div>");this.infoPanel.render(document.body);var margin=50;var content=YAHOO.ympyui.util.Dom.get("ymwp-infopanel-content");var height=content.clientHeight+margin;var width=content.clientWidth+margin;if(!this.tailHeight)this.tailHeight=parseInt(YAHOO.ympyui.util.Dom.getStyle("ymwp-infopanel-tail","height"));if(!this.tailLeft)this.tailLeft=parseInt(YAHOO.ympyui.util.Dom.getStyle("ymwp-infopanel-tail","left"));var x=rgButton.right-this.tailLeft;var y=rgButton.top-parseInt(height)-this.tailHeight;this.infoPanel.cfg.setProperty('xy',[x,y]);this.infoPanel.cfg.setProperty('height',height+'px');this.infoPanel.cfg.setProperty('width',width+'px');this.infoPanel.show();},nowplayinginfo:function(elTarget){if(this.infoPanel&&this.infoPanel.cfg.getProperty("visible")){this.infoPanel.hide();return;}var error=null;if(this.lastError){error=this.lastError;}else
{var mo=this.player.queue.getCurrent();if(mo&&mo.error)error=mo.error;}if(error)this._showInfoPanel(elTarget,error.getDescription());},_getFixedRegion:function(el){var xyScroll=this._getScrollOffset();if((this.browser=='ie7')||(this.browser=='ie')||(this.browser=='safari')){xyScroll[0]=0;xyScroll[1]=0;}var rgEl=YAHOO.ympyui.util.Dom.getRegion(el);rgEl.right+=xyScroll[0];rgEl.left+=xyScroll[0];rgEl.top+=xyScroll[1];rgEl.bottom+=xyScroll[1];rgEl[0]+=xyScroll[0];rgEl[1]+=xyScroll[1];return rgEl;},playqueueinfo:function(elTarget){var arrId=elTarget.id.split("-");if(arrId.length){var mo=this.player.queue.getItem(parseInt(arrId[0]));if(mo&&mo.error){this._showInfoPanel(elTarget,mo.error.getDescription());}}},_updateNowPlayingInfo:function(){if(this.lastError)YAHOO.ympyui.util.Dom.setStyle("ymwp-nowplayinginfo","display","inline");else
{var mo=this.player.queue.getCurrent();if(mo&&mo.error)YAHOO.ympyui.util.Dom.setStyle("ymwp-nowplayinginfo","display","inline");else
YAHOO.ympyui.util.Dom.setStyle("ymwp-nowplayinginfo","display","none");}},_updateBuyButton:function(){var mo=this.player.queue.getCurrent();if(mo){if(mo.ymu===true){if(this.platform=="win"){if(mo.rights&&(mo.rights&32)){this._enableElement("ymwp-buy",true);}else
{this._enableElement("ymwp-buy",false);}}else
{this._enableElement("ymwp-buy",false);}}else
{this._enableElement("ymwp-buy",true);}}else
{this._enableElement("ymwp-buy",false);}},_updatePlayQueueItemInfo:function(error){if(error.mediaObject&&error.mediaObject.arrElements){var el=error.mediaObject.arrElements[0];var infoid=el.id+"-playqueueinfo";el=el.firstChild;if(!YAHOO.ympyui.util.Dom.get(infoid)){var info="<span class='ymwp-infobutton-class' id='"+infoid+"'>&nbsp;</span>";el.innerHTML=info+el.innerHTML;}}},onAdded:function(clientid,arrAdds,insertBefore){for(var i=0;i<arrAdds.length;i++){var mediaObj=arrAdds[i].mediaObject;var elItem=this.elPlayQueueItem.cloneNode(true);var pos=this.player.queue.getPosition(arrAdds[i].id);if(mediaObj.url)mediaObj.decodedUrl=decodeURI(mediaObj.url);mediaObj.queuePosition=''+(pos+1);var artistName=null;if(mediaObj.Artist&&mediaObj.Artist.name){artistName=mediaObj.Artist.name;mediaObj.Artist.name=" by "+artistName;}elItem.innerHTML=this._supplant(this.elPlayQueueItemTemplate,mediaObj);mediaObj.queuePosition=null;if(mediaObj.Artist)mediaObj.Artist.name=artistName;if(!mediaObj.arrElements)mediaObj.arrElements=[];mediaObj.arrElements.push(elItem);YAHOO.ympyui.util.Dom.addClass(elItem,"ymwp-playqueue-item-class");elItem.id=arrAdds[i].id+'-ymwp-playqueueitem';this.elPlayQueueItemParentNode.appendChild(elItem);}this._updateQueuePosition();},_updateQueuePosition:function(){var that=this;function updateui(){var count=that.player.queue.getCount();var arrEl=YAHOO.ympyui.util.Dom.getElementsByClassName("ymp-nowplaying-queueposition-class");if(count>1){YAHOO.ympyui.util.Dom.setStyle('ymwp-maximizeplayqueue','display','block');if(arrEl.length)YAHOO.ympyui.util.Dom.setStyle(arrEl,'visibility','visible');}else
{if(arrEl.length)YAHOO.ympyui.util.Dom.setStyle(arrEl,'visibility','hidden');};that._onAddedTimeout=null;}if(!this._onAddedTimeout)this._onAddedTimeout=setTimeout(updateui,100);},onSetCurrent:function(clientid,current,old){if(current&&(current!==null)&&(!current.getErrorCode)){var pos=this.player.queue.getPosition(current);var currentMediaItem=this.player.queue.getItem(current);currentMediaItem.queuePosition=''+(pos+1);var showState=Boolean(this.playerPanel.cfg.getProperty("visible"));if(currentMediaItem.ymu){this._clipState=true;if(showState===true){this._setCurrentYMUEvent.fire(currentMediaItem);YAHOO.ympyui.util.Dom.setStyle(this._setCurrentYMUEvent.arrEl,'display','inline');YAHOO.ympyui.util.Dom.setStyle(this._setCurrentEvent.arrEl,'display','none');YAHOO.ympyui.util.Dom.setStyle("ymwp-buy","display","inline");}}else
{this._clipState=false;if(showState===true){this._setCurrentEvent.fire(currentMediaItem);YAHOO.ympyui.util.Dom.setStyle(this._setCurrentYMUEvent.arrEl,'display','none');YAHOO.ympyui.util.Dom.setStyle(this._setCurrentEvent.arrEl,'display','inline');YAHOO.ympyui.util.Dom.setStyle("ymwp-buy","display","inline");}}YAHOO.music.WebPlayer.Utils.cropElmXul("ymwp-ellipsis","a","ymwp-nowplaying");if(this.ePlayerUIState==this.EnumUIState.UIS_MAXIMIZED){this.maximize();}currentMediaItem.queuePosition=null;var elListItem=YAHOO.ympyui.util.Dom.get(current+'-ymwp-playqueueitem');elListItem?YAHOO.ympyui.util.Dom.addClass(elListItem,"ymwp-playqueue-item-current"):null;if(old!==null){var elListItem=YAHOO.ympyui.util.Dom.get(old+'-ymwp-playqueueitem');elListItem?YAHOO.ympyui.util.Dom.removeClass(elListItem,"ymwp-playqueue-item-current"):null;}}else
{this._setCurrentEvent.fire('');this._setCurrentYMUEvent.fire('');YAHOO.ympyui.util.Dom.addClass(this._setCurrentYMUEvent.arrEl,'ymwp-setcurrent-event-empty');YAHOO.ympyui.util.Dom.addClass(this._setCurrentEvent.arrEl,'ymwp-setcurrent-event-empty');}if(old==null){YAHOO.ympyui.util.Dom.removeClass(this._setCurrentYMUEvent.arrEl,'ymwp-setcurrent-event-empty');YAHOO.ympyui.util.Dom.removeClass(this._setCurrentEvent.arrEl,'ymwp-setcurrent-event-empty');}this._updateQueuePosition();this._updateProgress();this._updateNowPlayingInfo();this._updateBuyButton();},onCleared:function(){this.elPlayQueueItemParentNode?this.elPlayQueueItemParentNode.innerHTML='':null;YAHOO.ympyui.util.Dom.setStyle('ymwp-maximizeplayqueue','display','none');},_createPlayer:function(){var queueHandler={};var playerui=this;var controllerHandler={};controllerHandler.onStart=function(clientid,mo,error){if(!mo){return;}if(YAHOO.music.WebPlayer.Utils.PerfLog.clickToOnStart){YAHOO.music.WebPlayer.Utils.PerfLog.clickToOnStart.send();}playerui._updateRenderState();if(mo.error){mo.error=undefined;var id=playerui.player.queue.getCurrent(true);var infoid=id+"-ymwp-playqueueitem-playqueueinfo";var el=YAHOO.ympyui.util.Dom.get(infoid);if(el&&el.parentNode){el.parentNode.removeChild(el);}}};controllerHandler.onBegin=function(mo,sc,dur){playerui.playlistPos=mo.index;playerui._enableElement("ymwp-next",sc.next);playerui._enableElement("ymwp-prev",sc.previous);};controllerHandler.onMediaChange=function(mo,sc){playerui._enableElement("ymwp-next",sc.next);playerui._enableElement("ymwp-prev",sc.previous);};controllerHandler.onPause=function(){playerui._updateRenderState();};controllerHandler.onProgress=function(mo,position,duration){playerui.seekPos=position;playerui._updateProgress(mo,position,duration);};controllerHandler.onBufferingProgress=function(mo,position,duration){playerui._updateBufferingProgress(mo,position,duration);};controllerHandler.onSetVolume=function(clientid,volume){if(playerui._volumeSliderHeight){var height=playerui._volumeSliderHeight*(1-volume);if(height===0){height=1;}YAHOO.ympyui.util.Dom.setStyle(YAHOO.ympyui.util.Dom.get("ymwp-volume-off-bg"),"height",height+'px');}};controllerHandler.onStop=function(){playerui._updateRenderState();};controllerHandler.onRenderStateChange=function(rs){if(rs==playerui.player.controller.RS_WAITING)playerui._updateBufferingProgress(0);else
{playerui._updateRenderState();playerui._updateBufferingProgress();}};controllerHandler.onError=function(clientid,error){if(error&&error.errorCode){switch(error.errorCode){case YAHOO.music.MediaEngine.Error.ERR_UNKNOWN_DURATION:case YAHOO.music.MediaEngine.Error.ERR_WRONG_STATE:return;}playerui.lastError=null;if(error.mediaObject)error.mediaObject.error=error;playerui._updateNowPlayingInfo(error);playerui._updatePlayQueueItemInfo(error);}};controllerHandler.onEnd=function(){playerui._updateProgress('');};this.player=YAHOO.music.MediaEngine.attach(this,controllerHandler,this.name);this.queueHandler=queueHandler;this.controllerHandler=controllerHandler;this.player.controller.setProgressInterval(500);this.player.controller.setVolume(.5);this._clipState=true;},_formatTime:function(secs){var minutes=Math.floor(secs/60);var seconds=Math.floor(secs%60);var hours="";if(seconds<10){seconds="0"+seconds;}if(minutes>=60){hours=Math.floor(minutes/60);hours=hours+":";minutes=Math.floor(minutes%60);if(minutes<10){minutes="0"+minutes;}}return(hours+minutes+':'+seconds);},_updateProgress:function(mo,pos,dur){if(mo==undefined||typeof mo=="string")this._onProgressEvent.fire(mo,false);else
{var durString=(dur==0)?"":" / "+this._formatTime(dur);var o={position:this._formatTime(pos),duration:durString};this._onProgressEvent.fire(o,true);}return;},_updateBufferingProgress:function(mo,pos,dur){if(mo==undefined)this._onProgressEvent.fire(null,false);else
this._onProgressEvent.fire(YAHOO.music.WebPlayer.uiStrings.IDS_STAT_BUFFER,true);},_getScrollOffset:function(){var xy={};if(self.pageYOffset){xy[0]=self.pageXOffset;xy[1]=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){xy[0]=document.documentElement.scrollLeft;xy[1]=document.documentElement.scrollTop;}else if(document.body){xy[0]=document.body.scrollLeft;xy[1]=document.body.scrollTop;}return xy;},_positionPlayer:function(){var height=YAHOO.ympyui.util.Dom.getViewportHeight()-parseInt(YAHOO.ympyui.util.Dom.getStyle(this.elPlayer,'height'))-20;if(this.browser=='ie7'&&this.ie7DocMode=='standards'){YAHOO.ympyui.util.Dom.removeClass(this.playerPanel.element,'ymwp-fixed');this.playerPanel.cfg.setProperty('y',height);YAHOO.ympyui.util.Dom.addClass(this.playerPanel.element,'ymwp-fixed');}else if(this.browser=='gecko'){var yOffset=0;if(this.ffVersion==3){yOffset=Math.max(document.body.scrollTop,document.documentElement.scrollTop);}this.playerPanel.cfg.setProperty('y',height+yOffset);}else
{var xy=this._getScrollOffset();height+=xy[1];this.playerPanel.cfg.setProperty('y',height);}},_scrolltimeoutid:null,_onPlayqueueScroll:function(e){if(this.infoPanel){this.infoPanel.hide();}},_onscroll:function(e){if(this.browser=='safari'){if(YAHOO.ympyui.util.Event.getTarget(e)!==document){return;}}this.minimizeplayqueue();if((this.browser=='ie')||(this.browser=='ie7'&&this.ie7DocMode!="standards")){this._onresize();}else if(this.browser=='safari'&&this.platform=='mac'){this._positionPlayer();}},_onresize:function(e){this.minimizeplayqueue();if(this.browser=='safari'){this._positionPlayer();return;}if(!this._scrolltimeoutid){if(this.browser=='ie'||this.browser=='gecko'){var anim=new YAHOO.ympyui.util.Anim(this.elPlayer,{opacity:{to:0}},.2);anim.animate();}}else
{window.clearTimeout(this._scrolltimeoutid);}var playerui=this;var timeout=function(){playerui._positionPlayer();if(playerui.browser=='ie'||playerui.browser=='gecko'){var anim=new YAHOO.ympyui.util.Anim(playerui.elPlayer,{opacity:{to:1}},.3);anim.animate();}playerui._scrolltimeoutid=null;};this._scrolltimeoutid=window.setTimeout(timeout,450);},_enableElement:function(target,state){var el=YAHOO.ympyui.util.Dom.get(target);if(el){if(state)YAHOO.ympyui.util.Dom.removeClass(el,el.id+'-class-disabled');else
YAHOO.ympyui.util.Dom.addClass(el,el.id+'-class-disabled');}},_isEnabled:function(el){return!YAHOO.ympyui.util.Dom.hasClass(el,el.id+'-class-disabled');},_bindButtonStates:function(){var playerButtons=YAHOO.ympyui.util.Dom.getElementsByClassName('ymwp-button-class');YAHOO.ympyui.util.Event.addListener(playerButtons,'mouseover',function(e){if(!YAHOO.ympyui.util.Dom.hasClass(this,this.id+'-class-disabled'))YAHOO.ympyui.util.Dom.addClass(this,this.id+'-class-hover');});YAHOO.ympyui.util.Event.addListener(playerButtons,'mouseout',function(e){YAHOO.ympyui.util.Dom.removeClass(this,this.id+'-class-hover');});YAHOO.ympyui.util.Event.addListener(playerButtons,'mousedown',function(e){if(!YAHOO.ympyui.util.Dom.hasClass(this,this.id+'-class-disabled'))YAHOO.ympyui.util.Dom.addClass(this,this.id+'-class-active');});YAHOO.ympyui.util.Event.addListener(playerButtons,'mouseup',function(e){YAHOO.ympyui.util.Dom.removeClass(this,this.id+'-class-active');});},_onBodyClick:function(e){if(this.ePlayQueueUIState==this.EnumUIState.UIS_MAXIMIZED){this.minimizeplayqueue();}if(this.infoPanel){this.infoPanel.hide();}},playqueueitem:function(elTarget){var arrId=elTarget.id.split("-");if(arrId.length){this.player.queue.setCurrent(parseInt(arrId[0]));this.play();}},_onStopEvent:function(e){YAHOO.ympyui.util.Event.stopEvent(e);return false;},_onPlayerClick:function(e){var elTarget=YAHOO.ympyui.util.Event.getTarget(e);var arrId=elTarget.id.split("-");while(elTarget&&(arrId[0].length==0)){if(elTarget.tagName==="A"&&elTarget.href&&elTarget.href!="javascript:void(0);"){return;}elTarget=elTarget.parentNode;arrId=elTarget.id.split("-");}if(elTarget){if(!this._isEnabled(elTarget)){YAHOO.ympyui.util.Event.stopEvent(e);}else if(arrId.length){var method=arrId.pop();if(this[method]&&(typeof this[method]=="function")){if(this._isEnabled(elTarget))this[method].call(this,elTarget);}YAHOO.ympyui.util.Event.stopEvent(e);return false;}}},open:function(callback,scope){if(this.ePlayerUIState!=this.EnumUIState.UIS_OPENED){YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-minimized");YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-maximized");YAHOO.ympyui.util.Dom.addClass(this.elPlayer,"ymwp-player-class-opened");this.ePlayerUIState=this.EnumUIState.UIS_OPENED;var animAttributes={width:{to:parseInt(YAHOO.ympyui.util.Dom.getStyle(this.elPlayer,"width"))}};this._animatePanel(this.playerPanel,animAttributes,.3,callback,scope);}},minimize:function(callback,scope){YAHOO.ympyui.util.Dom.addClass(this.elPlayer,"ymwp-player-class-minimized");YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-opened");YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-maximized");this.minimizeplayqueue();this.ePlayerUIState=this.EnumUIState.UIS_MINIMIZED;YAHOO.ympyui.util.Dom.setStyle(this.playerPanel.element,'width',YAHOO.ympyui.util.Dom.getStyle(this.elPlayer,"width"));if(typeof(callback)=='function'){callback.call(scope);}},minimizeplayqueue:function(bForce){if(this.infoPanel){this.infoPanel.hide();}if(this.ePlayQueueUIState!=this.EnumUIState.UIS_MINIMIZED){if(YAHOO.ympyui.util.Dom.hasClass(this.elPlayQueue,"ymwp-playqueue-class-minimized")&&!bForce){return;};YAHOO.ympyui.util.Dom.addClass(this.elPlayQueue,"ymwp-playqueue-class-minimized");YAHOO.ympyui.util.Dom.removeClass(this.elPlayQueue,"ymwp-playqueue-class-maximized");this.ePlayQueueUIState=this.EnumUIState.UIS_MINIMIZED;this.playQueuePanel.cfg.setProperty('visible',false);YAHOO.ympyui.util.Dom.setStyle(this.playQueuePanel.element,'display','none');}},maximize:function(callback,scope){YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-minimized");YAHOO.ympyui.util.Dom.removeClass(this.elPlayer,"ymwp-player-class-opened");YAHOO.ympyui.util.Dom.addClass(this.elPlayer,"ymwp-player-class-maximized");this.ePlayerUIState=this.EnumUIState.UIS_MAXIMIZED;var animAttributes={width:{to:parseInt(YAHOO.ympyui.util.Dom.getStyle(this.elPlayer,"width"))}};this._animatePanel(this.playerPanel,animAttributes,.35,callback,scope);},maximizeplayqueue:function(){if(this.ePlayQueueUIState==this.EnumUIState.UIS_MINIMIZED){YAHOO.ympyui.util.Dom.removeClass(this.elPlayQueue,'ymwp-playqueue-class-minimized');YAHOO.ympyui.util.Dom.addClass(this.elPlayQueue,'ymwp-playqueue-class-maximized');this.ePlayQueueUIState=this.EnumUIState.UIS_MAXIMIZED;var xyScroll=[0,0];if(this.browser=='safari'&&this.platform=='win'){xyScroll=this._getScrollOffset();}var rgButton=YAHOO.ympyui.util.Dom.getRegion('ymwp-maximizeplayqueue');var toWidth=parseInt(YAHOO.ympyui.util.Dom.getStyle(this.elPlayQueue,'width'));YAHOO.ympyui.util.Dom.setStyle(this.playQueuePanel.element,'display','block');this.playQueuePanel.cfg.setProperty('visible',true);this.playQueuePanel.cfg.setProperty('xy',[rgButton.right-toWidth+13+xyScroll[0],rgButton.bottom-200+xyScroll[1]]);YAHOO.ympyui.util.Dom.setStyle('ymwp-playqueue-overlay','overflow','hidden');YAHOO.ympyui.util.Dom.setStyle('ymwp-playqueue-overlay','height','200px');var animAttributes={top:{to:0}};YAHOO.ympyui.util.Dom.setStyle(this.elPlayQueue,'top','200px');var myAnim=new YAHOO.ympyui.util.Anim(this.elPlayQueue,{top:{to:0}},.35,YAHOO.ympyui.util.Easing.easeOut);myAnim.animate();}else
{this.minimizeplayqueue();}},_animatePanel:function(panel,attributes,dur,onAnimComplete,scope){var onStart=function(){YAHOO.ympyui.util.Dom.setStyle(this.element,"overflow","hidden");};var onComplete=function(){YAHOO.ympyui.util.Dom.setStyle(this.element,"overflow","visible");};var anim=new YAHOO.ympyui.util.Anim(panel.element,attributes,dur,YAHOO.ympyui.util.Easing.easeOut);anim.onStart.subscribe(onStart,panel,true);anim.onComplete.subscribe(onComplete,panel,true);if(onAnimComplete&&(typeof onAnimComplete==='function')){anim.onComplete.subscribe(onAnimComplete,scope,true);}anim.animate();},_onPlayerMouseOver:function(e){if(this._mouseoutid){window.clearTimeout(this._mouseoutid);this._mouseoutid=null;}var elTarget=YAHOO.ympyui.util.Event.getTarget(e);if(elTarget.id=="ymwp-open"){this.open();}YAHOO.ympyui.util.Event.preventDefault(e);return false;},_onPlayerMouseOut:function(e){var elFrom=YAHOO.ympyui.util.Event.getTarget(e);var elTo=YAHOO.ympyui.util.Event.getRelatedTarget(e);var bToIsPlayer=YAHOO.ympyui.util.Dom.isAncestor(this.elPlayer,elTo)||(elTo==this.elPlayer);var bFromIsPlayer=YAHOO.ympyui.util.Dom.isAncestor(this.elPlayer,elFrom)||(elFrom==this.elPlayer);switch(this.ePlayerUIState){case this.EnumUIState.UIS_OPENED:if(bFromIsPlayer&&!bToIsPlayer){var playerui=this;var mouseoutTimeout=function(){playerui.minimize();playerui_mouseoutid=null;};this._mouseoutid=window.setTimeout(mouseoutTimeout,500);}break;}YAHOO.ympyui.util.Event.preventDefault(e);return false;},_getRenderStateClass:function(renderState){var className='undefined';switch(renderState){case(this.player.controller.RS_STOPPED):className='ymwp-renderstate-stopped-class';break;case(this.player.controller.RS_PAUSED):className='ymwp-renderstate-paused-class';break;case(this.player.controller.RS_PLAYING):className='ymwp-renderstate-playing-class';break;default:return null;}return className;},_updateRenderState:function(){var currRenderState=this.player.controller.getRenderState();var className=this._getRenderStateClass(currRenderState);if(className){var elems=YAHOO.ympyui.util.Dom.getElementsByClassName('ymwp-renderstatechange-event');YAHOO.ympyui.util.Dom.removeClass(elems,this._getRenderStateClass(this._renderState));this._renderState=currRenderState;YAHOO.ympyui.util.Dom.addClass(elems,className);}},play:function(){this.player.controller.start();this._updateRenderState();},pause:function(){this.player.controller.pause();this._updateRenderState();},stop:function(){if(this.player){YAHOO.ympyui.util.Dom.removeClass(this.elPlay,'pause');this.player.controller.stop();}},prev:function(){this.player.controller.previous();},next:function(){this.player.controller.next();},mute:function(){},clear:function(){if(this.player)this.player.queue.clear();this.setError(null);},add:function(url){var ymufeed=new YAHOO.music.WebPlayer.YMUFeed(YAHOO.music.WebPlayer.ui.player.queue.add,YAHOO.music.WebPlayer.ui.player.queue,this);ymufeed.process(url);},setStatusMessage:function(msgData){if(msgData)this._updateProgress(msgData.message);else
this._updateProgress();},setError:function(uiErr){this.lastError=uiErr;if(uiErr){if(uiErr.getSeverity){switch(uiErr.getSeverity()){case YAHOO.music.WebPlayer.Error.SEVERITY_1:{this.stop();}break;}}YAHOO.ympyui.util.Dom.setStyle("ymwp-nowplayinginfo","display","inline");}else
YAHOO.ympyui.util.Dom.setStyle("ymwp-nowplayinginfo","display","none");},setState:function(stateObj){if(stateObj&&stateObj.clip){this._clipState=stateObj.clip;}else
{this._clipState=false;}if(this.ePlayerUIState==this.EnumUIState.UIS_MAXIMIZED){this.maximize();}},buy:function(){var currentMediaItem=YAHOO.MediaPlayer.getMetaData();if(currentMediaItem){if(currentMediaItem.ymu===true){var ymuBuyLink="http://music.yahoo.com/artist/singledownload/?songid="+currentMediaItem.id;window.open(ymuBuyLink);}else
{var affiliateID=YAHOO.music.WebPlayer.siteparams.amazonid||"thremid-20";var amazonLink="http://www.amazon.com/gp/search?ie=UTF8&keywords=";if(currentMediaItem.Artist&&currentMediaItem.Artist.name)amazonLink+=currentMediaItem.Artist.name.replace(/ /g,"%20")+"%20";if(currentMediaItem.title)amazonLink+=currentMediaItem.title.replace(/ /g,"%20");amazonLink+="&tag="+affiliateID+"&index=blended&linkCode=ur2&camp=1789&creative=9325";window.open(amazonLink);}}},browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if((ua.indexOf('msie 7')!=-1)){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),ffVersion:function(){var versionSearchString="Firefox";var index=navigator.userAgent.indexOf(versionSearchString);var version=parseFloat(navigator.userAgent.substring(index+versionSearchString.length+1));return version;}(),platform:function(){var p=navigator.platform.toLowerCase();if(p.indexOf('mac')!=-1){return'mac';}else{return'win';}}(),ie7DocMode:function(){var mode="unknown";var ua=navigator.userAgent.toLowerCase();if((ua.indexOf('msie 7')!=-1)){if(document.compatMode=="CSS1Compat"){mode="standards";}else if(document.compatMode=="BackCompat"){mode="quirks";}}return mode;}()};YAHOO.music.WebPlayer.PlayerUI.Scroller=function(){var stepIncrement=50;var stepDelay=20;var limit=0.5*1000;var running=false;function scrollStep(to,dest,down){if(!running||(down&&to>=dest)||(!down&&to<=dest)){YAHOO.music.WebPlayer.PlayerUI.Scroller.killScroll();return;}if((down&&to>=(dest-(2*stepIncrement)))||(!down&&to<=(dest-(2*stepIncrement)))){stepIncrement=stepIncrement*.55;}window.scrollTo(0,to);YAHOO.music.WebPlayer.PlayerUI.Scroller.nextStep=callNext(+to+stepIncrement,dest,down);window.setTimeout(YAHOO.music.WebPlayer.PlayerUI.Scroller.nextStep,stepDelay);}function callNext(to,dest,down){return function(){scrollStep(to,dest,down);};}return{nextStep:null,killTimeout:null,anchorScroll:function(e,obj){if(!running){var clickedLink=YAHOO.ympyui.util.Event.getTarget(e);var target;var currentTrack=YAHOO.MediaPlayer.getMetaData();if(currentTrack&&currentTrack.elTrack){target=currentTrack.elTrack;if(target){YAHOO.ympyui.util.Event.stopEvent(e);running=true;var vpHeight=YAHOO.ympyui.util.Dom.getViewportHeight();var yCoord=Math.ceil(((YAHOO.ympyui.util.Dom.getY(target)-Math.ceil(vpHeight/2))<0)?0:YAHOO.ympyui.util.Dom.getY(target)-Math.ceil(vpHeight/2));var currentYPosition=0;if(document.compatMode&&document.compatMode!=="BackCompat"){currentYPosition=document.documentElement.scrollTop;}else if(document.body){currentYPosition=document.body.scrollTop;}else
{currentYPosition=window.pageYOffset;}currentYPosition=Math.ceil(currentYPosition);var down=true;if(currentYPosition>yCoord){stepIncrement*=-1;down=false;if(yCoord!=currentYPosition){window.scrollTo(0,yCoord+150);currentYPosition=yCoord+150;}}else{if(yCoord!=currentYPosition){window.scrollTo(0,yCoord-150);currentYPosition=yCoord-150;}}YAHOO.ympyui.util.Dom.addClass(target,"ymwp-track-find-link");window.setTimeout(function(){YAHOO.ympyui.util.Dom.removeClass(target,"ymwp-track-find-link");},5000);YAHOO.music.WebPlayer.PlayerUI.Scroller.killTimeout=window.setTimeout(YAHOO.music.WebPlayer.PlayerUI.Scroller.killScroll,limit);scrollStep(currentYPosition+stepIncrement,yCoord,down);}}}},killScroll:function(){window.clearTimeout(YAHOO.music.WebPlayer.PlayerUI.Scroller.killTimeout);running=false;stepIncrement=50;},init:function(){var link=document.getElementById("ymwp-local-link-button");if(link){YAHOO.ympyui.util.Event.addListener(link,'click',YAHOO.music.WebPlayer.PlayerUI.Scroller.anchorScroll,YAHOO.music.WebPlayer.PlayerUI.Scroller,true);}link=null;}}}();YAHOO.ympyui.util.Event.onAvailable("ymwp-local-link-button",YAHOO.music.WebPlayer.PlayerUI.Scroller.init,YAHOO.music.WebPlayer.PlayerUI.Scroller,true);YAHOO.music.WebPlayer.playerAPIImpl={init:function(){this.siteparams=YAHOO.music.WebPlayer.siteparams;if(!this.siteparams.uiless){YAHOO.music.WebPlayer.ui=new YAHOO.music.WebPlayer.PlayerUI();}this.htrkParser=YAHOO.music.WebPlayer.HTrack.Parser;this.ui=YAHOO.music.WebPlayer.ui;this._player=this.hookPlayerEvents(this,this);if(!this._player){return;}this._jobQueue=new YAHOO.music.WebPlayer.Utils.BatchJob();this.feed=new YAHOO.music.WebPlayer.YMUFeed(this.ui);if(this.siteparams.scrapeonload){YAHOO.music.WebPlayer.add(document,null,this.siteparams.clear,this.siteparams.autoplay,this.siteparams.showstate);}if(YAHOO.music.WebPlayer.enablePlayClick){YAHOO.music.WebPlayer.enablePlayClick(this.siteparams.clickSpec);}this._arrRenderStateClass={};this._arrRenderStateClass[this._player.controller.RS_STOPPED]='ymwp-track-stopped-class';this._arrRenderStateClass[this._player.controller.RS_PAUSED]='ymwp-track-paused-class';this._arrRenderStateClass[this._player.controller.RS_PLAYING]='ymwp-track-playing-class';},exit:function(){if(!this._plAttaches){return;}for(var i=0,len=this._plAttaches.length;i<len;i++){this._plAttaches[i].detach();}},add:function(tracks,pos,clear,play,showstate){if(tracks&&!this._verifyPlatform()){return;}if(showstate!==undefined&&showstate!==this.siteparams.showstate){this.siteparams.showstate=showstate;}if(this.htrkParser.isDocElement(tracks)){this.scrape(tracks,pos,clear,play);}else
{this._queueAdd(tracks,pos,clear,play);}},clear:function(){this._queueClear();},play:function(){this._queuePlay();},stop:function(){if(this._player){this._player.controller.stop();}},pause:function(){if(this._player){this._player.controller.pause();}},scrape:function(docElem,pos,clear,play){this._queueScrape(docElem,pos,clear,play);},hookPlayerEvents:function(controllerEvHndlr,queueEvHndlr){if(!this._plAttaches){this._plAttaches=[];}var playername=this.ui?this.ui.name:"ymwp-player";var attachInst=YAHOO.music.MediaEngine.attach(queueEvHndlr,controllerEvHndlr,playername,this.ui===undefined);if(attachInst){this._plAttaches.push(attachInst);if(controllerEvHndlr.progressInterval&&typeof(controllerEvHndlr.progressInterval)=="number"){attachInst.controller.setProgressInterval(controllerEvHndlr.progressInterval);}}return attachInst;},getSiteParams:function(){return this.siteparams;},playLink:function(a,clickSpec){var queueIdx=this._findInQueue(a);var isPlaying=this._isPlaying();var isAlreadyCurrent=queueIdx===this._player.queue.getCurrent(true);var nextIndex=this._currIndex++;try
{if(this._player.queue.getCurrent().xspfpath===a.href){isAlreadyCurrent=true;}}catch(ex){}if(isAlreadyCurrent){(isPlaying)?this.pause():this.play();return;}if(isPlaying){this._jobQueue.push(this.stop,"stop",[],this);}if(clickSpec.clear){this._queueClear();nextIndex=0;}else if(queueIdx!==undefined){this._jobQueue.push(this._player.queue.setCurrent,"setCurrent",[queueIdx],this._player.queue,this,"onSetCurrent");this._queuePlay(clickSpec.seekPos);return;}var track=this.htrkParser.htrackFromAnchor(a,nextIndex);this._queueAdd(track,null,false,true);},_jobQueue:null,_qidByTIndexMap:[],_tracks:[],_aByTIndexMap:{},_currIndex:0,_queueAdd:function(tracks,pos,clear,play){var validAdd=tracks&&!(YAHOO.music.WebPlayer.Utils.isArray(tracks)&&tracks.length===0);var validPlay=play&&(!tracks||validAdd);if(clear){this._queueClear();}if(validAdd){this._jobQueue.push(this.feed.process,"process",[tracks,true,pos,this._onFeedProcessed,this],this.feed,this,"onAdded");}if(validPlay){this._queuePlay();}},_queueScrape:function(docElem,pos,clear,play){if(play&&this._isPlaying()){this._jobQueue.push(this.stop,"stop",[],this);}if(clear){this._queueClear();}this._jobQueue.push(this._scrape,"scrape",[docElem,play],this,this,"onScraped");},_scrape:function(docElem,play){var cbk=YAHOO.music.WebPlayer.Utils.bind(this,this.onScraped,undefined,undefined,undefined,play);this.htrkParser.scrape(docElem,this._currIndex,cbk);},_queuePlay:function(seekPos){if(this._player){this._jobQueue.push(this._player.controller.start,"play",[seekPos],this._player.controller);if(YAHOO.music.WebPlayer.ui&&!this._forcedOpenOnce){this._forcedOpenOnce=true;YAHOO.music.WebPlayer.ui.setUIState(YAHOO.music.WebPlayer.ui.EnumUIState.UIS_MAXIMIZED);}}},_queueClear:function(){this._jobQueue.clearpending=true;this._jobQueue.push(this.stop,"stop",[],this);this._jobQueue.push(this._player.queue.clear,"clear",[],this._player.queue,this,"onCleared");},onScraped:function(track,anchor,offset,play){this._currIndex=offset;var a;for(var i=0,len=anchor.length;i<len;i++){a=anchor[i];this._injectPlayButton(a);track[i].elTrack=a;this._aByTIndexMap[a.tabIndex]=a;}this._queueAdd(track,null,false,play);},onStop:function(){},onCleared:function(){this._jobQueue.clearpending=false;this._clearCachedTracks();},onRenderStateChange:function(rs){var mo=this._player.queue.getCurrent();var cls=this._arrRenderStateClass[rs];if(mo&&mo.elTrack&&cls){for(var i in this._arrRenderStateClass){YAHOO.ympyui.util.Dom.removeClass(mo.elTrack,this._arrRenderStateClass[i]);}YAHOO.ympyui.util.Dom.addClass(mo.elTrack,cls);}},_findInQueue:function(track){if(YAHOO.music.WebPlayer.Utils.isArray(track)){return undefined;}var tabIdx;if(this.htrkParser.isAnchor(track)){tabIdx=track.tabIndex;}else
{tabIdx=track.index;}if(tabIdx!==undefined&&this._find(track)){return this._qidByTIndexMap[tabIdx];}return undefined;},_find:function(a){if(!a.tabIndex){return false;}var match=this._aByTIndexMap[a.tabIndex];if(match&&match.href==a.href){return true;}return false;},_isPlaying:function(){return this._player&&this._player.controller&&this._player.controller.getRenderState()===this._player.controller.RS_PLAYING;},_onFeedProcessed:function(arr){function onShow(){this._player.queue.add(arr);}if(!this._jobQueue.clearpending){if(arr&&!(arr instanceof YAHOO.music.WebPlayer.Error)){if(this.ui){var showstate=this._getUIShowState(this.siteparams.showstate);this.ui.initialUIState=showstate;this.ui.show(true,onShow,this);}else
{this._player.queue.add(arr);}return;}else if(this.ui){this.ui.setError(arr);this.ui.setUIState(this.ui.EnumUIState.UIS_MAXIMIZED);this.ui.show(true);}}else
{}this.onAdded(null,null);},onAdded:function(clientid,arrTracks,insertBefore){var qidtrack;var index;var err;if(arrTracks===null){return;}if(arrTracks instanceof YAHOO.music.WebPlayer.Error){err=arrTracks;}else if(!arrTracks||!arrTracks.length){}else
{for(var i=0,len=arrTracks.length;i<len;i++){qidtrack=arrTracks[i];index=qidtrack.mediaObject.index;if(index!==undefined&&!this._qidByTIndexMap[index]){this._qidByTIndexMap[index]=qidtrack.id;}}}if(this.ui){if(err){this.ui.setError(err);this.ui.setUIState(this.ui.EnumUIState.UIS_MAXIMIZED);}}},onSetCurrent:function(clientid,id,oldid){if(oldid){var mo=this._player.queue.getItem(oldid);if(mo.elTrack){for(var i in this._arrRenderStateClass){YAHOO.ympyui.util.Dom.removeClass(mo.elTrack,this._arrRenderStateClass[i]);}}}},_verifyPlatform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return false;}return true;},_getUIShowState:function(siteParam){if(!this.ui||siteParam===undefined){return null;}if(siteParam===0){return this.ui.EnumUIState.UIS_MINIMIZED;}if(siteParam===1){return this.ui.EnumUIState.UIS_OPENED;}if(siteParam===2){return this.ui.EnumUIState.UIS_MAXIMIZED;}return false;},_clearCachedTracks:function(){this._aByTIndexMap={};this._currIndex=0;this._qidByTIndexMap=[];},_injectPlayButton:function(a){var aParent=a.parentNode;var newContainer=document.createElement('span');YAHOO.ympyui.util.Dom.addClass(newContainer,"ymwp-track-container-class");var aClone=a.cloneNode(true);YAHOO.ympyui.util.Dom.addClass(a,"ymwp-track-class");YAHOO.ympyui.util.Dom.removeClass(aClone,"ymp-play-class");a.innerHTML="&nbsp;";aParent.insertBefore(newContainer,a);aParent.removeChild(a);newContainer.appendChild(a);newContainer.appendChild(aClone);}};YAHOO.music.WebPlayer.playClass="ymp-play-class";YAHOO.music.WebPlayer.init=function(){YAHOO.music.WebPlayer.playerAPIImpl.init();};YAHOO.music.WebPlayer.exit=function(){YAHOO.music.WebPlayer.playerAPIImpl.exit();};YAHOO.music.WebPlayer.clear=function(){YAHOO.music.WebPlayer.playerAPIImpl.clear();};YAHOO.music.WebPlayer.add=function(tracks,pos,clear,play,showstate){YAHOO.music.WebPlayer.playerAPIImpl.add(tracks,pos,clear,play,showstate);};YAHOO.music.WebPlayer.play=function(){YAHOO.music.WebPlayer.playerAPIImpl.play();};YAHOO.music.WebPlayer.stop=function(){YAHOO.music.WebPlayer.playerAPIImpl.stop();};YAHOO.music.WebPlayer.pause=function(){YAHOO.music.WebPlayer.playerAPIImpl.pause();};YAHOO.music.WebPlayer.scrape=function(docElem,pos,clear,play){YAHOO.music.WebPlayer.playerAPIImpl.scrape(docElem,pos,clear,play);};YAHOO.music.WebPlayer.hookPlayerEvents=function(controllerEvHndlr,queueEvHndlr){return YAHOO.music.WebPlayer.playerAPIImpl.hookPlayerEvents(controllerEvHndlr,queueEvHndlr);};YAHOO.music.WebPlayer.playLink=function(a,clickSpec){YAHOO.music.WebPlayer.playerAPIImpl.playLink(a,clickSpec);};YAHOO.MediaPlayer.onTrackStart=new YAHOO.ympyui.util.CustomEvent("onTrackStart",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onTrackPause=new YAHOO.ympyui.util.CustomEvent("onTrackPause",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onTrackComplete=new YAHOO.ympyui.util.CustomEvent("onTrackComplete",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onProgress=new YAHOO.ympyui.util.CustomEvent("onProgress",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onScrapeComplete=new YAHOO.ympyui.util.CustomEvent("onScrapeComplete",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onPlaylistUpdate=new YAHOO.ympyui.util.CustomEvent("onPlaylistUpdate",null,false,YAHOO.ympyui.util.CustomEvent.FLAT);YAHOO.MediaPlayer.onMediaPlayerReady=function onMediaPlayerReady(){try
{YAHOO.MediaPlayer.player=YAHOO.music.WebPlayer.playerAPIImpl._player;YAHOO.MediaPlayer.onAPIReady.fire(YAHOO.MediaPlayer);}catch(ex){return null;}};YAHOO.MediaPlayer.onPlaylistReady=function onPlaylistReady(tracksArray){try
{tracksArray=YAHOO.MediaPlayer._cleanTracks(tracksArray);YAHOO.MediaPlayer.onPlaylistUpdate.fire(tracksArray);}catch(ex){return null;}};YAHOO.MediaPlayer.getPlaylistCount=function getPlaylistCount(){try
{return this.player.queue.getCount();}catch(ex){return-1;}};YAHOO.MediaPlayer.getPlaylistItemId=function getPlaylistItemId(index){try
{var count=this.getPlaylistCount();if((index>=0)&&(index<count)){return this.player.queue._orderedList[index];}return null;}catch(ex){return null;}};YAHOO.MediaPlayer.getMetaData=function getMetaData(index){try
{if(typeof(index)!=="number"||index<0){return this.player.queue.getCurrent();}else
{var id=this.getPlaylistItemId(index);if(id){return this.player.queue.getItem(id);}else
{return null;}}}catch(ex){return null;}};YAHOO.MediaPlayer.copyMetaData=function copyMetaData(m,obj){try
{if(m){for(var p in obj){m[p]=obj[p];}}}catch(ex){}};YAHOO.MediaPlayer.setMetaData=function setMetaData(index,obj){try
{if(typeof(index)!=="number"||index<0){var m=this.player.queue.getCurrent();this.copyMetaData(m,obj);}else
{var id=this.getPlaylistItemId(index);if(id){var m=this.player.queue.getItem(id);this.copyMetaData(m,obj);}else
{return null;}}}catch(ex){return null;}};YAHOO.MediaPlayer.getPlayerState=function getPlayerState(){try
{return this.player.controller.getRenderState();}catch(ex){return null;}};YAHOO.MediaPlayer.addTracks=function addTracks(tracks,pos,clear,play,showstate){try
{YAHOO.music.WebPlayer.playerAPIImpl.add(tracks,pos,clear,play,showstate);this.onPlaylistUpdate.fire(this._cleanTracks(tracks));}catch(ex){return null;}};YAHOO.MediaPlayer.play=function play(){try
{YAHOO.music.WebPlayer.playerAPIImpl.play();}catch(ex){return null;}};YAHOO.MediaPlayer.pause=function pause(){try
{YAHOO.music.WebPlayer.playerAPIImpl.pause();}catch(ex){return null;}};YAHOO.MediaPlayer.stop=function stop(){try
{YAHOO.music.WebPlayer.playerAPIImpl.stop();}catch(ex){return null;}};YAHOO.MediaPlayer.previous=function previous(){try
{this.player.controller.previous();}catch(ex){return null;}};YAHOO.MediaPlayer.next=function next(){try
{this.player.controller.next();}catch(ex){return null;}};YAHOO.MediaPlayer.getVolume=function getVolume(){try
{return this.player.controller._shared.volume;}catch(ex){return null;}};YAHOO.MediaPlayer.getTrackPosition=function getTrackPosition(){try
{return this.player.controller.getProgress();}catch(ex){return null;}};YAHOO.MediaPlayer.getTrackDuration=function getTrackDuration(){try
{return this.player.controller._getDuration();}catch(ex){return null;}};YAHOO.MediaPlayer.setVolume=function setVolume(vol){try
{this.player.controller.setVolume(vol);YAHOO.music.WebPlayer.ui._volumeSlider.setValue(40-(vol*10*4));}catch(ex){return null;}};YAHOO.MediaPlayer.getPlayerViewState=function getPlayerViewState(){try
{if(YAHOO.music.WebPlayer.ui.ePlayerUIState==="maximized"){return 1;}else if(YAHOO.music.WebPlayer.ui.ePlayerUIState==="minimized"){return 0;}}catch(ex){return null;}};YAHOO.MediaPlayer.setPlayerViewState=function setPlayerViewState(state,callback,scope){try
{if(state===1){YAHOO.music.WebPlayer.ui.maximize(callback,scope);}else if(state===0){YAHOO.music.WebPlayer.ui.minimize(callback,scope);}}catch(ex){return null;}};YAHOO.MediaPlayer.getQueueViewState=function getQueueViewState(){try
{if(YAHOO.music.WebPlayer.ui.ePlayQueueUIState==="maximized"){return 1;}else if(YAHOO.music.WebPlayer.ui.ePlayQueueUIState==="minimized"){return 0;}}catch(ex){return null;}};YAHOO.MediaPlayer.setQueueViewState=function setQueueViewState(state,callback,scope){try
{if(state===1){YAHOO.music.WebPlayer.ui.maximizeplayqueue(callback,scope);}else if(state===0){YAHOO.music.WebPlayer.ui.minimizeplayqueue(callback,scope);}}catch(ex){return null;}};YAHOO.MediaPlayer._fireOnTrackStart=function fireOnTrackStart(args){try
{this.onTrackStart.fire(args);}catch(ex){return null;}};YAHOO.MediaPlayer._fireOnTrackPause=function fireOnTrackPause(args){try
{this.onTrackPause.fire(args);}catch(ex){return null;}};YAHOO.MediaPlayer._fireOnTrackComplete=function fireOnTrackComplete(args){try
{this.onTrackComplete.fire(args);}catch(ex){return null;}};YAHOO.MediaPlayer._fireOnProgress=function fireOnProgress(args){try
{if(args.progress&&typeof(args.progress)==="number"&&args.duration&&typeof(args.duration)==="number"){this.onProgress.fire(args);}}catch(ex){return null;}};YAHOO.MediaPlayer._fireOnScrapeComplete=function fireOnScrapeComplete(args){try
{this.onScrapeComplete.fire(args);}catch(ex){return null;}};YAHOO.MediaPlayer._cleanTracks=function _cleanTracks(tracksArray){try
{var cleanArray=[];var usefulFields=["index","url","title","text","mimeType","albumartdesc","albumart","tooltip","artist","album"];var len1=tracksArray.length;var len2=usefulFields.length;for(var i=0;i<len1;i++){cleanArray[i]={};for(var obj in tracksArray[i]){for(var j=0;j<len2;j++){if(obj===usefulFields[j]){cleanArray[i][obj]=tracksArray[i][obj];}}}}return cleanArray;}catch(ex){return null;}};new YAHOO.MediaPlayer();YAHOO.music.WebPlayer.startup=function(){YAHOO.ympyui.util.Event.removeListener(window,"load",YAHOO.music.WebPlayer.startup);YAHOO.music.WebPlayer.siteparams=YAHOO.music.WebPlayer.loadSiteParams();YAHOO.music.WebPlayer.init();var buyBtn=document.getElementById("ymwp-buy");if(YAHOO.music.WebPlayer.siteparams.amazonid&&YAHOO.music.WebPlayer.siteparams.amazonid.length>0){YAHOO.ympyui.util.Dom.setStyle(buyBtn,'display','inline');}else
{var prnt=buyBtn.parentNode;prnt.removeChild(buyBtn);prnt=null;}buyBtn=null;if(YAHOO.music.WebPlayer.onLoadEvent){YAHOO.music.WebPlayer.onLoadEvent.fire();}YAHOO.music.WebPlayer.loaded=true;};YAHOO.music.WebPlayer.shutdown=function(){if(YAHOO.music.WebPlayer.disablePlayClick){YAHOO.music.WebPlayer.disablePlayClick();}if(YAHOO.music.WebPlayer.ui){YAHOO.music.WebPlayer.ui.destroy();YAHOO.music.WebPlayer.ui=null;}YAHOO.music.WebPlayer.exit();};YAHOO.music.WebPlayer.loadSiteParams=function(){var clickSpec;var siteparams={};if(typeof ympparams==="object"){siteparams.scrapeonload=ympparams.scrape===undefined?true:ympparams.scrape;siteparams.autoplay=ympparams.autoplay||false;siteparams.showstate=ympparams.showstate===undefined||ympparams.showstate<0||ympparams.showstate>2?0:ympparams.showstate;siteparams.clickSpec=ympparams.clickSpec||{};siteparams.uiless=!!ympparams.uiless;siteparams.amazonid=ympparams.amazonid||null;}else
{siteparams.scrapeonload=true;siteparams.autoplay=false;siteparams.showstate=0;siteparams.clickSpec={};siteparams.uiless=false;}if(!siteparams.amazonid){var aMeta=document.getElementsByTagName("meta");if(aMeta&&aMeta.length>0){var nCount=aMeta.length;for(var i=0;i<nCount;i++){var elMeta=aMeta[i];var sName=elMeta.name;if(typeof sName=="undefined"){sName=elMeta.getAttribute("name");}if(sName&&sName.length>0&&sName.toLowerCase()=="amazonid"){var sContent=elMeta.content;if(typeof sContent=="undefined"){sContent=elMeta.getAttribute("content");}if(sContent.length>0){siteparams.amazonid=sContent;}break;elMeta=null;}elMeta=null;}}}siteparams.clickSpec[YAHOO.music.WebPlayer.playClass]={clear:false};return siteparams;};window.setTimeout(function(){YAHOO.music.WebPlayer.startup();},0);YAHOO.ympyui.util.Event.addListener(window,"beforeunload",YAHOO.music.WebPlayer.shutdown);