// JavaScript Document

/* Utility Functions */
function SwapImage(event)
{
	$('#'+event.data.id).attr("src", event.data.img);
}

function SwapImageDirect(id, img)
{
	$('#'+id).attr("src", img);
}

function SwapBackgroundImageFromEvent(event)
{
	$('#'+event.data.id).css("background-image","url("+event.data.img+")");
}

function SwapBackgroundImageDirect(id, img)
{
	$('#'+id).css("background-image","url("+img+")");
}

function HighlightProductLabel(name)
{
	$('#'+name+'Image').css('visibility','hidden');
	$('#'+name+'ImageOver').css('visibility','visible');
}

function RestoreProductLabels()
{
	$('#visualEdgeImage').css('visibility', 'visible');
	$('#visualEdgeImageOver').css('visibility', 'hidden');
	$('#slamImage').css('visibility', 'visible');
	$('#slamImageOver').css('visibility', 'hidden');
	$('#aqmImage').css('visibility', 'visible');
	$('#aqmImageOver').css('visibility', 'hidden');
	$('#prismImage').css('visibility', 'visible');
	$('#prismImageOver').css('visibility', 'hidden');
	$('#heatseekerImage').css('visibility', 'visible');
	$('#heatseekerImageOver').css('visibility', 'hidden');
	$('#phdImage').css('visibility', 'visible');
	$('#phdImageOver').css('visibility', 'hidden');
}

function HighlightPerformanceLifecycleStage(stage)
{
	$('.performanceLifecycleStages').css('visibility','hidden');
	$('#performanceLifecycleStages'+stage).css('visibility','visible');
}

function RestorePerformanceLifecycleStages()
{
	$('.performanceLifecycleStages').css('visibility','hidden');
	$('#performanceLifecycleStages').css('visibility','visible');
}

function LoadAjaxPage(event)
{
	$.get(event.data.page,
		function(returnData)
		{
			$('#screen').slideDown('medium');
			$('#titleBar').show();
			$('#contentPage').empty();
			$('#contentPage').slideDown('medium', function() { $('#footerBar').show(); $('#contentPage').scrollTop(0); } );
			$('#contentPage').append(returnData);
			$('#contentPage').children().not( $("#content") ).remove();
			ConvertAjaxPageLinks();
		}
	);
}

function LoadAjaxPageDirect(page)
{
	$.get(page,
		function(returnData)
		{
			$('#screen').slideDown('medium');
			$('#titleBar').show();
			$('#contentPage').empty();
			$('#contentPage').slideDown('medium', function() { $('#footerBar').show(); $('#contentPage').scrollTop(0); } );
			$('#contentPage').append(returnData);
			$('#contentPage').children().not( $("#content") ).remove();
			ConvertAjaxPageLinks();
		}
	);
}

function ConvertAjaxPageLinks()
{
	$('#contentPage a.ajax').bind("click", function() { LoadAjaxPageDirect(this.href); return false; } );
}

function CloseAjaxPage()
{
	$('#contentPage').slideUp('fast',
		function()
		{
			$('#titleBar').hide();
			$('#footerBar').hide();
		}
	);
	$('#screen').hide();
}

