function $(id) {
    var d = document;
    if (!d._$) d._$ = new Array();
    
    if (d._$[id]==null) {
        d._$[id] = document.getElementById(id);
    }
    return d._$[id];
}

function addEvent(elm, evType, fn, useCapture) {
        if (elm.addEventListener) {
                elm.addEventListener(evType, fn, useCapture);
        return true;
        }
        else if (elm.attachEvent) {
                var r = elm.attachEvent('on' + evType, fn);
                return r;
        }
        else {
                elm['on' + evType] = fn;
        }
}

function MOUSE() {
    this.x = 0;
    this.y = 0;
    this.x_old = 0;
    this.y_old = 0;
    this.x_offset = 0;
    this.y_offset = 0;
}
var mouse = new MOUSE();

addEvent(
    document,
    'mousemove',
    function(event) {
        if(!event) event = window.event;
        mouse.x = event.clientX + document.documentElement.scrollLeft;
        mouse.y = event.clientY + document.documentElement.scrollTop;
        mouse.x_offset = mouse.x - mouse.x_old;
        mouse.y_offset = mouse.y - mouse.y_old;
        mouse.x_old = mouse.x;
        mouse.y_old = mouse.y;
    }
);

function showHideMap(icon) {
	var map = document.getElementById('map');
	if(map.style.display != 'none') {
		map.style.display = 'none';
		icon.src = 'images/plus.gif';
	} else { 
		map.style.display = 'block';
		icon.src = 'images/minus.gif';
	}
}

function showHideDiv(id) {
	var obj = document.getElementById(id);
	if(obj.style.display != 'block') obj.style.display = 'block'
	else obj.style.display = 'none';
	return false;
}

function showDiv(id) {
    document.getElementById(id).style.display = 'block';
    return false;
}

function hideDiv(id) {
    document.getElementById(id).style.display = 'none';
    return false;
}

var submenu = new Object();
function smenuAdd(number) {
	var elem = document.getElementById('sm_'+number);
	if (elem != undefined) {
		elem.mouse_out = true;
		addEvent(
		    elem,
		    'mousemove',
		    function() {
                var sm = document.getElementById('sm_'+number);
				sm.mouse_out = false;
                if (sm.hidetime != null) {
                    window.clearTimeout(sm.hidetime);
                }
		    }
		);
        addEvent(
            elem,
            'mouseout',
            function() {
                var sm = document.getElementById('sm_'+number);
				sm.mouse_out = true;
                sm.hidetime = window.setTimeout('smenuHide()', 7000);
            }
        );
		submenu[number] = elem;
	}
}

function smenuShow(number) {
	for(i in submenu) {
		if (i == number) {
			submenu[i].style.display = 'block';
            window.setTimeout('smenuHide()', 7000);
		} else {
			submenu[i].style.display = 'none';
		}
	}
	return false;
}

function smenuHide() {
    for(i in submenu) {
		if (submenu[i].mouse_out == true) {
			submenu[i].style.display = 'none';
		}
    }
}

addEvent(
    document,
    'mousedown',
    function() {
		smenuHide();
    }
);
