﻿function doProductNavigation() {
	/* Requires jQuery (http://jquery.com/) */
	$(document).ready(function() {
	
		/* show lists */
		$("li.expanded").find("div").show();
		$(".bubbleBox").hide();

		/* Assign product event handlers */
		$("#linkProductType").click(jsfShowHideProducts);
		$("li.jsListHiddenProductTypeLinks").removeClass("jsListHiddenProductTypeLinks");
		$("p.jsListHiddenProductTypeLinks").removeClass("jsListHiddenProductTypeLinks");
		$("#jsListProducts").find("#ProductsMoreLink").click(jsfShowProductSubLinks);
		$("#jsListProducts").find("#ProductsLessLink").click(jsfHideProductSubLinks);

		/* Assign assetclass event handlers */
		$("#linkAssetClass").click(jsfShowHideAssetClass);
		$("li.jsListHiddenAssetClassLinks").removeClass("jsListHiddenAssetClassLinks");
		$("p.jsListHiddenAssetClassLinks").removeClass("jsListHiddenAssetClassLinks");
		$("#jsListAssetClass").find("#ACsMoreLink").click(jsfShowACSubLinks);
		$("#jsListAssetClass").find("#ACsLessLink").click(jsfHideACSubLinks);
		
		/* Assign strategy event handlers */
		/* leverage */
		$("#linkLeverage").click(jsfShowHideLeverage);
		$("li.jsListHiddenLeverageLinks").removeClass("jsListHiddenLeverageLinks");
		$("p.jsListHiddenLeverageLinks").removeClass("jsListHiddenLeverageLinks");
		$("#jsListLeverage").find("#LeverageMoreLink").click(jsfShowLeverageSubLinks);
		$("#jsListLeverage").find("#LeverageLessLink").click(jsfHideLeverageSubLinks);
		/* yield enhancement */
		$("#linkYield").click(jsfShowHideYield);
		$("li.jsListHiddenYieldLinks").removeClass("jsListHiddenYieldLinks");
		$("p.jsListHiddenYieldLinks").removeClass("jsListHiddenYieldLinks");
		$("#jsListYield").find("#YieldMoreLink").click(jsfShowYieldSubLinks);
		$("#jsListYield").find("#YieldLessLink").click(jsfHideYieldSubLinks);
		/* performance tracking */
		$("#linkPerfTrack").click(jsfShowHidePerfTrack);
		$("li.jsListHiddenPerfTrackLinks").removeClass("jsListHiddenPerfTrackLinks");
		$("p.jsListHiddenPerfTrackLinks").removeClass("jsListHiddenPerfTrackLinks");
		$("#jsListPerfTrack").find("#PerfTrackMoreLink").click(jsfShowPerfTrackSubLinks);
		$("#jsListPerfTrack").find("#PerfTrackLessLink").click(jsfHidePerfTrackSubLinks);
		/* capital protection */
		$("#linkCapProt").click(jsfShowHideCapProt);
		$("li.jsListHiddenCapProtLinks").removeClass("jsListHiddenCapProtLinks");
		$("p.jsListHiddenCapProtLinks").removeClass("jsListHiddenCapProtLinks");
		$("#jsListCapProt").find("#CapProtMoreLink").click(jsfShowCapProtSubLinks);
		$("#jsListCapProt").find("#CapProtLessLink").click(jsfHideCapProtSubLinks);

		/*BubblePopUp*/
		$(".openBubble").click(jsfOpenBubble);
		$(".bubbleBox").mouseout(jsfCloseBubbleTrigger);
		$(".bubbleBox").mouseover(jsfCancelCloseBubble);
		
	});
}

doProductNavigation();

/* Event handlers */
// whole list
var jsfShowHideProducts = function() {
	jsfShowHide("#jsListProducts");
}
var jsfShowHideAssetClass = function() {
	jsfShowHide("#jsListAssetClass");
}
var jsfShowHideLeverage = function() {
	jsfShowHide("#jsListLeverage");
}
var jsfShowHideYield = function() {
	jsfShowHide("#jsListYield");
}
var jsfShowHidePerfTrack  = function() {
	jsfShowHide("#jsListPerfTrack");
}
var jsfShowHideCapProt = function() {
	jsfShowHide("#jsListCapProt");
}

