

vwd4.config.getTrackConfig = function() {
  if (typeof(scms)==="undefined") {
    return {};
  }
  var config = {
    trackingServer: scms.trackingServer,
    trackingServerSecure: scms.trackingServerSecure,
    visitorNamespace: scms.visitorNamespace,
    dc: scms.dc,
    account: scms.account,
    currencyCode: scms.currencyCode,
    pageName: scms.pageName,
    charSet: scms.charSet
  };
  for (var param in scms) {
    if (scms.hasOwnProperty(param)) {
      if ((param.indexOf("prop")===0)
          || (param.indexOf("eVar")===0)
          || (param==="persCmp")) {
        config[param] = scms[param];
      }
    }
  }
  return config;
};


vwd4.config.onAjaxLoadTrack = function(pData) {
  if (typeof(scms)==="undefined") {
    return;
  }

  if (pData.eventParameters) {
    for (var param in pData.eventParameters) {
      if (pData.eventParameters.hasOwnProperty(param)) {
        if (param.indexOf("Omniture_")===0) {
          var paramName = param.substring("Omniture_".length);
          var paramValue = pData.eventParameters[param];
          scms[paramName] = paramValue;
        }
      }
    }
  }

  
  scms.eVar50 = vwd4.utils.isFlashFallbackModus() ? "fallback-noflash" : "standard";

  
  scms.t();

  
  scms.prop33 = null;
  scms.prop34 = null;

  
  scms.events = "None";

};


vwd4.config.onClickTrack = function(pData) {
  if (typeof(scms)==="undefined") {
    return;
  }
  if (pData.eventType==="PageLoad") {
    vwd4.config.onAjaxLoadTrack(pData);
    return;
  }

  
  var previousConfig = vwd4.config.getTrackConfig();

  if (pData.eventParameters) {
    for (var param in pData.eventParameters) {
      if (pData.eventParameters.hasOwnProperty(param)) {
        if (param.indexOf("Omniture_")===0) {
          var paramName = param.substring("Omniture_".length);
          var paramValue = pData.eventParameters[param];
          
          if (paramName==="events") {
            scms.linkTrackEvents = paramValue;
          }
          scms[paramName] = paramValue;
        }
      }
    }
  }
  var trackType = null;
  if ((pData.eventType==="LinkInternal") ||
      (pData.eventType==="Custom")) {
    trackType = "o";
  }
  else if (pData.eventType==="LinkExternal") {
    trackType = "e";
    scms.prop21 = pData.eventTargetUrl + " : " + scms.pageName;
  }
  else if (pData.eventType==="LinkDownload") {
    trackType = "d";
  }
  if (trackType) {
    var linkName = pData.eventTargetTitle;

    
    if ((pData.eventType==="LinkInternal") ||
        (pData.eventType==="LinkExternal") ||
        (pData.eventType==="LinkDownload")) {
      linkName = scms.pageName + " | " + pData.eventTargetTitle;
    }

    
    var targetUrl = pData.eventTargetUrl;
    if (!targetUrl) {
      targetUrl = "#";
    }

    
    scms.eVar50 = vwd4.utils.isFlashFallbackModus() ? "fallback-noflash" : "standard";

    
    scms.linkTrackVars = "";
    scms.tl({href:targetUrl}, trackType, linkName);
  }

  
  vwd4.config.trackingRestorePreviousConfig(previousConfig);

  
  scms.events = "None";

};


vwd4.config.onLoadTrack = function(pData) {
  if (!pData) {
    pData = {};
  }

  
  if (!jQuery.cookie("TrackingSession")) {
    // event1
    scms.events = "event1";
    // ApplicationAndAction
    scms.prop33 = scms.prop32 + "Call";
    // ApplicationAndActionAndCarlineGroupName
    if (scms.prop41) {
      scms.prop34 = scms.prop32 + "Call : " + scms.prop41;
    }
  }
  
  var expiresDate = new Date();
  expiresDate.setTime(expiresDate.getTime() + (30 * 60 * 1000));
  jQuery.cookie("TrackingSession",1,{path:"/",expires:expiresDate});

  
  scms.eVar50 = vwd4.utils.isFlashFallbackModus() ? "fallback-noflash" : "standard";

  
  if (pData.onLoadTrackingDisabled || (pData.onLoadTrackingFallbackOnly && !vwd4.utils.isFlashFallbackModus())) {

    
    if (typeof scms_doPlugins=="function") {
      scms_doPlugins(scms);
    }

    return;
  }

  
  scms.t();

  
  scms.prop33 = null;
  scms.prop34 = null;

  
  scms.events = "None";

}


vwd4.config.trackingRestorePreviousConfig = function(pPreviousConfig) {
  for (var i=0; i<=99; i++) {
    scms["prop"+i] = null;
    scms["eVar"+i] = null;
  }
  for (var param in pPreviousConfig) {
    if (pPreviousConfig.hasOwnProperty(param)) {
      scms[param] = pPreviousConfig[param];
    }
  }
}

