document.onmousemove = GetCoordinates;

var iOpac;
var oPortalWrapper;
var oLoaderWrapper;
var oWrapperBackground;
var oLoader;
var oTableCell;
var oBody;
var iFrame;
var iPageYOffset;
var iViewportHeight;
var iGoAhead;
var bHasStarted;
var mouseX = 0;
var mouseY = 0;
var isActive = 0;

function GetCoordinates(e)
{
	var X, Y;
	if(document.body != null)
	{
		var XBody = document.body.offsetWidth;
		var objOpenWidth = document.getElementById("ToolTipDiv").offsetWidth;
		if (document.all) 
		{
			X = event.clientX + document.body.scrollLeft;
			Y = event.clientY + document.body.scrollTop;
		} 
		else 
		{
			X = e.pageX;
			Y = e.pageY;
		}
		
		if(X + objOpenWidth > XBody)
		{
			mouseX = X + 15 - objOpenWidth;
			mouseY = Y + 5;
		}
		else
		{
			mouseX = X + 15;
			mouseY = Y + 5;
		}
		if(isActive)
		{
			updatePosition();
		}
	}
}

function ShowHideToolTipDiv(IsVisible, Detail)
{
	if(IsVisible)
	{
		document.getElementById("ToolTipDiv").innerHTML = Detail;
		document.getElementById("ToolTipDiv").style.top = mouseY + "px";
		document.getElementById("ToolTipDiv").style.left = mouseX + "px";
		document.getElementById("ToolTipDiv").style.visibility= "visible";
		document.getElementById("ToolTipDiv").style.display= "block";
		//document.getElementById("ToolTipDiv").className = "ToolTipMain";
		isActive = 1;
	}
	else
	{
		document.getElementById("ToolTipDiv").style.visibility= "hidden";
		document.getElementById("ToolTipDiv").style.display= "none";
		isActive = 0;
	}
}
        
function updatePosition()
{
	document.getElementById("ToolTipDiv").style.top = mouseY + "px";
	document.getElementById("ToolTipDiv").style.left = mouseX + "px";
}

function GenericTabSwitch(DivName, TabName, DivClassName, TabClassName, DivClassName2, TabClassName2, CurrentIndex , UpperIndex)
{
	var obj;
	for (var iLoop = 0; iLoop <= UpperIndex; iLoop++)
	{	
		obj = document.getElementById(DivName + iLoop);
		DisplayElement(obj, "none");
	}	
	obj = document.getElementById(DivName + CurrentIndex);
	DisplayElement(obj, "block");
	
	for (var iLoop = 0; iLoop <= UpperIndex; iLoop++)
	{	
		obj = document.getElementById(TabName + iLoop);
		obj.className = TabClassName2;
	}	
	obj = document.getElementById(TabName + CurrentIndex);
		obj.className = TabClassName;
	
	return false;
}

function showTabDiv(tabName, divName, nCat, nCats)
{
	var obj;
	var imgPath = '/forum/templates/modern/images/common/theme/rollyimg/headers/tabs/set2/';
	for (var iLoop = 0; iLoop <= nCats; iLoop++)
	{	
		obj = document.getElementById(divName + iLoop);
		DisplayElement(obj, "none");
	}	
	obj = document.getElementById(divName + nCat);
	DisplayElement(obj, "block");

	for (var iLoop = 0; iLoop <= nCats; iLoop++)
	{			
		obj = document.getElementById(tabName + iLoop);
		if (iLoop == 0)
		{
			obj.style.backgroundImage = 'url(' + imgPath + 'first.jpg)';
		}
		else
		{
			obj.style.backgroundImage = 'url(' + imgPath + iLoop + '.jpg)';
		}
	}	
	
	
	obj = document.getElementById(tabName + nCat);
	if(nCat == 0)
	{
		obj.style.backgroundImage = 'url(' + imgPath + 'first-select.jpg)';
	}
	else
	{
		obj.style.backgroundImage = 'url(' + imgPath + nCat + '-select.jpg)';
	}
	
}

function DisplayElement( elt, displayValue ) 
{
	if ( typeof elt == "string" ) 
		elt = document.getElementById( elt ); 
	if ( elt == null ) return; 
	elt.style.display = displayValue;
}

function ToggleDisplayElement( elt ) 
{
	if ( typeof elt == "string" ) 
		elt = document.getElementById( elt ); 
	if ( elt == null ) return; 
	if (elt.style.display == "none")
	{
		elt.style.display = "block";
	}
	else
	{
		elt.style.display = "none";
	}
	
}

