function bmWeboramaInlinePlayer(){this.type="bmWeboramaInlinePlayer";this.className="bmWeboramaInlinePlayer";var sender=this;sender.load=function(event){application.player.attachEvent("progress",sender.onProgress);application.player.attachEvent("buffering",sender.onBuffering);application.player.attachEvent("statechange",sender.onStateChange);application.player.attachEvent("complete",sender.onComplete);application.attachEvent(application.getWindow("content"),"unload",sender.unload);sender.searchInline()};sender.unload=function(){application.player.detachEvent("progress",sender.onProgress);application.player.detachEvent("buffering",sender.onBuffering);application.player.detachEvent("statechange",sender.onStateChange);application.player.detachEvent("complete",sender.onComplete)};sender.searchInline=function(){if(typeof document.evaluate=="undefined"){sender.iterator(document.body,sender.searchTagIE);sender.changeTagSongIE()}else{var tempWeboramaLink=new Array();var weboramaLinks=document.evaluate("//a[(contains(attribute::href, 'weborama.ru/music')) and (attribute::inline = 'true')]",document,null,XPathResult.ANY_TYPE,null);var weboramaLink=weboramaLinks.iterateNext();while(weboramaLink){tempWeboramaLink.push(weboramaLink);weboramaLink=weboramaLinks.iterateNext()}var weboramaLinks=document.evaluate("//a[(contains(attribute::href, 'weborama.ru/#/music')) and (attribute::inline = 'true')]",document,null,XPathResult.ANY_TYPE,null);weboramaLink=weboramaLinks.iterateNext();while(weboramaLink){tempWeboramaLink.push(weboramaLink);weboramaLink=weboramaLinks.iterateNext()}var flagConvert=false;var converts={};for(var i=0;i<tempWeboramaLink.length;++i){var id=null,text="";var flagId=sender.idRegExp.test(tempWeboramaLink[i].href);var flagText=sender.textRegExp.test(tempWeboramaLink[i].href);flagConvert=(flagConvert||flagText);if(flagId){var match=tempWeboramaLink[i].href.match(sender.idRegExp)}else{var match=tempWeboramaLink[i].href.match(sender.textRegExp)}if(match){id=i;if(flagId){sender.songIdentifiers[id]=match[1]}else{converts[id]=match[1]}var element=sender.newSpan(id,tempWeboramaLink[i]);tempWeboramaLink[i].parentNode.insertBefore(element.span,tempWeboramaLink[i]);tempWeboramaLink[i].parentNode.removeChild(tempWeboramaLink[i]);if(!sender.songsLinkArray[id]){sender.songsLinkArray[id]=new Array()}sender.songsLinkArray[id].push({span:element.span,img:element.img,progress:element.progress,progressBack:element.progressBack,buffering:element.buffering,link:element.link});application.attachEvent(element.img,"click",sender.createPlaySong(id));element.link.setAttribute("inline",false)}}if(flagConvert){sender.convertRewrites(converts)}}};sender.convertRewrites=function(converts){application.httpGateway.sendData(sender.rewritesConverterURL,{rewrites:converts},sender.convertRewritesHandler)};sender.convertRewritesHandler=function(event){event=eval("("+event.data+")");var i;for(i in event){sender.songIdentifiers[i]=event[i]}};sender.hide=function(){for(var ii in sender.songsLinkArray){for(var jj=0;jj<sender.songsLinkArray[ii].length;jj++){sender.songsLinkArray[ii][jj].span.parentNode.removeChild(sender.songsLinkArray[ii][jj].span);sender.songsLinkArray[ii][jj].progress.parentNode.removeChild(sender.songsLinkArray[ii][jj].progress);sender.songsLinkArray[ii][jj].progressBack.parentNode.removeChild(sender.songsLinkArray[ii][jj].progressBack);sender.songsLinkArray[ii][jj].buffering.parentNode.removeChild(sender.songsLinkArray[ii][jj].buffering)}}sender.songsLinkArray=new Array();sender.status=application.player.PLAYER_READY;sender.lastId=null;sender.TempTagIE=new Array()};sender.onProgress=function(event){if(sender.lastId!==null){var songId=sender.songIdentifiers[sender.lastId];if(sender.listenSongIsCurrent(songId)){var width=1;if(event.duration!=0){width=event.position/event.duration}sender.setProgress(sender.lastId,width)}}};sender.setProgress=function(id,width){sender.drawProgress(sender.lastId,width)};sender.onBuffering=function(event){if(sender.lastId!==null){if(event.buffering){sender.showIndication(sender.lastId,"buffering")}else{sender.showIndication(sender.lastId,"progress")}}};sender.onStateChange=function(event){if(sender.lastId!==null){switch(event){case application.player.PLAYER_PLAY:sender.changeButton(sender.lastId,"play");var songId=sender.songIdentifiers[sender.lastId];if(songId!==null){if(sender.listenSongIsCurrent(songId)===false){sender.setProgress(sender.lastId,1);sender.changeButton(sender.lastId)}}sender.showIndication(sender.lastId,"progress");sender.status=application.player.PLAYER_PLAY;break;case application.player.PLAYER_PAUSE:sender.changeButton(sender.lastId,"pause");sender.showIndication(sender.lastId,"progress");sender.status=application.player.PLAYER_PAUSE;break;case application.player.PLAYER_SONG_COMPLETE:sender.onComplete();break}}};sender.onComplete=function(){if(sender.lastId!==null){sender.changeButton(sender.lastId);sender.loadDecoration(sender.lastId);sender.showIndication(sender.lastId,"none")}sender.lastId=null;sender.status=application.player.PLAYER_READY};sender.refresh=function(){for(var jj=0;jj<sender.songsLinkArray.length;jj++){for(var ii=0;ii<sender.songsLinkArray[jj].length;ii++){var it=sender.songsLinkArray[jj][ii],lnk=it.link,pr=it.progress,prB=it.progressBack,buf=it.buffering,offs=application.getOffsets(lnk),w=lnk.offsetWidth,h=lnk.offsetHeight;prB.style.top=buf.style.top=pr.style.top=offs.top+h-2+"px";prB.style.left=buf.style.left=pr.style.left=offs.left+"px";prB.style.width=buf.style.width=w+"px"}}};sender.searchTagIE=function(node){if((node.tagName=="a"||node.tagName=="A")&&(node.getAttribute("inline"))){var match=node.href.match(/weborama.ru.*music\/([^\/]+\/[^\/]+\/[^\/]+)/i);if(match){sender.TempTagIE.push(node)}}}}bmWeboramaInlinePlayer.prototype.type="";bmWeboramaInlinePlayer.prototype.className="";bmWeboramaInlinePlayer.prototype.songsLinkArray=new Array();bmWeboramaInlinePlayer.prototype.status=0;bmWeboramaInlinePlayer.prototype.lastId=null;bmWeboramaInlinePlayer.prototype.playButton="/images/global/inline/play.gif";bmWeboramaInlinePlayer.prototype.emptyPlayButton="/images/global/inline/empty-play.gif";bmWeboramaInlinePlayer.prototype.pauseButton="/images/global/inline/pause.gif";bmWeboramaInlinePlayer.prototype.wave="http://www.weborama.ru/temp/tagSong/wave.php";bmWeboramaInlinePlayer.prototype.zIndex=1000;bmWeboramaInlinePlayer.prototype.TempTagIE=new Array();bmWeboramaInlinePlayer.prototype.topOffset=2;bmWeboramaInlinePlayer.prototype.idRegExp=new RegExp("weborama.ru.*music\\/\\d*\\/\\d*\\/([a-f0-9]{32})","i");bmWeboramaInlinePlayer.prototype.textRegExp=new RegExp("weborama.ru.*music\\/([^\\/]+\\/[^\\/]+\\/[^\\/]+)\\/?","i");bmWeboramaInlinePlayer.prototype.songIdentifiers={};bmWeboramaInlinePlayer.prototype.rewritesConverterURL="/modules/global/rp/convert_rewrite_song.php";bmWeboramaInlinePlayer.prototype.create=function(b,a,c){};bmWeboramaInlinePlayer.prototype.iterator=function(c,b){if(c){var d=c.childNodes;for(var a=0;a<d.length;++a){this.iterator(d[a],b);b(d[a])}}};bmWeboramaInlinePlayer.prototype.changeTagSongIE=function(){var e=false;var j={};for(var i in this.TempTagIE){var b=this.TempTagIE[i];var a=null,h="";var c=this.textRegExp.test(b.href);var d=this.idRegExp.test(b.href);e=(e||c);if(navigator.appVersion.indexOf("MSIE 7.0")!=-1){b.style.position="relative";this.topOffset=4}if(d){var g=b.href.match(this.idRegExp)}else{var g=b.href.match(this.textRegExp)}if(g){a=i;if(d){this.songIdentifiers[a]=g[1]}else{j[a]=g[1]}var f=this.newSpan(a,b);b.parentNode.insertBefore(f.span,b);b.parentNode.removeChild(b);if(!this.songsLinkArray[a]){this.songsLinkArray[a]=new Array()}this.songsLinkArray[a].push({span:f.span,img:f.img,progress:f.progress,progressBack:f.progressBack,buffering:f.buffering,link:f.link});application.attachEvent(f.img,"click",this.createPlaySong(a));f.link.setAttribute("inline",false);delete b}}if(e){this.convertRewrites(j)}this.TempTagIE=new Array()};bmWeboramaInlinePlayer.prototype.newSpan=function(c,f,e){if(e==null){e={r:0,g:0,b:0}}var j=document.createElement("span");j.style.whiteSpace="nowrap";j.className="inlinePlayerText";var i=null;var d=null;i=f.cloneNode(true);d=i.firstChild;var b=document.createTextNode(" ");var g=document.createElement("b");j.appendChild(g);j.appendChild(i);var k=document.createElement("div");k.style.position="absolute";k.style.width="0px";k.style.fontSize="1px";k.style.height="3px";k.style.borderTop="1px solid green";k.style.display="none";k.style.zIndex=this.zIndex++;var a=document.createElement("div");a.style.position="absolute";a.style.width="0px";a.style.fontSize="1px";a.style.height="3px";a.style.borderTop="1px solid red";a.style.display="none";a.style.zIndex=this.zIndex++;var h=document.createElement("div");h.style.position="absolute";h.style.width="0px";h.style.fontSize="1px";h.style.height="3px";h.style.display="none";h.style.zIndex=this.zIndex++;document.body.insertBefore(a,document.body.firstChild);document.body.insertBefore(k,document.body.firstChild);document.body.insertBefore(h,document.body.firstChild);return{span:j,link:i,img:g,textNode:d,progress:a,progressBack:k,buffering:h}};bmWeboramaInlinePlayer.prototype.changeButton=function(c,b){b=b||"";if(this.songsLinkArray[c]){for(var a=0;a<this.songsLinkArray[c].length;a++){this.songsLinkArray[c][a].span.className=this.songsLinkArray[c][a].span.className.replace(/(([\s]+)?pause_Player|play_Player)/ig,"");if(b!=""){this.songsLinkArray[c][a].span.className+=" "+b+"_Player"}}}};bmWeboramaInlinePlayer.prototype.changeImage=function(d,c){var a={};if(this.songsLinkArray[d]){for(var b=0;b<this.songsLinkArray[d].length;b++){this.songsLinkArray[d][b].img.style.backgroundImage="url('"+c+"')";if(c.indexOf("play")!=-1){this.songsLinkArray[d][b].img.style.backgroundPosition="5px 4px"}else{this.songsLinkArray[d][b].img.style.backgroundPosition="0px 0px"}}}};bmWeboramaInlinePlayer.prototype.drawProgress=function(c,b){if(this.songsLinkArray[c]){for(var a=0;a<this.songsLinkArray[c].length;a++){this.songsLinkArray[c][a].progress.style.width=Math.round(parseInt(this.songsLinkArray[c][a].progressBack.style.width)*b)+"px"}}};bmWeboramaInlinePlayer.prototype.showIndication=function(c,b){if(this.songsLinkArray[c]){for(var a=0;a<this.songsLinkArray[c].length;a++){switch(b){case"none":this.songsLinkArray[c][a].progress.style.display="none";this.songsLinkArray[c][a].progressBack.style.display="none";this.songsLinkArray[c][a].buffering.style.display="none";break;case"progress":this.songsLinkArray[c][a].buffering.style.display="none";this.songsLinkArray[c][a].progress.style.display="block";this.songsLinkArray[c][a].progressBack.style.display="block";break;case"buffering":this.songsLinkArray[c][a].progress.style.display="none";this.songsLinkArray[c][a].progressBack.style.display="none";this.songsLinkArray[c][a].buffering.style.display="block";break;case"initial":this.songsLinkArray[c][a].progress.style.display="none";this.songsLinkArray[c][a].progressBack.style.display="none";this.songsLinkArray[c][a].decoration=this.songsLinkArray[c][a].link.style.textDecoration;this.songsLinkArray[c][a].link.style.textDecoration="underline";break}}}};bmWeboramaInlinePlayer.prototype.saveDecoration=function(c,b){if(this.songsLinkArray[c]){for(var a=0;a<this.songsLinkArray[c].length;a++){this.songsLinkArray[c][a].decoration=this.songsLinkArray[c][a].link.style.textDecoration;this.songsLinkArray[c][a].link.style.textDecoration="none"}}};bmWeboramaInlinePlayer.prototype.loadDecoration=function(c,b){if(this.songsLinkArray[c]){for(var a=0;a<this.songsLinkArray[c].length;a++){this.songsLinkArray[c][a].link.style.textDecoration=this.songsLinkArray[c][a].decoration}}};bmWeboramaInlinePlayer.prototype.createPlaySong=function(c){var a=this;function b(){if(a.songsLinkArray[c]){var d=a.songIdentifiers[c];if(c!=a.lastId){a.onComplete();a.lastId=c}switch(a.status){case application.player.PLAYER_READY:a.playSong(c,d);break;case application.player.PLAYER_PLAY:if(a.listenSongIsCurrent(d)){application.player.pause()}else{a.playSong(c,d)}break;case application.player.PLAYER_PAUSE:application.player.play();break}}}return b};bmWeboramaInlinePlayer.prototype.playSong=function(e,d){var b=this;b.saveDecoration(e);b.changeButton(e,"play");for(var c=0;c<b.songsLinkArray[e].length;c++){b.songsLinkArray[e][c].color=b.getElementColor(b.songsLinkArray[e][c].link);var a=b.getElementBackgroundColor(b.songsLinkArray[e][c].link);b.songsLinkArray[e][c].additionalColor={r:Math.round((b.songsLinkArray[e][c].color.r+a.r)/2),g:Math.round((b.songsLinkArray[e][c].color.g+a.g)/2),b:Math.round((b.songsLinkArray[e][c].color.b+a.b)/2)};b.songsLinkArray[e][c].buffering.style.backgroundImage='url("'+b.wave+"?r="+b.songsLinkArray[e][c].color.r+"&g="+b.songsLinkArray[e][c].color.g+"&b="+b.songsLinkArray[e][c].color.b+'")';b.songsLinkArray[e][c].progress.style.borderTopColor="rgb("+b.songsLinkArray[e][c].color.r+", "+b.songsLinkArray[e][c].color.g+", "+b.songsLinkArray[e][c].color.b+")";b.songsLinkArray[e][c].progressBack.style.borderTopColor="rgb("+b.songsLinkArray[e][c].additionalColor.r+", "+b.songsLinkArray[e][c].additionalColor.g+", "+b.songsLinkArray[e][c].additionalColor.b+")"}b.showIndication(e,"progress");application.player.playContent(d,"audio","new",1);b.refresh()};bmWeboramaInlinePlayer.prototype.listenSongIsCurrent=function(c){var b=application.player.getListenContentType();var a=application.player.getListenContentId();return((b=="audio")&&(a===c))};bmWeboramaInlinePlayer.prototype.getElementColor=function(b){var a={r:0,g:0,b:0};var d="";if(window.getComputedStyle){d=document.defaultView.getComputedStyle(b,null).getPropertyValue("color")}else{d=b.currentStyle.color}var g=d.match(/^[a-z]*$/i);if(g){var c=new Array();c.black={r:0,g:0,b:0};c.green={r:0,g:128,b:0};c.silver={r:192,g:192,b:192};c.lime={r:0,g:255,b:0};c.gray={r:128,g:128,b:128};c.olive={r:128,g:128,b:0};c.white={r:255,g:255,b:255};c.yellow={r:255,g:255,b:0};c.maroon={r:128,g:0,b:0};c.navy={r:0,g:0,b:128};c.red={r:255,g:0,b:0};c.blue={r:0,g:0,b:255};c.purple={r:128,g:0,b:128};c.teal={r:0,g:128,b:128};c.fuchsia={r:255,g:0,b:255};c.aqua={r:0,g:255,b:255};a=c[g[0].toLowerCase()]}var f=d.match(/^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/i);if(f){a.r=parseInt(f[1],10);a.g=parseInt(f[2],10);a.b=parseInt(f[3],10)}var e=d.match(/^#([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})$/i);if(e){a.r=parseInt((e[1].length==1)?e[1]+e[1]:e[1],16);a.g=parseInt((e[2].length==1)?e[2]+e[2]:e[2],16);a.b=parseInt((e[3].length==1)?e[3]+e[3]:e[3],16)}return a};bmWeboramaInlinePlayer.prototype.getElementBackgroundColor=function(b){var a={r:0,g:0,b:0};var d="";if(window.getComputedStyle){d=document.defaultView.getComputedStyle(b,null).backgroundColor;while(((d=="transparent")||(d=="rgb(0, 0, 0)")||(d=="rgba(0, 0, 0, 0)"))&&(b!=null)){d=document.defaultView.getComputedStyle(b,null).backgroundColor;b=b.parentNode}if(b==null){d="white"}}else{d=b.currentStyle.backgroundColor;while((d=="transparent")&&(b!=null)){d=b.currentStyle.backgroundColor;b=b.parentNode}if(b==null){d="white"}}var g=d.match(/^[a-z]*$/i);if(g){var c=new Array();c.black={r:0,g:0,b:0};c.green={r:0,g:128,b:0};c.silver={r:192,g:192,b:192};c.lime={r:0,g:255,b:0};c.gray={r:128,g:128,b:128};c.olive={r:128,g:128,b:0};c.white={r:255,g:255,b:255};c.yellow={r:255,g:255,b:0};c.maroon={r:128,g:0,b:0};c.navy={r:0,g:0,b:128};c.red={r:255,g:0,b:0};c.blue={r:0,g:0,b:255};c.purple={r:128,g:0,b:128};c.teal={r:0,g:128,b:128};c.fuchsia={r:255,g:0,b:255};c.aqua={r:0,g:255,b:255};a=c[g[0].toLowerCase()]}var f=d.match(/^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/i);if(f){a.r=parseInt(f[1],10);a.g=parseInt(f[2],10);a.b=parseInt(f[3],10)}var e=d.match(/^#([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})$/i);if(e){a.r=parseInt((e[1].length==1)?e[1]+e[1]:e[1],16);a.g=parseInt((e[2].length==1)?e[2]+e[2]:e[2],16);a.b=parseInt((e[3].length==1)?e[3]+e[3]:e[3],16)}return a};var application=top.application;application.weboramaInlinePlayer=new bmWeboramaInlinePlayer();application.attachEvent(window,"load",application.weboramaInlinePlayer.load);