var browser = {isIE: /msie/i.test(navigator.userAgent), isFF: /firefox/i.test(navigator.userAgent), isOpera: /opera/i.test(navigator.userAgent), isIE6: /msie\s*6/i.test(navigator.userAgent), isIE7: /msie\s*7/i.test(navigator.userAgent)};

function $() {
	var elements = new Array();	

	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);

		if (arguments.length == 1)
			return element;

		elements.push(element);
	}

	return elements;
}

var onloadObject = {funcs: new Array(),
init: function() {
	for(each in onloadObject.funcs)
		onloadObject.funcs[each]();
	}
};

var onresizeObject = {funcs: new Array(),
init: function() {
	for(each in onresizeObject.funcs)
		onresizeObject.funcs[each]();
	}
};

window.onload = onloadObject.init;
window.onresize = onresizeObject.init;

onloadObject.funcs[onloadObject.funcs.length] = function() {
	if($("search_line"))
		$("search_line")["onclick"] = new Function("removeEvent(this, 'onclick'); this.value=''");
	//addEvent($("search_line"), "onclick", "removeEvent(this, 'onclick'); this.value=''");
		
	if(browser.isFF && $("body") && $("framework"))	
		geckoSpecialView($("body"), $("framework"));
		
	if(browser.isOpera && $("white-layer") && $("framework"))	
		operaSpecialStrut($("white-layer"), $("framework"));
};

onresizeObject.funcs[onresizeObject.funcs.length] = function() {		
	if((browser.isFF) && $("body") && $("framework"))	
		geckoSpecialView($("body"), $("framework"));
		
	if(browser.isOpera && $("white-layer") && $("framework"))	
		operaSpecialStrut($("white-layer"), $("framework"));
};

function addEvent(elem, evt, strFunc)
{
	if(elem && elem[evt])		
		elem[evt] = new Function(strFunc);
}

function removeEvent(elem, evt)
{
	if(elem && elem[evt])
		elem[evt] = new Function();
}

function geckoSpecialView(elemBody, elemTable)
{
	elemBody.style.height = "auto";
	if(elemBody.offsetHeight > elemTable.offsetHeight)
		elemBody.style.height = "100%";
}

function operaSpecialStrut(elem, gridTable)
{
	elem.style.height = "auto";
	if(document.body.offsetHeight >= gridTable.offsetHeight)
		elem.style.height = "100%";
}





/* !! top-menu-funcs&elems */

var menuTimer, menuTimerElem;

function setVisible(el, vis)
{
	el.style.visibility = vis;
}

function showMenu(elem)
{
	if(menuTimerElem && (elem != menuTimerElem))
		menuTimerElem.style.visibility = "hidden";

	menuTimerElem = elem;
	clearTimeout(menuTimer);

	elem.style.visibility = "visible";
}

function hideMenu(elem)
{
	menuTimerElem = elem;
	menuTimer = setTimeout("setVisible(menuTimerElem, \"hidden\")", 1000);
}

function setMenuPos(toElem, fromElem)
{
	toElem.style.marginLeft = (fromElem.offsetLeft - 2) + "px";
}

/* !! /top-menu-funcs&elems */






