
EA.afterAgeGate(function(){
	$('.wrapper').css('display','block');
});

$(function(){
	$('.beatContainer').hover(function(){
		var slide = $(this).find('.slideUpDescription');
		slide.stop();
		
		slide.animate({'top': $(this).height()-slide.height(), 'opacity': '1'}, 200);
		
		slide.find('.layerTitle, .layerTitleSmall').stop().animate({'opacity':'1'},300);
		slide.find('.layerRegTxt, .layerRegTxtSmall').stop().animate({'opacity':'1'},800);
	}, function(){
		var slide = $(this).find('.slideUpDescription');
		slide.stop();
		
		slide.animate(
			{'opacity': '0', 'top': $(this).height()},
			{
				duration: 600,
				specialEasing: { opacity: 'linear', 'top': 'swing' }
			}
		);
		
		slide.find('div').stop().animate({'opacity':'0'}, 300);
	});
});

//hack to prevent the initial Twitter click triggered below from calling Omniture
var firstTwitClick = 0;

/*
$(function(){

	//console.log("Initializing twitter feeds.");
	// Refresh rates chosen at 24 seconds, because that hits a maximum of 150 api calls per hour per client.
	var chosenType = EA.TwitterFeed.TYPE_DEV;
	var TwitterFeeds = {};
	TwitterFeeds[EA.TwitterFeed.TYPE_FAN] = new EA.TwitterFeed(EA.TwitterFeed.TYPE_FAN, 24000);
	TwitterFeeds[EA.TwitterFeed.TYPE_DEV] = new EA.TwitterFeed(EA.TwitterFeed.TYPE_DEV, 24000);
	
	var TwitterTypewriter = new EA.Effects.Typewriter('.twitterFeedTxt',50, 5);
	
	$('body').bind(EA.TwitterFeed.EVENT_UPDATE, function (event) {
		if(event.feedType == chosenType){
			TwitterTypewriter.setString(EA.TwitterFeed.formatTweet(event.tweets[0]).text);
		}
	});
	
	$('.tweetPrev').click(function(){
		var tweet = TwitterFeeds[chosenType].prevTweet();
		
		if(tweet){
			TwitterTypewriter.setString(EA.TwitterFeed.formatTweet(tweet).text);
		}
	});
	
	$('.tweetNext').click(function(){
		var tweet = TwitterFeeds[chosenType].nextTweet();
		
		if(tweet){
			TwitterTypewriter.setString(EA.TwitterFeed.formatTweet(tweet).text);
		}
	});
	
	var updateTypewriterAfterSwitch = function () {
		var tweet = TwitterFeeds[chosenType].currentTweet();
		
		if(tweet){
			TwitterTypewriter.setString(EA.TwitterFeed.formatTweet(tweet).text);
		}else{
			TwitterTypewriter.setString('');
		}
	};
	
	$('#dsNewsRadio').click(function(){
		if(chosenType != EA.TwitterFeed.TYPE_DEV){
			chosenType = EA.TwitterFeed.TYPE_DEV;
			
			updateTypewriterAfterSwitch();
		}

		$('#dsNews').addClass('spaceNews').removeClass('fanTweets');
		$('#fanNews').addClass('fanTweets').removeClass('spaceNews');
		
		// omniture call
		// prevents initial click function call from triggering Omniture event
		if (firstTwitClick != 0) {
			omniLinkCall(this, 'Twitt_DSnews_click');
		}else{
			firstTwitClick = 1;	
		}
	});
	
	$('#fanNewsRadio').click(function(){
		if(chosenType != EA.TwitterFeed.TYPE_FAN){
			chosenType = EA.TwitterFeed.TYPE_FAN;
			
			updateTypewriterAfterSwitch();
		}

		$('#fanNews').addClass('spaceNews').removeClass('fanTweets');
		$('#dsNews').addClass('fanTweets').removeClass('spaceNews');
		
		// omniture call
		omniLinkCall(this, 'Twitt_Fans_click');
	});
	
	$('#dsNewsRadio').click();
	
	setInterval(function(){
		textGlow = Math.min(16, Math.max(10, textGlow + Math.round(Math.random()*4)-2));
		$('.twitterFeedTxt').css({'text-shadow': '0 0 '+textGlow+'px white'});
	}, 100);
	
	setInterval(function(){
  $('.tweetPrev').click();
//  $('.wallNext').click();
 },10000);
	
});
*/

