//SwishMax Text Replacement by Alessandro Fulciniti
//related article here:
//released in Creative Commons - Commons Deeds
// http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en
function STRDetect(){
if(!detectFlash(6) || !document.getElementsByTagName || !document.getElementById || !document.createElement)
return(false);
if(Array.prototype.push == null){Array.prototype.push = function(){
this[this.length] = arguments[0]; return(this.length);}}
isIE=window.ActiveXObject && navigator.userAgent.indexOf('Mac')==-1;
return(true);
}
function SwishReplace(selector,flashsource,w,h,bk,col,hcol){
var hx=getElementsBySelector(selector);
var k1,k2,opt="",el,v,mylink;
k1=TColor(col);
k2=TColor(hcol);
if(k1) opt="&k1="+k1;
if(k2) opt+="&k2="+k2;
for(var i=0;i<hx.length;i++){
mylink="";
el=hx[i];
v=el.firstChild;
if(v.nodeType==1 && v.tagName=="A")
el=el.firstChild;
if(el.tagName=="A"){
v.style.display="block";
mylink="&mylink="+el.href;
}
text=el.firstChild.nodeValue;
var basetext=document.createElement("span");
basetext.appendChild(document.createTextNode(text));
basetext.style.height=h+"px";
basetext.style.width=w+"px";
basetext.className="strText";
var fr=document.createElement("b");
fr.className="strFlash";
var htmlcode="";
if(isIE){ //Internet Explorer PC
htmlcode='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + w + '" height="'+ h + '" title="'+text+'">';
htmlcode+='<param name="bgcolor" value="' + bk + '">';
htmlcode+='<param name="src" value="' + flashsource + '">';
htmlcode+='<param name="menu" value="false">';
htmlcode+='<param name="flashVars" value="txt=' + text+opt+mylink;
htmlcode+='"></object>';
}
else{
htmlcode='<embed type="application/x-shockwave-flash" src="' + flashsource + '"' + ' width="' + w + '" height="' + h + '" title="'+text + '" bgcolor="' + bk + ' menu="false"' + '" flashVars="txt=' + text;
htmlcode+=opt+mylink;
htmlcode+='"></embed>';
}
fr.innerHTML=htmlcode;
basetext.appendChild(fr);
el.removeChild(el.childNodes[0]);
el.appendChild(basetext);
}
}
function detectFlash(ver){
var flashversion=0;
if(navigator.plugins && navigator.plugins.length){
var x=navigator.plugins["Shockwave Flash"];
if(x && x.description) {
var y=x.description;
flashversion=y.charAt(y.indexOf('.')-1);
}
}
else{
for(var i=15; i>=3 && flashversion==0;i--){
execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
flashversion=i;
}
}
return(flashversion>=ver);
}
function getElementsBySelector(selector){
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
if(selector.indexOf(" ")>0){ //descendant selector like "tag#id tag"
s=selector.split(" ");
var fs=s[0].split("#");
if(fs.length==1) return(objlist);
f=document.getElementById(fs[1]);
if(f) return(f.getElementsByTagName(s[1]));
return(objlist);
}
if(selector.indexOf("#")>0){ //id selector like "tag#id"
s=selector.split("#");
tag=s[0];
selid=s[1];
}
if(selid!=""){
f=document.getElementById(selid);
if(f) objlist.push(f);
return(objlist);
}
if(selector.indexOf(".")>0){ //class selector like "tag.class"
s=selector.split(".");
tag=s[0];
selclass=s[1];
}
var v=document.getElementsByTagName(tag); // tag selector like "tag"
if(selclass=="")
return(v);
for(i=0;i<v.length;i++){
if(v[i].className.indexOf(selclass)>=0){
objlist.push(v[i]);
}
}
return(objlist);
}
function TColor(col)
{
var tcol="";
if(col){
if(col.indexOf("#")>=0)
col=col.substring(1,col.length);
if(col.length==3)
for(var j=0;j<3;j++)
tcol=tcol+col.substr(j,1)+col.substr(j,1);
else tcol=col;
tcol="0x"+tcol;
if(tcol=="0x000000") tcol="0x000001";
}
return(tcol);
}