if ((navigator.userAgent.indexOf('iPad') != -1)) {
		document.write('<link rel="stylesheet" href="./css/ipad.css" type="text/css"/>');
}else{
	/* Initialize */
 var story_nav = false;
jQuery(
 
	function ($) {

		$.Body = $('body');
	
		
		$.Window = $(window);
		
		$.Scroll = ($.browser.mozilla || $.browser.msie) ? $('html') : $.Body;
		
		$.Mobile = ($.Body.hasClass('webkit-mobile') || (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))),
		
		$.Unsupported = $.Body.hasClass('unsupported-browser');
		
	
	} 
	
);
	
/* ---------------------------------- */

/* Events */

(function($) {

	$.Events = {

		OMNITURE_TRACK: 'omnitureTrack',
		OMNITURE_TRACK_LINK: 'omnitureTrackLink',
		
		
		SECTION_ENTER: 'sectionEnter',
		
		SCROLL_TO: 'scrollTo',
		
		SCROLL: 'windowScroll',
		SCROLL_ENTER: 'windowScrollEnter',
		SCROLL_LEAVE: 'windwScrollLeave',
		
		KEY_UP: 'keyUp',
		KEY_DOWN: 'keyDown',
		KEY_LEFT: 'keyLeft',
		KEY_RIGHT: 'keyRight',
		KEY_ESC: 'keyEsc',
		KEY_SPACE: 'keySpace',
		
		
		PROOF_POINT: 'proofPointMore'
		
	
	} // Events	
	
	$.Views = {
	
	
	} // Views 

	 
	
})(jQuery);

 
/* ---------------------------------- */

/* Scrollable */

(function($) {
		$.fn.Scrollable = function(settings) {
		 
			 var config = { threshold: -200, offset_scroll: 6, offset_intertia: .3 };
	 
			 if (settings) $.extend(config, settings);
			
			 this.each(function() { 
				
					var $self = $(this),
							$id = $self.attr('id');
							
					config.threshold = 0;
					
					if ($.Mobile || $.Unsupported) {	
						$self.css({backgroundAttachment:'scroll'})
					}else{
					
					$.Window
					.bind('scroll',
						function(e){
						
							if ( $.inview($self,{threshold:config.threshold}) ) {
								
								if (!$self.hasClass('_active')){
								
									$self.addClass('_active');
									
									if (config.is_nav)
										$.Body.triggerHandler($.Events.SECTION_ENTER,$id);
									
									$self.triggerHandler($.Events.SCROLL_ENTER);
									
								}
									
								_scroll_background();
									
								$self.triggerHandler($.Events.SCROLL,$.distancefromfold($self,{threshold:config.threshold}) - config.threshold)
								
							}else{
								
								if ($self.hasClass('_active')){
								
									$self.removeClass('_active');
									
									$self.triggerHandler($.Events.SCROLL_LEAVE);
									
								}
							
							}
							
						
						})
							
					}
					
					function _scroll_background() {

						var _x = '50% '
						var threshold = config.threshold;
						var offset = config.offset_intertia;		
						var _d = $.distancefromfold($self,{threshold:threshold}); 
						
						//console.log(threshold);
						//console.log(offset);
						//console.log(_d);
						
						var _y = -1*(_d-threshold) * offset;
						var bpos = _x + _y + 'px';
						
						$self.css({'backgroundPosition':bpos})
						
						
						//animation text;
						/*var offset_text = 0.7;
						var top = parseInt($self.find('div.text').attr('_top'));
						var _y_text = -1*(_d-threshold) * offset_text;
						var tpos = top + -1*_y_text;
						$self.find('div.text').css({'top':tpos+'px'});*/
					}
					
					/*if (config.auto_scroll)
						_scroll_background();*/
							
			 });
			 
			return this;
			 
		} //Story
})(jQuery);


