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