/* DROP MENU -- CUSTOMIZED FOR THIS INSTALLATION */
var droplinemenu={

	animateduration: {over: 200, out: 200},
	
	
	buildmenu: function(menuid,slideshow) {
		$(function(){
			var $slideShow = $(slideshow);
			var $extra = 2;
			var $mainmenu = $('#' + menuid + ' > ul');
			var $headers = $mainmenu.find('ul').parent();
			$headers.each(function(i){
				var $curobj = $(this);
				var $subul = $(this).find('ul:eq(0)');
				this._voffset = $headers.outerHeight();
				this._dimensions = {h:$curobj.find('a:eq(0)').outerHeight()};
				this.istopheader = $curobj.parents('ul').length==1 ? true : false;
				if (!this.istopheader) {
					$subul.css({left: 0, top: this._dimensions.h});
				}
				var $innerheader = $curobj.children('a').eq(0);
				$curobj.hoverIntent(
					function(e){
						if($slideShow){
							$slideShow.cycle('pause');
						}
						var $targetul = $(this).children('ul:eq(0)');
						if ($targetul.queue().length <= 0) {
							if (this.istopheader) {
								$targetul.css({left: $mainmenu.left, top: this._dimensions.h});
							}
							if (document.all && !window.XMLHttpRequest) {
								$mainmenu.find('ul').css({overflow: (this.istopheader) ? 'hidden':'visible'});
							}
							//$targetul.stop()slideDown(droplinemenu.animateduration.over); CAUSING HANGS
							$targetul.slideDown(droplinemenu.animateduration.over);
						}
					},
					function(e){
						var $targetul = $(this).children('ul:eq(0)');
						//$targetul.stop().slideUp(droplinemenu.animateduration.out); CAUSING HANGS
						$targetul.slideUp(droplinemenu.animateduration.out);	
						if($slideShow){
							$slideShow.cycle('resume');
						}
				});
				$mainmenu.find('ul').css({display: 'none', visibility: 'visible'});
			});
		
		});
	}
}
/*PAGE SCRIPTS*/
$(function(){
	$("html:first").removeClass("no-js");
	var $deviceAgent = navigator.userAgent.toLowerCase(),
	$agentID = $deviceAgent.match(/(iphone|ipod|ipad)/);
	
//SUB-NAVIGATION PLACEMENT
	$('#navigation ul#main li.primary > a').each(function(){
		var header = $('#header'),
		navBlockWidth = $('#navigation').outerWidth(),
		mainNav = $('#mainnav'),
		subNav = $(this).parent('li').children('ul'),
		navSpace = $('#mainnav').outerWidth(),
		navBlockRight = navBlockWidth - navSpace,
		navOffset = mainNav.offset(),
		navRight = navOffset.left + navSpace,
		offset = $(this).offset(),
		liLeft = Math.round(offset.left),
		liRight = liLeft + $(this).outerWidth(),
		headerOffset = header.offset(),
		pageLeft  = headerOffset.left;
		
		subNav.each(function(){
			var subWidth = 0;
			$(this).children('li').each(function(){
				subWidth = subWidth + $(this).outerWidth();
			});
			$(this).attr('value',subWidth);
		});
		var subWidth = subNav.attr('value');
	
		var testWidth = parseInt(liLeft) + parseInt(subWidth);
		if(testWidth > navRight){
			liLeft = liRight - subWidth;
			if (liLeft < pageLeft) {
				liLeft = navRight - subWidth;
			} else {liLeft = liLeft;}
			
		} else {liLeft = liLeft;}
		$(this).parent('li').children('ul').offset({left: liLeft});
	});
// PAGE LAYOUT CONTROL EXCEPTIONS
	var pageID = $('body').attr('id');
	if((pageID === 'national-map') || (pageID === 'leadership') || (pageID === 'traditional-program') || (pageID === 'community-based') || (pageID === 'headquarters')){
		var noHeight = true;
		var static = true;
	}
	if (pageID === 'index'){
		var noHeight = true;
		var static = true;
		var homePage = true;
	}	
// ###
// PAGE DISPLAY CONTROLS
	var displayBlock = $('#content .displayblock'),
		displayHeight = displayBlock.outerHeight(),
		fullHeight = $('#content').innerHeight(),
		defaultPos,
		minPos = displayHeight * (-1);
		targetHeight = 200;

	if(!noHeight){
		if(displayHeight <= (targetHeight + 10)){
			displayBlock.css('height',targetHeight);
			displayHeight = displayBlock.outerHeight();
			defaultPos = 0;
			minPos = displayHeight * (-1);
			$('#minMaxButton').html('<div class="button">MINIMIZE</div>').removeClass('default').addClass('minimize');
			Cufon('.button');
			var noHeight = true;
		}
		if(displayHeight > targetHeight){
			defaultPos = (displayHeight - targetHeight) * (-1);
			$('#minMaxButton').html('<div class="button">READ MORE</div>').removeClass('default').addClass('readmore');
			Cufon('.button');
		}
	} else {
		defaultPos = 0;
		$('#minMaxButton').html('<div class="button">MINIMIZE</div>').removeClass('default').addClass('minimize');
	}
	if(!noHeight){
		if(displayHeight > fullHeight){
			$('#minMaxButton').attr('id','superMaxButton');
		}
	}
	displayBlock.css({bottom:defaultPos}, Cufon.replace('#minMaxButton,#superMaxButton'));

	
	//DEFAULT MIN/MAX
	$('#minMaxButton').click(function(){
		$targetState = $(this).attr('class');
		if(noHeight){
			if($targetState === 'default'){
				displayBlock.animate({bottom: minPos});
				$(this).html('<div class="button">MAXIMIZE</div>');
				$(this).removeClass('default').addClass('maximize');
			}
			if($targetState === 'minimize'){
				displayBlock.animate({bottom: minPos});
				$(this).html('<div class="button">MAXIMIZE</div>');
				$(this).removeClass('minimize').addClass('maximize');
			}
			if($targetState === 'maximize'){
				displayBlock.animate({bottom: defaultPos});
				$(this).html('<div class="button">MINIMIZE</div>');
				$(this).removeClass('maximize').addClass('minimize');
			}
		
		} else {
			if($targetState === 'minimize') {
				displayBlock.animate({bottom: minPos});
				$(this).html('<div class="button">SHOW CONTENT</div>');
				$(this).removeClass('minimize').addClass('showcontent');
				
			} else if ($targetState === 'showcontent') {
				displayBlock.animate({bottom: defaultPos});
				$(this).html('<div class="button">READ MORE</div>');
				$(this).removeClass('showcontent').addClass('readmore');
				
			} else if ($targetState === 'readmore') {
				displayBlock.animate({bottom: 0});
				$(this).html('<div class="button">MINIMIZE</div>');
				$(this).removeClass('readmore').addClass('minimize');
			}
		}
		Cufon('.button');
		$.roundMinMax('#minMaxButton');
	});
	//LONG CONTENT MIN/MAX
	$('#superMaxButton').click(function(){
		$targetState = $(this).attr('class');
		var reset = fullHeight;
		if($targetState === 'minimize') {
			$('#content').animate({height:fullHeight});
			displayBlock.animate({bottom: minPos});
			$(this).html('<div class="button">SHOW CONTENT</div>');
			$(this).removeClass('minimize').addClass('showcontent');
			
		} else if ($targetState === 'showcontent') {
			displayBlock.animate({bottom: defaultPos});
			$(this).html('<div class="button">READ MORE</div>');
			$(this).removeClass('showcontent').addClass('readmore');
			
		} else if ($targetState === 'readmore') {
			$('#content').animate({height:displayHeight});
			displayBlock.animate({bottom: 0});
			$(this).html('<div class="button">MINIMIZE</div>');
			$(this).removeClass('readmore').addClass('minimize');
		}
		Cufon('.button');
		$.roundMinMax('#superMaxButton');
	});
	
	if(homePage){
		$('#content .button').each(function(){
			$(this).css({opacity: 0.6});
		}).hover(function(){
			$(this).fadeTo('slow',1);
		},function(){
			$(this).fadeTo('slow',0.6);
		});
	}
	$('.button').hover(function(){Cufon('.button h2,.button p');},function(){Cufon('.button h2,.button p');});
	//$('#content ul.graphic li a').hover(function(){Cufon.(this);},function(){Cufon(this);});
//ROUNDED CORNER SHIM FUNCTION
$.roundMinMax = function(e){
		var ulHeight = $(e).outerHeight();
		var ulWidth = $(e).outerWidth();
		var fillWidth = ulWidth - 12;
	if($.browser.msie){
		$(e).children('.button').css({'padding-bottom': 0});
		$(e).append('<div class="shim" style="width:'+ulWidth+'px;"><div class="lt"></div><div class="fill" style="width: '+fillWidth+'px;"></div><div class="rt"></div></div>');
	}
}
	
	//IE-SPECIFIC 
	if($.browser.msie){
		//$('.displayblock .button').last().css({'margin-right': 0});
		$('ul.submenu').each(function(){
			var ulHeight = $(this).outerHeight();
			var ulWidth = $(this).outerWidth();
			var fillWidth = ulWidth - 12;
			$(this).css({'height': ulHeight - 6 +'px'});
			$(this).append('<div class="shim" style="width:'+ulWidth+'px;"><div class="lt"></div><div class="fill" style="width: '+fillWidth+'px;"></div><div class="rt"></div></div>');
		});
		$('.displaywrap').each(function(){
			if(!static){
				var divHeight = $(this).outerHeight();
				var divWidth = $(this).outerWidth();
				var fillWidth = divWidth - 12;
				$(this).css({'padding-top': '9px'});
				$(this).before('<div class="shim" style="width:'+divWidth+'px;"><div class="lt"></div><div class="fill" style="width: '+fillWidth+'px;"></div><div class="rt"></div></div>');
			}
		});
		$.roundMinMax('#minMaxButton');
		$.roundMinMax('#superMaxButton');
	}
	
});

droplinemenu.buildmenu('mainnav','#index #imagebox');

