// Seule fonction publique
function dsftag_send() {
    var param;
    param = Array.prototype.slice.call(arguments);
    param.push('WT.dl', '22');

    //on backup les valeurs du tag de base actuel (qui vont etre ecrase par dcsMultiTrack)
    var _tag_backup = dsftag_getbase(param);
    
    dcsMultiTrack.apply(this, param);
    if (dsftag_getCookie("dsftag_debug") == "1") { dsftag_send_debug(param); }

    //on restore les valeurs du tag de base a sont etat avant l'appel a dcsMultiTrack
    dsftag_setbase(_tag_backup);
}

// fonctions privée
function dsftag_init()
{
  //on accroche un evenement onclick a tous les elements possedant la classe DSFNavigationTag
  $('.DSFTagNavigation,.StylesConsoleCustom-DSFTagNavigation').click(function() {
    dsftag_navigation_click($(this));
  });

}

function dsftag_navigation_click(obj)
{
  var tmp='';
   
  // Si le click est sur une image src= ...
  if (obj.attr('src')) {
    tmp=obj.attr('src');
    tmp = tmp.split('/').slice(-1)[0]; // on garde seulement apres le dernier /
    tmp = tmp.split('.').slice(0)[0];  // on garde seulement avant le premier . (.gif, .jpg ...)
  }
  else if (obj.attr('href')){
    tmp=obj.attr('href');
    //alert('coucou');
    // peut-etre faire une gestion si javascript
  }

  if (tmp!='') {
    tmp = 'fn_' + tmp;
    dsftag_send('DCSext.navigation',tmp);
  }
}
                                                      
// on retourne toutes les valeurs du tag de base qui sont dans param (pour pouvoir les remettre ensuite dans le tag de base) 
function dsftag_getbase(param) {
    //validation init (si probleme on sort)
    if (typeof (_tag) == "undefined") return;
    if (param.length % 2 != 0) return;

    //on recupere les valeurs du tag de base
    var aRetour = new Array();
    for (var i = 0; i < param.length; i += 2) {
        aRetour[i] = param[i]
        aRetour[i + 1] = eval("_tag." + param[i]); //val precedente (ca peut-etre undefined si n'existait pas, mais ca fonctionne)
    }

    return aRetour;
}

// on remet les valeurs de param dans lans le tag de base
function dsftag_setbase(param) {
    //validation init (si probleme on sort)
    if (typeof (_tag) == "undefined") return;
    if (param.length % 2 != 0) return;

    //on remet les valeur dans tag de base (la fonction dcsSetProps est dans webtrends.js)
    _tag.dcsSetProps(param); //il va mettre des tag undefined si le tag n'existait pas mais ok.

    return;
}

function dsftag_send_debug()
{
  var arg = (Array.prototype.slice.call(arguments));
  
  //on cree le tableau avec les param
  var tmp= "dcsMultiTrack(" + (Array.prototype.slice.call(arguments)) + ")";
  
  el=document.getElementById("__dsftag_debug");
  if(el){document.body.removeChild(el);}
  var c=document.createElement("a");
  c.id="__dsftag_debug";c.style.opacity="0.7";c.style.filter="alpha(opacity=70)";c.style.position="fixed";c.style.zIndex="9000";c.style.top="15px";c.style.right="20px";c.style.background="#d00";c.style.styleFloat="right";c.style.padding="7px 10px";c.style.color="#fff";c.style.border="solid 2px #fff";c.style.textDecoration="none";c.style.textAlign="left";c.style.font="12px Lucida Grande,Helvetica,Tahoma";c.style.MozBorderRadius="5px";c.style.WebkitBorderRadius="5px";c.style.WebkitBoxShadow="0px 0px 20px #000";c.style.MozBoxShadow="0px 0px 20px #000";c.href="javascript:void(0)";c.onclick=function(){document.body.removeChild(c)};
  document.body.appendChild(c);
  c.innerHTML=unescape(tmp.toString());  
}

function dsftag_getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