var textGlow = 0;

//Set up the controller.
$(function(){
	var Controller = new EA.Controller();
    
    mediaPlayer = new EA.MediaPlayer('#MediaPlayer');
    mediaOverlay = new EA.MediaList('#MediaLightbox');
    
    var loadOffersAndMedia = function (data, offerIDs, homeURL){
    	
    	if(homeURL == undefined){
    		homeURL = "#";
    	}
    	
    	if(offerIDs.length > 0){
	    	var offers = {"offersArray":[], "offerCount":0, "offerTotal":offerIDs.length};
			
			var loadOfferFunction = function (offerData, status){
				offers.offerCount++;
				offers.offersArray.push(offerData);
				
				if(offers.offerCount == offers.offerTotal){
					EA.Effects.Typewriter.pauseAll();
			    	mediaPlayer.setOffers(offers.offersArray);
			        mediaPlayer.show(data, homeURL);
				}
			};
			
			for(var i in offerIDs){
				var offerID = offerIDs[i].offer;
				offers[offerID] = {'loaded':false};
				
				$.getJSON("/en_US/offer?offer_id="+offerID, loadOfferFunction);
			}
    	}else{
    		mediaPlayer.setOffers([]);
    		mediaPlayer.show(data, homeURL);
    	}
    };
    
    Controller.actions['promo'] = function(params){
    	EA.afterAgeGate(function(){
    		var regex = new RegExp("promo=([^&]*)");
	        promoID = (regex.exec(params))[1];
	       
            $.getJSON("/en_US/offer?offer_id="+promoID, function(promoData, status){
                promoGate = new EA.PromoGate(promoData, true);
            });
    	});
    };

    Controller.cleanup['promo'] = function(params, nextAction, nextParams){
    	
    };
    
    Controller.actions['flash'] = function(params){
    	EA.afterPromoGate(function(){
    		var regex = new RegExp("mediaid=([^&]*)");
	        mediaID = (regex.exec(params))[1];
	        
    		$.getJSON("/en_us/mediaoffer!swfs?mediaid="+mediaID, function(data, status){
    			loadOffersAndMedia(data.swfs[0], data.swfs[0].offers);
    		});
    	});
    };

    Controller.cleanup['flash'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
	    	if(nextAction != "wallpapers" && nextAction != "video" && nextAction != "flash" && nextAction != "images"){
	    		mediaPlayer.hide();
	            EA.Effects.Typewriter.resumeAll();
	    	}
    	});
    };
    
    Controller.actions['video'] = function(params){
    	EA.afterPromoGate(function(){
	    	EA.Effects.Typewriter.pauseAll();
	    	var regex = new RegExp("group=([^&]*)");
	        groupID = regex.exec(params);
	        if(groupID){
	        	groupID = groupID[1];
	        }else{
	        	groupID = "";
	        }
	        
	        regex = new RegExp("mediaid=([^&]*)");
	        mediaID = (regex.exec(params))[1];
	        
	        if(groupID != ""){
	        	// Get the data for this from the video feed.
		    	$.getJSON("/en_us/mediaoffer!videos?group="+groupID, function(data, status){
		    		var offers = [];
		    		for(var i in data.videos){
		    			offers = offers.concat(data.videos[i].offers);
		    		}
		    		
		    		loadOffersAndMedia(data.videos[0], offers);
		    	});
	        }else{
		    	// Get the data for this from the video feed.
		    	$.getJSON("/en_us/mediaoffer!videos?mediaid="+mediaID, function(data, status){
		    		loadOffersAndMedia(data.videos[0], data.videos[0].offers);
		    	});
	        }
    	});
    };

    Controller.cleanup['video'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
	    	if(nextAction != "wallpapers" && nextAction != "video" && nextAction != "flash" && nextAction != "images"){
	    		mediaPlayer.hide();
	            EA.Effects.Typewriter.resumeAll();
	    	}
    	});
    };
    
    Controller.actions['images'] = function(params){
    	EA.afterPromoGate(function(){
	    	EA.Effects.Typewriter.pauseAll();
	    	
	    	var url;
	    	
	    	var regex = new RegExp("group=([^&]*)");
	        groupID = (regex.exec(params))[1];
	        
	        regex = new RegExp("mediaid=([^&]*)");
	        mediaID = (regex.exec(params))[1];
	        
	        if(groupID != ""){
	        	url = "/en_us/mediaoffer!images?type=images&group="+groupID;
	        }else{
	        	url = "/en_us/mediaoffer!images?mediaid="+mediaID;
	        }
	        
	    	// Get the data for this from the image feed.
	        $.getJSON(url, function(data, status){
    			loadOffersAndMedia(data.images[0], data.images[0].offers);
    		});
    	});
    };

    Controller.cleanup['images'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
	    	if(nextAction != "wallpapers" && nextAction != "video" && nextAction != "flash" && nextAction != "images"){
	    		mediaPlayer.hide();
	            EA.Effects.Typewriter.resumeAll();
	    	}
    	});
    };
    
    Controller.actions['wallpapers'] = function(params){
    	EA.afterPromoGate(function(){
	    	EA.Effects.Typewriter.pauseAll();
	    	
	    	var url;
	    	
	    	var regex = new RegExp("group=([^&]*)");
	        groupID = (regex.exec(params))[1];
	        
	        regex = new RegExp("mediaid=([^&]*)");
	        mediaID = (regex.exec(params))[1];
	        
	        if(groupID != ""){
	        	url = "/en_us/mediaoffer!wallpapers?type=wallpapers&group="+groupID;
	        }else{
	        	url = "/en_us/mediaoffer!wallpapers?mediaid="+mediaID;
	        }
	    	
	    	// Get the data for this from the video feed.
	    	$.getJSON(url, function(data, status){
	    		data.images[0].id = mediaID;
	    		loadOffersAndMedia(data.images[0], data.images[0].offers);
	    		
//	    		mediaPlayer.setOffers(data.images[0].offers)
//	    		mediaPlayer.show(data.images[0]);
	    	});
    	});
    };

    Controller.cleanup['wallpapers'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
	    	if(nextAction != "wallpapers" && nextAction != "video" && nextAction != "flash" && nextAction != "images"){
	    		mediaPlayer.hide();
	            EA.Effects.Typewriter.resumeAll();
	    	}
    	});
    }
    
    Controller.titles['preorder'] = Controller.titles['buy-now'] = "Pre-order & Release Date | Dead Space 2 Action Game";
    Controller.actions['preorder'] = Controller.actions['buy-now'] = function(params){
    	EA.afterPromoGate(function(){
	    	
	    	// omniture calls
	    	originalPageName = s_ea.pageName;
	    	omniLinkCall(this, 'BuyNow_click');
	    	// set page name for ecommerce lightbox
	    	setOmniValues('','','','','','',1,'','',omniSetPageTypeId('COMMERCELIGHTBOX'));
	    	
	    	$.get('?html=preorder', function(data){
	    		$('#ecommerceLightbox').html(data);
	    		
	    		EA.Effects.Typewriter.pauseAll();
		    	beatManager.hideBeatNav();
		    	ecommerceOverlay.load();
		    	// floodlight tag
		    	$('BODY').append('<iframe src="http://fls.doubleclick.net/activityi;src=2229362;type=deads270;cat=deads301;ord='  + ((Math.random() + "")*10000000000000) + '?" width="1" height="1" frameborder="0"></iframe>');
	    	});
    	});
    };

    Controller.cleanup['preorder'] = Controller.cleanup['buy-now'] = function(params){
    	EA.afterPromoGate(function(){
	    	ecommerceOverlay.close();
	    	beatManager.showBeatNav();
	    	// reset page name to original value
	    	s_ea.pageName = originalPageName;
	    	setOmniValues('','','','','','',1);
	    	EA.Effects.Typewriter.resumeAll();
    	});
    };
    
    Controller.titles['shop'] = "DVDs, Comic Books, Blu-Ray, Posters | Dead Space Action Game";
    Controller.actions['shop'] = function(params){
    	EA.afterPromoGate(function(){
	    	EA.Effects.Typewriter.pauseAll();
	    	beatManager.hideBeatNav();
	    	shopOverlay.load();
	    	// omniture calls
	    	
	    	originalPageName = s_ea.pageName;
	    	// set page name for shop lightbox
	    	setOmniValues('','','','','','',1,'','',omniSetPageTypeId('SHOPLIGHTBOX'));
    	});
    };

    Controller.cleanup['shop'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
    		shopOverlay.close();
	    	beatManager.showBeatNav();
	    	// reset page name to original value
	    	s_ea.pageName = originalPageName;
	    	setOmniValues('','','','','','',1);
	    	EA.Effects.Typewriter.resumeAll();
    	});
    };
    
    Controller.titles['medialist'] = "Videos and Screenshots | Dead Space Action Game ";
    Controller.actions['medialist'] = function(params){
    	EA.afterPromoGate(function(){
    		
    		if(!mediaOverlay.isOpened()){
    			EA.Effects.Typewriter.pauseAll();
    			beatManager.hideBeatNav();
    	    	mediaOverlay.load();
    		}

    		var regex = new RegExp("^/(.+)/");
    		var matches =regex.exec(params);
    		if(matches){
    			var groupID = null;
    			var mediaID = null;
    			
    			type = matches[1];
        		
    	        regex = new RegExp("group=([^&/]*)");
    	        if(regex.exec(params)){
    	        	groupID = (regex.exec(params))[1];
    	        }
    	        
    	        regex = new RegExp("mediaid=([^&/]*)");
    	        if(regex.exec(params)){
    	        	mediaID = (regex.exec(params))[1];
    	        }
    	        
    	        switch(type){
    	        	case "video":
    	        		$.getJSON("/en_us/mediaoffer!videos?mediaid="+mediaID, function(data, status){
    	    	    		loadOffersAndMedia(data.videos[0], data.videos[0].offers, '#medialist');
    	    	    	});
    	        		break;
    	        	case "flash":
    	        		$.getJSON("/en_us/mediaoffer!swfs?mediaid="+mediaID, function(data, status){
    	        			loadOffersAndMedia(data.swfs[0], data.swfs[0].offers, '#medialist');
    	        		});
    	        		break;
    	        	case "images":
    	    	        if(groupID != ""){
    	    	        	url = "/en_us/mediaoffer!images?type=images&group="+groupID;
    	    	        }else{
    	    	        	url = "/en_us/mediaoffer!images?mediaid="+mediaID;
    	    	        }
    	        		$.getJSON(url, function(data, status){
    	        			data.images[0].id = mediaID;
    	        			loadOffersAndMedia(data.images[0], data.images[0].offers, '#medialist');
    	        		});
    	        		break;
    	        	case "wallpapers":
    	        		if(groupID != ""){
    	    	        	url = "/en_us/mediaoffer!wallpapers?type=wallpapers&group="+groupID;
    	    	        }else{
    	    	        	url = "/en_us/mediaoffer!wallpapers?mediaid="+mediaID;
    	    	        }
    	    	    	
    	    	    	$.getJSON(url, function(data, status){
    	    	    		data.images[0].id = mediaID;
    	    	    		loadOffersAndMedia(data.images[0], data.images[0].offers, '#medialist');
    	    	    	});
    	        		break;
    	        }
    		}else{
    			mediaPlayer.hide();
    			
    			//Track that the underlying page was displayed.
    			mediaOverlay.trackOpen();
    		}
    	});
    };

    Controller.cleanup['medialist'] = function(params, nextAction, nextParams){
    	EA.afterPromoGate(function(){
    		if(nextAction != "medialist"){
		    	mediaOverlay.close();
		    	beatManager.showBeatNav();
		    	EA.Effects.Typewriter.resumeAll();
    		}
    	});
    };
    
    Controller.actions['product_details'] = function(params){
    	EA.afterPromoGate(function(){
    		$.get('?html=product_details', function(details_html){
    			$('#ProductDetailsLightbox').html(details_html);
    			setupProductDetails();
    			
    			var gameID;
        		var regex = new RegExp("^/(DeadSpace(Extraction|2|Ignition|iOS){0,1})");
        		
        		if(params){
    		        gameID = (regex.exec(params))[1];
        		}
        		
    	    	EA.Effects.Typewriter.pauseAll();
    	    	beatManager.hideBeatNav();
    	    	ProductOverlay.load();
    	    	
    	    	switch(gameID){
    		    	case "DeadSpace":
    		    		ProductScrollable.seekTo(0);
    		    		
    	    			originalPageName = s_ea.pageName;
    	    			omniLinkCall(this, 'ProdDS1_click');
    	    			// set page name for ecommerce lightbox
    	    			setOmniValues('','','','','','',1,'','',omniSetPageTypeId('DETALSDS1'));		    		
    		    		
    		    		break;
    		    	case "DeadSpaceExtraction":
    		    		ProductScrollable.seekTo(1);

    	 			   	originalPageName = s_ea.pageName;
    	 			   	omniLinkCall(this, 'ProdDSE_click');
    	    			// set page name for ecommerce lightbox
    	    			setOmniValues('','','','','','',1,'','',omniSetPageTypeId('DETALSDSE'));		    			
    		    		
    		    		break;
    		    	case "DeadSpace2":
    		    		ProductScrollable.seekTo(2);

    	 			   	originalPageName = s_ea.pageName;
    	 			   	omniLinkCall(this, 'ProdDS2_click');
    	    			// set page name for ecommerce lightbox
    	    			setOmniValues('','','','','','',1,'','',omniSetPageTypeId('DETALSDS2'));	    		
    		    		
    		    		break;
    		    	case "DeadSpaceIgnition":
    		    		ProductScrollable.seekTo(3);

    	 			   	originalPageName = s_ea.pageName;
    	 			   	omniLinkCall(this, 'ProdDSIGN_click');
    	    			// set page name for ecommerce lightbox
    	    			setOmniValues('','','','','','',1,'','',omniSetPageTypeId('DETALSDSIGN'));	    		
    		    		
    		    		break;
    		    	case "DeadSpaceiOS":
    		    		ProductScrollable.seekTo(4);

    	 			   	originalPageName = s_ea.pageName;
    	 			   	omniLinkCall(this, 'ProdDSIOS_click');
    	    			// set page name for ecommerce lightbox
    	    			setOmniValues('','','','','','',1,'','',omniSetPageTypeId('DETALSDSIOS'));	    		
    		    		
    		    		break;
    	    	}
    		});
    	});
    };

    Controller.cleanup['product_details'] = function(params){
    	EA.afterPromoGate(function(){
	    	ProductOverlay.close();
	    	beatManager.showBeatNav();
	    	s_ea.pageName = originalPageName;
	    	setOmniValues('','','','','','',1);
	    	EA.Effects.Typewriter.resumeAll();
    	});
    };
    
    setInterval(function(){
    	document.title = EA.Controller.currentTitle;
    }, 100);
});

