// JavaScript Document

            function parseVar(str, name, separator)
            {
              str += '';
              var begin = str.indexOf(name);
              if(begin == -1) return false;
              begin += name.length; 
              var end = str.indexOf(separator, begin);
              if(end == -1) end = str.length;
              return decodeURIComponent(str.substr(begin, end - begin));
            }
            function setCustomVar(slot, name, value, scope)
            {
              if(value.length > 64) value = value.substr(0, 63);
              _gaq.push(['_setCustomVar', slot, name, value, scope]);
            }
            
            var first = parseVar(document.cookie, "utm_first=", ";");
            var save = false;
            var b,z;
            var f = new Array('');
            if(first)
            {
              save = true;
              f = first.split("|");              
            }
            else
            {
              first = '';
            }
            last = f[f.length - 1];
            if(z = parseVar(document.cookie, "__utmz=", ";"))
            {
              var sr = parseVar(z, "utmcsr=", "|");
              if(sr)
              {
                var tr = parseVar(z, "utmctr=", "|");
                var newSrc = sr;                
                if(tr)
                {
                  tr = tr.replace(' ', '+');
                  newSrc += "?" + tr;
                }
                
                if(last.indexOf(newSrc) > -1) 
                {
                  var some = last.split("#");
                  var add = 0;
                  if(b = parseVar(document.cookie, "__utmb=", ";"))
                  {
                    var b = b.split(".");
                    add = (b[1] == 1) ? 1 : 0;
                  }
                  var num = (typeof(some[1]) == "undefined") ? add : (1 * some[1]) + add;
                  some = some[0] + "#" + num;
                  first = first.replace(last, some);
                }
                else
                {
                  first += (first == '') ? newSrc + "#1" : "|" + newSrc + "#1";              
                }
                first = first.substr(0,1000);
                var date = new Date();
                date.setFullYear(date.getFullYear() + 2);
                var exp = '; expires=' + date.toGMTString();
                document.cookie = "utm_first=" + first + "; path=/" + exp;
                save = true;
              }
            }
            if(save) setCustomVar(5, 'first_source', first, 1);
