//************* CONSTANTS *************
var NAV4, IE4, IE5;
var pz;
var IE, NS, MAINVER;
var LAYER_VISIBLE;
var LAYER_HIDDEN;
var LAYER_WIDTH;
var LAYER_HEIGHT;
var INNER_WIDTH, INNER_HEIGHT;

NS=(navigator.appName=="Netscape") ? true: false;
IE=(navigator.appVersion.indexOf("MSIE")!=-1) ? true: false;


if (IE)
	{
	MAINVER=navigator.appVersion.charAt((pz=navigator.appVersion.indexOf("MSIE"))+5);
	}
else
	{
	MAINVER=navigator.appVersion.charAt(0);
	}

LAYER_VISIBLE = (NS && (MAINVER==4)) ? "show" : "visible";
LAYER_HIDDEN = (NS && (MAINVER==4)) ? "hide" : "hidden";
LAYER_WIDTH = (NS && (MAINVER==4)) ? "clip.width" : "width";
LAYER_HEIGHT = (NS && (MAINVER==4)) ? "clip.height" : "height";

LAYER_INNERHTML = (NS && (MAINVER==4)) ? "document" : "innerHTML";
LAYER_INNERSET = (NS && (MAINVER==4)) ? "document.close();" : "";

INNER_WIDTH = (IE) ? document.body.clientWidth : window.innerWidth;
INNER_HEIGHT = (IE) ? document.body.clientHeight : window.innerHeight;

if (NS && (MAINVER==4)) { NAV4=true; }
if (IE && (MAINVER==4)) { IE4=true; }
if (IE && (MAINVER==5)) { IE5=true; }

//************* FUNCTIONS ***************

function browserObject(objname, framename)
	{
	var doc;
	doc = (framename) ? "window.parent.frames."+framename+".document" : "document";
//	window.status='browserObject("'+objname+'","'+doc+'")';
	//IE4
	if (eval(doc+".all") && eval(doc+".all."+objname) )
		{
		return eval(doc+".all."+objname);
		}
	//NS4
	else if (eval(doc+"."+objname) )
		{
		return eval(doc+"."+objname);
		}
	else if (eval(doc+".layers") )
		{
		return eval(doc+".layers."+objname);
		}
	//W3C (IE5+, Netscape 6+)
	else if (eval(doc+".getElementById('" + objname + "')" ) )
		{
		return eval(doc+".getElementById('"+objname+"')");
		}
	else
		{
//		alert("Global library error: '"+objname+"' or '"+doc+"' does not exist.\n"+
//				"Most likely the object '"+objname+"' does not have an 'id' property.");
		return false;
		}
	}

function nestedBrowserObject(container, objname, framename)
	{
	var doc;
	doc = (framename) ? "window.parent.frames."+framename+".document" : "document";
	//IE4
	if (eval(doc+".all") && eval(doc+".all."+container))
		{
		return eval(doc+".all."+container+".document.all."+objname);
		}
	//NS4
	else if (eval(doc+"."+container) )
		{
		return eval(doc+"."+container+".document."+objname);
		}
	//W3C (IE5+, Netscape 6+)
	else if (eval(doc+".getElementById('" + objname + "')" ) )
		{
		return eval(doc+".getElementById('"+objname+"')");
		}
	else
		{
//		alert("Global library error: '"+objname+"', '"+container+"' or '"+doc+"' does not exist. \n"+
//				"Most likely the object '"+objname+"' misses its 'id' property.");
		return false;
		}
	}

function styleObject(objname, framename)
	{
	var doc;
	doc = (framename) ? framename : "";
	return (eval("browserObject('"+objname+"','"+doc+"').style" ) ) ?
			(eval("browserObject('"+objname+"','"+doc+"').style" ) ) :
			(eval("browserObject('"+objname+"','"+doc+"')" ) );
	}

function nestedStyleObject(container, objname, framename)
	{
	var doc;
	doc = (framename) ? framename : "";
	return (eval("nestedBrowserObject('"+container+"','"+objname+"','"+doc+"').style" ) ) ?
			(eval("nestedBrowserObject('"+container+"','"+objname+"','"+doc+"').style" ) ) :
			(eval("nestedBrowserObject('"+container+"','"+objname+"','"+doc+"')" ) );
	}

function styleObjectPos(styleObjectPosStr)
	{
	styleObjectPosStr=styleObjectPosStr.toLowerCase();
	if (IE)
		{
		styleObjectPosStr="pixel"+capitalize(styleObjectPosStr);
		}
	return styleObjectPosStr;
	}

function capitalize(str)
	{
	return str.substr(0,1).toUpperCase() + str.substr(1,str.length).toLowerCase();
	}

function cutPx(str)
	{
	var idx;
	str=""+str;
	str=str.toString().toLowerCase();
	if ((idx=str.indexOf("px"))!=-1)
		{
		str=str.substr(0,idx);
		}
	if ((idx=str.indexOf("pt"))!=-1)
		{
		str=str.substr(0,idx);
		}
	return str;
	}

function DSOCX()
	{
	if (NS)
		{
		return window.pageXOffset;
		}
	else
		{
		return document.body.scrollLeft;
		}
	}

function DSOCY()
	{
	if (NS)
		{
		return window.pageYOffset;
		}
	else
		{
		return document.body.scrollTop;
		}
	}

function inWidth()
	{
	if (window.innerWidth)
		{
		return (INNER_WIDTH = window.innerWidth);
		}
	else
		{
		return (INNER_WIDTH = document.body.clientWidth);
		}
	}

function inHeight()
	{
	if (window.innerHeight)
		{
		return (INNER_HEIGHT = window.innerHeight);
		}
	else
		{
		return (INNER_HEIGHT = document.body.clientHeight);
		}
	}
