/*
--------------------------------------------------

Capitol Federal
application.js

Joe Morrow [joe.morrow@acquitygroup.com]
03/27/2009

Copyright © 2009 Acquity Group LLC

--------------------------------------------------
*/

$(document).ready(function() {

	// Image Preloader (function below)
	$.preloadImages("images/header/nav/bank-anywhere-hover.gif", "images/header/nav/in-your-community-hover.gif", "images/header/nav/our-solutions-hover.gif", "images/header/nav/your-financial-goals-hover.gif", "images/header/nav/background.gif");


	// Vertical Centering for the Home Page Only
	if ($("#homeCenter").size() > 0) {
		$("#container").resize(function() {
			var containerHeight = $("#header").height() + $("#body").height() + $("#footer").height();
			if (!$("#homeCenter").hasClass("resized"))
				$("#homeCenter").addClass("resized").css({"margin-top": 0 - (containerHeight / 2)});
			$("body").css({"min-height": containerHeight});
			$("#container").height(containerHeight);
		});
	}


	// Top Nav Menu Hover Effect (different effect for IE6 due to bgiframe)
	$("#headerNav ul.nav > li > ul").bgiframe();
	$("#headerNav ul.nav > li").hoverIntent({
		sensitivity: 7,
		interval: 100,
		over: function() {
			$("#headerNav ul.nav > li.hover > ul").stop(true, true).hide().parent().each(headerNavRemoveOn);
			$(this).children("a").each(headerNavAddOn);
		},
		timeout: 250,
		out: function() {
			$(this).each(headerNavRemoveOn);
			if (isIE6())
				$("ul", this).hide();
			else
				$("ul", this).fadeOut(150);
		}
	});
	var headerNavAddOn = function() {
		if (isIE6())
			$(this).parent().addClass("hover").children("ul").show();
		else
			$(this).parent().addClass("hover").children("ul").fadeIn(350);
		if (!$(this).parent().hasClass("selected")) {
			var src = $("img", this).attr("src").split(".");
			if (src.length > 1)
				$("img", this).attr("src", src[src.length-2] + "-hover." + src[src.length-1]);
		} else {
			var src = $("img", this).attr("src").split("-on.");
			if (src.length > 1)
				$("img", this).attr("src", src[src.length-2] + "-hover." + src[src.length-1]);
		}
	};
	var headerNavRemoveOn = function() {
		$(this).removeClass("hover");
		var src = $("img", this).attr("src").split("-hover");
		if (src.length == 2)
			$("img", this).attr("src", src[0] + ((!$(this).hasClass("selected")) ? "" : "-on") + src[1]);
	};


	// Top Nav Second-level Hover Effect
	$("#headerNav ul.nav ul > li").hover(function() {
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
	});


	// Left Nav Accordion
	$("#leftNav > ul > li:has(ul) > a").not("#leftNav li.selected a").click(function() {
		if ($(this).parent().hasClass("selected")) {
			$(this).next().slideUp("medium", function() {
				$(this).parent().removeClass("selected");
			});
		} else {
			$(this).parent().addClass("selected");
			$(this).next().slideDown("medium");
		}
		return false;
	}).next().hide().removeClass("hidden");

	$("#leftNav > ul > li:not(li:has(ul))").addClass("single");


	// Auto-clear inline prompt text, stored in "title" attribute
	$("input.inline-prompt").each(function() {
		if ($(this).attr("title").length == 0)
			$(this).attr("title", $(this).val());
	}).focus(function() {
		if ($(this).val() == $(this).attr("title"))
			$(this).val("");
		$(this).removeClass("inline-prompt");
	}).blur(function() {
		if ($(this).val() == "")
			$(this).addClass("inline-prompt").val($(this).attr("title"));
	});
	
	
	// Home Promo Scroller
	if ($("div.homePromo").size() > 0) {
		$("div.homePromo.hidden").hide().removeClass("hidden");
		$("#homePromoScroller a").click(function() {
			clearTimeout(promoTimeout);
			if (!$(this).parent().hasClass("selected"))
				promoSwitchTo($(this).attr("href"));
			return false;
		});
		$("#homePromoBack a, #homePromoNext a").click(function() {
			clearTimeout(promoTimeout);
			promoSwitchTo($(this).attr("href"));
			return false;
		});
		var promoTimeout = setInterval("promoSwitchTo($('#homePromoNext a').attr('href'))", 8000);
	}
	
	
	// Multi-Option Switcher
	if ($("div.multiOption").size() > 0) {
		$("div.multiOptionController li a").click(function() {
			$($(this).attr("href")).removeClass("hidden").addClass("selected").siblings().removeClass("selected").addClass("hidden");
			$(this).parent().siblings().removeClass("selected").end().addClass("selected");
			return false;
		});
	}


	// Trigger the homepage recentering
	if ($("#homeCenter").size() > 0)
		$("#container").resize();
});


$(window).load(function() {
	// To accommodate Safari Mac, retrigger the homepage resizing after all graphics have loaded
	if ($("#homeCenter").size() > 0)
		$("#container").resize();
});


// Promo Switcher Function
function promoSwitchTo(selected) {
	selected = selected.replace("#", "");
	var index = selected.indexOf("-");
	var number = selected.substring(index+1);
	if ((typeof(number * 1) == "number") && (!$("#" + selected).hasClass("selected"))) {
		$("#homePromos div.selected").fadeOut("medium", function() {
			$(this).removeClass("selected");
			$("#homePromoScroller li.selected").removeClass("selected").children("a").children("img").attr("src", "/apps/capfed/resources/images/home/promo-bullet.gif");
			var selectedScroller = $("#scroller-" + number).addClass("selected");
			selectedScroller.children("a").children("img").attr("src", "/apps/capfed/resources/images/home/promo-bullet-on.gif");
			$("#homePromo-" + number).fadeIn("medium", function() {
				$(this).addClass("selected");
				$("#homePromoBack a").attr("href", $("a", (selectedScroller.prev().size() > 0) ? selectedScroller.prev() : $("li:last-child", selectedScroller.parent())).attr("href"));
				$("#homePromoNext a").attr("href", $("a", (selectedScroller.next().size() > 0) ? selectedScroller.next() : $("li:first-child", selectedScroller.parent())).attr("href"));
			});
			$("#container").resize();
		});
	}
}


// Image Preloader Function
$.preloadImages = function() {
	for (var i=0; i<arguments.length; i++)
		$("<img>").attr("src", arguments[i]);
}

// IE6 detector ($.browser is deprecated in jQuery 1.3)
function isIE6() {
    return ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined))
}
