var JSPrime = {
  addListener: function(args) {
    args          = (args          == undefined ? {}   : args          );
    args.target   = (args.target   == undefined ? null : args.target   );
    args.event    = (args.event    == undefined ? ''   : args.event    );
    args.callback = (args.callback == undefined ? null : args.callback );

    if(args.target.addEventListener)
      args.target.addEventListener(args.event, args.callback, true);
    else if(args.target.attachEvent)
      args.target.attachEvent("on" + args.event, args.callback)
  },

  request: {
    getValue: function(key) {
      var items = JSPrime.request.getItems();

      for(var i = 0; i < items.length; i++) {
        if(key.toLowerCase() == items[i][0].toLowerCase()) {
          return items[i][1];
        }
      }

      return null;
    },

    getItems: function() {
      var items = new Array();
      var query = document.location.search;

      if(query.length > 0) {
        query = query.substr(1);
        var arr = query.split("&");
        for(var i = 0; i < arr.length; i++) {
          items.push(arr[i].split("="));
        }
      }

      return items;
    }
  },

  //
  // SESSÃO REFERENTE AO TRACKER DO GOOGLE
  //
  // Link: http://www.primesystems.com.br/?bannerTrack=1
  //
  google: {
     webPropertyId : ["UA-15115850-1", "UA-15115948-1"],

    bannerList: {
      // "key" : "value"
      "1": "/banner/feedback"
    },
    
    trackBannerView: function() {
      var requestBanner = JSPrime.request.getValue('bannerTrack');
      requestBanner = (requestBanner == null ? "" : requestBanner);

      var bannerTrackUrl = JSPrime.google.getBannerNameFromKey(requestBanner);
      if(bannerTrackUrl == "")
        return;
        
      setTimeout(function() {
        for(var i = 0; i < JSPrime.google.webPropertyId.length; i++) {
          try {
            var pageTracker = _gat._getTracker(JSPrime.google.webPropertyId[i]);
            pageTracker._trackPageview(bannerTrackUrl);
          } catch(err) {}
        }
        //alert("Tracked! [" + bannerTrackUrl + "]")
      }, 50);
    },

    getBannerNameFromKey: function(key) {
      for(var k in JSPrime.google.bannerList) {
        if(key == k) {
          return JSPrime.google.bannerList[k];
        }
      }

      return "";
    }
  }
}


// Dispara a chamada assim que a página for carregada
JSPrime.addListener({
  target  : window,
  event   : 'load',
  callback: function() {
    JSPrime.google.trackBannerView();
  }
});

