function $(name)
{
	return document.getElementById(name);
}

//EVENT OBSERVER
window.onLoadListeners = new Array();
function addOnLoadListeners(listener)
{
	window.onLoadListeners[window.onLoadListeners.length] = listener;
}//addOnLoadListeners

window.onload = function()
{
	for(var i=0; i<window.onLoadListeners.length; i++)
	{
		var func = window.onLoadListeners[i];
		func.call();
	}
}

///////END EVENT OBSERVER


var activeSubmenu = null;
var timer = null;

function ShowSubmenu(e)
{
	var evt = getEvent(e);
	var obj = getEventTarget(e);
	obj = traceUp(obj, 'a');
	stopPropagation(evt);
	preventDefault(evt);
	var id = obj.id;
	var regex = /\w+_(\d+)/;
	var match = id.match(regex);
	var submenu = document.getElementById('submenu_' + match[1]);

	if(submenu)
	{
		var active = obj;
		var div = submenu;
		div.style.position = 'absolute';
		div.style.top = active.offsetTop + active.offsetHeight + 6 + "px";
		div.style.left = active.offsetLeft + "px";
		div.style.display = "block";
		HideSubmenu();
		activeSubmenu = div;
		var main = document.getElementById('main');
		main.appendChild(div);
		timer = setTimeout("HideSubmenu()", 5000);
		addEvent(activeSubmenu, 'mouseover', clearTimer, false);
		//addEvent(activeSubmenu, 'mouseout', resetTimer, false);
	}
	else	HideSubmenu();
}

function HideSubmenu(e)
{
	if(activeSubmenu)
	{
		activeSubmenu.style.display = "none";
		activeSubmenu = null;
	}
}

function clearTimer(e)
{
	var evt = getEvent(e);
	var obj = getEventTarget(e);
	obj = traceUp(obj, 'div');
	stopPropagation(evt);
	preventDefault(evt);
	if(obj.className == 'submenu')
	{
		clearTimeout(timer);
		timer = setTimeout("HideSubmenu()", 5000);
	}
}

function resetTimer(e)
{
	var evt = getEvent(e);
	var obj = getEventTarget(e);
	obj = traceUp(obj, 'div');
	stopPropagation(evt);
	preventDefault(evt);
	if(obj.className == 'submenu')
		timer = setTimeout("HideSubmenu()", 1000);
}

function addMenuListeners()
{
	var menu = document.getElementById('menubox');
	var children = menu.childNodes;

	for(var i=0; i<children.length; i++)
	{
		if(children[i].nodeType != 3)//not text node
			if(children[i].tagName.toUpperCase() == 'A')
			{
				addEvent(children[i], 'mouseover', ShowSubmenu, false);
				//addEvent(children[i], 'mouseout', HideSubmenu, false);
			}
	}
}




function textInputEvaluator(e)
{
	var evt = getEvent(e);
	var obj = getEventTarget(e);
	obj = traceUp(obj, 'form');
	stopPropagation(evt);
	preventDefault(evt);
	var name = obj.name;

	if(name == 'frmTopics' && obj.title.value == '')
	{
		alert('Laukelis "Pasiūlykite temą" negali būsti tuščias.');
		obj.title.focus();
	}
	else if(name == 'frmPosts' && obj.text.value == '')
	{
		alert('Laukelis "Jūsų komentaras" negali būsti tuščias.');
		obj.text.focus();
	}
	else obj.submit();
}//textInputEvaluator

function addTextEvaluators()
{
	var frmTopics = document.forms.frmTopics;
	var frmPosts = document.forms.frmPosts;
	if(frmTopics)
		addEvent(frmTopics, 'submit', textInputEvaluator, false);
	if(frmPosts)
		addEvent(frmPosts, 'submit', textInputEvaluator, false);
}//addTextEvaluators

function loadPopup(e)
{
	var evt = getEvent(e);
	var obj = getEventTarget(e);
	obj = traceUp(obj, 'area');
	stopPropagation(evt);
	preventDefault(evt);
	var name = obj.id;
	if(name.indexOf('popup') != -1)
		openCenteredWindow('popup.php?url=/media/images/' + name + ".jpg", '', popups[name]['width'], popups[name]['height'], 0, 0, '', 'popupWindow');
}//loadPopup

var popups = new Array();
popups["popup_1"] = { width:510, height:359 };
popups["popup_2"] = { width:510, height:359 };
popups["popup_3"] = { width:850, height:656 };
popups["popup_4"] = { width:510, height:472 };
popups["popup_5"] = { width:510, height:343 };
popups["popup_6"] = { width:510, height:343 };

var popupnum = 6;
function addAreaLinks()
{
	for(var i=1; i<=popupnum; i++)
	{
		var popupname = 'popup_' + i;
		var popup = $(popupname);
		if(popup)
			addEvent(popup, 'click', loadPopup, false);
	}

}//addAreaLinks


//addOnLoadListeners(addMenuListeners);
//addOnLoadListeners(addTextEvaluators);
addOnLoadListeners(addAreaLinks);
