/* $Id: ga.js,v 3.3 2008/06/07 07:11:07 Lubos Exp $ */

// vrati hodnotu zadaneho parametru z URL stranky 
// input: paramName     - nazev hledaneho parametru
//        useFragment   - (T|F) parametry GA predany ve fragmentu

function getURLParam(paramName, useFragment) {
  // oddelovac casti URL s parametry pro GA
  var fragmentDivider  = "#";  // oddelovaci symbol pro fragment
  var paramPartDivider = "?";  // oddelovaci symbol pro cast URL s parametry
  if (useFragment) paramPartDivider = fragmentDivider;
  
  var paramValue = "";
  var URL = window.location.href;
  if (URL.indexOf(paramPartDivider) > -1) {
    var queryString = URL.substr(URL.indexOf(paramPartDivider)).toLowerCase();
    
    // odstraneni fragmentu, pokud tam parametry nemaji byt
    if (!useFragment && queryString.indexOf(fragmentDivider) != -1) {
      queryString = queryString.substr(0, queryString.indexOf(fragmentDivider));
    }
    
    var paramArr = queryString.split("&");
    for (var i = 0; i < paramArr.length; i++) {
      if (paramArr[i].indexOf(paramName.toLowerCase() + "=") > -1) {
        var paramHelpArr = paramArr[i].split("=");
        paramValue = paramHelpArr[1];
        break;
      }
    }
  }
  return unescape(paramValue);
}

var pageTracker = _gat._getTracker("UA-183445-1");
pageTracker._addOrganic("zbozi.cz", "q");
pageTracker._initData();

// pridani refereru pro PPC ====================================================

var mediumParamName     = "utm_medium";                  // nazev parametru s mediem
var referer             = document.referrer;             // referer
var segmentName         = "none";                        // oznaceni segmentu
var ppcMediumName       = "cpc";                         // oznaceni PPC media
var adsenseReferer      = "googleads.g.doubleclick.net"; // referer z AdSense
var adsenseRefererParam = "url";                         // parametr, kde je skutecny referer AdSense

// hodnota parametru s mediem
var mediumParamValue = getURLParam(mediumParamName, false);

// parametr nebyl nalezen, zkusit variantu s hashmarkem
if (mediumParamValue == "") mediumParamValue = getURLParam(mediumParamName, true);

// ===== specialita pro Battex =====
if (mediumParamValue == "") {
  mediumParamValue = getURLParam("gclid", false);
  if (mediumParamValue != "") mediumParamValue = "cpc";
}
// ===== konec - specialita pro Battex =====

// vsechny PPC 
if (mediumParamValue == ppcMediumName) {
  var refererHost = referer.substr(referer.indexOf("://") + 3).toLowerCase();
  refererHost = refererHost.substr(0,refererHost.indexOf("/"));
  
  // vylouceni AdSense
  if (refererHost != "" && refererHost.indexOf(adsenseReferer) == -1) {
    segmentName = refererHost;
  }
}

// doplneni refereru pro AdSense
if (referer.indexOf(adsenseReferer) > -1) {
  refererHost = referer.substr(referer.indexOf("&" + adsenseRefererParam + "=") + 2 + adsenseRefererParam.length).toLowerCase();
  refererHost = refererHost.substr(refererHost.indexOf("%3a%2f%2f") + 9);
  
  refererHost = refererHost.substr(0, refererHost.indexOf("%2f"));
  
  if (refererHost != "") segmentName = refererHost;
}

pageTracker._setVar(segmentName);
pageTracker._trackPageview();
