/**----------------------------------------------------------------------------
 * Utility functions used in the page header.
 */

/**----------------------------------------------------------------------------
 * Globals
 */

var LayerFlashUpdater = null;
var MenuHeader = new Menu_();

/**----------------------------------------------------------------------------
 * Functions
 */

function funcHref(Url) {
	window.location.href = Url;
}

function validate_search() {
	if (document.frm_advance_search.txt_top_search.value == ''
			|| document.frm_advance_search.txt_top_search.value == 'Search') {
		document.frm_advance_search.txt_top_search.focus();
		return false;
	} else {
		document.frm_advance_search.submit();
	}
}

function get_cookie(Name) {
	var search = Name + "="
	var returnvalue = "";

	if (document.cookie.length > 0)
	{
		offset = document.cookie.indexOf(search)

		if (offset != -1)
		{
			offset += search.length
			end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end))
		}
	}
	return returnvalue;
}

function set_cookie(name, value) {
	var expires, dt;

	if (!name)
		return;

	dt = new Date();
	dt.setTime(dt.getTime()+(100*24*60*60*1000));
	expires = '; expires=' + dt.toGMTString();

	document.cookie = name + '=' + escape(value) + expires + '; path=/';
}

function iecompattest() {
	var is_safari;
	try { is_safari = (navigator.vendor && /Apple/i.test(navigator.vendor)) } catch(e) { is_safari = false; }

	if (is_safari)
		return (document.body ? document.body : document.documentElement);

	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function addEvent(el, ev, handler) {
	if (!el)
		return false;

	if (window.addEventListener)
	{
		el.addEventListener(ev, handler, false);
	}
	else if (window.attachEvent)
	{
		el.attachEvent('on' + ev, handler);
	}
	else if (document.getElementById)
	{
		el['on' + ev] = handler;
	}
	else
	{
		return false;
	}

	return true;
}

function GetLeft(element) {
	var left = element.offsetLeft;
	var parent = element.offsetParent;
	while (parent != null) {
		left += parent.offsetLeft
		parent = parent.offsetParent;
	}
	return left;
}

function GetTop(element) {
	var top = element.offsetTop;
	var parent = element.offsetParent;
	while (parent != null) {
		top += parent.offsetTop;
		parent = parent.offsetParent;
	}
	return top;
}

function ExUnescape(str) {
	var str = unescape(str);
	return str
		.replace(/&amp;/gi, '&')
		.replace(/&gt;/gi, '>')
		.replace(/&lt;/gi, '<');
}


/**----------------------------------------------------------------------------
 * Execute now.
 */

General.EventHandlerAdd(window, 'load', function() {
	document.isLoaded = true;

	if (!Flash.HasPlugin || Flash.IsSmallerThan([Flash.VersionMajor, Flash.VersionMinor, Flash.VersionRelease], [9, 0, 115]))
	{
		if (Flash.HasPlugin && Flash.IsGreaterThan([Flash.VersionMajor, Flash.VersionMinor, Flash.VersionRelease], [6, 0, 65]))
			LayerFlashUpdater = new Layer_("flash_update_express_install.php", "object=LayerFlashUpdater",'center','center');
		else
			LayerFlashUpdater = new Layer_("flash_update_adobe.php", "object=LayerFlashUpdater",'center','center');
	}
});

MenuHeader.Add("/template/menu_myflukii.php", "", "menu_myflukii", "Bottom", "myflukii", 151);
MenuHeader.Add("/template/menu_mylive.php", "", "menu_mylive", "Bottom", "mylive", 151);

General.EventHandlerAdd(document, 'mousemove', function(ev) {
	var evt = ev || window.event;

	if (MenuHeader) {
		for (var Name in MenuHeader.Menu) {
			if (MenuHeader.Menu[Name]["Opacity"] == 100) {
				var cleft   = GetLeft(MenuHeader.Menu[Name]["Object"]);
				var ctop    = GetTop(MenuHeader.Menu[Name]["Object"]);
				var cwidth  = MenuHeader.Menu[Name]["Object"].clientWidth;
				var cheight = MenuHeader.Menu[Name]["Object"].clientHeight;

				//if (evt.clientX > cleft + cwidth || evt.clientX < cleft
					//	|| evt.clientY > ctop + cheight) {
					//MenuHeader.DoHide(Name);
					//MenuHeader.Menu[Name]["EventCounter"] = 0;
				//}
			}
		}
	}
});

General.EventHandlerAdd(window, 'scroll', function(ev) {
	var evt = ev || window.event;
	var body = iecompattest();

	if (MenuHeader) {
		for (var Name in MenuHeader.Menu) {
			if (MenuHeader.Menu[Name]["Opacity"] != 0) {
				MenuHeader.Menu[Name]["Object"].style.display = 'none';
				MenuHeader.Menu[Name]["Object"].style.top =
					(MenuHeader.Menu[Name]["PositionMargin"] - body.scrollTop) + 'px';
				MenuHeader.Menu[Name]["Object"].style.display = 'block';
			}
		}
	}
});
