
// #############################################################################
// lets define the browser we have instead of multiple calls throughout the file
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf("msie 4.") != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));

// catch possible bugs with WebTV and other older browsers
var is_regexp = (window.RegExp) ? true : false;


// #############################################################################
// let's find out what DOM functions we can use
var vbDOMtype = '';
if (document.getElementById)
{
	vbDOMtype = "std";
}
else if (document.all)
{
	vbDOMtype = "ie4";
}
else if (document.layers)
{
	vbDOMtype = "ns4";
}
function openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}



function fadeIn(id, startfade, endfade, idtarget,offleft,offtop) {
    var fade_timer;

    clearTimeout(fade_timer);
    fadetimer = 0;
        for (i = startfade; i <= endfade; i++) {
            fade_timer = setTimeout("setOpacity(" + i + ",'" + id + "','" + idtarget + "','" + offleft + "','" + offtop + "')", (fadetimer * 5));
            fadetimer++;
        }
    }


function setOpacity(opacity, id, idtarget,offleft,offtop) {
    var getleft;
    var gettop;

    getleft = document.getElementById(idtarget).offsetLeft -10;
    gettop = document.getElementById(idtarget).offsetTop -10;
    el = document.getElementById(id).style;
    el.opacity = (opacity / 100);
    el.MozOpacity = (opacity / 100);
    el.KhtmlOpacity = (opacity / 100);
    el.filter = "alpha(opacity=" + opacity + ")";
    el.visibility = "visible";
    el.left = getleft - offleft + "px";
    el.top = gettop  - offtop + "px";
}
    
function hide(id) {
    document.getElementById(id).style.visibility = "hidden";
    if (!window.opera) {
        setOpacity('0', 'LYR', 'test');
    }
}    


// #############################################################################
// simple function to toggle the 'display' attribute of an object
function toggle_display(idname)
{
	obj = fetch_object(idname);
	if (obj)
	{
		if (obj.style.display == "none")
		{
			obj.style.display = "";
		}
		else
		{
			obj.style.display = "none";
		}
	}
	return false;
}

// make an array to store cached locations of objects called by fetch_object
var vBobjects = new Array();

// #############################################################################
// function to emulate document.getElementById
function fetch_object(idname, forcefetch)
{
	if (forcefetch || typeof(vBobjects[idname]) == "undefined")
	{
		switch (vbDOMtype)
		{
			case "std":
			{
				vBobjects[idname] = document.getElementById(idname);
			}
			break;

			case "ie4":
			{
				vBobjects[idname] = document.all[idname];
			}
			break;

			case "ns4":
			{
				vBobjects[idname] = document.layers[idname];
			}
			break;
		}
	}
	return vBobjects[idname];
}



