function prepare_hover_menus() {
	// ensure the page contains a hover menu
	if(!$('ul.hover_menu')) {
		return;
	}

	// hide all links and set the appropriate class
	$('ul.hover_menu ul').hide().addClass('hidden').each(function (){
		// add convenience class
		var container = $(this).parent('li');
		container.addClass('parent-item');
		
		// insert span to hold triangle
		var first_li = $(this).children(':first-child');
		first_li.prepend('<span></span>');
	});

	// add a mouseover trigger to the elements
	$(".parent-item > a, .hidden").bind("mouseover", function() {
		// get container
		var container = $(this).parent('li');

		if(container.attr('timer')) {
			// clear any existing timeout in case mouseout then mouseover
			clearTimeout(container.attr('timer'));
			container.removeAttr('timer');
		}

		if(!container.attr('on')) {
			// set state attributes
			container.attr('on', true).addClass("active");
			container.children('.hidden').show();
		}
	}).bind("mouseout", function() {
		// get parent container
		var container = $(this).parent('li');

		// set timeout to hide menu with delay
		container.attr('timer', setTimeout(function(){hide_hover_menus(container);}, 100));
	});
}

function hide_hover_menus(e) {
	// stop the executer
	clearTimeout(e.attr('timer'));

	// remove state attributes
	e.removeAttr('timer').removeAttr('on');

	// hide menu
	$('.hidden', e).hide();
	e.removeClass("active");
}

function prepare_links() {
	// order matter for priority

	// add pdf icon to left of pdf links
	$('a[href$=".pdf"]').filter(function() {t = $(this).text(); return t && $.trim(t) != "";}).addClass("icon_pdf").click( function() {
				window.open($(this).attr('href'), 'pdfWindow');
				return false;
	});

	// add external icon to any link that does not contain the baseURL
	$('a[href^="http://"], a[href^="https://"]').filter(function(){return $(this).attr('href').indexOf('.e-farmcredit.') == -1 && $(this).attr('class').indexOf('icon') == -1;}).addClass("icon_external").click(function() {
		external_warning(this);
		return false;
	});
	
}

function external_warning(link) {
	var html_height = $(document).height();
	var html_width = $('html').width();
	var dialog_width = 518;
	
	var dialog = $('<div id="modal_win" style="width:' + dialog_width + 'px;"><div class="logomod"><div class="modal_close"></div></div><p class="alert">You are leaving the Farm Credit Services of Mid-America website. Farm Credit is not responsible for content or security within the external site. The content of this site does not reflect the endorsement of FCS for any products or services that may be offered. To return to the FCS site, close this browser window.</p><p><a href="' + $(link).attr('href') + '" class="btn">Continue</a></p></div>').css({
		zIndex: 99,
		position: 'fixed',
		top: 100,
		left: (html_width/2)-(dialog_width/2)
	});
		$('body').append(dialog);
	
	var overlay = $('<div></div>').css({
		position: "absolute",
		left: 0,
		top: 0,
		height: html_height,
		width: html_width,
		zIndex: '9',
		background: '#000000',
		opacity: '0.5'
	});
	$('body').append(overlay);
	
	// follow link
	$('#modal_win .btn').focus().click(function() {
		window.open($(this).attr('href'), 'externalWindow');
		close_dialog();
		
		return false;
	});
	
	// close overlay
	overlay.click(function() {
		close_dialog();
	});
	$('.modal_close').click(function() {
		close_dialog();
	});
	
	close_dialog = function() {
		overlay.hide().remove();
		dialog.hide().remove();
	}
}

function prepare_expandable_archives() {
	if ($('.expandable_archives').length < 1) {
		return;
	}	
	
	var sub_navs = $('.expandable_archives ul.years ul');
	
	if (sub_navs.length < 1) {
		return;
	}
	
	sub_navs.hide();
	
	sub_navs.each(function() {
		$(this).siblings('a').click(function() {
			$(this).parent('li').toggleClass('expanded')
			$(this).siblings('ul').slideToggle();
			return false;
		});
		
	});
}

function prepare_video_wmode() {
	$('embed').attr('wmode', 'opaque'); 
	$('object').each (function() {
		var param= $(this).children('param[name="wmode"]');
		
		if (param.length == 0) {
			elem = $('<param name="wmode" value="opaque" />');
			$(this).append(elem);
		}
		else {
			param.attr("value", "opaque");
		}
	});
}

function prepare_gallery() {
	var links = $('.gallery-item a');
	if (links.length == 0) {
		return false;
	}
	else {
		links.lightBox({
			fixedNavigation: true,
			imageLoading: '/wp-content/themes/eFarmCredit/res/images/lightbox-ico-loading.gif',
			imageBtnClose: '/wp-content/themes/eFarmCredit/res/images/lightbox-btn-close.gif',
			imageBtnPrev: '/wp-content/themes/eFarmCredit/res/images/lightbox-btn-prev.gif',
			imageBtnNext: '/wp-content/themes/eFarmCredit/res/images/lightbox-btn-next.gif',
			maxWidth: 800,
			maxHeight: 600
		});
	}
}

$(document).ready(function() {
	prepare_hover_menus();
	prepare_links();
	prepare_expandable_archives();
	prepare_video_wmode();
	prepare_gallery();
});

/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({maxWidth:null,maxHeight:null,overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}
while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;}
_set_image_to_view();}
function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}
var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){if((settings.maxWidth!=null&&settings.maxHeight!=null)&&(intImageWidth>settings.maxWidth||intImageHeight>settings.maxHeight)){var isWider=intImageWidth>intImageHeight;var scale=isWider?settings.maxWidth/intImageWidth:settings.maxHeight/intImageHeight;intImageWidth=intImageWidth*scale;intImageHeight=intImageHeight*scale;}$("#lightbox-image").height(intImageHeight);$("#lightbox-image").width(intImageWidth);var intCurrentWidth=$("#lightbox-container-image-box").width();var intCurrentHeight=$("#lightbox-container-image-box").height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$("#lightbox-container-image-box").animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}$("#lightbox-container-image-data-box").css({width:intImageWidth});$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height:intImageHeight+(settings.containerBorderSize*2)});};
function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}
if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}}
function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
_enable_keyboard_navigation();}
function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
function _disable_keyboard_navigation(){$(document).unbind();}
function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);
