/// <reference path="LanxerLibrary.js" />
/// <reference path="Global_Page.js" />
/// <reference path="Global_AJAX.js" />

var globalClearDBInterval = false;
var DialogBoxesContent = new Array();

function ip()
{
	return g('__IMGPATH').value;
}

function GetHostURL()
{
    return location.href;	
}

function IsFBookMode()
{   
    return g('IsFBookMode').value == 'True';
}

function GlobalResize()
{	
    Handle_PageScroll();
    PositionGlobalFloatingElements();
}

function PositionGlobalFloatingElements()
{
    PositionFloatingElement(g('CHATAREA'));
	PositionFloatingElement(g('TOOLTIPAREA'));
	PositionFloatingElement(g('ABOVEDIV'));
	PositionFloatingElement(g('ABOVEDIV2'));
}

function PositionFloatingElement(ele)
{	
	if(ele != null && ele.style.display != 'none')
	{
		ele.style.left = (LBodyWidth() / 2) - (ele.clientWidth / 2);
		ele.style.top = (LBodyHeight() / 2) - (ele.clientHeight / 2);
	}	
}

function RowHover(ele)
{
	ele.style.backgroundColor = '#eeeeee';
}

function RowHoverOut(ele)
{
	ele.style.backgroundColor = '#ffffff';
}

function FlyInDiv(panelNumber)
{
	var o = g('ABOVEDIV' + (panelNumber ? panelNumber : ''));
	o.innerHTML = '';
	o.style.zIndex = '100';
	o.style.position = 'absolute';
	o.style.display = '';
	PositionFloatingElement(o);
	return o;
}

function FlyInDivClose(panelNumber)
{
	var o = g('ABOVEDIV' + (panelNumber ? panelNumber : ''));
	o.innerHTML = '';
	o.style.display = 'none';
	
	var Portfolio_EmbededBrowserOBJ = g('Portfolio_EmbededBrowser');
	if(Portfolio_EmbededBrowserOBJ != null)
	    Portfolio_EmbededBrowserOBJ.style.display = '';
	    
	    
    var searchFilter = g('Search_Filter');
    if(searchFilter)
        searchFilter.style.display = 'none';
}

function ShowToolTip(text , position , e)
{
    var levent = e ? e : event;
    
	var tt = g('TOOLTIPAREA');
	tt.style.display = 'block';
	tt.innerHTML =	levent.clientX;
	
	var cX = levent.clientX;
	var cY = levent.clientY;
	var oX = 0;
	var oY = 0;
	
	switch(position)
	{
		case 'TopLeft' :
			oX = -1 * (25 + tt.clientWidth);
			oY = -30;
		break;
		case 'TopRight' :
			oX = 5;
			oY = -25;
		break;
		case 'BottomLeft' :
		
		break;
		case 'BottomRight' :
		
		break;	
	}
	
	oY += document.body.scrollTop;
	
	tt.style.left = cX + oX;
	tt.style.top = cY + oY;
	tt.innerHTML = text;
}

function ShowToolTipHTML(eleid , position , e)
{
    var levent = e ? e : event;
    
	var tt = g('TOOLTIPAREA');
	tt.style.display = 'block';
	tt.innerHTML =	levent.clientX;
	
	var cX = levent.clientX;
	var cY = levent.clientY;
	var oX = 0;
	var oY = 0;

	oX = 5;
	oY = -25;

	tt.innerHTML = g(eleid).innerHTML;

	oY += document.body.scrollTop;
    var bodyWidth = document.body.clientWidth;    
    var bodyHeight = document.body.clientHeight;    
	var eleWidth = tt.clientWidth;
	var eleHeight = tt.clientHeight;
	
	if(cX + oX + eleWidth > bodyWidth)
	{    
	    oX = (eleWidth + 5) * -1;
	}
	
	if(cY + oY + eleHeight > bodyHeight)
	{
	    oY = (eleHeight - 25) * -1;
	}
	    
	tt.style.left = cX + oX;
	tt.style.top = cY + oY;
}

function HideToolTip()
{
	try
	{
		var tt = g('TOOLTIPAREA');
		tt.style.display = 'none';
	} 
	catch(e)
	{
	
	}
}

