function OneBit(pluginPath){this.pluginPath=pluginPath||'1bit.swf';this.color=false;this.background='#FFFFFF';this.playerSize=false;this.position='after';this.analytics=false;this.wrapperClass='onebit_mp3';this.playerCount=1;this.flashVersion=9;this.mp3path='mp3.php';this.specify=function(key,value){if(key=="color"){this.color=value}if(key=="background"){this.background=value}if(key=="playerSize"){this.playerSize=value}if(key=="position"){this.position=value}if(key=="analytics"){this.analytics=value}if(key=="mp3path"){this.mp3path=value}};function file_name_only(str){return str.substring(str.lastIndexOf('/')+1,str.lastIndexOf('.'))}this.apply=function(selector){var links=this.getElementsBySelector(selector);for(var i=0;i<links.length;i++){if(this.hasClass(links[i].parentNode,this.wrapperClass)){continue}if(links[i].href.substr(links[i].href.length-4)!='.mp3'){continue}this.insertPlayer(links[i])}};this.insertPlayer=function(elem){if(!this.playerSize){this.autoPlayerSize=Math.floor(elem.scrollHeight*0.65)}if(!this.color){this.autoColor=this.getStyle(elem,'color');if(this.autoColor.substr(0,1)=='#'&&this.autoColor.length==4){this.autoColor=this.autoColor.substr(0,2)+'0'+this.autoColor.substr(2,1)+'0'+this.autoColor.substr(3,1)+'0'}if(this.autoColor.substr(0,1)!='#'){this.autoColor=this.autoColor.substr(4,this.autoColor.indexOf(')')-4);var rgbSplit=new Array();rgbSplit=this.autoColor.split(', ');this.autoColor='#'+this.convertColor(Number(rgbSplit[2]),Number(rgbSplit[1]),Number(rgbSplit[0]))}}var playerWrapper=document.createElement('span');this.addClass(playerWrapper,this.wrapperClass);var hook_id='oneBitInsert_'+this.playerCount;elem.setAttribute('onclick','playcall("swf'+hook_id+'")');var span=document.createElement('span');span.setAttribute('id',hook_id);elem.parentNode.insertBefore(playerWrapper,elem);if(this.position=='before'){playerWrapper.appendChild(span);playerWrapper.innerHTML+='&nbsp;';playerWrapper.appendChild(elem)}else{playerWrapper.appendChild(elem);playerWrapper.innerHTML+='&nbsp;';playerWrapper.appendChild(span)}if(!this.playerSize){this.insertPlayerSize=this.autoPlayerSize}else{this.insertPlayerSize=this.playerSize}var flashvars={};if(!this.color){flashvars.foreColor=this.autoColor}else{flashvars.foreColor=this.color}flashvars.analytics=this.analytics;flashvars.mp3path=this.mp3path;flashvars.filename=elem.href;flashvars.id=hook_id;var params={};params.wmode="transparent";var attributes={id:"swf"+hook_id,name:hook_id};swfobject.embedSWF(this.pluginPath,hook_id,this.insertPlayerSize,this.insertPlayerSize,"9.0.0","expressInstall.swf",flashvars,params,attributes);this.playerCount++};this.getStyle=function(el,styleProp){if(el.currentStyle){var value=el.currentStyle[styleProp]}else{var value=document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp)}return value};this.convertColor=function(red,green,blue){var decColor=red+256*green+65536*blue;return decColor.toString(16)};this.getElementsBySelector=function(all_selectors){var selected=new Array();if(!document.getElementsByTagName)return selected;all_selectors=all_selectors.replace(/\s*([^\w])\s*/g,"$1");var selectors=all_selectors.split(",");var getElements=function(context,tag){if(!tag)tag='*';var found=new Array;for(var a=0,len=context.length;con=context[a],a<len;a++){var eles;if(tag=='*')eles=con.all?con.all:con.getElementsByTagName("*");else eles=con.getElementsByTagName(tag);for(var b=0,leng=eles.length;b<leng;b++)found.push(eles[b])}return found};COMMA:for(var i=0,len1=selectors.length;selector=selectors[i],i<len1;i++){var context=new Array(document);var inheriters=selector.split(" ");SPACE:for(var j=0,len2=inheriters.length;element=inheriters[j],j<len2;j++){var left_bracket=element.indexOf("[");var right_bracket=element.indexOf("]");var pos=element.indexOf("#");if(pos+1&&!(pos>left_bracket&&pos<right_bracket)){var parts=element.split("#");var tag=parts[0];var id=parts[1];var ele=document.getElementById(id);if(!ele||(tag&&ele.nodeName.toLowerCase()!=tag)){continue COMMA}context=new Array(ele);continue SPACE}pos=element.indexOf(".");if(pos+1&&!(pos>left_bracket&&pos<right_bracket)){var parts=element.split('.');var tag=parts[0];var class_name=parts[1];var found=getElements(context,tag);context=new Array;for(var l=0,len=found.length;fnd=found[l],l<len;l++){if(fnd.className&&fnd.className.match(new RegExp('(^|\s)'+class_name+'(\s|$)')))context.push(fnd)}continue SPACE}if(element.indexOf('[')+1){if(element.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?['"]?([^\]'"]*)['"]?\]$/)){var tag=RegExp.$1;var attr=RegExp.$2;var operator=RegExp.$3;var value=RegExp.$4}var found=getElements(context,tag);context=new Array;for(var l=0,len=found.length;fnd=found[l],l<len;l++){if(operator=='='&&fnd.getAttribute(attr)!=value)continue;if(operator=='~'&&!fnd.getAttribute(attr).match(new RegExp('(^|\\s)'+value+'(\\s|$)')))continue;if(operator=='|'&&!fnd.getAttribute(attr).match(new RegExp('^'+value+'-?')))continue;if(operator=='^'&&fnd.getAttribute(attr).indexOf(value)!=0)continue;if(operator=='$'&&fnd.getAttribute(attr).lastIndexOf(value)!=(fnd.getAttribute(attr).length-value.length))continue;if(operator=='*'&&!(fnd.getAttribute(attr).indexOf(value)+1))continue;else if(!fnd.getAttribute(attr))continue;context.push(fnd)}continue SPACE}var found=getElements(context,element);context=found}for(var o=0,len=context.length;o<len;o++)selected.push(context[o])}return selected};this.hasClass=function(elem,cls){return elem.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'))};this.addClass=function(elem,cls){if(!this.hasClass(elem,cls))elem.className+=" "+cls};this.removeClass=function(elem,cls){if(hasClass(elem,cls)){var reg=new RegExp('(\\s|^)'+cls+'(\\s|$)');elem.className=ele.className.replace(reg,' ')}};this.ready=function(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func}else{window.onload=function(){if(oldonload){oldonload()}func()}}}};
