/**
 * @author bykaya@e-kalite.com.tr
 */
if (!eQ)
	var eQ={config: {}};

eQ.helpBox={};

eQ.helpBox._create=function()
{
	if (!document.getElementById(eQ.config.helpBox.ids.container))
	{
		var container = document.createElement("div");
		container.id = eQ.config.helpBox.ids.container;
		container.setAttribute("xOffset", "0");
		container.setAttribute("yOffset", "0");
				
		var titleBar = document.createElement("div");
		titleBar.id = eQ.config.helpBox.ids.titleBar;
		
		var titleText = document.createElement("h1");
		titleText.id = eQ.config.helpBox.ids.titleText;

		var content = document.createElement("div");
		content.id = eQ.config.helpBox.ids.content;
		
		var controlsContainer = document.createElement("div");
		controlsContainer.id = eQ.config.helpBox.ids.controlsContainer;
		
		var closeButton = document.createElement("a");
		closeButton.href="javascript:void(eQ.helpBox.close())";
		closeButton.appendChild(document.createTextNode(eQ.config.helpBox.texts.close));

		controlsContainer.appendChild(closeButton);

		titleBar.appendChild(titleText);
		titleBar.appendChild(controlsContainer);
		
		container.appendChild(titleBar);
		container.appendChild(content);
		
		aV.Visual.setOpacity(container, 0);
		document.body.appendChild(container);
		aV.Visual.initFixedElements();
	}
	return container;
};

eQ.helpBox._destroy=function()
{
	var container=document.getElementById(eQ.config.helpBox.ids.container);
	if (!container)
		return false;

	
	container.parentNode.removeChild(container);
	aV.Visual.initFixedElements();
	return true;
};

eQ.helpBox.adjustHeight=function()
{
	var content=document.getElementById(eQ.config.helpBox.ids.content);
	var titleBar=document.getElementById(eQ.config.helpBox.ids.titleBar);
	if (content)
		content.style.height=(Math.min(aV.DOM.windowClientHeight(), content.scrollHeight) - titleBar.offsetHeight - 2) + "px";
};

eQ.helpBox.show=function(contentURL, title)
{
	var container=eQ.helpBox._create();
	container.style.display='block';

	aV.Visual.fade(container, 1);
	if (title)
		document.getElementById(eQ.config.helpBox.ids.titleText).innerHTML=title;
	aV.AJAX.loadContent(contentURL, eQ.config.helpBox.ids.content, eQ.helpBox.adjustHeight);
	return container;
};

eQ.helpBox.close=function(destroy)
{
	var container=document.getElementById(eQ.config.helpBox.ids.container);
	if (!container)
		return false;

	var callback;
	if (destroy === false) 
		callback = function(obj) {obj.style.display = 'none'};
	else 
		callback = function(obj) {eQ.helpBox._destroy();};
	aV.Visual.fade(container, 0, callback);
	
	return container;
};

eQ.config.helpBox=
{
	ids:
	{
		container: 'eQHelpBox',
		titleBar: 'eQHelpBoxTitleBar',
		titleText: 'eQHelpBoxTitleText',
		controlsContainer: 'eQHelpBoxControlsContainer',
		content: 'eQHelpBoxContent'
	},
	texts:
	{
		close: 'Close[x]'
	}
};

aV.AJAX.loadResource('/css/eQ.helpBox.css', 'css', 'eQHelpBoxCSS');
aV.Events.add(window, "resize", eQ.helpBox.adjustHeight);