
var players=[];var playerCount=0;var PLAYER_STOPPED=0;var PLAYER_PLAYING=1;var PLAYER_PAUSED=2;var PLAYER_SMALL=1;var PLAYER_LARGE=0;function attachEvent(element,name,handler){if(element.addEventListener){element.addEventListener(name,handler,false);}else{if(element.attachEvent){element.attachEvent('on'+name,handler);}}}
function AudioPlayer(id,queryString,parentDivId,type){var controlTag;var indicatorTag;var id;var status;var contentUrl;var storeURL;var audioTag;var queryString;var parentDivId;var buttonSize;var chromeTag;var type;var downloadButtonTag;var divTag;var canPlay;var loaded;var audioURL;this.create(id,queryString,parentDivId,type);}
AudioPlayer.prototype.iTunesQuery=function(id){if(players[id].loaded!=true){try{var iTunesSearchScriptURL="http://itunes.apple.com/search?term="
+this.queryString
+"&country="
+iTunesLocale
+"&media=music&entity=song&limit=1&callback=players["
+id+"].iTunesResponse";var iTunesScript=document.createElement("script");iTunesScript.setAttribute("type","text/javascript");iTunesScript.setAttribute("src",iTunesSearchScriptURL);document.getElementsByTagName('head')[0].appendChild(iTunesScript)}catch(ex){}}}
AudioPlayer.prototype.iTunesResponse=function(iTunesObject){var action2={openItunes:function(){document.location.href=storeURL;},openClip:function(){if(this.status!=PLAYER_PLAYING){document.getElementById("iFrameAudio").src=clipURL;this.status=PLAYER_PLAYING;}else{document.getElementById("iFrameAudio").src="";this.status=PLAYER_STOPPED;}}}
this.loaded=true;if(iTunesObject.resultCount>0){var landingUrl;var linkSynPatt=/linksynergy/i;landingUrl=encodeURI(iTunesObject.results[0].trackViewUrl)
if(iTunesTrackingURL.match(linkSynPatt)){landingUrl=encodeURI(encodeURI(landingUrl+partnerId))}
var storeURL=iTunesTrackingURL+landingUrl;var clipURL=iTunesObject.results[0].previewUrl;this.audioURL=clipURL;if(this.canPlay==true){this.audioTag.src=clipURL;}
this.downloadButtonTag.style.visibility="visible";this.storeURL=storeURL;attachEvent(this.downloadButtonTag,"click",action2.openItunes);this.divTag.style.visibility="visible";}}
AudioPlayer.prototype.create=function(id,queryString,parentDivId,type){this.audioURL="a";this.loaded=false;this.canPlay=false;var audioTest=document.createElement('audio');if(audioTest.canPlayType){var canPlayMp3=!!audioTest.canPlayType&&""!=audioTest.canPlayType('audio/mp4');if(canPlayMp3==true)
this.canPlay=true;}
this.queryString=queryString;this.parentDivId=parentDivId;this.type=type;if(this.type==PLAYER_LARGE)
this.buttonSize=-18;else
this.buttonSize=-15;document.getElementById(this.parentDivId).innerHTML="";this.status=PLAYER_STOPPED;this.divTag=document.createElement("div");this.divTag.id="pl"+id;if(this.type==PLAYER_LARGE)
this.divTag.className="player_container";else
this.divTag.className="player2_container";document.getElementById(this.parentDivId).appendChild(this.divTag);if(canvasTagSupport==true){this.indicatorTag=document.createElement("canvas");this.indicatorTag.id="indicator"+id;if(this.type==PLAYER_LARGE){this.indicatorTag.className="player_indicator";this.indicatorTag.setAttribute("width","265px");this.indicatorTag.setAttribute("height","23px");}else{this.indicatorTag.className="player2_indicator";this.indicatorTag.setAttribute("width","30px");this.indicatorTag.setAttribute("height","30px");try{var canvas=this.indicatorTag;var context=canvas.getContext("2d");context.fillStyle="#ffffff";context.beginPath();context.arc(15,15,16,0,Math.PI*2,true);context.closePath();context.fill();context.fillStyle="#bcc0c5";context.beginPath();context.arc(15,15,15,0,Math.PI*2,true);context.closePath();context.fill();}catch(ex){}}
this.divTag.appendChild(this.indicatorTag);}else{this.indicatorTag=document.createElement("div");this.indicatorTag.id="indicator"+id;if(this.type==PLAYER_LARGE){this.indicatorTag.className="player_indicator";this.indicatorTag.setAttribute("width","265px");this.indicatorTag.setAttribute("height","23px");}else{this.indicatorTag.className="player2_indicator";this.indicatorTag.setAttribute("width","30px");this.indicatorTag.setAttribute("height","30px");}
this.divTag.appendChild(this.indicatorTag);}
this.chromeTag=document.createElement("div");this.chromeTag.id="chrome"+id;if(this.type==PLAYER_LARGE)
this.chromeTag.className="player_chrome";else{if(canvasTagSupport==true){this.chromeTag.className="player2_chrome";}else
this.chromeTag.className="player2a_chrome";}
this.divTag.appendChild(this.chromeTag);this.controlTag=document.createElement("div");this.controlTag.id="control"+id;if(this.type==PLAYER_LARGE)
this.controlTag.className="player_control";else
this.controlTag.className="player2_control";this.divTag.appendChild(this.controlTag);this.audioTag=document.createElement("audio");this.audioTag.id="audio"+id;this.divTag.appendChild(this.audioTag);this.downloadButtonTag=document.createElement("div");this.downloadButtonTag.id="downloadButton"+id;if(this.type==PLAYER_LARGE)
this.downloadButtonTag.className="player_download";else
this.downloadButtonTag.className="player2_download";this.divTag.appendChild(this.downloadButtonTag);var status=this.status;var controlTag=this.controlTag;var buttonSize=this.buttonSize;var audioTag=this.audioTag;var downloadButtonTag=this.downloadButtonTag;var canPlay=this.canPlay;var audioURL=this.audioURL;var action={playerMouseOver:function(){if((status==PLAYER_STOPPED)||(status==PLAYER_PAUSED)){controlTag.style.backgroundPosition="0px "+buttonSize
+"px";}else{controlTag.style.backgroundPosition="0px "+buttonSize*3
+"px";}},playerMouseOut:function(){if((status==PLAYER_STOPPED)||(status==PLAYER_PAUSED)){controlTag.style.backgroundPosition="0px 0px";}else{controlTag.style.backgroundPosition="0px "+buttonSize*2
+"px";}},playerClick:function(){controlTag.style.cursor='pointer';switch(status){case PLAYER_STOPPED:{if(canPlay==true){status=PLAYER_PLAYING;playerPlay(id);controlTag.style.backgroundPosition="0px "+buttonSize*3+"px";}else{status=PLAYER_PLAYING;document.getElementById("iFrameAudio").src=playerGetAudioURL(id);}}
break;case PLAYER_PLAYING:{if(canPlay==true){status=PLAYER_PAUSED;controlTag.style.backgroundPosition="0px "+buttonSize
+"px";try{audioTag.pause();}catch(ex){}}else{status=PLAYER_STOPPED;document.getElementById("iFrameAudio").src="";}}
break;case PLAYER_PAUSED:{if(canPlay==true){status=PLAYER_PLAYING;controlTag.style.backgroundPosition="0px "+buttonSize*3+"px";try{audioTag.play();}catch(ex){}}}
break;}},playerEnded:function(){playerEnded(id);},playerTimeUpdate:function(){playerTimeUpdate(id);},pointer:function(){controlTag.style.cursor='pointer';},pointer2:function(){downloadButtonTag.style.cursor='pointer';}}
if(this.canPlay==true){attachEvent(this.controlTag,"mouseover",action.playerMouseOver);attachEvent(this.controlTag,"mouseout",action.playerMouseOut);attachEvent(this.controlTag,"click",action.playerClick);attachEvent(this.audioTag,"ended",action.playerEnded);attachEvent(this.audioTag,"timeupdate",action.playerTimeUpdate);attachEvent(this.downloadButtonTag,"mouseover",action.pointer2);attachEvent(this.controlTag,"mouseover",action.pointer);}else{attachEvent(this.downloadButtonTag,"mouseover",action.pointer2);attachEvent(this.controlTag,"mouseover",action.playerMouseOver);attachEvent(this.controlTag,"mouseout",action.playerMouseOut);attachEvent(this.controlTag,"mouseover",action.pointer);attachEvent(this.chromeTag,"mouseover",action.pointer);attachEvent(this.controlTag,"click",action.playerClick);}}
function playerTimeUpdate(id){if(players[id].type==PLAYER_LARGE){try{var canvas=players[id].indicatorTag;var context=canvas.getContext("2d");context.fillStyle="#FDC021";var step=225/players[id].audioTag.duration;context.fillRect(30,0,players[id].audioTag.currentTime*step,20);}catch(ex){}}else{try{var canvas=players[id].indicatorTag;var context=canvas.getContext("2d");context.fillStyle="#FDC021";context.beginPath();context.lineWidth=10;var step=120/players[id].audioTag.duration;var arc=Math.PI/60;context.arc(15,15,10,-30*arc,((players[id].audioTag.currentTime*step)-30)*arc,false);context.stroke();}catch(ex){}}}
function playerEnded(id){playerStop(id);}
function playerGetAudioURL(id){return players[id].audioURL;}
function playerPlay(id){players[id].status=PLAYER_PLAYING;for(var i=0;i<players.length;i++){if(i!=id)
playerStop(i);}
try{players[id].audioTag.load();players[id].audioTag.play();}catch(ex){}}
function playerResume(id){players[id].status=PLAYER_PLAYING;for(var i=0;i<players.length;i++){if(i!=id)
playerStop(i);}
try{players[id].audioTag.play();}catch(ex){}}
function playerStop(id){players[id].status=PLAYER_STOPPED;players[id].controlTag.setAttribute("style","background-position:0px 0px;");try{players[id].audioTag.pause();var canvas=players[id].indicatorTag;var context=canvas.getContext("2d");if(players[id].type==PLAYER_LARGE)
context.clearRect(30,0,265,20);else{context.fillStyle="#ffffff";context.beginPath();context.arc(15,15,16,0,Math.PI*2,true);context.closePath();context.fill();context.fillStyle="#bcc0c5";context.beginPath();context.arc(15,15,15,0,Math.PI*2,true);context.closePath();context.fill();}}catch(ex){}}
function setupPlayers(){var i=0;var ele=0;do{var element="playera"+ele;if(document.getElementById(element)!=null){players[i]=new AudioPlayer(i,document.getElementById(element).innerHTML,element,PLAYER_LARGE);players[i].iTunesQuery(i);i++;ele++;}}while(document.getElementById(element)!=null);var ele=0;do{var element="playerb"+ele;if(document.getElementById(element)!=null){players[i]=new AudioPlayer(i,document.getElementById(element).innerHTML,element,PLAYER_SMALL);players[i].iTunesQuery(i);i++;ele++;}}while(document.getElementById(element)!=null);}
var audioTagSupport=!!(document.createElement('audio').canPlayType);var canvasTagSupport=!!document.createElement('canvas').getContext;