function ExpandCollapsePanel(sControl)
{
    var Browser;
    var PanelObj = document.getElementById(sControl);
    
    if (BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape")
        iOpac = PanelObj.style.MozOpacity;
    else if (BrowserDetect.browser == "Opera")
        iOpac = PanelObj.style.opacity;
    else if (BrowserDetect.browser == "Explorer")
        iOpac = PanelObj.filters.alpha.opacity;
    else
        iOpac = "incompatible";
    		//alert(iOpac + " : " + BrowserDetect.browser);
    if (iOpac != "incompatible")
    {
        if (PanelObj.style.visibility == "visible")
		{
			//alert("out");
            Fade(sControl, "Out");
		}
        else
			{
				//alert("in");
            Fade(sControl, "In");
			}
    }
    else
    {
        if (PanelObj.style.visibility == "visible")
        {
            iOpac = 0;
            Fade(sControl, "Out");
        }
        else
        {
            iOpac = 100;
            Fade(sControl, "In");
        }
    }
}

function Fade(sControl, sOutIn)
{
    var oPanel = document.getElementById(sControl);
    var iPanelHeight = parseInt(document.getElementById(sControl + "_Height").value);
    var MozOperaDivider;
    
    if (oPanel.offsetHeight > iPanelHeight)
        document.getElementById(sControl + "_Height").value = oPanel.offsetHeight;
        
    if (sOutIn == "Out")
    {
        if (iOpac > 0)
        {
            if (BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape")
            {
                oPanel.style.MozOpacity = oPanel.style.MozOpacity - 0.04;
                window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                iOpac = (oPanel.style.MozOpacity) * 100;
            }
            else if (BrowserDetect.browser == "Opera")
            {
                oPanel.style.opacity = oPanel.style.opacity - 0.04;
                window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                iOpac = (oPanel.style.opacity) * 100;
            }
            else if (BrowserDetect.browser == "Explorer")
            {
                oPanel.style.filter = "alpha(opacity="+ (oPanel.filters.alpha.opacity - 4) +")";
                window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                iOpac = oPanel.filters.alpha.opacity;
            }
        }
        else
        {
			if(BrowserDetect.browser != "Explorer")
			{
				if(oPanel.offsetHeight >= 10)
				{
					oPanel.style.height = (oPanel.offsetHeight - 10) + "px";
					window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
				}
				else if (oPanel.offsetHeight > 0 && oPanel.offsetHeight < 10)
				{
					oPanel.style.height = (oPanel.offsetHeight - oPanel.offsetHeight) + "px";
					window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
				}
				else
				{
					oPanel.style.visibility = "hidden";
					oPanel.style.display = "none";
				}
			}
			else
			{
				//alert((oPanel.style.top) + " : " + oPanel.offsetHeight);
				if(isNaN(parseInt(oPanel.style.top)))
				{
					oPanel.style.top = oPanel.offsetHeight + "px";
				}
				//alert((oPanel.style.top) + " : " + oPanel.offsetHeight);
				if(parseInt(oPanel.style.top) >= 10)
				{
					oPanel.style.top = (parseInt(oPanel.style.top) - 10) + "px";
					window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
				}
				else if (parseInt(oPanel.style.top) > 0 && parseInt(oPanel.style.top) < 10)
				{
					oPanel.style.top = "0px";
					window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
				}
				else
				{
					oPanel.style.visibility = "hidden";
					oPanel.style.display = "none";
				}
				
			}
        }
    }
    else
    {
        oPanel.style.visibility = "visible";
		
        if(oPanel.style.display != "")
            oPanel.style.display = "";
        if (oPanel.offsetHeight < iPanelHeight && (iPanelHeight - oPanel.offsetHeight) >= 10)
        {
            oPanel.style.height = (oPanel.offsetHeight + 10) + "px";
            window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
        }
        else if (oPanel.offsetHeight < iPanelHeight && (iPanelHeight - oPanel.offsetHeight) < 10)
        {
            oPanel.style.height = (oPanel.offsetHeight + (iPanelHeight - oPanel.offsetHeight)) + "px";
            window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
        }
        else
        {
            if (iOpac < 100)
            {
                if (BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape")
                {
                    MozOperaDivider = (oPanel.style.MozOpacity * 100);
                    oPanel.style.MozOpacity = (MozOperaDivider + 4) / 100;
                    window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                    iOpac = (oPanel.style.MozOpacity) * 100;
                }
                else if (BrowserDetect.browser == "Opera")
                {
                    MozOperaDivider = (oPanel.style.opacity * 100);
                    oPanel.style.opacity = (MozOperaDivider + 4) / 100;
                    window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                    iOpac = (oPanel.style.opacity) * 100;
                }
                else if (BrowserDetect.browser == "Explorer")
                {
                    oPanel.style.filter = "alpha(opacity="+ (oPanel.filters.alpha.opacity + 4) +")";
                    window.setTimeout("Fade('"+ sControl +"', '"+ sOutIn +"')", 10);
                    iOpac = oPanel.filters.alpha.opacity;
                }
            }
            else
            {
                document.getElementById("PanelHeightAdded").value = iPanelHeight;
            }
        }
    }
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"

		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();



var CurrentLeftMenu = 0;

function OpenLeftMenu(id)
{
	if (document.getElementById('TableMenuCat' + CurrentLeftMenu))
	{
		Effect.SlideUp('TableMenuCat' + CurrentLeftMenu);
	}
	
	if (document.getElementById('TableMenuCat' + id))
	{
		Effect.SlideDown('TableMenuCat' + id);
	}
	CurrentLeftMenu = id;
}