function TriggerOffer(offerID){
	mediaPlayer.showOffer(offerID);
}

var ecommerceOverlay;
$(function(){
	ecommerceOverlay = $('#ecommerceLightbox').overlay({
		"api": true,
        "closeOnClick":false,
        "closeOnEsc": false,
        "expose":{color:'#000', opacity:0.75, 'loadSpeed':400},
        "oneInstance": false
	});
});

var shopOverlay;
$(function(){
	shopOverlay = $('#shopLightbox').overlay({
		"api": true,
        "closeOnClick":false,
        "closeOnEsc": false,
        "expose":{color:'#000', opacity:0.75, 'loadSpeed':400},
        "oneInstance": false
	});
});

var ProductOverlay;
var ProductScrollable;

var setupProductDetails = function (){
	var bracketLeft = $(".bracketLeftDs");
	var bracketLeftIMG = bracketLeft.find("IMG");
	var bracketRight = $(".bracketRightDs");
	var bracketRightIMG = bracketRight.find("IMG");
	var replacements = ['tab-ds.png', 'tab-ext.png', '', '',''];
	var colors = ['#56530e','#637f7e','#627e7c','#627e7c','#627e7c'];
	
	var onBeforeSeek = function (event, index) {
		$('#ProductDetailsLightbox').animate({
			'borderTopColor': colors[index],
			'borderLeftColor': colors[index],
			'borderBottomColor': colors[index],
			'borderRightColor': colors[index]
		});
		
		bracketLeft.fadeOut('fast', function () {
			if(index < 2){
				var src = bracketLeftIMG.attr('src').replace(/tab-(ds|ext)\.png/i,replacements[index]);
				bracketLeftIMG.attr('src', src);
				
				bracketLeft.fadeIn('fast');
			}
		});
		bracketRight.fadeOut('fast', function () {
			if(index < 2){
				var src = bracketRightIMG.attr('src').replace(/tab-(ds|ext)\.png/i,replacements[index]);
				bracketRightIMG.attr('src', src);
				
				bracketRight.fadeIn('fast');
			}
		});
	};
	
    ProductScrollable = $('.wrapperLightBox').scrollable({
        "items": ".productItems",
        "size": 1,
        "clickable": false,
        "onBeforeSeek": onBeforeSeek
    }).navigator({
        "navi": ".lightBoxTabs",
        "naviItem": "A",
        "api":true
    });
    
    var xmlFiles = {
    		'#dsMainImg':'/en_US/mediaoffer!feature?mediaid=deadspacetrailer-20100428073502060',
    		'#extMainImg':'/en_US/mediaoffer!feature?mediaid=dsextractionvideo-20100428075035826',
    		'#ds2Video':'/en_US/mediaoffer!feature?mediaid=ds2video-20101007113314519',
    		'#dsiVideo':'/en_US/mediaoffer!feature?mediaid=dsignitionvideo-20101007113040326',
    		'#dsiOSVideo':'/en_US/mediaoffer!feature?mediaid=dsiosvideo-20110121122354024'
    	};
    	
    	$('.lightUp').each(function(index, item){
    		var overlayID = $(this).attr('rel');
    		var overlayIDNoHash = overlayID.replace('#','');
    		var overlayContainer = $(overlayID).find('.showImagesLightBox');
    		
    		var loadFunction = null;
    		var closeFunction = null;
    		
    		if(xmlFiles[overlayID] != undefined){
    			loadFunction = function () {
    				overlayContainer.empty().append('<div id="'+overlayIDNoHash+'_replace" class="EAVideoPLayer"></div>')
    				swfobject.embedSWF(
    			    	'/videoplayer/editorialPod2.swf',	// swf URL
    			    	overlayIDNoHash+'_replace',							// containing element ID
    					'656',								// width
    					'378',								// height
    					'9',								// version
    					'http://static.flowplayer.org/swf/expressinstall.swf', //express install url
    					
    					//flashvars
    					{
    				    	'debug': '0',
    				    	'disableFlagged': 'true',
    				    	'minage':'18',
    				    	'matureContent':'0',
    				    	'autoplay':'true',
    				    	'configFile': xmlFiles[overlayID],
    				    	'epItemDelay':'3000',
    				    	'loopVideo': 'false',
    				        'textColor':'#ffffff',
    				        'btnOutColor': '#ffffff',
    				        'btnOverColor': '#2d83f7',
    				        'btnDownColor': '#155eca',
    				        'controlsBGColor':'#000000',
    				        'server':'http://www.ea.com/',
    				        'infoLineXML':'http://www.ea.com/studio/videoSEO',
    				        'locale':'http://www.ea.com/studio/videoLocale'
    			        }, 
    					
    					//params
    					{
    						'wmode': 'opaque',
    				    	'allowfullscreen': 'true',
    				        'allowscriptaccess': 'always',
    				        'bgcolor': '#000000'
    					},
    					
    					{
    						'class': 'EAVideoPlayer'
    					}, //element attributes
    					null //callback fn
    				);
    			};
    		
    			closeFunction = function () {
    				overlayContainer.empty();
    			};
    		}
    		
    		$(this).overlay({

    			// some expose tweaks suitable for modal dialogs
    			expose: {
    				color: '#000000',
    				loadSpeed: 200,
    				opacity: 0.9,
    				zIndex:9999,
    				onBeforeLoad: loadFunction,
    				onBeforeClose: closeFunction
    			},
    		    oneInstance:false,
    			closeOnClick: true
    		}).css('zIndex', 10000);
    	});
    	
    	$('#ignitionGalleryTab1').click(function(){
    		$('.ignitionGalleryContainer').css('background-position', '0px 0px');
    		$('#ignitionGalleryThumbs2').hide();
    		$('#ignitionGalleryThumbs1').fadeIn();
    	});
    	
    	$('#ignitionGalleryTab2').click(function(){
    		$('.ignitionGalleryContainer').css('background-position', '0px -122px');
    		$('#ignitionGalleryThumbs1').hide();
    		$('#ignitionGalleryThumbs2').fadeIn();
    	});
    	
    	var screenshotOverlay = $('#dsiScreenshotOverlay').overlay({
    		// some expose tweaks suitable for modal dialogs
    		expose: {
    			color: '#000000',
    			loadSpeed: 200,
    			opacity: 0.9,
    			zIndex:9999
    		},
    	    oneInstance:false,
    		closeOnClick: true,
    		api: true
    	});
    	$('#dsiScreenshotOverlay').css('zIndex', 10000);
    	
    	$('.ignitionGalleryThumbs A').click(function(){
    		var href = $(this).attr('href');
    		
    		$('#dsiScreenshotOverlay .screenshot').attr('src','/images/shim.gif');
    		var img = new Image();
    		$(img).load(function(){
    			$('#dsiScreenshotOverlay .screenshot').css('opacity', 0);
    			$('#dsiScreenshotOverlay .screenshot').attr('src', href).animate({'opacity':1});
    		});
    		img.src=href;
    		
    		screenshotOverlay.load();
    		
    		return false;
    	});
};

