/*	SWFObject v2.2 <http://code.google.com/p/swfobject/>
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){

var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){
        var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;
        if(typeof t.plugins!=D&&typeof t.plugins[S]==r){
            ab=t.plugins[S].description;
            if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){
                T=true;
                X=false;
                ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");
                ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);
                ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);
                ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0
                }
                
            }else{
        if(typeof O.ActiveXObject!=D){
            try{
                var ad=new ActiveXObject(W);
                if(ad){
                    ab=ad.GetVariable("$version");
                    if(ab){
                        X=true;
                        ab=ab.split(" ")[1].split(",");
                        ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]
                        }
                    }
            }catch(Z){}
}
}
return{
    w3:aa,
    pv:ag,
    wk:af,
    ie:X,
    win:ae,
    mac:ac
}
}(),k=function(){
    if(!M.w3){
        return
    }
    if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){
        f()
        }
        if(!J){
        if(typeof j.addEventListener!=D){
            j.addEventListener("DOMContentLoaded",f,false)
            }
            if(M.ie&&M.win){
            j.attachEvent(x,function(){
                if(j.readyState=="complete"){
                    j.detachEvent(x,arguments.callee);
                    f()
                    }
                });
        if(O==top){
            (function(){
                if(J){
                    return
                }
                try{
                    j.documentElement.doScroll("left")
                    }catch(X){
                    setTimeout(arguments.callee,0);
                    return
                }
                f()
                })()
            }
        }
    if(M.wk){
    (function(){
        if(J){
            return
        }
        if(!/loaded|complete/.test(j.readyState)){
            setTimeout(arguments.callee,0);
            return
        }
        f()
        })()
    }
    s(f)
}
}();
function f(){
    if(J){
        return
    }
    try{
        var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));
        Z.parentNode.removeChild(Z)
        }catch(aa){
        return
    }
    J=true;
    var X=U.length;
    for(var Y=0;Y<X;Y++){
        U[Y]()
        }
    }
    function K(X){
    if(J){
        X()
        }else{
        U[U.length]=X
        }
    }
function s(Y){
    if(typeof O.addEventListener!=D){
        O.addEventListener("load",Y,false)
        }else{
        if(typeof j.addEventListener!=D){
            j.addEventListener("load",Y,false)
            }else{
            if(typeof O.attachEvent!=D){
                i(O,"onload",Y)
                }else{
                if(typeof O.onload=="function"){
                    var X=O.onload;
                    O.onload=function(){
                        X();
                        Y()
                        }
                    }else{
                O.onload=Y
                }
            }
    }
}
}
function h(){
    if(T){
        V()
        }else{
        H()
        }
    }
function V(){
    var X=j.getElementsByTagName("body")[0];
    var aa=C(r);
    aa.setAttribute("type",q);
    var Z=X.appendChild(aa);
    if(Z){
        var Y=0;
        (function(){
            if(typeof Z.GetVariable!=D){
                var ab=Z.GetVariable("$version");
                if(ab){
                    ab=ab.split(" ")[1].split(",");
                    M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]
                    }
                }else{
            if(Y<10){
                Y++;
                setTimeout(arguments.callee,10);
                return
            }
        }
        X.removeChild(aa);
        Z=null;
        H()
        })()
}else{
    H()
    }
}
function H(){
    var ag=o.length;
    if(ag>0){
        for(var af=0;af<ag;af++){
            var Y=o[af].id;
            var ab=o[af].callbackFn;
            var aa={
                success:false,
                id:Y
            };

            if(M.pv[0]>0){
                var ae=c(Y);
                if(ae){
                    if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){
                        w(Y,true);
                        if(ab){
                            aa.success=true;
                            aa.ref=z(Y);
                            ab(aa)
                            }
                        }else{
                    if(o[af].expressInstall&&A()){
                        var ai={};

                        ai.data=o[af].expressInstall;
                        ai.width=ae.getAttribute("width")||"0";
                        ai.height=ae.getAttribute("height")||"0";

                        if(ae.getAttribute("class")){
                            ai.styleclass=ae.getAttribute("class")
                            
                            }
                            if(ae.getAttribute("align")){
                            ai.align=ae.getAttribute("align")
                            }
                            var ah={};

                        var X=ae.getElementsByTagName("param");
                        var ac=X.length;
                        for(var ad=0;ad<ac;ad++){
                            if(X[ad].getAttribute("name").toLowerCase()!="movie"){
                                ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")
                                }
                            }
                        P(ai,ah,Y,ab)
                    }else{
                    p(ae);
                    if(ab){
                        ab(aa)
                        }
                    }
            }
        }
}else{
    w(Y,true);
    if(ab){
        var Z=z(Y);
        if(Z&&typeof Z.SetVariable!=D){
            aa.success=true;
            aa.ref=Z
            }
            ab(aa)
        }
    }
}
}
}
function z(aa){
    var X=null;
    var Y=c(aa);
    if(Y&&Y.nodeName=="OBJECT"){
        if(typeof Y.SetVariable!=D){
            X=Y
            }else{
            var Z=Y.getElementsByTagName(r)[0];
            if(Z){
                X=Z
                }
            }
    }
return X
}
function A(){
    return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)
    }
    function P(aa,ab,X,Z){
    a=true;
    E=Z||null;
    B={
        success:false,
        id:X
    };

    var ae=c(X);
    if(ae){
        if(ae.nodeName=="OBJECT"){
            l=g(ae);
            Q=null
            }else{
            l=ae;
            Q=X
            }
            aa.id=R;
        if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){
            aa.width="310"
            }
            if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){
            aa.height="137"
            }
            j.title=j.title.slice(0,47)+" - Flash Player Installation";
        var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;
        if(typeof ab.flashvars!=D){
            ab.flashvars+="&"+ac
            }else{
            ab.flashvars=ac
            }
            if(M.ie&&M.win&&ae.readyState!=4){
            var Y=C("div");
            X+="SWFObjectNew";
            Y.setAttribute("id",X);
            ae.parentNode.insertBefore(Y,ae);
            ae.style.display="none";
            (function(){
                if(ae.readyState==4){
                    ae.parentNode.removeChild(ae)
                    }else{
                    setTimeout(arguments.callee,10)
                    }
                })()
        }
        u(aa,ab,X)
    }
}
function p(Y){
    if(M.ie&&M.win&&Y.readyState!=4){
        var X=C("div");
        Y.parentNode.insertBefore(X,Y);
        X.parentNode.replaceChild(g(Y),X);
        Y.style.display="none";
        (function(){
            if(Y.readyState==4){
                Y.parentNode.removeChild(Y)
                }else{
                setTimeout(arguments.callee,10)
                }
            })()
    }else{
    Y.parentNode.replaceChild(g(Y),Y)
    }
}
function g(ab){
    var aa=C("div");
    if(M.win&&M.ie){
        aa.innerHTML=ab.innerHTML
        }else{
        var Y=ab.getElementsByTagName(r)[0];
        if(Y){
            var ad=Y.childNodes;
            if(ad){
                var X=ad.length;
                for(var Z=0;Z<X;Z++){
                    if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){
                        aa.appendChild(ad[Z].cloneNode(true))
                        }
                    }
                }
        }
}
return aa
}
function u(ai,ag,Y){
    var X,aa=c(Y);
    if(M.wk&&M.wk<312){
        return X
        }
        if(aa){
        if(typeof ai.id==D){
            ai.id=Y
            }
            if(M.ie&&M.win){
            var ah="";
            for(var ae in ai){
                if(ai[ae]!=Object.prototype[ae]){
                    if(ae.toLowerCase()=="data"){
                        ag.movie=ai[ae]
                        }else{
                        if(ae.toLowerCase()=="styleclass"){
                            ah+=' class="'+ai[ae]+'"'
                            }else{
                            if(ae.toLowerCase()!="classid"){
                                ah+=" "+ae+'="'+ai[ae]+'"'
                                }
                            }
                    }
            }
            }
        var af="";
for(var ad in ag){
    if(ag[ad]!=Object.prototype[ad]){
        af+='<param name="'+ad+'" value="'+ag[ad]+'" />'
        }
    }
aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";
N[N.length]=ai.id;
X=c(ai.id)
}else{
    var Z=C(r);
    Z.setAttribute("type",q);
    for(var ac in ai){
        if(ai[ac]!=Object.prototype[ac]){
            if(ac.toLowerCase()=="styleclass"){
                Z.setAttribute("class",ai[ac])
                }else{
                if(ac.toLowerCase()!="classid"){
                    Z.setAttribute(ac,ai[ac])
                    }
                }
        }
    }
    for(var ab in ag){
    if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){
        e(Z,ab,ag[ab])
        }
    }
aa.parentNode.replaceChild(Z,aa);
X=Z
}
}
return X
}
function e(Z,X,Y){
    var aa=C("param");
    aa.setAttribute("name",X);
    aa.setAttribute("value",Y);
    Z.appendChild(aa)
    }
    function y(Y){
    var X=c(Y);
    if(X&&X.nodeName=="OBJECT"){
        if(M.ie&&M.win){
            X.style.display="none";
            (function(){
                if(X.readyState==4){
                    b(Y)
                    }else{
                    setTimeout(arguments.callee,10)
                    }
                })()
        }else{
        X.parentNode.removeChild(X)
        }
    }
}
function b(Z){
    var Y=c(Z);
    if(Y){
        for(var X in Y){
            if(typeof Y[X]=="function"){
                Y[X]=null
                }
            }
        Y.parentNode.removeChild(Y)
    }
}
function c(Z){
    var X=null;
    try{
        X=j.getElementById(Z)
        }catch(Y){}
    return X
    }
    function C(X){
    return j.createElement(X)
    }
    function i(Z,X,Y){
    Z.attachEvent(X,Y);
    I[I.length]=[Z,X,Y]
    }
    function F(Z){
    var Y=M.pv,X=Z.split(".");
    X[0]=parseInt(X[0],10);
    X[1]=parseInt(X[1],10)||0;
    X[2]=parseInt(X[2],10)||0;
    return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false
    }
    function v(ac,Y,ad,ab){
    if(M.ie&&M.mac){
        return
    }
    var aa=j.getElementsByTagName("head")[0];
    if(!aa){
        return
    }
    var X=(ad&&typeof ad=="string")?ad:"screen";
    if(ab){
        n=null;
        G=null
        }
        if(!n||G!=X){
        var Z=C("style");
        Z.setAttribute("type","text/css");
        Z.setAttribute("media",X);
        n=aa.appendChild(Z);
        if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){
            n=j.styleSheets[j.styleSheets.length-1]
            }
            G=X
        }
        if(M.ie&&M.win){
        if(n&&typeof n.addRule==r){
            n.addRule(ac,Y)
            }
        }else{
    if(n&&typeof j.createTextNode!=D){
        n.appendChild(j.createTextNode(ac+" {"+Y+"}"))
        }
    }
}
function w(Z,X){
    if(!m){
        return
    }
    var Y=X?"visible":"hidden";
    if(J&&c(Z)){
        c(Z).style.visibility=Y
        }else{
        v("#"+Z,"visibility:"+Y)
        }
    }
function L(Y){
    var Z=/[\\\"<>\.;]/;
    var X=Z.exec(Y)!=null;
    return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y
    }
    var d=function(){
    if(M.ie&&M.win){
        window.attachEvent("onunload",function(){
            var ac=I.length;
            for(var ab=0;ab<ac;ab++){
                I[ab][0].detachEvent(I[ab][1],I[ab][2])
                }
                var Z=N.length;
            for(var aa=0;aa<Z;aa++){
                y(N[aa])
                }
                for(var Y in M){
                M[Y]=null
                }
                M=null;
            for(var X in swfobject){
                swfobject[X]=null
                }
                swfobject=null
            })
        }
    }();
return{
    registerObject:function(ab,X,aa,Z){
        if(M.w3&&ab&&X){
            var Y={};

            Y.id=ab;
            Y.swfVersion=X;
            Y.expressInstall=aa;
            Y.callbackFn=Z;
            o[o.length]=Y;
            w(ab,false)
            }else{
            if(Z){
                Z({
                    success:false,
                    id:ab
                })
                }
            }
    },
getObjectById:function(X){
    if(M.w3){
        return z(X)
        }
    },
embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){
    var X={
        success:false,
        id:ah
    };

    if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){
        w(ah,false);
        K(function(){
            ae+="";
            ag+="";
            var aj={};

            if(af&&typeof af===r){
                for(var al in af){
                    aj[al]=af[al]
                    }
                }
                aj.data=ab;
        aj.width=ae;
        aj.height=ag;
        var am={};

        if(ad&&typeof ad===r){
            for(var ak in ad){
                am[ak]=ad[ak]
                }
            }
            if(Z&&typeof Z===r){
            for(var ai in Z){
                if(typeof am.flashvars!=D){
                    am.flashvars+="&"+ai+"="+Z[ai]
                    }else{
                    am.flashvars=ai+"="+Z[ai]
                    }
                }
            }
            if(F(Y)){
    var an=u(aj,am,ah);
    if(aj.id==ah){
        w(ah,true)
        }
        X.success=true;
    X.ref=an
    }else{
    if(aa&&A()){
        aj.data=aa;
        P(aj,am,ah,ac);
        return
    }else{
        w(ah,true)
        }
    }
if(ac){
    ac(X)
    }
})
}else{
    if(ac){
        ac(X)
        }
    }
},
switchOffAutoHideShow:function(){
    m=false
    },
ua:M,
getFlashPlayerVersion:function(){
    return{
        major:M.pv[0],
        minor:M.pv[1],
        release:M.pv[2]
        }
    },
hasFlashPlayerVersion:F,
createSWF:function(Z,Y,X){
    if(M.w3){
        return u(Z,Y,X)
        }else{
        return undefined
        }
    },
showExpressInstall:function(Z,aa,X,Y){
    if(M.w3&&A()){
        P(Z,aa,X,Y)
        }
    },
removeSWF:function(X){
    if(M.w3){
        y(X)
        }
    },
createCSS:function(aa,Z,Y,X){
    if(M.w3){
        v(aa,Z,Y,X)
        }
    },
addDomLoadEvent:K,
addLoadEvent:s,
getQueryParamValue:function(aa){
    var Z=j.location.search||j.location.hash;
    if(Z){
        if(/\?/.test(Z)){
            Z=Z.split("?")[1]
            }
            if(aa==null){
            return L(Z)
            }
            var Y=Z.split("&");
        for(var X=0;X<Y.length;X++){
            if(Y[X].substring(0,Y[X].indexOf("="))==aa){
                return L(Y[X].substring((Y[X].indexOf("=")+1)))
                }
            }
        }
    return""
},
expressInstallCallback:function(){
    if(a){
        var X=c(R);
        if(X&&l){
            X.parentNode.replaceChild(l,X);
            if(Q){
                w(Q,true);
                if(M.ie&&M.win){
                    l.style.display="block"
                    }
                }
            if(E){
            E(B)
            }
        }
    a=false
}
}
}
}();
if(typeof SkypeDetection=="undefined"){
    SkypeDetection=function(){
      
        var _detectionSwfUrl="http://api.skype.com/detection/detection_as3.swf";
        var _detectionSwfID="skypedetectionswf";
        var _containerID="skypedetectioncontainer";
        var _verbose=false;
        var _flashCreated=false;
        var _initalizing=false;
        var _successCallbacks=[];
        var _failureCallbacks=[];
        var _failureTimeout=5000;
        
        var createContainer=function(){
            var container=document.createElement("div");
            container.id=_containerID;
            container.style.position="absolute";
            container.style.width="5px";
            container.style.height="5px";
            container.style.top="0px";
            container.style.left="-10px";
            
            var div=document.body&&document.body.appendChild(container);

            if(!div){
                alert("Seems like container creating failed.");
                
                return;
            }

            window.setTimeout(createFlash,10);
        };

        var createFlash=function(){


       if(typeof YAHOO!="undefined"&&YAHOO.widget&&YAHOO.widget.SWF){
  
                alert("Using YUI SWF module to embed Flash content");
                var yuiswf=new YAHOO.widget.SWF(_containerID,_detectionSwfUrl,{
                    version:9,
                    fixedAttributes:{
                        allowScriptAccess:"always",
                        width:5,
                        height:5
                    }
                });
            _flashCreated=true;
            _detectionSwfID=yuiswf._id;
        }else{
                          
            if(window.jQuery&&$&&$.flash&&typeof $.flash.create=="function"){
                
                alert("Using jquery-swfobject to embed Flash content");
                $("#"+_containerID).flash({
                    swf:_detectionSwfUrl,
                    id:_detectionSwfID,
                    width:5,
                    height:5,
                    hasVersion:9,
                    params:{
                        allowscriptaccess:"always"
                    }
                });
            _flashCreated=true;
        }else{
            
            if(window.jQuery&&$&&$.fn.flash){
            
                alert("Using jquery-flash to embed Flash content");
                $("#"+_containerID).flash({
                    id:_detectionSwfID,
                    src:_detectionSwfUrl,
                    width:5,
                    height:5,
                    allowscriptaccess:"always",
                    version:"9.0"
                });
                _flashCreated=true;
            }else{
                if(typeof swfobject!="undefined"&&swfobject.embedSWF){
                    alert("Using SWFObject 2.x to embed Flash content");
                    swfobject.embedSWF(_detectionSwfUrl,_containerID,5,5,"9.0",null,null,{
                        allowScriptAccess:"always"
                    },{
                        id:_detectionSwfID
                    },flashStatusCallback);
                }else{
                    if(typeof deconcept!="undefined"&&deconcept.SWFObject){
                        alert("Using SWFObject 1.5 to embed Flash content");
                        var so=new SWFObject(_detectionSwfUrl,_detectionSwfID,5,5,"9.0");
                        so.addParam("allowScriptAccess","always");
                        so.write(_containerID);
                        _flashCreated=true;
                    }else{
                        alert("No supported way of embedding Flash was found");
                        detectionFail();
                        return;
                    }
                }
            }
    }
}
       
window.setTimeout(detectionFail,_failureTimeout);
};

var flashStatusCallback=function(e){
    if(e.success==false){
        alert("Flash embedding via SWFObject embedding failed");
        detectionFail();
    }else{
        if(e.success==true){
            alert("SWFObject callback indicated success");
            _flashCreated=true;
        }
    }
};

var detectionFail=function(){
    if(!SkypeDetection.ready){
        alert("Detection seems to have failed, calling failure callbacks");
        for(var i=0;i<_failureCallbacks.length;i++){
            _failureCallbacks[i]();
        }
        }
    };

var detectionSuccess=function(){
    alert("Detection succeeded, calling success callbacks");
    for(var i=0;i<_successCallbacks.length;i++){
        _successCallbacks[i]();
    }
    };

var alert=function(msg){
    if(_verbose&&typeof console!="undefined"&&console.alert){
        console.alert("[SkypeDetection] "+msg);
    }
};

var registerCallback=function(stack,fn){
    for(var i=0;i<stack.length;i++){
        if(stack[i]===fn){
            return;
        }
    }
    stack.push(fn);
};

var readDetectionData=function(){
    var swf=document.getElementById(_detectionSwfID);
    try{
        var data=swf.getData();
    }catch(e){
        alert("Getting data with swf.getData() failed, likely reason is browser issue with ExternalInterface setup");
        detectionFail();
        return;
    }
    
    SkypeDetection.installed=swf.isInstalled();
    alert("Reading detection data, Skype is "+(SkypeDetection.installed?"installed":"not installed"));
    if(SkypeDetection.installed){
        SkypeDetection.version=data.version;
        SkypeDetection.platform=data.platform;
        SkypeDetection.language=data.language;
        alert("Using Skype version '"+data.version+"' on '"+data.platform+"' platform in language '"+data.language+"'");
        if(swf.getSharedObjectData){
            try{
                data=swf.getSharedObjectData();
            }catch(e){
                alert("Could not read swf.getSharedObjectData()");
            }
            if(data.ui_timezone){
                SkypeDetection.internal.profileTimezone=data.ui_timezone;
            }
            if(data.os_timezone){
                SkypeDetection.internal.osTimezone=data.os_timezone;
            }else{
                SkypeDetection.internal.osTimezone=parseInt(new Date().getTimezoneOffset()/60);
            }
            if(data.ui_installdate){
                if(typeof data.ui_installdate=="string"){
                    data.ui_installdate=parseInt(data.ui_installdate);
                }
                if(isNaN(data.ui_installdate)||data.ui_installdate==0){
                    SkypeDetection.internal.profileAge=-1;
                }else{
                    SkypeDetection.internal.profileAge=Math.floor(((new Date()).getTime()/1000-data.ui_installdate)/60/60/24);
                }
            }
        }
    if(swf.getSessionData){
    try{
        data=swf.getSessionData();
    }catch(e){
        alert("Could not read swf.getSessionData()");
    }
    if(data.username){
        SkypeDetection.internal.username=data.username;
        var timeNow=(new Date()).getTime()/1000;
        if(typeof data.expires!="undefined"&&data.expires<timeNow){
            SkypeDetection.internal.username="";
            try{
                swf.clearSessionData();
            }catch(e){}
        }
    }
}
}
detectionSuccess();
};

return{
    setVerbose:function(verbose){
        _verbose=verbose;
        alert("Enabled verbose mode");
    },
    setReady:function(){
        alert("Flash detection code indicated to JS that it is ready");
        SkypeDetection.ready=true;
        window.setTimeout(readDetectionData,10);
    },
    detect:function(successFn,failureFn){
        successFn&&registerCallback(_successCallbacks,successFn);
        failureFn&&registerCallback(_failureCallbacks,failureFn);
        if(SkypeDetection.ready){
            alert("Detection has already been run before");
            window.setTimeout(SkypeDetection.installed?detectionSuccess:detectionFail,10);
        }else{
            if(!_flashCreated&&!_initalizing){
                _initalizing=true;
                alert("Creating detection Flash helper");
                window.setTimeout(createContainer,10);
            }else{
                alert("Unhandled case, marked not ready and flash somehow created?");
            }
        }
    },
isQualifiedVersion:function(reqver){
    if(!SkypeDetection.ready||!SkypeDetection.installed){
        return false;
    }
    var ver=SkypeDetection.version;
    alert("Comparing detected version "+ver+" to required version "+reqver);
    ver=ver.split(".");
    reqver=reqver.split(".");
    try{
        if(parseInt(ver[0])>parseInt(reqver[0])||(parseInt(ver[0])==parseInt(reqver[0])&&parseInt(ver[1])>parseInt(reqver[1]))||(parseInt(ver[0])==parseInt(reqver[0])&&parseInt(ver[1])==parseInt(reqver[1])&&parseInt(ver[3])>=parseInt(reqver[3]))){
            return true;
        }
    }catch(e){}
return false;
},
ready:false,
version:null,
platform:null,
language:null,
installed:null,
internal:{
    username:null,
    profileTimezone:null,
    osTimezone:null,
    profileAge:null
}
};

}();
}/*
 * This is the legacy public Skype detection file converted to use new Flash
 * based detection library. It is mainly used for old Skype web buttons, though
 * some 3rd party sites have made use of it as well. This file tries to expose
 * the same API as previous implementation to not break 3rd party sites.
 *
 * Please use detection.js (SkypeDetection object) based library instead of
 * this in all new site developments.
 */
