/*
This is our main CSS file where most of the page functionality is set:
    - this code requires the following jQuery plug-ins:
        - jQuery (1.3.2)
        - jquery.easing
        - jquery.scrollTo
*/

var contentBlocks;
var blockOffsets = [];
var contentWrapper;
var content;
//var dayChangerColorElems;
//var copiedYtPlayer;

jQuery(document.documentElement).addClass("js");


jQuery(document).ready(function()
{
    /* creating references to standard objects */
	var nav = jQuery("#navigation")
	var navMenu = nav.find("ul");
	contentWrapper = jQuery("div#contentWrapper");
	var content = jQuery("div#content");
	contentBlocks = jQuery(".contentBlock");
	var navItems = nav.find("li a");
	
	
	var index = false;
	
	// this link needs to act differently to others in the mainnav
	jQuery('.promoLinks a').attr('target','_blank');

	function getLocationIndex()
	{
		var scrollTop = contentWrapper[0].scrollTop;
		
		var newIndex = 0;
		var screenY = jQuery(window).height();
		
		for(var i = 0; i < blockOffsets.length; i++)
		{
			if((blockOffsets[i].offset - (screenY / 2)) > scrollTop)
			{
				newIndex = i - 1;
				break;
			}
			
			newIndex = i ;
		}
		
		return newIndex;
	}
	navItems.add("div.hubNav>ul>li>a[href*='#'], #content ul.homeNav li a[href*='#']").click(function(evt)
	{
		var navItem = jQuery(this);
		if (!navItem.parent().hasClass('.promoLinks')) {
		    evt.preventDefault();
		    // some links don't have hrefs but have names - this allows for both :)
		    var hashID = navItem.attr("href") ? navItem.attr("href").split("#")[1] : navItem.attr("name");

		    // google analytics page count stuff
		    var lang = "en";
		    		
		    var target = contentWrapper.find("a[name='" + hashID + "']").parents("div.contentBlock");
		
		    var fromIndex = getLocationIndex();
		    var toIndex = navItem.parents("li").prevAll().size();
		
		    var diff = fromIndex - toIndex;
		
		    if(diff < 0)
			    diff = 0 - diff;
		
		    diff = ((diff - 1) / 2) + 1;
		
		    contentWrapper.scrollTo(target, (1000 * diff), {easing:'easeOutCirc'});
		    
		}
	});
	
});


/*! Copyright (c) 2008 Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 */

/**
 * Gets the width of the OS scrollbar
 */
(function($) {
	var scrollbarWidth = 0;
	$.getScrollbarWidth = function() {
		if ( !scrollbarWidth ) {
			if ( $.browser.msie ) {
				var $textarea1 = $('<textarea cols="10" rows="2"></textarea>')
						.css({ position: 'absolute', top: -1000, left: -1000 }).appendTo('body'),
					$textarea2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>')
						.css({ position: 'absolute', top: -1000, left: -1000 }).appendTo('body');
				scrollbarWidth = $textarea1.width() - $textarea2.width();
				$textarea1.add($textarea2).remove();
			} else {
				var $div = $('<div />')
					.css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: -1000 })
					.prependTo('body').append('<div />').find('div')
						.css({ width: '100%', height: 200 });
				scrollbarWidth = 100 - $div.width();
				$div.parent().remove();
			}
		}
		return scrollbarWidth;
	};
})(jQuery);
