
/* -----------------------------------------------------------------------------
    @AUTHOR:  Zdenek Benak, zdenek.benak@centrum.cz
    @YEAR:    2007
    @PROJECT: MAppEngine 3.0
    @FILE:    modules/stats/stats-web.js
    @DESCR:   skript pro sber statistik
   -------------------------------------------------------------------------- */

// ---------------------------------- functions --------------------------------

  function Stats_UrlEncode(str)
  {
    var hex_tab = "0123456789ABCDEF", result = "", ascii_tab = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ";
    for (var i=0; i<str.length; i++)
    {
      var chr = str.charAt(i), ord = ascii_tab.indexOf(chr)+32;
      if (ord==32) result += "+";
      else if  (((ord>47)&&(ord<58))||((ord>64)&&(ord<91))||((ord>95)&&(ord<122))||(chr==".")||(chr=="/")) result += chr; else result += "%"+hex_tab.charAt(Math.floor(ord/16))+hex_tab.charAt(ord%16);
    }
    return result;
  }

  function Stats_GetParam(param_name,default_value,search_str)
  {
    search_str = self.top.document.location.search.substr(1).replace("%20", " ");
    params = search_str.split("&");
    for (i=0;i<params.length;i++)
    {
      p = params[i].split("=");
      if (p.length>=2)
      {
        if (p[0]==param_name)
        {
          pstr = p[1];
          for (i=2;i<p.length;i++) pstr += ("="+p[i]);
          return pstr;
        }
      }
    }
    return default_value;
  }

// ---------------------------------- init vars --------------------------------

    var stats_page_url;
    var stats_page_title;

    web_folder    = web_root_web;
    stats_script  = "http://"+server_host;
    stats_script += web_root_web.charAt(0)=="/"?"":"/";
    stats_script += web_root_web;
    stats_script += web_root_web.charAt(web_root_web.length-1)=="/"?"":"/";
    stats_script += "modules/stats/stats_wpage_collect.php";

  // sber dat o uzivateli
    Md  = document;
    Mnv = navigator;
    Mrn = Math.random();
    ref = self.top.document.referrer;
    if (ref == "") ref = Stats_GetParam("referrer_str","");
    Ms  = screen;
    Mn  = (Mnv.appName.substring(0,2)=="Mi")?0:1
    rd  = (Mn==0)?Ms.colorDepth:Ms.pixelDepth;
    rw  = Ms.width;
    rh  = Ms.height;
    
  // url a popis stranky
    if (!stats_page_url)
    {
      loc = document.location.toString();
      //strip args
      pos = loc.indexOf("?");
      loc = (pos==-1)?loc:loc.substring(0,pos);
      //strip http://
      pos = loc.indexOf("http://");
      loc = (pos==-1)?loc:loc.substring(pos+7);
      //strip server adres
      pos = loc.indexOf("/");
      loc = (pos==-1)?loc:loc.substring(pos+1);
      stats_page_url = loc;
    }
    
    if (!stats_page_title)
    {
      stats_page_title = Md.title;
    }

  // encode params
    stats_page_url   = Stats_UrlEncode(stats_page_url);
    stats_page_title = Stats_UrlEncode(stats_page_title);
    
// -------- sestaveni kompletniho url skriptu pro ulozeni statistiky -----------

    src_str = stats_script + "?page_url="+stats_page_url+"&page_title="+stats_page_title+"&ref="+ref+"&rd="+rd+"&rw="+rw+"&rh="+rh+"&mrn="+Mrn;

// ----------------------------- zavolani scriptu ------------------------------

    stats_img = new Image();
    stats_img.src = src_str;

// --------------------------------- pro debug ---------------------------------

    //alert(src_str);
    //window.open(src_str,"","");