(function(){
    var _verbose=false;
    var _hasSkype=false;
    var _currentURI;
    var _notice;
    var _template='<div style="width: 540px; height: 305px; background: white url(http://download.skype.com/share/skypebuttons/oops/bg.png) top left no-repeat; position: relative; font: 14px Verdana, sans-serif;"><span style="position: absolute; left: 40px; top: 44px; font: 24px/24px Verdana, sans-serif; color: white; font-weight: 500;">Hello!</span><span style="position: absolute; left: 40px; top: 90px; width: 230px; font: 14px/18px Verdana, sans-serif; color: white;">Skype buttons require that you have the latest version of Skype installed. Don&rsquo;t worry, you only need to do this once.</span><span style="position: absolute; left: 290px; top: 90px; width: 220px; font: 14px/18px Verdana, sans-serif; color: white;">Skype is a little piece of software that lets you make free calls over the internet.<br /><a href="http://www.skype.com/go/features" style="color: white">Learn more about Skype</a></span><span style="position: absolute; left: 40px; top: 200px; font: 14px/18px Verdana, sans-serif; color: black; width: 460px;">Skype is free, easy and quick to download and install.<br /> It works with Windows, Mac OS X, Linux and your mobile device.</span><form action="http://www.skype.com/go/download" method="get" target="_blank" style="position: absolute; margin: 0; padding: 0; left: 40px; top: 255px; width: 460px;"><input type="submit" value="Download Skype" style="float: left;" /><input type="button" name="haveskype" value="Already have Skype" style="float: right;" /></form></div></div>';
    var alert=function(msg){
        if(_verbose&&console&&console.alert){
            console.alert("[skypeCheck.js] "+msg);
        }
    };

if(typeof SkypeDetection!="object"||typeof swfobject!="object"||!swfobject.addDomLoadEvent){
    alert("Needed dependencies (SkypeDetection, SWFObject 2.x) were not found! Not checking for Skype");
    return;
}
var addListener=function(obj,ev,fn){
    if(obj&&typeof obj.addEventListener!="undefined"){
        obj.addEventListener(ev,fn,false);
    }else{
        if(obj&&typeof obj.attachEvent!="undefined"){
            obj.attachEvent("on"+ev,fn);
        }else{
            alert("No supported way to add event listener was found");
        }
    }
};

var addLinkChecks=function(){
    var links=document.getElementsByTagName("A");
    var l;
    for(var i=0;i<links.length;i++){
        l=links[i];
        if(l.href&&l.href.indexOf("skype:")==0){
            addListener(l,"click",linkClickCheck);
            continue;
        }
    }
    };

var linkClickCheck=function(e){
    if(!e){
        var e=window.event;
    }
    var target=e.target||e.srcElement||null;
    if(target){
        while(target.tagName!="A"&&target.parentElement){
            target=target.parentElement;
        }
    }
    if(SkypeDetection.installed||_hasSkype){
    alert("Skype was detected, passing link through to Skype");
    return;
}else{
    alert("Skype seems not to be installed");
    target&&target.href&&(_currentURI=target.href);
    showNotice();
    e.preventDefault&&e.preventDefault();
    e.stopPropagation&&e.stopPropagation();
    e.returnValue&&(e.returnValue=false);
    return false;
}
};

var showNotice=function(){
    var clientWidth=0,clientHeight=0;
    if(!_notice){
        if(document&&document.documentElement&&document.documentElement.clientWidth){
            clientWidth=document.documentElement.clientWidth;
            clientHeight=document.documentElement.clientHeight;
        }else{
            if(document&&document.body&&document.body.clientWidth){
                clientWidth=document.body.clientWidth;
                clientHeight=document.body.clientHeight;
            }
        }
        alert("Creating notice element");
    _notice=document.createElement("DIV");
    _notice.id="skypeCheckNotice";
    _notice.style.position="absolute";
    _notice.style.zIndex="10000";
    /*@cc_on
            @if (@_jscript_version == 5.6)
            _notice.style.position = "absolute";
            @end
            @*/
    _notice.style.top=Math.max(0,Math.floor(clientHeight/2-152))+"px";
    _notice.style.left=Math.max(0,Math.floor(clientWidth/2-270))+"px";
    _notice.innerHTML=_template;
    document.body.appendChild(_notice);
    var f=_notice.getElementsByTagName("input");
    (f.length==2)&&addListener(f[1],"click",hasSkype);
    f.length&&addListener(f[0].parentElement,"submit",onDownloading)&&f[0].focus();
}
alert("Showing notice element");
_notice.style.visibility="visible";
};

var hasSkype=function(){
    alert("User indicated having Skype, hiding notice, opening Skype URI "+_currentURI);
    _hasSkype=true;
    _notice.style.visibility="hidden";
    _currentURI&&location.replace(_currentURI);
    _currentURI=null;
};

var onDownloading=function(){
    var i=_notice.getElementsByTagName("input");
    if(i.length>1){
        i[1].style["float"]="";
        i[1].value="I have Skype installed now";
        i[0].style.display="none";
    }
};

var skypeCheck=function(){
    return SkypeDetection.ready&&SkypeDetection.installed;
};

swfobject.addDomLoadEvent(addLinkChecks);
swfobject.addDomLoadEvent(SkypeDetection.detect);
window.skypeCheck=skypeCheck;
})();





