(function($){
	
	//globals
	var thispage = 'home';
	
	//lives
	$("#nutrition a").live("click",function() {
		$("#nutrition span").toggleClass("arrow-on").toggleClass("arrow");
		$('#nutrition-info').slideToggle();
		return false;
	});
	
	var Kraft = {
		init: function(){
			Kraft.subnav();
			Kraft.pageHandler(); 
			Kraft.scrollable();
			Kraft.userActions();
			Kraft.showTruck();
			
		//analytics
		if (typeof tracking_success=='undefined') {
			var ga = document.createElement('script'); 
			ga.type = 'text/javascript'; 
			ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);

			var _gaq = _gaq || [];
			_gaq.push(function() {
				var tracker = _gat._createTracker('UA-16221063-1');
				tracker._trackPageview(pageName);
			});
		}
		
		//product touts
		//big noodle
		$('.products-detail ul.slider li:nth-child(2) img').attr('src','http://macandcheese.kraftfoods.com/ykyli_img/smile_tout_round.png').wrap('<a />');
		$('.products-detail ul.slider li:nth-child(2) a').attr('href','http://www.facebook.com/video/?id=320312388266#!/video/video.php?v=113959451985339');
		$('.products-detail ul.slider li:nth-child(2) a').attr('target','_blank');
		//homestyle tour
		$('.products-detail ul.slider li:nth-child(3) img').attr('src','http://macandcheese.kraftfoods.com/ykyli_img/homestyle_tout.png');//.wrap('<a />');
		$('.products-detail ul.slider li:nth-child(3) a').attr('href','http://www.kraftbrands.com/macandcheese/forfans/pages/homestyle-tour.aspx');
		//facebook
		$('.products-detail ul.slider li:nth-child(4) img').attr('src','http://macandcheese.kraftfoods.com/ykyli_img/tout_facebook_new.png').wrap('<a />');
		$('.products-detail ul.slider li:nth-child(4) a').attr('href','http://www.facebook.com/kraftmacaroniandcheese').attr('target','_blank');
		//homestyle product
		$('.products-detail ul.slider li:nth-child(5) img').attr('src','http://macandcheese.kraftfoods.com/ykyli_img/tout_homestyle.png');//.wrap('<a />');
		$('.products-detail ul.slider li:nth-child(5) a').attr('href','http://www.kraftbrands.com/macandcheese/products/homestyle/pages/four-cheese.aspx');

		
		// FF 3.5.5 flash bug fix
		$('#flash').css('visibility','visible');
		
		// Easy Mac recipe tout
		$('.easymac ul#recipes-ad-content li:first h4').text('Zesty Mac \'N Cheese');
		
		// Header tracking links
		var current_URL = window.location.href;
		current_URL = current_URL.split("/");
		current_URL = current_URL[(current_URL.length)-1];
		$('h1 a#logo').attr("onClick","_gaq.push(['_trackEvent','"+current_URL+"', 'topnav', 'topnav-ykyli']);");
		$('ul#nav-main li a#home').attr("onClick","_gaq.push(['_trackEvent','"+current_URL+"', 'topnav', 'topnav-home']);");
		$('ul#nav-main li a#products').attr("onClick","_gaq.push(['_trackEvent','"+current_URL+"', 'topnav', 'topnav-products']);");
		$('ul#nav-main li a#recipes').attr("onClick","_gaq.push(['_trackEvent','"+current_URL+"', 'topnav', 'topnav-recipes']);");
		$('ul#nav-main li a#forfans').attr("onClick","_gaq.push(['_trackEvent','"+current_URL+"', 'topnav', 'topnav-for_fans']);");
		
		// Footer tracking links
		$('ul#nav-footer li a#facebook').attr('onClick',"_gaq.push(['_trackEvent','"+current_URL+"', 'facebooklike', 'footer-like_facebook']);");
		$('ul#nav-footer li a#twitter').attr('onClick',"_gaq.push(['_trackEvent','"+current_URL+"', 'twitterfollow', 'footer-follow_twitter']);");
		$('ul#nav-footer li a#contact_us').attr('onClick',"_gaq.push(['_trackEvent','"+current_URL+"', 'contactus', 'footer-contact_us' );");
		$('ul#nav-footer li a.terms').attr('onClick',"_gaq.push(['_trackEvent','"+current_URL+"', 'terms', 'footer-terms']);");
		$('ul#nav-footer li a.privacy').attr('onClick',"_gaq.push(['_trackEvent','"+current_URL+"', 'privacy', 'footer-privacy']);");
		
		// Recipe links on product pages should open in current window
		$('ul#recipes-ad-content a').attr('target','_self');
		
		},
		showTruck: function(){
					var offset = 50;
					var ref =  document.referrer,
						loc = window.location.hostname,
						aTime = (20 * 1000); // flash animation time

					$('#brand-container').css('position','relative');
					
					if ($('body').hasClass('products')){
						var stopx = 710+offset;
					}	
					if ($('body').hasClass('mobile')){
						var stopx = 700+offset;
					}
					if ($('body').hasClass('bluebox')){
						var stopx = 790+offset;
					}
					if ($('body').hasClass('deluxe')){
						var stopx = 720+offset;
					}
					if ($('body').hasClass('easymac')){
						var stopx = 775+offset;
					}
					if ($('body').hasClass('homestyle')){
						var stopx = 825+offset-50;
					}
					if ($('body').hasClass('recipes')){
						var stopx = 697+offset;
					}
					if ($('body').hasClass('recipes-detail') || $('div#content').hasClass('recipes')){
						var stopx = 790+offset;
					}
					if ($('body').hasClass('social')){
						var stopx = 687+offset;
					}
					if ($('body').hasClass('videos')){
						var stopx = 480+offset;
					}
					if (typeof ref !== "undefined" && ref !== "") {
						if(ref.indexOf(loc) && !($('body').hasClass('home')) && !($('body').hasClass('homestyle-tour')) && !($('body').hasClass('smile-counter')) ){
							//alert($.cookie("saw_truck"));
							if($.cookie("saw_truck")){
								var countdown = (4*60); 
								var now = parseInt($.cookie("saw_truck")); //Date.parse(new Date())
								var ready = Date.parse(new Date (now + countdown  * 1000)); // * 1000 to get ms
								setInterval(function(){
									var sec = ( ready - Date.parse(new Date()) )/1000;
									//document.title = sec + " seconds left";
									if (sec == 0){
										$('#brand-container').append('<div id="truck_flash" style="display:none" />');
										$('#truck_flash').append('<div class="embed"><div id="flash-wrapper" ><object allowScriptAccess="always" id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1200" height="250"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://macandcheese.kraftfoods.com/homestyletruck/swf/truck_small.swf"/> <param name="wmode" value="transparent" /> <param name="flashvars" value="xmlPath=/macandcheese/xml/config.xml&clickTAG=/macandcheese/forfans/pages/homestyle-tour.aspx&stopX='+stopx+'&loops=2&lastPageLoad=/ykyli/mobile"> <!--[if !IE]>--><object allowScriptAccess="always" type="application/x-shockwave-flash" wmode="transparent"	data="http://macandcheese.kraftfoods.com/homestyletruck/swf/truck_small.swf" flashvars="xmlPath=xml/config.xml&clickTAG=/macandcheese/forfans/pages/homestyle-tour.aspx&stopX='+stopx+'&loops=2&lastPageLoad=/ykyli/mobile" width="1200" height="250"><!--<![endif]--><div id="alternative"><h1>Alternative content</h1> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p></div><!--[if !IE]>--></object><!--<![endif]--></object></div></div>').fadeIn();
										setTimeout(function(){ 
											$('#truck_flash').html("").css({display : 'none'});		
										}, aTime);
										var right_now = Date.parse(new Date());
										$.cookie("saw_truck", right_now, {domain: loc} );
									}
		   				     	},1000);
							}
							else {
								var right_now = Date.parse(new Date());
								$.cookie("saw_truck", null);
		   						$.cookie("saw_truck", right_now, {domain: loc} );
								$('#brand-container').append('<div id="truck_flash" style="display:none" />');
								$('#truck_flash').append('<div class="embed"><div id="flash-wrapper" ><object allowScriptAccess="always" id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1200" height="250"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://macandcheese.kraftfoods.com/homestyletruck/swf/truck_small.swf"/> <param name="wmode" value="transparent" /> <param name="flashvars" value="xmlPath=/macandcheese/xml/config.xml&clickTAG=/macandcheese/forfans/pages/homestyle-tour.aspx&stopX='+stopx+'&loops=2&lastPageLoad=/ykyli/mobile"> <!--[if !IE]>--><object allowScriptAccess="always" type="application/x-shockwave-flash" wmode="transparent"	data="http://macandcheese.kraftfoods.com/homestyletruck/swf/truck_small.swf" flashvars="xmlPath=xml/config.xml&clickTAG=/macandcheese/forfans/pages/homestyle-tour.aspx&stopX='+stopx+'&loops=2&lastPageLoad=/ykyli/mobile" width="1200" height="250"><!--<![endif]--><div id="alternative"><h1>Alternative content</h1> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p></div><!--[if !IE]>--></object><!--<![endif]--></object></div></div>').fadeIn();
								setTimeout(function(){ 
									$('#truck_flash').html("").css({display : 'none'});	
								}, aTime);
							} 
						} 
					} 
				}, 	
		
		subnav: function(){
			
			if(thispage == 'products'){
				$('#nav-sub').show();
			} else {
				$('#nav-sub').hide();
			}
			
			if(thispage == 'forfans'){
				$('#nav-sub-fans').show();
			} else {
				$('#nav-sub-fans').hide();
			}
			
			if ($('body').hasClass('forfans')) {
				$('#nav-sub-fans').show();
			}
		},
		pageHandler: function(){
			
			var path = document.URL,
			page = path.split('/');
			page = page[page.length-1];
			if($('a[href='+page+']')){
				if (!$('body').hasClass('videos')){
					$('a[href='+page+']').parent().addClass('active');
				}
			}
			
			if($('body').hasClass('home')){
				thispage = 'home';
			} else if($('body').hasClass('products')){
				thispage = 'products';
			} else if($('body').hasClass('recipes')){
				thispage = 'recipes';
			} else if($('body').hasClass('forfans')){
				thispage = 'forfans';
			}
			
			if($('body').hasClass('products-detail') || $('body').hasClass('recipes-detail') || $('body').hasClass('home') || $('body').hasClass('homestyle-tour') || $('div#content').hasClass('recipes')){
				Kraft.addThis.init();
			}
			
		},
		userActions: function(){
			
			this.closeTooltip = function(){
				if (navigator.appName == 'Microsoft Internet Explorer'){
					//no-fade (IE)
					$('.tool-tip').delay(400).hide(0,function(){
						$(this).remove();
					});
				} else {
					//fade (non-IE)
					$('.tool-tip').delay(400).fadeOut(200,function(){
						$(this).remove();
					});
				}
			};
			
			//nav
			$('ul#nav-main li a#forfans, ul#nav-main li a#products').hover(function(){
				if($(this).attr('id') != thispage){
					$('ul#nav-main li a#'+thispage).addClass('selected-off');
				}
			},function(){
				if($('ul#nav-main li a#'+thispage).hasClass('selected-off')){
					$('ul#nav-main li a#'+thispage).removeClass('selected-off');
				}
			});
			
			//subnav
			$('a#products').hover(function(){
				$('#nav-sub-fans').hide();
				$('#nav-sub').hide();
				$('#nav-sub').show();
			});
			$('a#forfans').hover(function(){
				$('#nav-sub-fans').hide();
				$('#nav-sub').hide();
				$('#nav-sub-fans').show();
			});
			$('#wrapper').bind('mouseleave',Kraft.subnav);
			$('#content, a#home, a#home-over, a#recipes, a#recipes-over').bind('mouseenter',Kraft.subnav);
			
			//tooltip
			$('.tab a').bind('mouseenter',function(){
				//build
				var toolText = $(this).html(),
				toolTip = '<div class="tool-tip"><div class="tool-tip-l"></div><div class="tool-tip-m">'+toolText+'</div><div class="tool-tip-r"></div><div class="tool-tip-arrow"></div></div>',
				tabOffset = $(this).offset();
				//remove
				$('.tool-tip').remove();
				//attach
				$('body').append(toolTip);
				//style
				var toolCSS = {
					'top' : tabOffset.top - 35,
					'left' : tabOffset.left + $(this).width() / 2 - $('.tool-tip').width() / 2
				}
				$('.tool-tip').css(toolCSS);
				$('.tool-tip-arrow').css({'left' : $('.tool-tip-m').width()/2 + 4 });
			});
			$('.detail-nav, .recipe-nav').bind('mouseleave', this.closeTooltip);
			$('div.detail-nav a.left-arrow, div.detail-nav a.right-arrow, div.recipe-nav a.right-arrow, div.recipe-nav a.left-arrow').bind('click', this.closeTooltip);
			
			$('.print').bind('click',function(){
			//$(document).ready(function() {
							function replaceSprite(selector){

								if ($.browser.msie == true) {
									var back_x = $(selector).css('background-position-x'),
									 	back_y = $(selector).css('background-position-y'),
										back_position = back_x+" "+back_y;
								} else {
									var back_position = $(selector).css('background-position');
								}

								var back_image = $(selector).css('background-image'),
									width = $(selector).width(),
									height = $(selector).height(),
									index1 = back_image.indexOf('http'),
									index2 = back_image.indexOf('.png');

								back_position = back_position.split(" ");
								back_image = back_image.substring(index1, (index2+4));

								$(selector)
									.append('<img src="'+back_image+'"/>')
									.css('width',width)
									.css('height',height)
									.css('overflow','hidden');

								$(selector).find('img')
									.css('margin-left',back_position[0])
									.css('margin-top',back_position[1]);
							}

							function replaceHeaderSprite(selector){

								if ($.browser.msie == true) {
									var back_x = $(selector).css('background-position-x'),
									 	back_y = $(selector).css('background-position-y'),
										back_position = back_x+" "+back_y;
								} else {
									var back_position = $(selector).css('background-position');
								}

								var back_image = $(selector).css('background-image');
								var width = $(selector).width();
								var height = $(selector).height();
								var index1 = back_image.indexOf('http');
								var index2 = back_image.indexOf('.png');

								back_position = back_position.split(" ");
								back_image = back_image.substring(index1, (index2+4));

								$(selector).replaceWith('<div class="recipe_header_image"></div>');

								$('.recipe_header_image')
									.append('<img src="'+back_image+'"/>')
									.css('width',width)
									.css('height',height)
									.css('overflow','hidden');

								$('.recipe_header_image').find('img')
									.css('margin-left',back_position[0])
									.css('margin-top',back_position[1]);
							}

							if ($.browser.msie == true) {
								if ($.browser.version == "6.0") {
									var styleSheets = document.styleSheets;
									var href = '/macandcheese/css/print.css';
									for (var i = 0; i < styleSheets.length; i++) {
								    	if (styleSheets[i].href == href) {
								        	styleSheets[i].disabled = true;
								        	break;
								    	}
									}
									window.print();
									return false;
								}
								else {
									replaceSprite('ul.product-details li.stats-left div');
									replaceSprite('ul.product-details li.stats-middle div.timer');
									replaceSprite('ul.product-details li.stats-middle ul.servings li');
									replaceSprite('ul.product-details li.stats-right div');
									$('<div class="print_logo"><img src="http://macandcheese.kraftfoods.com/ykyli_img/print_logo.png" class="print_logo"/></div>').prependTo('#content');
									window.print();
									return false;
								}
							}
							else {
								replaceSprite('ul.product-details li.stats-left div');
								replaceSprite('ul.product-details li.stats-middle div.timer');
								replaceSprite('ul.product-details li.stats-middle ul.servings li');
								replaceSprite('ul.product-details li.stats-right div');
								replaceHeaderSprite('h2.recipe-header');
								$('<div class="print_logo"><img src="http://macandcheese.kraftfoods.com/ykyli_img/print_logo.png" class="print_logo"/></div>').prependTo('#content');
								window.print();
								return false;
							}
			});
			
			
			//product hovers
			$('#gallery-bluebox ul li a, #gallery-homestyle ul li a, #gallery-easymac ul li a, #gallery-deluxe ul li a, #recipes-main ul li a').hover(function(){
				$(this).parent().css({'background-color' : '#fff'});
			},function(){
				$(this).parent().css({'background-color' : 'transparent'});
			});
			
		},
		scrollable: function(){
			
			var liNum = $('.tab li.active'),
			liIndex = $('.tab li').index(liNum);
			
			$(".scrollable").scrollable({
				items: ".slider",
				keyboard: false,
				circular: true,
				next: ".right-arrow",
				prev: ".left-arrow"
			});
			
			$(".scrollable-navi").scrollable({
				items: ".slider",
				keyboard: false,
				circular: true
			}).autoscroll({
				interval: 8000
			}).navigator();	
			
			var api = $(".scrollable").data("scrollable"),
			scrollIndex = Math.floor(liIndex/8);
			if(api && scrollIndex != -1) {
				api.seekTo(scrollIndex,0);
			}
			
		},
		addThis: {
			init: function(){
				//position lightbox
				if($.browser.msie){
					var winWidth = $('window').width(),
					upPush = -650;
				} else {
					var winWidth = $(window).width();
					upPush = 50;
				}
				if($('.addthis_button_compact').length) {
					var morePosition = $('.addthis_button_compact').position();
					var offset = {
						top: morePosition.top + upPush,
						left: winWidth/2 - 33
					}
				} else {
					var offset = {
						top: 0,
						left: 0
					}
				}
				// Prepare pageTracker var for addthis config
				var pageTracker = [];
				if (_gaq._getAsyncTracker) {
					pageTracker = _gaq._getAsyncTracker('');
				}
				//set addthis config
				var addthis_config = {
					ui_offset_top: offset.top,
					ui_offset_left: offset.left,
					ui_click: true,
					data_ga_tracker: pageTracker
				}
				// Attach GA click event to addthis 'More' link, onclick event in markup won't bind
				$('li#more a').click(function() {
					var g = $('<div>').append($('ul#social li#facebook a').clone()).remove().html();
					g = g.split("trackEvent','");
					g = g[1].split("', '");
					_gaq.push(['_trackEvent', g[0], 'share', 'product-detail-share-More']);
				});
				//add return query strings
				$('.addthis_toolbox a').each(function(){
					var returnQuery, serviceName, productName;
					serviceName = $(this).attr('title');
					productName = $('title').html();
					var returnQuery = '?utm_source='+serviceName+'&utm_medium=share_clickback&utm_campaign=product_'+productName;
					$(this).attr('addthis:url',document.URL+returnQuery);
				});
				this.loadScript();
			},
			loadScript: function(){
				var addthisURL = 'http://s7.addthis.com/js/250/addthis_widget.js#username=cpbmetrics';
				$.ajax({
					url: addthisURL,
					dataType: 'script',
					success: this.loadSuccess,
					error: this.loadError
				});
			},
			loadSuccess: function(){
				var force = setInterval(function () {
					$('.addthis_toolbox li#posterous a').removeAttr('addthis:url');
					$('.addthis_toolbox li#posterous a').removeAttr('target');
					$('.addthis_toolbox li#posterous a').attr('href','#');
					$('.addthis_toolbox li#posterous a').unbind('click');
					$('.addthis_toolbox li#posterous a').bind('click',function () {
						var b=document.body;
						if(b&&!document.xmlVersion){
							void(z=document.createElement('script'));void(z.type='text/javascript');void(z.src='http://macandcheese.kraftfoods.com/js/posterous.js');void(b.appendChild(z));
						}else{}
						return false;
					});
				},100);
				setTimeout(function () {
					clearInterval(force);
				},10000);
			},
			loadError: function(){
				$('.addthis_toolbox').html('');
			}
		}
	}
	
	$('document').ready(Kraft.init);
	window.Kraft = Kraft;
	
})(jQuery);