var jsfShowProductSubLinks = function() {
	$("#ProductsLessLink").show();
	$("#ProductsMoreLink").hide();
	$("ul.jsListHiddenProductTypeLinks").removeClass("jsListHiddenProductTypeLinks").addClass("jsListShowedHiddenProductTypeLinks").css("height", "auto").slideDown();
}
var jsfHideProductSubLinks = function() {
	$("#ProductsLessLink").hide();
	$("#ProductsMoreLink").show();
	$("ul.jsListShowedHiddenProductTypeLinks").removeClass("jsListShowedHiddenProductTypeLinks").addClass("jsListHiddenProductTypeLinks").css("height", "auto").slideUp();
}
var jsfShowACSubLinks = function() {
	$("#ACsLessLink").show();
	$("#ACsMoreLink").hide();
	$("ul.jsListHiddenAssetClassLinks").removeClass("jsListHiddenAssetClassLinks").addClass("jsListShowedHiddenAssetClassLinks").css("height", "auto").slideDown();
}
var jsfHideACSubLinks = function() {
	$("#ACsLessLink").hide();
	$("#ACsMoreLink").show();
	$("ul.jsListShowedHiddenAssetClassLinks").removeClass("jsListShowedHiddenAssetClassLinks").addClass("jsListHiddenAssetClassLinks").css("height", "auto").slideUp();
}
var jsfShowLeverageSubLinks = function() {
	$("#LeverageLessLink").show();
	$("#LeverageMoreLink").hide();
	$("ul.jsListHiddenLeverageLinks").removeClass("jsListHiddenLeverageLinks").addClass("jsListShowedHiddenLeverageLinks").css("height", "auto").slideDown();
}
var jsfHideLeverageSubLinks = function() {
	$("#LeverageLessLink").hide();
	$("#LeverageMoreLink").show();
	$("ul.jsListShowedHiddenLeverageLinks").removeClass("jsListShowedHiddenLeverageLinks").addClass("jsListHiddenLeverageLinks").css("height", "auto").slideUp();
}
var jsfShowYieldSubLinks = function() {
	$("#YieldLessLink").show();
	$("#YieldMoreLink").hide();
	$("ul.jsListHiddenYieldLinks").removeClass("jsListHiddenYieldLinks").addClass("jsListShowedHiddenYieldLinks").css("height", "auto").slideDown();
}
var jsfHideYieldSubLinks = function() {
	$("#YieldLessLink").hide();
	$("#YieldMoreLink").show();
	$("ul.jsListShowedHiddenYieldLinks").removeClass("jsListShowedHiddenYieldLinks").addClass("jsListHiddenYieldLinks").css("height", "auto").slideUp();
}
var jsfShowPerfTrackSubLinks = function() {
	$("#PerfTrackLessLink").show();
	$("#PerfTrackMoreLink").hide();
	$("ul.jsListHiddenPerfTrackLinks").removeClass("jsListHiddenPerfTrackLinks").addClass("jsListShowedHiddenPerfTrackLinks").css("height", "auto").slideDown();
}
var jsfHidePerfTrackSubLinks = function() {
	$("#PerfTrackLessLink").hide();
	$("#PerfTrackMoreLink").show();
	$("ul.jsListShowedHiddenPerfTrackLinks").removeClass("jsListShowedHiddenPerfTrackLinks").addClass("jsListHiddenPerfTrackLinks").css("height", "auto").slideUp();
}
var jsfShowCapProtSubLinks = function() {
	$("#CapProtLessLink").show();
	$("#CapProtMoreLink").hide();
	$("ul.jsListHiddenCapProtLinks").removeClass("jsListHiddenCapProtLinks").addClass("jsListShowedHiddenCapProtLinks").css("height", "auto").slideDown();
}
var jsfHideCapProtSubLinks = function() {
	$("#CapProtLessLink").hide();
	$("#CapProtMoreLink").show();
	$("ul.jsListShowedHiddenCapProtLinks").removeClass("jsListShowedHiddenCapProtLinks").addClass("jsListHiddenCapProtLinks").css("height", "auto").slideUp();
}

