var Yelloh_Link = {
    
    _base16: "0A12B34C56D78E9F",
    _baseClassName:"concierge",

    encode: function (str)
    {
        var retour="";
        for(var i=0;i<str.length;i++)
        {
            var cc=str.charCodeAt(i);
            var ch=cc>>4;
            var cl=cc-(ch*16);
            retour+=this._base16[ch]+this._base16[cl];
        }
        return this._baseClassName+retour;
    },

    decode: function (str)
    {
        var retour="";
        for(var i=0;i<str.length;i+=2)
        {
            var ch=this._base16.indexOf(str.charAt(i));
            var cl=this._base16.indexOf(str.charAt(i+1));
            retour+=String.fromCharCode((ch*16)+cl);
        }
        return retour;
    },
    
    
    init: function ()
    {
        var tagsA=document.getElementsByTagName("span");
        for(var i=0;i<tagsA.length;i++)
        {
            if (tagsA[i].className.substring(0,this._baseClassName.length)==this._baseClassName)
            {
                var url=this.decode(tagsA[i].className.substring(9));
                var nlink=document.createElement("a");
                
                //Ajout du fidToken si un utilisateur "Mon compte" est connecté
                if ( (tagsA[i].id ==  "addFidToken") )
                {
                    if((jQuery.fidToken.length > 0))
                    {
                        nlink.href=url + '&fidToken=' + jQuery.fidToken;
                    }
                    else
                    {
                        nlink.href=url;
                    }
                }
                else
                {
                    nlink.href=url;
                }

                for(var j=0;j<tagsA[i].childNodes.length;j++)
                {
                    nlink.appendChild(tagsA[i].childNodes[0]);
                }
                if(tagsA[i].getAttribute('target') !== null)
                {
                    nlink.setAttribute('target', tagsA[i].getAttribute('target'));
                }
                if(tagsA[i].getAttribute('rel') !== null)
                {
                    nlink.setAttribute('rel', tagsA[i].getAttribute('rel'));
                }
                if(tagsA[i].getAttribute('rev') !== null)
                {
                    nlink.setAttribute('rev', tagsA[i].getAttribute('rev'));
                }
                if(tagsA[i].getAttribute('onclick') !== null)
                {
                    if ( tagsA[i].id ==  "addFidToken" )
                    {
                        nlink.setAttribute('onclick', 'return openGaWindow(this);');
                        tagsA[i].setAttribute('onclick', '');
                    }
                    else
                    {
                        nlink.setAttribute('onclick', tagsA[i].getAttribute('onclick'));
                        tagsA[i].setAttribute('onclick', '');
                    }
                }
                tagsA[i].appendChild(nlink);

            }

        }
    }    
}

function openGaWindow(link) {
    _gaq.push(function() {
        var tracker = _gaq._getAsyncTracker();
        window.open(tracker._getLinkerUrl(link.href));
    });
    return false;
}

