function addEvent(element, type, handler) {
	if (element.addEventListener) {
		element.addEventListener(type, handler, false);
	} else {
		// assign each event handler a unique ID
		if (!handler.$$guid) handler.$$guid = addEvent.guid++;
		// create a hash table of event types for the element
		if (!element.events) element.events = {};
		// create a hash table of event handlers for each element/event pair
		var handlers = element.events[type];
		if (!handlers) {
			handlers = element.events[type] = {};
			// store the existing event handler (if there is one)
			if (element["on" + type]) {
				handlers[0] = element["on" + type];
			}
		}
		// store the event handler in the hash table
		handlers[handler.$$guid] = handler;
		// assign a global event handler to do all the work
		element["on" + type] = handleEvent;
	}
};
// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.removeEventListener) {
		element.removeEventListener(type, handler, false);
	} else {
		// delete the event handler from the hash table
		if (element.events && element.events[type]) {
			delete element.events[type][handler.$$guid];
		}
	}
};

function handleEvent(event) {
	var returnValue = true;
	// grab the event object (IE uses a global event object)
	event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
	// get a reference to the hash table of event handlers
	var handlers = this.events[event.type];
	// execute each event handler
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	// add W3C standard event methods
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function mainGo(href, obj) {
	//obj.style.color = '#ffff00';
	location.href= href;
	hide_all();
}

function getBounds(element)
{
  var left = element.offsetLeft;
  var top = element.offsetTop;
  for (var parent = element.offsetParent; parent; parent = parent.offsetParent)
  {
    left += parent.offsetLeft;
    top += parent.offsetTop;
  }
  return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight};
}

function mainGo(href, obj) {
    obj.style.backgroundColor = '#8a8a8a';
    location.href=href;
}

$$$.SUPER_MEGA_OBJECT = {};

function $$$(id){
	var retVal = {
		style:{},
		fake_obj:true
	};
	if ($$$.SUPER_MEGA_OBJECT[id]=document.getElementById(id)) {
		retVal = $$$.SUPER_MEGA_OBJECT[id];
	}
	return retVal;
}

function debugObj(obj) {
	var dbg = '';
	for(zzz in obj){
		dbg += zzz+": "+obj[zzz]+"<br>";
	}
	$$$('debug').innerHTML = dbg;
	$$$('debug').style.clear = 'both';
	$$$('debug').style.position = 'absolute';
	$$$('debug').style.zIndex = 1000;
	$$$('debug').style.backgroundColor = '#c0c0c0';
}

function toggle_item(id) {
	var obj;
	if (obj = $$$(id)) {
		obj.style.display = obj.style.display!='block' ? 'block' : 'none';
	}
}

var MY_GLOBAL_IMAGES = {};

function change_bg(id, img, x) {
	/*
	if (typeof(MY_GLOBAL_IMAGES[img])=='undefined') {
		MY_GLOBAL_IMAGES[img] = new Image();
		MY_GLOBAL_IMAGES[img].src = img;
	}
	*/
	//var displacement = x>=0 ? 0 : -MY_GLOBAL_IMAGES[img].width/2;
	var displacement = x>=0 ? "0" : "-341";
	//$$$(id).style.background='url('+img+') no-repeat '+displacement+'px 0px';
	$$$(id).style.backgroundPosition=displacement+'px 0px';
}
