/*
 * Supersubs v0.2b - jQuery plugin
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 *      http://www.opensource.org/licenses/mit-license.php
 *      http://www.gnu.org/licenses/gpl.html
 *
 *
 * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
 * their longest list item children. If you use this, please expect bugs and report them
 * to the jQuery Google Group with the word 'Superfish' in the subject line.
 *
 */

;(function($){ // $ will refer to jQuery within this closure

        $.fn.supersubs = function(options){
                var opts = $.extend({}, $.fn.supersubs.defaults, options);
                // return original object to support chaining
                return this.each(function() {
                        // cache selections
                        var $$ = $(this);
                        // support metadata
                        var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
                        // get the font size of menu.
                        // .css('fontSize') returns various results cross-browser, so measure an em dash instead
                        var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
                                'padding' : 0,
                                'position' : 'absolute',
                                'top' : '-999em',
                                'width' : 'auto'
                        }).appendTo($$).width(); //clientWidth is faster, but was incorrect here
                        // remove em dash
                        $('#menu-fontsize').remove();
                        // cache all ul elements
                        $ULs = $$.find('ul');
                        // loop through each ul in menu
                        $ULs.each(function(i) { 
                                // cache this ul
                                var $ul = $ULs.eq(i);
                                // get all (li) children of this ul
                                var $LIs = $ul.children();
                                // get all anchor grand-children
                                var $As = $LIs.children('a');
                                // force content to one line and save current float property
                                var liFloat = $LIs.css('white-space','nowrap').css('float');
                                // remove width restrictions and floats so elements remain vertically stacked
                                var emWidth = $ul.add($LIs).add($As).css({
                                        'float' : 'none',
                                        'width' : 'auto'
                                })
                                // this ul will now be shrink-wrapped to longest li due to position:absolute
                                // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
                                .end().end()[0].clientWidth / fontsize;
                                // add more width to ensure lines don't turn over at certain sizes in various browsers
                                emWidth += o.extraWidth;
                                // restrict to at least minWidth and at most maxWidth
                                if (emWidth > o.maxWidth)               { emWidth = o.maxWidth; }
                                else if (emWidth < o.minWidth)  { emWidth = o.minWidth; }
                                emWidth += 'em';
                                // set ul to width in ems
                                $ul.css('width',emWidth);
                                // restore li floats to avoid IE bugs
                                // set li width to full width of this ul
                                // revert white-space to normal
                                $LIs.css({
                                        'float' : liFloat,
                                        'width' : '100%',
                                        'white-space' : 'normal'
                                })
                                // update offset position of descendant ul to reflect new width of parent
                                .each(function(){
                                        var $childUl = $('>ul',this);
                                        var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
                                        $childUl.css(offsetDirection,emWidth);
                                });
                        });
                        
                });
        };
        // expose defaults
        $.fn.supersubs.defaults = {
                minWidth                : 10,            // requires em unit.
                maxWidth                : 30,           // requires em unit.
                extraWidth              : 1                     // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
        };
        
})(jQuery); // plugin code ends







// Animated scrolling
jQuery.fn.anchorAnimate = function(settings) {

 	settings = jQuery.extend({
		speed : 400
	}, settings);	
	
	return this.each(function(){
		var caller = this
		jQuery(caller).click(function (event) {	
			event.preventDefault()
			var locationHref = window.location.href
			var elementClick = jQuery(caller).attr("href")
			
			var destination = jQuery(elementClick).offset().top;
			jQuery("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
				window.location.hash = elementClick
			});
		  	return false;
		})
	})
}




//jQuery(document).ready(function() {
//
//	
//
//
//// Utility Banner Menu
//	jQuery('#headernavigation ul').supersubs({ 
//            minWidth:    10,   // minimum width of sub-menus in em units 
//            maxWidth:    30,   // maximum width of sub-menus in em units 
//            extraWidth:  1,    // extra width can ensure lines don't sometimes turn over 
//                               // due to slight rounding differences and font-family 
//        }).superfish({
//			delay: 200,
//            animation: {opacity:'show',height:'show'},
//            speed: 'fast',
//            dropShadows: false,
//            autoArrows: false
//            
//	}); 
//	
//	// Main Navigation Menu
//	jQuery('#categories ul').supersubs({ 
//            minWidth:    15,   // minimum width of sub-menus in em units 
//            maxWidth:    30,   // maximum width of sub-menus in em units 
//            extraWidth:  1,    // extra width can ensure lines don't sometimes turn over 
//                               // due to slight rounding differences and font-family 
//        }).superfish({
//			delay: 200,
//            animation: {opacity:'show',height:'show'},
//            speed: 'fast',
//            dropShadows: false,
//            autoArrows: false
//            
//	});
//	
//	// Featured Slider
//	jQuery('#featured-slides').cycle({
//		fx:					'fade',
//		speed:				400,
//		timeout:			10000,
//		cleartypeNoBg:		true,
//		pager:				'#slide-thumbs',
//		pagerAnchorBuilder: function(idx, slide) { 
//        	// return selector string for existing anchor 
//        	return '#slide-thumbs li:eq(' + idx + ') a'; 
//    		}
//	});
//	
//
// 
//
//});
//

