/*****************************************************************************
*
* File     : HelpPanel.js
* 
* Project  : WMS Viewer Client
* 
* Contents : 
*
* Author: Milan Trninic
*
* Copyright 1999-2005 Galdos Systems, Inc.
* All rights reserved.
* 
***|***************************|***********************|*******************|*/

/************************************************************************
*
*	Global declarations
*
*
*************************************************************************/

/************************************************************************
*
*	function:	HelpPanel
*
*	purpose:	Constructor
*
*************************************************************************/
function HelpPanel()
{
	// superclass
	var uiElement = document.getElementById("helpPanel");
	this._superClass = StackedPanel;
	this._superClass(uiElement);
	
	// method assignments
	this.init = HelpPanel.init;
	this.setSize = HelpPanel.setSize;
	
	this.toggleHelp = HelpPanel.toggleHelp;
	
	this.toggleHelpAdapter = HelpPanel.toggleHelpAdapter;

	// instance field declarations
	this._superClass;
	this._displayAreaUI;

	// initialization
	this.init();
}

/************************************************************************
*
*	function:	init
*
*	purpose:	initializes the globals
*
*************************************************************************/
function HelpPanel.init()
{
	this._displayAreaUI = document.getElementById("helpArea");
	var layerNodes = selectNodes(this._displayAreaUI, "div/h3/img");
	var size = layerNodes.getSize();
	this._uiElement.setAttribute("dataTransfer", this);
	for (var index = 0; index < size; index++)
	{
		var layerNode = layerNodes.get(index);
		var name = layerNode.getAttribute("alt");
		if (!(name == "Show help" || name == "Hide help"))
		{
			continue;
		}
		layerNodes.get(index).attachEvent("onclick", HelpPanel.toggleHelpAdapter);
	}
}

/************************************************************************
*
*	function:	setSize
*
*	purpose:	
*
*************************************************************************/
function HelpPanel.setSize(width, height)
{
	// For explanation of the purpose of the temp variable, see the documentation
	this.temp = this._superClass.setSize;
	this.temp(width, height);
	//this._superClass.setSize(width, height);
	this._displayAreaUI.style.height = height * 0.88;
	this._displayAreaUI.style.width = width * 0.98;
}

/************************************************************************
*
*	function:	toggleHelp
*
*	purpose:	Show/hide the help for simplicity
*
*************************************************************************/
function HelpPanel.toggleHelp(event) {
	var imageUI = event.srcElement;

	var index = imageUI.getAttribute("index");
	var src = imageUI.getAttribute("src");
	var layerUI = imageUI.parentNode.parentNode;
	var contentNode = selectNodes(layerUI, "div").get(0);
	var altText = "";
	var display = "";	
	if (src.indexOf("plus") != -1) {
		altText = "Hide help";
		src = "images/minus.gif"
	}
	else {
		altText = "Show help";
		display = "none";
		src = "images/plus.gif"	

	}
	contentNode.style.display = display;
	imageUI.alt = altText;
	imageUI.src = src;
}

/************************************************************************
*
*	function:	Event handler adapters
*
*	purpose:	
*
*************************************************************************/
function HelpPanel.toggleHelpAdapter(){target(event, HelpPanel).toggleHelp(event);}