$(function(){
	ProductOverlay = $('#ProductDetailsLightbox').overlay({
		"api": true,
        "closeOnClick":false,
        "closeOnEsc": false,
        "expose":{color:'#000', opacity:0.75, 'loadSpeed':300},
        "oneInstance": false
	});
});


// wall posts
function loadWall() {
	$('#fbwallcontent').html('loading comments...');
    FBManager.getPageStream('18523496658',$('#fbwallstream')[0],'No comments posted',3000,$('#fblikes')[0],$('#streamImg')[0],$('#fbtime')[0],$('#fbshare')[0],$('#comlink')[0]); 
}


// this is the callback that runs after all the FB stuff is truly loaded
var facebookConnected = false;
function doFbStuff() {
	// subscribe to login event
	FB.Event.subscribe('auth.login', function(response) {
		
		FB.api(
	      {
	        method: 'fql.query',
	        query: 'SELECT name FROM user WHERE uid=' + response.session.uid
	      },
	      function(response) {
			$('.fbmove').html('<div class="fbwrap"><div class="fbusername">Hello ' + response[0].name + '</div> <div class="fblogoutbutton"><a id="logout" href="#"><img  src="/images/logout.png"/></a></div></div>').show('fast');
			$('#logout').click(function(){FB.logout(function(){$('.fbmove').html('<img src="images/facebook-login-top.png" width="155" height="20" alt="facebook" />');});});
	      }
	    );
		// make sure the layer does not expand
		$("#dropDownLayer").stop().animate({height:'30px'});
		// disable mouseovers
		$('#dropDownLayer').unbind('mouseover mouseout');
		$('.dropDown2').hide();

		// bind logout event
		$('#logout').click(function(){FB.logout(function(){$('.fbmove').html('<img src="images/facebook-login-top.png" width="155" height="20" alt="facebook" />');});});
		
		// call omniture page when authentication is triggered
		omniLinkCallFacebookLoginAuthIn();
		
		facebookConnected = true;
		
		// For the facebook quiz. Try to tell the SWF that it's ready to start.
		try{
			$('#swf_replace')[0].ShowSTARTBTN()
		}catch(e){}
	});
	// subscribe to logout event
	FB.Event.subscribe('auth.logout', function(response) {
			$('.fbmove').html('<img src="images/facebook-login-top.png" width="155" height="20" alt="facebook" />').show('fast');
			// re-enable rollovers
			$("#dropDownLayer").mouseover(function(){
				$(this).stop().animate({height:'170px'});
			});
			$("#dropDownLayer").mouseout(function(){
				$(this).stop().animate({height:'25px'});
			});
			
			$('.dropDown2').show();
			
			omniLinkCallFacebookLoginAuthOut();
			
			facebookConnected = false;
	});
	
	loadWall();
	$('#likebox').html('<fb:like-box profile_id="18523496658" width="238" connections="8" stream="false" header="false"></fb:like-box>');
	$('#commentlikebutton').html('<fb:fan connections="0" name="false" stream="false" css="' + document.domain + ':' + document.location.port + '/stylesheets/main.css" width="280" logobar="false" profile-id="18523496658"></fb:fan>');
	$('#fbconnbutton').html('<fb:login-button perms="read_stream,email" background="dark">Login with Facebook</fb:login-button>');
	//FBManager.parseElem($('#fbconnbutton')[0]);
	$('.wallPrev').click(function () {
		$('#fbwallcontent').html(FBManager.getWallPost(FBMConfig.wallindex - 1,$('#fblikes')[0],$('#streamImg')[0],$('#fbtime')[0],$('#fbshare')[0],$('#comlink')[0],true));
		$('#wallcounter').html((FBMConfig.wallindex + 1) + '/' + FBMConfig.wallLength);
		$('#fbwallstream').hide();  
	    $('#fbwallstream').fadeIn('slow', function() { });
		return false;});
	$('.wallNext').click(function () {
		$('#fbwallcontent').html(FBManager.getWallPost(FBMConfig.wallindex + 1,$('#fblikes')[0],$('#streamImg')[0],$('#fbtime')[0],$('#fbshare')[0],$('#comlink')[0],true)); 
		$('#wallcounter').html((FBMConfig.wallindex + 1) + '/' + FBMConfig.wallLength);
	    $('#fbwallstream').hide();  
	    $('#fbwallstream').fadeIn('slow', function() { });
		return false;});
			
	$('.wallPrev3').click(function () {
		FBMConfig.wallindex -= 3;
		if (FBMConfig.wallindex < 0) {
			FBMConfig.wallindex = FBMConfig.wallLength + FBMConfig.wallindex;
		}

		$('#fbwallcontent0').html(FBManager.getWallPost(FBMConfig.wallindex + 0 ,$('#fblikes')[0],$('#streamImg0')[0],$('#fbtime0')[0],$('#fbshare0')[0],$('#comlink0')[0],false));
		$('#fbwallcontent1').html(FBManager.getWallPost(FBMConfig.wallindex + 1 ,$('#fblikes')[0],$('#streamImg1')[0],$('#fbtime1')[0],$('#fbshare1')[0],$('#comlink1')[0],false));
		$('#fbwallcontent2').html(FBManager.getWallPost(FBMConfig.wallindex + 2 ,$('#fblikes')[0],$('#streamImg2')[0],$('#fbtime2')[0],$('#fbshare2')[0],$('#comlink2')[0],false));
		$('#wallcounter3').html((FBMConfig.wallindex + 1) + '/'  + FBMConfig.wallLength);
	    $('#fbwallstream0').hide();  
	    $('#fbwallstream0').fadeIn('slow', function() { });
	    $('#fbwallstream1').hide();  
	    $('#fbwallstream1').fadeIn('slow', function() { });
	    $('#fbwallstream2').hide();  
	    $('#fbwallstream2').fadeIn('slow', function() { });
		return false;});
		
	$('.wallNext3').click(function () {
		FBMConfig.wallindex = (FBMConfig.wallindex + 3) % FBMConfig.wallLength;

		$('#fbwallcontent0').html(FBManager.getWallPost(FBMConfig.wallindex + 0 ,$('#fblikes')[0],$('#streamImg0')[0],$('#fbtime0')[0],$('#fbshare0')[0],$('#comlink0')[0],false));
		$('#fbwallcontent1').html(FBManager.getWallPost(FBMConfig.wallindex + 1 ,$('#fblikes')[0],$('#streamImg1')[0],$('#fbtime1')[0],$('#fbshare1')[0],$('#comlink1')[0],false));
		$('#fbwallcontent2').html(FBManager.getWallPost(FBMConfig.wallindex + 2 ,$('#fblikes')[0],$('#streamImg2')[0],$('#fbtime2')[0],$('#fbshare2')[0],$('#comlink2')[0],false));
		$('#wallcounter3').html((FBMConfig.wallindex + 1) + '/'  + FBMConfig.wallLength);
		
	    $('#fbwallstream0').hide();  
	    $('#fbwallstream0').fadeIn('slow', function() { });
	    $('#fbwallstream1').hide();  
	    $('#fbwallstream1').fadeIn('slow', function() { });
	    $('#fbwallstream2').hide();  
	    $('#fbwallstream2').fadeIn('slow', function() { });
		return false;});
		
	
    $('#fanbutton').html('<div style="margin-left:10px;margin-top:10px;"><fb:like layout="button_count"></fb:like></div>');

    //FBManager.parseElem($('#fanbutton')[0]);
    
    $('BODY').trigger('facebook_ready');
}

// The bit.ly callback
BitlyCB.showResponse = function(data) {
	
	var first_result;
            
    // Results are keyed by longUrl, so we need to grab the first one.
    for (var r in data.results) {
    	first_result = data.results[r]; break;
    }

	for (var key in first_result) {
		if(key == 'shortUrl') {
			$('.EAVideoPlayer')[0].cb(first_result[key].toString());
		}
	}
};
    
function flashShorten(url){
	BitlyClient.call("shorten", {'longUrl': url}, 'BitlyCB.showResponse');
}


function isFacebookConnected(){
	return facebookConnected;
}