(function($) {
	
	 $.fn.MainNav = function() {
	 
		 this.each(function() { 
			
			var $self = $(this);
			var $nav = $('#story-navigation');
			var $sections = $('#stories div.story-item');
			$.Window
			.bind('scroll',
				function() {
					_adjust_display();
				})
			_adjust_display();
		
				$.Body
					.bind($.Events.SECTION_ENTER,
						function(e,id){
				//$('#story-navigation').show();
					$self.find('li a').removeClass('active');
								$self.find('li.'+id).find('a').addClass('active');
			 	
						});
				$sections.
					bind($.Events.SCROLL_LEAVE,
					function(e){
						var section = $(this);
						var id = section.attr('id');
						$self.find('li.'+id).find('a').removeClass('active');
						if ($('#stories div.story-item._active').get(0)) {
							var active_id = $('#stories div.story-item._active').attr('id');
							$self.find('li.'+active_id).find('a').addClass('active');
						}
					});	
						 $sections.
					bind($.Events.SCROLL_ENTER,
					function(e){
						var section = $(this);
						var id = section.attr('id');
						$self.find('li a').removeClass('active');
						$self.find('li.'+id).find('a').addClass('active');
					});
		
				$self.find('a').bind('click',function(){
					var id = $(this).parent().attr('class');
					story_nav = true;
					$.Body.triggerHandler($.Events.SCROLL_TO,id,function(){
					
					});
					return false;
				});
		
			function _adjust_display(){
				if (!story_nav) {
					var $stories = $('#stories');
					if ( $.inview($stories,{threshold:-600})) {
						if($('#fancybox-content ul.story-links li').hasClass('active')){
							$nav.fadeOut();
						} else{
							$nav.fadeIn();
						}
						
					} else {
						$nav.fadeOut();
					}
				}
				
			}
		 });
		 
		return this;
		 
	} // Main Nav
	
})(jQuery);


/* Worker */

(function($) {


		$.distancefromfold = function($element, settings) {
				if (settings.container === undefined || settings.container === window) {
						var fold = $(window).height() + $(window).scrollTop();
				} else {
						var fold = $(settings.container).offset().top + $(settings.container).height();
				}
				return (fold + settings.threshold) - $element.offset().top ;
		};
		
		$.belowthefold = function($element, settings) {
				if (settings.container === undefined || settings.container === window) {
						var fold = $(window).height() + $(window).scrollTop();
				} else {
						var fold = $(settings.container).offset().top + $(settings.container).height();
				}
				return fold <= $element.offset().top - settings.threshold;
		};
		
		$.rightoffold = function($element, settings) {
				if (settings.container === undefined || settings.container === window) {
						var fold = $(window).width() + $(window).scrollLeft();
				} else {
						var fold = $(settings.container).offset().left + $(settings.container).width();
				}
				return fold <= $element.offset().left - settings.threshold;
		};
				
		$.abovethetop = function($element, settings) {
				if (settings.container === undefined || settings.container === window) {
						var fold = $(window).scrollTop();
				} else {
						var fold = $(settings.container).offset().top;
				}
				return fold >= $element.offset().top + settings.threshold	+ $element.height();
		};
		
		$.leftofbegin = function($element, settings) {
				if (settings.container === undefined || settings.container === window) {
						var fold = $(window).scrollLeft();
				} else {
						var fold = $(settings.container).offset().left;
				}
				return fold >= $element.offset().left + settings.threshold + $element.width();
		};
		
		$.inview = function($element, settings) {
				return ($.abovethetop($element,settings)!=true && $.belowthefold($element,settings)!=true)
		};


		$.extend($.expr[':'], {
				"below-the-fold" : "$.belowthefold(a, {threshold : 0, container: window})",
				"above-the-fold" : "!$.belowthefold(a, {threshold : 0, container: window})",
				"right-of-fold"	: "$.rightoffold(a, {threshold : 0, container: window})",
				"left-of-fold"	 : "!$.rightoffold(a, {threshold : 0, container: window})"
		});
		
})(jQuery); 

$(document).ready(function(){
	$('#stories div.story-item').each(function(){
		$(this).Scrollable({is_nav : true});
	});
	SiteScroll();
	$('#main div.content-top ul.buttons a').live('click',function(){
		var id = $(this).attr('href');
		id = id.replace('#', '');
		$.Body.triggerHandler($.Events.SCROLL_TO,id);
		return false;
	});
	
	$('#story-nav').MainNav();
});
$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

function SiteScroll(){
		$.Body
		.bind($.Events.SCROLL_TO,
			function(e,id){
				var $element = $('#'+id);
				var _top = $element.offset().top;
				
							
		$('#story-navigation').hide();
				
		$.Scroll
			.stop()
			.animate(
				{ 'scrollTop': _top },
				800,function(){
					if (story_nav) {
					$('#story-navigation').show();
					story_nav = false;
				}
			});
		
	})
}

}


