var WRAPPER="menus_wrapper";
var AREA_LIST = "menulist_area";
var AREA_ORIG = "homeread";
var AREAS_OUT=["header","navG","primaryHome","secondaryHome"];
var XML_PATH="js/";
var PHP_PATH="app/";
var fade_option={duration:0.2};
var blindup_option={duration:0.2};
var blinddown_option={duration:0.3};

var upObj={};var downObj={};var watches=new Array();var ajaxload="";
var menu_current="00";

function menuChange(targ){	
	if(upObj.state=="running") upObj.cancel();
	if(downObj.state=="running") downObj.cancel();
	
	$(AREA_LIST).style.height="auto";
	//if(menu_current!="04" && menu_current!="041") $(WRAPPER).style.height="auto";
	//if(targ != "04" && "041") $(WRAPPER).style.height="auto";
	
	if(menu_current=="00") {
		$(WRAPPER).style.height="auto";
		upObj =new Effect.Fade($(AREA_ORIG),fade_option) ;
	} else{
		switch(targ){
			case "04":
			case "041":
				upObj =new Effect.Fade($(AREA_LIST),fade_option) ;break;
			default:
				$(WRAPPER).style.height="auto";
				upObj =new Effect.BlindUp($(AREA_LIST),blindup_option);
		}
	}
	
	menu_current=targ;
	var msec = (new Date()).getTime();
/*	new Ajax.Request(XML_PATH+targ+".xml", {*/
	new Ajax.Request(PHP_PATH+targ+".php", {
		method: "get",
		parameters: "cache="+msec,
		onSuccess:function(httpupObj){
			ajaxload=httpupObj.responseText;
		},
		onFailure:function(httpupObj){
			ajaxload="menu loading failure";
		}
	});
	watches.push(setInterval(menulist_watcher,200));
}

function menulist_watcher(){
	if(upObj.state!="finished" || ajaxload=="") return;

	for (i=0,L=watches.length;i<L;i++){
		clearInterval(watches[i]);
	}

	if(upObj.state=="running") upObj.cancel();
	if(downObj.state=="running") downObj.cancel();
	switch(menu_current){
		case "04":
			var hi="400px";
			var func =function(){  return new Effect.Appear($(AREA_LIST),fade_option) ;};
			break;
		case "041":
			var hi="660px";
			var func =function(){  return new Effect.Appear($(AREA_LIST),fade_option) ;};
			break;
		default:
			var hi="auto";
			var func =function(){  return new Effect.BlindDown($(AREA_LIST),blinddown_option);};
	}
	$(AREA_LIST).innerHTML="";
	$(WRAPPER).style.height=hi;
	$(AREA_LIST).innerHTML=ajaxload;
	downObj = func();
}

function menulist_out(){
	if(menu_current=="00") return;
	
	new Effect.Fade(AREA_LIST,{duration:0.2});
	var func=function(){
		$(WRAPPER).style.height="auto";
		new Effect.Appear(AREA_ORIG,fade_option);
	}
	setTimeout(func,300);
	menu_current="00";	
}
function menulist_init(){
	/*for (i=0,L=AREAS_OUT.length;i<L;i++){
		Event.observe($(AREAS_OUT[i]),"mouseover",menulist_out,false);
	}*/
}

var oldonload = window.onload;
if (typeof window.onload != 'function'){
    	window.onload = menulist_init;
} else {
	window.onload = function(){
		oldonload();
		menulist_init();
	}
}

function mapEnlarge(val){
	menuChange("041");
}
function mapReduce(val){
	menuChange("04");	
}