	function preloadImages(){
		if (!document.preload) document.preload = new Array();
		var j = document.preload.length;
		for (var a = 0; a < arguments.length; a++){
			var i = image_map[arguments[a]];
			for (attr in i) {
				switch(attr){
					case "out":
					case "over":
						document.preload[j] = new Image();
						document.preload[j].src = i[attr];
						++j;
					break;
				}
			}
		}
	}
	
	function showMenu(div_number){
		var mydiv = document.getElementById(menu_map[div_number].id);
		if (!mydiv) return;
		clearTimeout(menu_map[div_number].timeout);
		mydiv.style.display = 'block';
		overImage(menu_map[div_number].image_anchor);		
		jQuery('img').ifixpng();
	}

	function hideMenu(div_number){
		menu_map[div_number].timeout = setTimeout('fireHideMenu('+div_number+')',menu_map["delay"]);
		jQuery('img').ifixpng();
	}

	function fireHideMenu(div_number){
		var mydiv = document.getElementById(menu_map[div_number].id);
		if (!mydiv) return;
		mydiv.style.display = 'none';
		outImage(menu_map[div_number].image_anchor);
		jQuery('img').ifixpng();
	}

	function writeImage(imgnum,no_rollover){
		var i = image_map[imgnum];
		var dynamic = no_rollover ? '' : ' onmouseover="overImage('+imgnum+')" onmouseout="outImage('+imgnum+')" ';
		if (i.url) buffer.push('<a href="'+i.url+'" '+dynamic+'>');
		buffer.push('<img id="menu_image_'+imgnum+'" src="/'+image_map["path"]+i.out+'" />');
		if (i.url) buffer.push('</a>');
	}

	function writeQuickImage(imgnum,url){
		var i = image_map[imgnum];
		document.write('<a href="'+url+'" onmouseover="overImage('+imgnum+')" onmouseout="outImage('+imgnum+')" >');
		document.write('<img id="menu_image_'+imgnum+'" src="/'+image_map["path"]+i.out+'" />');
		document.write('</a>');
	}

	
	function overImage(imgnum){
		var i = image_map[imgnum];
		var myimg = document.images["menu_image_"+imgnum];
		if (i.over && myimg) myimg.src = "/"+image_map["path"]+i.over;
	}

	function outImage(imgnum){
		var i = image_map[imgnum];
		var myimg = document.images["menu_image_"+imgnum];
		if (i.out && myimg) myimg.src = "/"+image_map["path"]+i.out;	
	}
	
	function writeMenu(div_number,show){
		buffer.clear();
		var menu = menu_map[div_number];

		writeImage(menu.image_anchor,div_number != 3);
	
		var style = show ? "": " style='display:none'";
		buffer.push("<div id='"+menu.id+"'"+style+">");
		for (i in menu.image_items){
			writeImage(menu.image_items[i]);
			buffer.push("<br/>");
		}
		buffer.push("</div>");
		buffer.write();
	}
	
	var buffer = new Array();
	buffer.clear = function (){
		this.length = 0;
	}
	
	buffer.write = function(){
		document.write(this.join(""));
		buffer.clear();
	}
	
