if (document.getElementsByClassName === undefined) {
    document.getElementsByClassName = function (cl) {
      var retnode = [];
      var myclass = new RegExp('\\b' + cl + '\\b');
      var elem = this.getElementsByTagName('*');
      for (var i = 0; i < elem.length; i++) {
         var classes = elem[i].className;
         if (myclass.test(classes)) {
            retnode.push(elem[i]);
         }
      }
      return retnode;
   }
}

var ru;
if (!ru) ru = {};
if (!ru.adlabs) ru.adlabs = {};

if (!ru.adlabs.helpers) ru.adlabs.helpers = {
    set_cookie: function(name, value) {
        var lifetime = 7776E6;
        var expires = new Date(new Date().getTime() + lifetime);
        domain = document.domain.replace(/(www\.)|^/, ".");
        document.cookie = name + '=' + value + '; path=/; expires=' +
        expires + '; domain=' + domain + ';';
    },
    
    get_cookie: function(name) {
        var all_cookies = document.cookie.split( ';' );
        for (var i = 0; i < all_cookies.length; i++) {
            var tc = all_cookies[i].split( '=' );
            if (tc[0].replace(/^\s+|\s+$/g, '') == name) {
                return tc[1].replace(/^\s+|\s+$/g, '');
            }
        }
        return null;
    }
}

if (!ru.adlabs.uid) ru.adlabs.uid = {
    cookie_name: '_adlabs_uid',
    uid_element: 'uid',
    
    main: function() {
        if (document.cookie.indexOf(this.cookie_name) != -1) {
            this.user_id = ru.adlabs.helpers.get_cookie(this.cookie_name);
        } else {
            this.user_id = (Math.random()*899999) + 100000|0;
            ru.adlabs.helpers.set_cookie(this.cookie_name, this.user_id);
            
            _gaq.push(["_setCustomVar", 2, "User_id", this.user_id, 1]);
        }
        
        var elements = document.getElementsByClassName(this.uid_element);
        
        for (var i = 0; i < elements.length; i++) {
            elements[i].innerHTML = this.user_id;
        }
    }
}