function ShowDialogBox(id , panelNumber)
{
	var dialogBox = FlyInDiv(panelNumber);
	var dbC = g(id);
	
	if(dbC.innerHTML != '')
	{	
		DialogBoxesContent[id] = dbC.innerHTML.replace(/tcejbo/ig,'object').replace(/marap/ig, 'param').replace(/debme/ig, 'embed');	
		dbC.innerHTML = '';
	}
	
	dialogBox.innerHTML = DialogBoxesContent[id];
	
	PositionFloatingElement(dialogBox);
	
	var Portfolio_EmbededBrowserOBJ = g('Portfolio_EmbededBrowser');
	if(Portfolio_EmbededBrowserOBJ != null)
	    Portfolio_EmbededBrowserOBJ.style.display = 'none';
}

function ImpersonateUser(personID)
{
	g('TOPNAV_AREA').innerHTML = MakeGlobalAJAXRequest('impersonate=' + personID);
	ChangePage('Profile_My', true);
}

function StopImpersonating()
{
	g('TOPNAV_AREA').innerHTML = MakeGlobalAJAXRequest('stopimpersonating=true');
	ChangePage('Profile_My', true);
}

var nav_Query = '';
var nav_ItemExtra = null;
function nav_ItemOver(query)
{     
    nav_ItemOver_MM_Hide();
	nav_Query = query;
	
	var navItem = g('NavItem' + nav_Query);
	navItem.style.backgroundColor = '#ff0000';
	
	HideZIndexHaters();
	
	document.onmousemove = nav_ItemOver_MM;
	
	nav_ItemExtra = g('nav_ItemExtra' + nav_Query);
	
	if(!nav_ItemExtra)
	    return;
	
	nav_ItemExtra.style.display = 'block';
	
	var navItemLeftPos = calcLeftPosition(navItem);
	nav_ItemExtra.style.top = 45;
	nav_ItemExtra.style.left = navItemLeftPos;
}

function nav_ItemOver_MM(e)
{
	if(!nav_ItemOver_MM_Class('Nav_ItemExtra' + nav_Query , e))
		nav_ItemOver_MM_Hide()
}

function nav_ItemOver_MM_Class(name , e)
{   
	var startElement = e ? e.target : event.srcElement;
	
	while(true)
	{
		if(startElement && startElement.className && startElement.className.indexOf(name) != -1)
			return true;
		
		if(startElement.parentNode)
			startElement = startElement.parentNode;
		else
			return false;
	}
	
	return true;
}

function nav_ItemOver_MM_Hide()
{
    ShowZIndexHaters();
	
	if(nav_ItemExtra)
	{
	    nav_ItemExtra.style.display = 'none';
	}
	
	var navItem = g('NavItem' + nav_Query);
	if(navItem)
	{
	    if(navItem.className.indexOf('TopMenu_Tab_Selected') != -1)
	        navItem.style.backgroundColor = '#666666';
	    else
	        navItem.style.backgroundColor = '#000000';
	}
	
	document.onmousemove = getMousePos;
}

function Nav_ExtraItemOut(obj)
{
    obj.style.backgroundColor = '#333333';
}

function Nav_ExtraItemOver(obj)
{
    obj.style.backgroundColor = 'red';
}

var UpdateAlert_ShowMadeUpdate_Interval = false;
function UpdateAlert_ShowMadeUpdate()
{
    if(document.URL.toString().indexOf('SignUp.aspx') > -1)
        return;
    
    if(UpdateAlert_ShowMadeUpdate_Interval)
        window.clearInterval(UpdateAlert_ShowMadeUpdate_Interval);
    
    var UPDATESTATUS = g('UPDATESTATUS');
    UPDATESTATUS.style.display = 'block';
    UPDATESTATUS.innerHTML = 'Updated';
    UPDATESTATUS.style.top = 38;
    UPDATESTATUS.style.left = (LBodyWidth() / 2) - UPDATESTATUS.clientWidth;
    UpdateAlert_ShowMadeUpdate_Interval = window.setInterval('UpdateAlert_HideMadeUpdate()' , 1500);
}

function UpdateAlert_HideMadeUpdate()
{
    window.clearInterval(UpdateAlert_ShowMadeUpdate_Interval);
    var UPDATESTATUS = g('UPDATESTATUS');
    UPDATESTATUS.style.display = 'none';
    UPDATESTATUS.innerHTML = '';
}