// expand collapse menus

function toggle(id) {
	var e = document.getElementById(id);

	if (e.className == 'show') {
		e.className = 'hide';
		document.cookie = id+'=false;' // id is variable
	} else {
		// $('.show').addClass('hide'); // close other open menus
		// $('.show').removeClass('show'); // close other open menus
		e.className = 'show';
		document.cookie = id+'=true;'
	}
}


// listen for large image rollover

function listen(event, elem, func) {
    elem = getElem(elem);
    if (elem.addEventListener)  // W3C DOM
        elem.addEventListener(event,func,false);
    else if (elem.attachEvent)  // IE DOM
        elem.attachEvent('on'+event, function(){ func(new W3CDOM_Event(elem)) } );
        // for IE we use a wrapper function that passes in a simplified faux Event object.
    else throw 'cannot add event listener';
}

function getElem(elem) {
    if (document.getElementById) {
        if (typeof elem == "string") {
            elem = document.getElementById(elem);
            if (elem===null) throw 'cannot get element: element does not exist';
        } else if (typeof elem != "object") {
            throw 'cannot get element: invalid datatype';
        }
    } else throw 'cannot get element: unsupported DOM';
    return elem;
}

function W3CDOM_Event(currentTarget) {
    this.currentTarget  = currentTarget;
    this.preventDefault = function() { window.event.returnValue = false }
    return this;
}

function showMagnifyMessage(e) {
	// add/remove listeners
    elem = getElem('magnify');
	elem.removeEventListener('mouseover', showMagnifyMessage, false);
	listen('mouseout', 'magnify', hideMagnifyMessage );
	document.getElementById("magnifymessage").className = "showMessage";
}

function hideMagnifyMessage(e) {
	// add/remove listeners
    elem = getElem('magnify');
	elem.removeEventListener('mouseout', hideMagnifyMessage, false);
	listen('mouseover', 'magnify', showMagnifyMessage );
	document.getElementById("magnifymessage").className = "hideMessage";
}
	
listen('load', window, function() {
	listen('click', 'magnify', hideMagnifyMessage );
	listen('click', 'magnify2', hideMagnifyMessage );
	listen('mouseover', 'magnify', showMagnifyMessage );
	listen('mouseover', 'magnifymessage', showMagnifyMessage );
	// listen('mouseout', 'magnify', hideMagnifyMessage );
});
