// Global variables

var m_JS_General_nMaxStrLen = 1000;

var m_JS_General_bIE;

var m_JS_General_r8IE = 0;
var m_JS_General_r8FF = 0;
var m_JS_General_bWrongBrowser = true;
var m_JS_General_aOnLoad = new Array();

// Functions

function JS_General_GetNode(sId)
{
	if(typeof(document.getElementById) == "undefined") return null;
	return sId ? document.getElementById(sId) : null;
}

function JS_General_DetectBrowser()
{
	var r8Version;
	var sUA = navigator.userAgent
	var sVersion;
	
	var i = sUA.indexOf("MSIE");
	if(i >= 0)
	{
		m_JS_General_bIE = true;
		sVersion = sUA.substr(i + 5, 3);
		m_JS_General_r8IE = parseFloat(sVersion);
	}
	else
	{
		i = sUA.indexOf("Firefox");
		if(i >= 0)
		{
			sVersion = sUA.substr(i + 8, 3);
			m_JS_General_r8FF = parseFloat(sVersion);
		}
	}
	
	m_JS_General_bWrongBrowser = m_JS_General_r8IE < 5.5 && m_JS_General_r8FF < 2.0;
}

function JS_General_Redirect(sUrl)
{
	location.href = sUrl;
}

function JS_General_SetCursorHand(oObj)
{	
	oObj.style.cursor = m_JS_General_r8IE ? "hand" : "pointer";
}

function JS_General_SetCursorNormal(oObj)
{	
	oObj.style.cursor = "auto";
}

function JS_General_ShowMessage(sMessage)
{
	var oDivMessage = JS_General_GetNode("HTMLGeneralDivMessage");
	if(!oDivMessage) return false;
	oDivMessage.innerHTML = sMessage;
	oDivMessage.style.display = "block";
	oDivMessage.onclick = JS_General_HideMessage;
	return true;
}

function JS_General_HideMessage()
{
	var oDivMessage = JS_General_GetNode("HTMLGeneralDivMessage");
	if(!oDivMessage) return false;
	oDivMessage.style.display = "none";
	return true;
}

function JS_General_SetSelectValue(oSelect, sValue)
{
	var oOptions = oSelect.options;
	for(var i = 0; i < oOptions.length; i++)
	{
		if(oOptions[i].value != sValue) continue;
		oSelect.selectedIndex = i;
		break;
	}
}

function JS_General_OnLoad()
{
	for(var sName in m_JS_General_aOnLoad)
	{
		m_JS_General_aOnLoad[sName]();
	}
}

function JS_General_AddOnLoad(oFunction)
{
	if(typeof(oFunction) != "function") return;
	var sName = JS_General_GetFunctionName(oFunction);
	m_JS_General_aOnLoad[sName] = oFunction;
}

function JS_General_GetFunctionName(oFunction)
{
	var sFunction = oFunction.toString();
	var nFrom = sFunction.indexOf(" ") + 1;
	var nTo = sFunction.indexOf("(");
	return sFunction.substring(nFrom, nTo);
}

// Stoppt ein Event
function JS_General_CancelEvent(evt)
{
    evt = evt || window.event;
   
    if(evt)
    {
        if(typeof(evt.preventDefault) == "function") evt.preventDefault(); 
        if(typeof(evt.stopPropagation) == "function") evt.stopPropagation(); 
    }

    if(window.event)
    {
        if(typeof(window.event.cancelBubble) != "undefined") window.event.cancelBubble = true;
        if(typeof(window.event.returnValue) != "undefined") window.event.returnValue = false;
    }

    return false;
}

// Holt den aktuellen Key-Code, d.h. die gedrückte Taste
function JS_General_GetKeyCode(evt)
{
    if(!evt) evt = window.event;
    if(!evt) return false;

    // keyCode -> Microsoft, which -> Netscape  
    return evt.keyCode ? evt.keyCode : evt.which;
}

JS_General_AddOnLoad(JS_General_DetectBrowser);
