1 |
- function Music(){this.init()}(function(){var a=[],b=[],c=null;Music.prototype={total:70,pageSize:10,dataUrl:"https://tingapi.b0.upaiyun.com/v1/restserver/ting?method=baidu.ting.search.common",playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf",init:function(){var d=this;domUtils.on($G("J_searchName"),"keyup",function(f){var g=window.event||f;if(g.keyCode==13){d.dosearch()}});domUtils.on($G("J_searchBtn"),"click",function(){d.dosearch()})},callback:function(e){var d=this;d.data=e.song_list;setTimeout(function(){$G("J_resultBar").innerHTML=d._renderTemplate(e.song_list)},300)},dosearch:function(){var e=this;c=null;var d=$G("J_searchName").value;if(utils.trim(d)==""){return false}d=encodeURIComponent(d);e._sent(d)},doselect:function(d){var e=this;if(typeof d=="object"){c=d}else{if(typeof d=="number"){c=e.data[d]}}},onpageclick:function(f){var e=this;for(var d=0;d<a.length;d++){$G(a[d]).className="pageoff";$G(b[d]).className="paneloff"}$G("page"+f).className="pageon";$G("panel"+f).className="panelon"},listenTest:function(g){var f=this,e=$G("J_preview"),d=(g.className=="m-try"),h=f._getTryingElem();if(h){h.className="m-try";e.innerHTML=""}if(d){g.className="m-trying";e.innerHTML=f._buildMusicHtml(f._getUrl(true))}},_sent:function(e){var d=this;$G("J_resultBar").innerHTML='<div class="loading"></div>';utils.loadFile(document,{src:d.dataUrl+"&query="+e+"&page_size="+d.total+"&callback=music.callback&.r="+Math.random(),tag:"script",type:"text/javascript",defer:"defer"})},_removeHtml:function(e){var d=/<\s*\/?\s*[^>]*\s*>/gi;return e.replace(d,"")},_getUrl:function(d){var e=this;var f="from=tiebasongwidget&url=&name="+encodeURIComponent(e._removeHtml(c.title))+"&artist="+encodeURIComponent(e._removeHtml(c.author))+"&extra="+encodeURIComponent(e._removeHtml(c.album_title))+"&autoPlay="+d+"&loop=true";return e.playerUrl+"?"+f},_getTryingElem:function(){var e=$G("J_listPanel").getElementsByTagName("span");for(var d=0;d<e.length;d++){if(e[d].className=="m-trying"){return e[d]}}return null},_buildMusicHtml:function(e){var d='<embed class="BDE_try_Music" allowfullscreen="false" pluginspage="http://www.macromedia.com/go/getflashplayer"';d+=' src="'+e+'"';d+=' width="1" height="1" style="position:absolute;left:-2000px;"';d+=' type="application/x-shockwave-flash" wmode="transparent" play="true" loop="false"';d+=' menu="false" allowscriptaccess="never" scale="noborder">';return d},_byteLength:function(d){return d.replace(/[^\u0000-\u007f]/g,"\u0061\u0061").length},_getMaxText:function(d){var e=this;d=e._removeHtml(d);if(e._byteLength(d)>12){return d.substring(0,5)+"..."}if(!d){d=" "}return d},_rebuildData:function(j){var h=this,g=[],k=h.pageSize,f;for(var e=0;e<j.length;e++){if((e+k)%k==0){f=[];g.push(f)}f.push(j[e])}return g},_renderTemplate:function(g){var l=this;if(g.length==0){return'<div class="empty">'+lang.emptyTxt+"</div>"}g=l._rebuildData(g);var n=[],d=[],m=[];n.push('<div id="J_listPanel" class="listPanel">');d.push('<div class="page">');for(var h=0,k;k=g[h++];){b.push("panel"+h);a.push("page"+h);if(h==1){n.push('<div id="panel'+h+'" class="panelon">');if(g.length!=1){m.push('<div id="page'+h+'" onclick="music.onpageclick('+h+')" class="pageon">'+(h)+"</div>")}}else{n.push('<div id="panel'+h+'" class="paneloff">');m.push('<div id="page'+h+'" onclick="music.onpageclick('+h+')" class="pageoff">'+(h)+"</div>")}n.push('<div class="m-box">');n.push('<div class="m-h"><span class="m-t">'+lang.chapter+'</span><span class="m-s">'+lang.singer+'</span><span class="m-z">'+lang.special+'</span><span class="m-try-t">'+lang.listenTest+"</span></div>");for(var f=0,e;e=k[f++];){n.push('<label for="radio-'+h+"-"+f+'" class="m-m">');n.push('<input type="radio" id="radio-'+h+"-"+f+'" name="musicId" class="m-l" onclick="music.doselect('+(l.pageSize*(h-1)+(f-1))+')"/>');n.push('<span class="m-t">'+l._getMaxText(e.title)+"</span>");n.push('<span class="m-s">'+l._getMaxText(e.author)+"</span>");n.push('<span class="m-z">'+l._getMaxText(e.album_title)+"</span>");n.push('<span class="m-try" onclick="music.doselect('+(l.pageSize*(h-1)+(f-1))+');music.listenTest(this)"></span>');n.push("</label>")}n.push("</div>");n.push("</div>")}m.reverse();d.push(m.join(""));n.push("</div>");d.push("</div>");return n.join("")+d.join("")},exec:function(){var d=this;if(c==null){return}$G("J_preview").innerHTML="";editor.execCommand("music",{url:d._getUrl(false),width:400,height:95})}}})();
|