/* Show/hide functions */
function jsfShowHide(element) 
{
	if ($(element).find("div:hidden").size() == 1)
	{
		$(element).removeClass("contracted").addClass("expanded");
		$(element).find("div:hidden").changeCss("height", "auto").slideDown("fast");
	}
	else
	{
		$(element).removeClass("expanded").addClass("contracted");
		$(element).find("div:visible").changeCss("height", "auto").slideUp("fast");
	}
}


/*Bubble Box */
var strEurope = '<li><a class="nl" href="http://www.abnamromarkets.nl">abnamromarkets.nl</a></li><li><a class="es" href="http://www.abnamromarkets.es">abnamromarkets.es</a></li><li><a class="fr" href="http://www.abnamromarkets.fr">abnamromarkets.fr</a></li><li><a class="be" href="http://www.abnamromarkets.be">abnamromarkets.be</a></li><li><a class="pt" href="http://www.abnamromarkets.pt">abnamromarkets.pt</a></li><li><a class="se" href="http://www.abnamromarkets.se">abnamromarkets.se</a></li><li><a class="fi" href="http://www.abnamromarkets.fi">abnamromarkets.fi</a></li><li><a class="ch" href="http://www.abnamromarkets.ch">abnamromarkets.ch</a></li><li><a class="de" href="http://www.abnamromarkets.de">abnamromarkets.de</a></li><li><a class="it" href="http://www.abnamromarkets.it">abnamromarkets.it</a></li>'

var strWorld = '<li><a class="nl" href="http://www.abnamromarkets.nl">abnamromarkets.nl</a></li><li><a class="es" href="http://www.abnamromarkets.es">abnamromarkets.es</a></li><li><a class="fr" href="http://www.abnamromarkets.fr">abnamromarkets.fr</a></li><li><a class="be" href="http://www.abnamromarkets.be">abnamromarkets.be</a></li><li><a class="pt" href="http://www.abnamromarkets.pt">abnamromarkets.pt</a></li><li><a class="se" href="http://www.abnamromarkets.se">abnamromarkets.se</a></li><li><a class="fi" href="http://www.abnamromarkets.fi">abnamromarkets.fi</a></li><li><a class="ch" href="http://www.abnamromarkets.ch">abnamromarkets.ch</a></li><li><a class="de" href="http://www.abnamromarkets.de">abnamromarkets.de</a></li><li><a class="it" href="http://www.abnamromarkets.it">abnamromarkets.it</a></li><li><a class="us" href="http://www.us.abnamromarkets.com">us.abnamromarkets.com</a></li>'

var strNAmercia = '<li><a class="us" href="http://www.us.abnamromarkets.com">us.abnamromarkets.com</a></li>'

var jsfOpenBubble = function()
	{	
		$(".bubbleBox").find("h4").html("World:")
		switch(this.id)
		{
		case "Europe":
			{
			$(".bubbleBox").find("ul").html(strEurope)
			var topCoord = -16
			var leftCoord = -90
			break;
			}
		case "NAmerica":
			{
			$(".bubbleBox").find("ul").html(strNAmercia)
			var topCoord = -16
			var leftCoord = -150
			break;
			}
		case "World":
			{
			$(".bubbleBox").find("ul").html(strWorld)
			var topCoord = -239
			var leftCoord = -187
			break;
			}
		default:
		}

		var arrCoords = this.coords.split(",")	
		$(".bubbleBox").changeCss("top",topCoord + "px")
		$(".bubbleBox").changeCss("left",leftCoord + "px")
		$(".bubbleBox").show()
		return false;
	}

var myTimeout;

var jsfCloseBubbleTrigger = function()
	{
		myTimeout = setTimeout("jsfCloseBubble()", 1000)	
	}
	
var jsfCloseBubble = function()
	{
		$(".bubbleBox").hide()
	}
	
var jsfCancelCloseBubble = function()
	{
		clearTimeout(myTimeout)
	}
	
function initializeBubbleBox()
	{
		$(".openBubble").click(jsfOpenBubble);
		$(".bubbleBox").mouseout(jsfCloseBubbleTrigger);
		$(".bubbleBox").mouseover(jsfCancelCloseBubble);
	}