$(document).ready(
	function()
	{

		$('#productsSubMenu').hide();

/* ********** Event Handlers ************* */

/* Performance Lifecycle Image Events */

// Set Objectives
		$('area#mapSetObjectives').bind("mouseover", SetObjectives_MOver);
		$('area#mapSetObjectives').bind("mouseout", SetObjectives_MOut);

		function SetObjectives_MOver()
		{
			HighlightPerformanceLifecycleStage('SetObjectives');
			HighlightProductLabel('phd');
			HighlightProductLabel('visualEdge');
			HighlightProductLabel('slam');
			HighlightProductLabel('heatseeker');
			HighlightProductLabel('aqm');
		}
		function SetObjectives_MOut()
		{
			RestorePerformanceLifecycleStages();
			RestoreProductLabels();
		}

// Gather Data
		$('area#mapGatherData').bind("mouseover", GatherData_MOver);
		$('area#mapGatherData').bind("mouseout", GatherData_MOut);

		function GatherData_MOver()
		{
			HighlightPerformanceLifecycleStage('GatherData');
			HighlightProductLabel('phd');
			HighlightProductLabel('visualEdge');
			HighlightProductLabel('slam');
			HighlightProductLabel('heatseeker');
		}
		
		function GatherData_MOut()
		{
			RestorePerformanceLifecycleStages();
			RestoreProductLabels();
		}

// Analyse
		$('area#mapAnalyse').bind("mouseover", Analyse_MOver);
		$('area#mapAnalyse').bind("mouseout", Analyse_MOut);

		function Analyse_MOver()
		{
			HighlightPerformanceLifecycleStage('Analyse');
			HighlightProductLabel('visualEdge');
			HighlightProductLabel('slam');
			HighlightProductLabel('prism');
			HighlightProductLabel('heatseeker');
			HighlightProductLabel('aqm');
		}

		function Analyse_MOut()
		{
			RestorePerformanceLifecycleStages();
			RestoreProductLabels();
		}

// Take Action
		$('area#mapTakeAction').bind("mouseover", TakeAction_MOver);
		$('area#mapTakeAction').bind("mouseout", TakeAction_MOut);

		function TakeAction_MOver()
		{
			HighlightPerformanceLifecycleStage('TakeAction');
			HighlightProductLabel('slam');
			HighlightProductLabel('aqm');
		}

		function TakeAction_MOut()
		{
			RestorePerformanceLifecycleStages();
			RestoreProductLabels();
		}

// Review
		$('area#mapReview').bind("mouseover", Review_MOver);
		$('area#mapReview').bind("mouseout", Review_MOut);

		function Review_MOver()
		{
			HighlightPerformanceLifecycleStage('Review');
			HighlightProductLabel('phd');
			HighlightProductLabel('visualEdge');
			HighlightProductLabel('slam');
			HighlightProductLabel('heatseeker');
			HighlightProductLabel('aqm');
		}

		function Review_MOut()
		{
			RestorePerformanceLifecycleStages();
			RestoreProductLabels();
		}

// Inner Text (Performance Lifecycle)
		$('area#mapPerformanceLifecycle').bind("mouseover", PerformanceLifecycle_MOver);
		$('area#mapPerformanceLifecycle').bind("mouseout", PerformanceLifecycle_MOut);
		$('area#mapPerformanceLifecycle').bind("click", {page: "./performance_lifecycle.php"}, LoadAjaxPage);

		function PerformanceLifecycle_MOver()
		{
			$('#performanceLifecycle').css('visibility','hidden');
			$('#performanceLifecycleOver').css('visibility','visible');
		}
		
		function PerformanceLifecycle_MOut()
		{
			$('#performanceLifecycleOver').css('visibility','hidden');
			$('#performanceLifecycle').css('visibility','visible');
		}

// Menu Event Handling functions
		$('#nav a.ajax').bind("click", function() { LoadAjaxPageDirect(this.href); return false; } );
//		$('#productsSubMenu a.ajax').bind("click", function() { LoadAjaxPageDirect(this.href); return false; } );
		$('#menuProducts').unbind("click");
		$('#menuProducts').bind("click", function(e) { e.preventDefault; $('#productsSubMenu').slideToggle(); return false; } );
		$('#screen').bind("click", CloseAjaxPage);
		$('#titleBar a').bind("click", CloseAjaxPage);

// Product Name Event Handlers
		$('#visualEdge').bind("click", function() { LoadAjaxPageDirect('./visual_edge.php'); } );
		$('#visualEdge').bind("mouseover", evhVisualEdge_MOver);
		$('#visualEdge').bind("mouseout", evhVisualEdge_MOut);
		$('#slam').bind("click", function() { LoadAjaxPageDirect('./slam.php'); } );
		$('#slam').bind("mouseover", evhSlam_MOver);
		$('#slam').bind("mouseout", evhSlam_MOut);
		$('#aqm').bind("click", function() { LoadAjaxPageDirect('./awm.php'); } );
		$('#aqm').bind("mouseover", evhAqm_MOver);
		$('#aqm').bind("mouseout", evhAqm_MOut);
		$('#prism').bind("click", function() { LoadAjaxPageDirect('./prism.php'); } );
		$('#prism').bind("mouseover", evhPrism_MOver);
		$('#prism').bind("mouseout", evhPrism_MOut);
		$('#heatseeker').bind("click", function() { LoadAjaxPageDirect('./heatseeker.php'); } );
		$('#heatseeker').bind("mouseover", evhHeatseeker_MOver);
		$('#heatseeker').bind("mouseout", evhHeatseeker_MOut);
		$('#phd').bind("click", function() { LoadAjaxPageDirect('./phd.php'); } );
		$('#phd').bind("mouseover", evhPhd_MOver);
		$('#phd').bind("mouseout", evhPhd_MOut);
		$('#support').bind("click", function() { LoadAjaxPageDirect('./support/general/'); } );
		$('#support').bind("mouseover", evhSupport_MOver);
		$('#support').bind("mouseout", evhSupport_MOut);

		function evhVisualEdge_Click()
		{
			LoadAjaxPageDirect('./visual_edge.htm');
		}
		function evhVisualEdge_MOver()
		{
			$('#productInfoVisualEdge').show();
			$('#visualEdgeImage').css('visibility','hidden');
			$('#visualEdgeImageOver').css('visibility','visible');
			$('#visualEdgePulseImage').css('visibility','hidden');
			$('#visualEdgePulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesVisualEdge').css('visibility','visible');
		}
		function evhVisualEdge_MOut()
		{
			$('#productInfoVisualEdge').hide();
			$('#visualEdgeImageOver').css('visibility','hidden');
			$('#visualEdgeImage').css('visibility','visible');
			$('#visualEdgePulseFlash').css('visibility','hidden');
			$('#visualEdgePulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesVisualEdge').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhSlam_MOver()
		{
			$('#productInfoSlam').show();
			$('#slamImage').css('visibility','hidden');
			$('#slamImageOver').css('visibility','visible');
			$('#slamPulseImage').css('visibility','hidden');
			$('#slamPulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesSlam').css('visibility','visible');
		}
		function evhSlam_MOut()
		{
			$('#productInfoSlam').hide();
			$('#slamImageOver').css('visibility','hidden');
			$('#slamImage').css('visibility','visible');
			$('#slamPulseFlash').css('visibility','hidden');
			$('#slamPulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesSlam').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhAqm_MOver()
		{
			$('#productInfoAqm').show();
			$('#aqmImage').css('visibility','hidden');
			$('#aqmImageOver').css('visibility','visible');
			$('#aqmPulseImage').css('visibility','hidden');
			$('#aqmPulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesAqm').css('visibility','visible');
		}
		function evhAqm_MOut()
		{
			$('#productInfoAqm').hide();
			$('#aqmImageOver').css('visibility','hidden');
			$('#aqmImage').css('visibility','visible');
			$('#aqmPulseFlash').css('visibility','hidden');
			$('#aqmPulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesAqm').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhPrism_MOver()
		{
			$('#productInfoPrism').show();
			$('#prismImage').css('visibility','hidden');
			$('#prismImageOver').css('visibility','visible');
			$('#prismPulseImage').css('visibility','hidden');
			$('#prismPulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesPrism').css('visibility','visible');
		}
		function evhPrism_MOut()
		{
			$('#productInfoPrism').hide();
			$('#prismImageOver').css('visibility','hidden');
			$('#prismImage').css('visibility','visible');
			$('#prismPulseFlash').css('visibility','hidden');
			$('#prismPulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesPrism').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhHeatseeker_MOver()
		{
			$('#productInfoHeatseeker').show();
			$('#heatseekerImage').css('visibility','hidden');
			$('#heatseekerImageOver').css('visibility','visible');
			$('#heatseekerPulseImage').css('visibility','hidden');
			$('#heatseekerPulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesHeatseeker').css('visibility','visible');
		}
		function evhHeatseeker_MOut()
		{
			$('#productInfoHeatseeker').hide();
			$('#heatseekerImageOver').css('visibility','hidden');
			$('#heatseekerImage').css('visibility','visible');
			$('#heatseekerPulseFlash').css('visibility','hidden');
			$('#heatseekerPulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesHeatseeker').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhPhd_MOver()
		{
			$('#productInfoPhd').show();
			$('#phdImage').css('visibility','hidden');
			$('#phdImageOver').css('visibility','visible');
			$('#phdPulseImage').css('visibility','hidden');
			$('#phdPulseFlash').css('visibility','visible');
			$('.performanceLifecycleStages').css('visibility','hidden');
			$('#performanceLifecycleStagesPhd').css('visibility','visible');
		}
		function evhPhd_MOut()
		{
			$('#productInfoPhd').hide();
			$('#phdImageOver').css('visibility','hidden');
			$('#phdImage').css('visibility','visible');
			$('#phdPulseFlash').css('visibility','hidden');
			$('#phdPulseImage').css('visibility','visible');
			$('#performanceLifecycleStagesPhd').css('visibility','hidden');
			$('#performanceLifecycleStages').css('visibility','visible');
		}
		function evhSupport_MOver()
		{
			$('#supportImage').css('visibility','hidden');
			$('#supportImageOver').css('visibility','visible');
		}
		function evhSupport_MOut()
		{
			$('#supportImageOver').css('visibility','hidden');
			$('#supportImage').css('visibility','visible');
		}
	}
);
