Array.prototype.in_array = function(search_term) {  
  var i = this.length - 1; 
  if (i >= 0) { 
    do { 
      if (this[i] === search_term) { 
        return true; 
      } 
    } 
  while (i--); 
  } 
  return false; 
};
Array.prototype.each = function(f) {for (var i = 0; i < this.length; i++) {f(this[i]);}};

function gup(name) {  
  name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");  
  var regexS = "[\?&]"+name+"=([^&#]*)"; 
  var regex = new RegExp( regexS );  
  var results = regex.exec( window.location.href );  
  if(results == null) { return ""; }  
  else { return results[1]; } 
}

function addEvent( obj, type, fn ) { 
  if (obj.addEventListener) { 
    obj.addEventListener( type, fn, false ); 
  }
  else if (obj.attachEvent) { 
    obj["e"+type+fn] = fn; 
    obj[type+fn] = function() { 
      obj["e"+type+fn]( window.event ); 
    } 
    obj.attachEvent( "on"+type, obj[type+fn] );   
  } 
  else { 
    obj["on"+type] = obj["e"+type+fn];
  } 
}

var makeArray = function(a) {var r = []; for (var i = 0; i < a.length; i++) { r[i] = a[i]}; return r; };
var setStyle = function(o, s, v) { o.style[s]= v; };

var sgn = {'justanobject':0};
var sgnTitle;
var sgnGames = ['81a3e2b7dfeef2ad0f2b99504dbedae4','53d9b259e62b914d6341bb59b9c4d22d','251feb1b9b7c5afa5c6c35c3a9c1aa84','3d3d6be0dbfc13fa1cf39532ee95a5ef','59970fd5d1e5a2286f8653c6c7e2c24e','d677804acbf6e5da4a554864eab0be0d'];
var outID = "";
var userID = "";
var sk = "";

sgn.gupApiKey = function () {
  var k = gup('fb_sig_api_key');
  if(k=="") { k = gup('k'); }
  return k;
}

sgn.gupUser = function () {
  var u = gup('fb_sig_user'); 
  if(u=="") { u = gup('u'); }
  return u;
}

sgn.gupNetwork = function() {
  var n = gup('fb_sig_in_iframe');
  if(n!="") { return 'facebook'; }
  else return gup('n');
}

sgn.gupSK = function() {
  return gup('fb_sig_session_key');
}
 
sgn.barInit = function() { 
  var k = sgn.gupApiKey();
  var n = sgn.gupNetwork();
  var exclude = ''+n+k;
  
  sgnTitle = document.getElementById("sgnTitle");
  
  outID = jsonIDs[k];
  
  userID = sgn.gupUser();
  
  sk = sgn.gupSK();
  
  if( excludeItem = document.getElementById(exclude) ) {
    setStyle(excludeItem, "display", "none");
    
    jsonContent.each(function(chunk) {
      
      if(chunk.games.in_array(exclude)) {
        
        excludeGroup = document.getElementById('sgnChunk'+chunk.id);
        setStyle(excludeGroup,"display","block");
        
      }
      
    });
  }
  else {
    
    setStyle( document.getElementById('sgnChunk1'), "display", "block" );
    
  }
  
  makeArray(document.getElementById("sgnTicker").getElementsByTagName("div")).each(function(items) {
    
    makeArray(items.getElementsByTagName("a")).each(function(item) {
      
      if(item.title && item.title != "") {
        
        addEvent(item, "mouseover", function() {
          
          sgnTitle.innerHTML = this.title;
          this.title = "";
          setStyle(sgnTitle, "display", "block");
          setStyle(sgnTitle, "left", this.offsetLeft+24+"px");
        });
        
        addEvent(item, "mouseout", function() {
          
          this.title = sgnTitle.innerHTML;
          document.getElementById("sgnTitle").innerHTML = '';
          setStyle(sgnTitle, "display", "none");
        });
        
        addEvent(item, "click", function() {
          (new Image()).src = item.rel + '&gidout=' + outID + '&uid=' + userID + "&sec=101";
        });
      }
    });
  });
  
  var sgnTrkr = document.getElementById("sgnTrkr");
  sgnTrkr.src = 'http://impressions.sgnbar.com/gamebar/imp_count.php?gid='+outID+'&uid='+userID+'&sk='+sk;
}