	var GigyaBanner = {};
	GigyaBanner.refresh = function() { 
		gigya.services.socialize.getUserInfo(GigyaBanner.conf,{callback:GigyaBanner.onGetInfo});
	}	
	GigyaBanner.onUser = function() {
	    GigyaBanner.refresh();
	    setTimeout('GigyaBanner.grayOut(false);', 50);
	}
    GigyaBanner.fireEvent = function(evt) {
        var imp = document.createElement('IMG');
        imp.style.width='1px';
        imp.style.height='1px';
        imp.style.visibility='hidden';
        imp.src = 'http://counters.gigya.com/wildfire/pimp.ashx?name=CEVT&enc=0&evt='+evt+'&pid=620562&buster=' + new Date().getTime();
        document.getElementById(GigyaBanner.divID).appendChild(imp);
    }
	GigyaBanner.init = function(divID, conf, altFunction) {
		GigyaBanner.divID = divID;
		//document.getElementById(divID).style.position = 'absolute';
		//document.getElementById(divID).style.top = '0px';
		//document.getElementById(divID).style.left = '0px';
		GigyaBanner.altFunction = altFunction;
		GigyaBanner.conf = conf;
		GigyaBanner.refresh();
		gigya.services.socialize.addEventHandlers(GigyaBanner.conf, {onLogin:GigyaBanner.onUser,onConnect:GigyaBanner.onUser});    
		GigyaBanner.fireEvent('adImpression');
	}



	GigyaBanner.getUserImageHTML = function(imageURL) {
		return '<div width="50" height="50" style="width: 50px; height: 50px; overflow: hidden"><img onload="if (this.height<this.width) this.width=50; else this.height=50; this.style.display=\'\'" style="display: none" src="' + imageURL + '"></div>';
	}
	GigyaBanner.getUserNameHTML = function(name) {
		return '<div style="width: 50px; overflow: hidden">' + name + '</div>';
	}
	GigyaBanner.onGetFriends = function(response) {  
	    if (response.friends!=null) {       
             var arFriends = response['friends'].asArray();
		     if (arFriends!=null && arFriends.length>0) {
                 for (var i=0; i<4; i++ in arFriends) {
				    var val = Math.max(0, Math.round(Math.random()*arFriends.length - 1));
				    friend = arFriends[val];
				    var name;
				    if (friend['nickname'] != null) name = friend['nickname'].split(' ')[0];
				    if (name==null) name = friend['firstName'];
				    if (name==null) name = '';
				    document.getElementById('tdName'+i).innerHTML = GigyaBanner.getUserNameHTML(name);
			        document.getElementById('tdImage'+i).innerHTML = GigyaBanner.getUserImageHTML(friend['photoURL']);
			        arFriends.splice(val, 1);
                 }
             }  
         }
     }  

	GigyaBanner.onGetInfo = function(response) {  
		var connected=false;
		for (var net in response.user.identities) {
			if (net=='myspace' || net=='facebook') {
				connected=true;
				break;
			}
		}
	    if (response.user!=null && connected) {    
	        var componentDivId = GigyaBanner.divID + '_login';
	        var componentDiv = document.getElementById('componentDivId');
	        if (componentDiv==null) {
	            componentDiv = document.createElement('div');
	            componentDiv.id = componentDivId;
	            document.getElementById(GigyaBanner.divID).appendChild(componentDiv);
	        }
			GigyaBanner.drawGSBanner(componentDiv.id);
		    var name = response.user['nickname'].split(' ')[0];
		    if (name==null) name=response.user['firstName'];
		    if (name==null) name = '';			
			document.getElementById('tdName4').innerHTML = GigyaBanner.getUserNameHTML(name);
			document.getElementById('tdImage4').innerHTML = GigyaBanner.getUserImageHTML(response.user['photoURL']);
         } else {
			document.getElementById(GigyaBanner.divID).innerHTML = '';
			if (GigyaBanner.altFunction) GigyaBanner.altFunction();
		 }
     }  

  GigyaBanner.onBannerClick = function() {
    GigyaBanner.fireEvent('adClick');
    window.open('http://ab.vcmedia.com/c/s=257842/c=209336/');
  }
  GigyaBanner.drawGSBanner = function(divID) {
    GigyaBanner.fireEvent('adShow');
    document.getElementById(divID).innerHTML = '<table onclick="GigyaBanner.onBannerClick()" align="center" style="background-color: #FFFFFF; cursor: pointer; font-weight: bold; text-align: center; font-size: 11px; font-family: arial; color: #436AA4; width: 728px; height: 90px;"><tbody id="gs_table"></tbody></table>';
    var t = document.getElementById('gs_table');
    var trNames = document.createElement('TR');
    var trImages = document.createElement('TR');
    var trScores = document.createElement('TR');

    trNames.appendChild(document.createElement('TD'));
    var tdIQTest = document.createElement('TD');
    tdIQTest.style.width = '71px';
    tdIQTest.innerHTML = '<img src="http://www.gigya.com/wildfire/i/IQTest.jpg">';
    trImages.appendChild(tdIQTest);
    trScores.appendChild(document.createElement('TD'));

    for (var i=0; i<5; i++) {
        trNames.appendChild(document.createElement('TD'));	
        var tdName = document.createElement('TD');
        tdName.id = 'tdName'+i;
        tdName.innerHTML = 'Loading';
        trNames.appendChild(tdName);
        
        var tdNumber = document.createElement('TD');
        tdNumber.style.fontSize = '20px';
		var suf = 'th';
		if (i==0) suf='st';
		if (i==1) suf='nd';
		if (i==2) suf='rd';
		tdNumber.align='right';
        tdNumber.innerHTML = '' + (i+1) + '<span style="font-size: 10px">' + suf + '</span>';
        trImages.appendChild(tdNumber);	   	
        var tdImage = document.createElement('TD');
		tdImage.style.width = '50px';
		tdImage.style.height = '50px';
        tdImage.innerHTML = '<img src="http://www.gigya.com/wildfire/i/preloader.gif" >';
        tdImage.id = 'tdImage' + i;
        trImages.appendChild(tdImage);	
        
        trScores.appendChild(document.createElement('TD'));	
        var tdScore = document.createElement('TD');
        tdScore.innerHTML = '???';
        trScores.appendChild(tdScore);
    }
    trNames.appendChild(document.createElement('TD'));
    var tdBtn_testYourIQ = document.createElement('TD')
    tdBtn_testYourIQ.innerHTML = '<img src="http://www.gigya.com/wildfire/i/btn_testYourIQ.jpg">';
    tdBtn_testYourIQ.style.width = '199px';
    trImages.appendChild(tdBtn_testYourIQ);
    trScores.appendChild(document.createElement('TD'));
    	
    t.appendChild(trNames);
    t.appendChild(trImages);
    t.appendChild(trScores);	

	gigya.services.socialize.getFriendsInfo(GigyaBanner.conf,{callback:GigyaBanner.onGetFriends, context: {divID: divID}});   
  }
	GigyaBanner.grayOut = function(vis, options, extra) {
	  var options = options || {};
	  var zindex = options.zindex || 50;
	  var opacity = options.opacity || 70;
	  var opaque = (opacity / 100);
	  var bgcolor = options.bgcolor || '#000000';
	  var dark=document.getElementById('darkenScreenObject');
	  if (!dark) {
		var tbody = document.getElementById(GigyaBanner.divID);
		var tnode = document.createElement('div');           // Create the layer.
			tnode.style.position='absolute';                 // Position absolutely
			tnode.style.top='0px';                           // In the top
			tnode.style.left='0px';                          // Left corner of the page
			tnode.style.overflow='hidden';                   // Try to avoid making scroll bars
			tnode.style.display='none';                      // Start out Hidden
			tnode.id='darkenScreenObject';                   // Name it so we can find it later
		tbody.appendChild(tnode);                            // Add it to the web page
		dark=document.getElementById('darkenScreenObject');  // Get the object.
	  }
	  if (vis) {
		var vph;
		var vpw;
		document.body.style.overflow =  'hidden';
		if (window.innerHeight) {
			vph=window.innerHeight;
			vpw=window.innerWidth;
		}
		if (typeof vph=='undefined') {
			var de=document.documentElement;
			vph=de.clientHeight;
			vpw=de.clientWidth;
		}
		dark.style.opacity=opaque;
		dark.style.MozOpacity=opaque;
		dark.style.filter='alpha(opacity='+opacity+')';
		dark.style.zIndex=zindex;
		dark.style.backgroundColor=bgcolor;
		dark.style.width= '' + vpw + 'px';
		dark.style.height= '' + vph + 'px';
		dark.style.display='block';
	  } else {
		 dark.style.display='none';
		 document.body.style.overflow =  '';
	  }
	}  
	 