function BrowserCompatible () {}

BrowserCompatible.getEvent = function ()
{
	return (window.event ? window.event : BrowserCompatible.getEvent.caller.arguments[0]);
}

BrowserCompatible.getKeyCode = function (evt)
{
	if (!evt)
		return 0;
	else
		return (evt.keyCode ? evt.keyCode : evt.which); 
}
BrowserCompatible.getKeyCodeEx = function (evt)
{
	if (!evt)
		return [];
	else
		return [(evt.keyCode ? evt.keyCode : evt.which),evt.shiftKey,evt.ctrlKey,evt.altKey]; 
}
BrowserCompatible.fireKeyEvent = function (evt)
{
	if (evt)
	{
		if (evt.keyCode)
			evt.keyCode = 0;
		else
			evt.which = 0;
		
		evt.returnValue = false;
	}
}

BrowserCompatible.getEventX = function (evt)
{
	if (!evt)
		return 0;
	
	var x = parseInt(evt.clientX ? evt.clientX : evt.pageX);
	
	if ( isNaN(x))
		return 0;
	else
		return x;
}

BrowserCompatible.getEventY = function (evt)
{
	if (!evt)
		return 0;
	
	var y = parseInt(evt.clientY ? evt.clientY : evt.pageY);
	
	if (isNaN (y))
		return 0;
	else
		return y;
}

BrowserCompatible.getSrcElement = function (evt)
{
	if (!evt)
		return null;
	else
		return (evt.srcElement ? evt.srcElement : evt.target);
}

BrowserCompatible.vmlCompatible = function ()
{
	try
	{
		if(!document.namespaces['vml'])
		{
			document.namespaces.add('v', 'urn:schemas-microsoft-com:vml');
			var styleSheet = (document.styleSheets.length > 0) ? document.styleSheets[0] : document.createStyleSheet();
			styleSheet.addRule('v\\:*', 'behavior:url(#default#VML)');
		}
		
		return true;
	}
	catch (E)
	{
		return false;
	}
}

BrowserCompatible.alphaCompatible = function ()
{
  try
	{
		if(!document.namespaces['vml'])
		{
			document.namespaces.add('v', 'urn:schemas-microsoft-com:vml');
			var styleSheet = (document.styleSheets.length > 0) ? document.styleSheets[0] : document.createStyleSheet();
			styleSheet.addRule('v\\:*', 'behavior:url(#default#VML)');
		}
		
		return true;
	}
	catch (E)
	{
		return false;
	}
}

BrowserCompatible.findWindow = function (windowName)
{
	var currentWindow = window;
	
	try
	{
		while (currentWindow.parent.window)
		{
			currentWindow = currentWindow.parent.window;
			
			if (currentWindow.name == windowName)
				break;
		}
	}
	catch (e)  {}
	
	if (currentWindow.name == windowName)
		return currentWindow;
	else
		return null;
}

BrowserCompatible.isIE = function ()
{
	//return (window.navigator.userAgent.indexOf("MSIE") > -1);
	return (window.navigator.appName.indexOf("Microsoft Internet Explorer") > -1);
}

BrowserCompatible.isMYIE = function ()
{
	//return (window.navigator.userAgent.indexOf("Maxthon") > -1);
	return (window.navigator.appName.indexOf ("Maxthon") > -1);
}

BrowserCompatible.isFirefox = function ()
{
	return (window.navigator.userAgent.indexOf("Firefox") > -1);
}