/***************************REFLE SCHOOL SlideNavigation_2 = down;_3 = letft position;_4 = top position;_5 = width;_6 = height;_8 = cssの内容_9 = _10 = ContainerName;_11 = ContentName;***************************/refleSlideOutMenu.Registry=[];refleSlideOutMenu.aniLen=250;refleSlideOutMenu.hideDelay=1000;refleSlideOutMenu.minCPUResolution=10;function refleSlideOutMenu(id,_2,_3,_4,_5,_6){	// DOMブラウザーの判別	this.ie=document.all?1:0;  // IE	this.ns4=document.layers?1:0; // NN4	this.dom=document.getElementById?1:0; // Mozilla	this.css="";	if(this.ie||this.ns4||this.dom){		this.id=id;		this.dir=_2;		this.orientation=_2=="left"||_2=="right"?"h":"v";		this.dirType=_2=="right"||_2=="down"?"-":"+";		this.dim=this.orientation=="h"?_5:_6;		this.hideTimer=false;		this.aniTimer=false;		this.open=false;		this.over=false;		this.startTime=0;		this.gRef="refleSlideOutMenu_"+id;		eval(this.gRef+"=this");		refleSlideOutMenu.Registry[id]=this;		var d=document;		var _8="";		_8+="#"+this.id+"Container{visibility:hidden;";		_8+="left:"+_3+"px;";		_8+="top:"+_4+"px;";		_8+="overflow:hidden;z-index:10000;}";		_8+="#"+this.id+"Container,#"+this.id+"Content{position:absolute;";		_8+="width:"+_5+"px;";		_8+="height:"+_6+"px;";		_8+="clip:rect(0 "+_5+" "+_6+" 0);";		_8+="}";		this.css=_8;		this.load();	}}refleSlideOutMenu.writeCSS=function(){	document.writeln("<style type=\"text/css\">");	for(var id in refleSlideOutMenu.Registry){ //refleSlideOutMenu.Registry内にvar idが含まれているかブルー値で取得。		document.writeln(refleSlideOutMenu.Registry[id].css); // 各idに対応するcssを設定する。	}	document.writeln("</style>");};/*************************************************************************************ここでスタイルシートを直接書き出す。（例）<style type="text/css">#menu1Container {	visibility: hidden;	left: 90px;	top: 31px;	overflow:hidden;	z-index:10000;}#menu1Container, #menu1Content {	position:absolute;	width: 140px;	height: 136px;	clip:rect(0 140 136 0);　}</style>**************************************************************************************/refleSlideOutMenu.prototype.load=function(){	var d=document;	var _10=this.id+"Container";	var _11=this.id+"Content";	var _12=this.dom?d.getElementById(_10):this.ie?d.all[_10]:d.layers[_10];	if(_12){		var _13=this.ns4?_12.layers[_11]:this.ie?d.all[_11]:d.getElementById(_11);	}	var _14;	if(!_12||!_13){		window.setTimeout(this.gRef+".load()",100);	}	else{		this.container=_12;		this.menu=_13;this.style=this.ns4?this.menu:this.menu.style;		this.homePos=eval("0"+this.dirType+this.dim);		this.outPos=0;		this.accelConst=(this.outPos-this.homePos)/refleSlideOutMenu.aniLen/refleSlideOutMenu.aniLen;		if(this.ns4){			this.menu.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);		}		this.menu.onmouseover=new Function("refleSlideOutMenu.showMenu('"+this.id+"')");		this.menu.onmouseout=new Function("refleSlideOutMenu.hideMenu('"+this.id+"')");		this.endSlide();	}};refleSlideOutMenu.showMenu=function(id){	var reg=refleSlideOutMenu.Registry;	var obj=refleSlideOutMenu.Registry[id];	if(obj.container){		obj.over=true;		for(menu in reg){			if(id!=menu){				refleSlideOutMenu.hide(menu);			}		}		if(obj.hideTimer){			reg[id].hideTimer=window.clearTimeout(reg[id].hideTimer);		}		if(!obj.open&&!obj.aniTimer){			reg[id].startSlide(true);		}	}};refleSlideOutMenu.hideMenu=function(id){	var obj=refleSlideOutMenu.Registry[id];	if(obj.container){		if(obj.hideTimer){			window.clearTimeout(obj.hideTimer);		}		obj.hideTimer=window.setTimeout("refleSlideOutMenu.hide('"+id+"')",refleSlideOutMenu.hideDelay);	}};refleSlideOutMenu.hideAll=function(){	var reg=refleSlideOutMenu.Registry;	for(menu in reg){		refleSlideOutMenu.hide(menu);		if(menu.hideTimer){			window.clearTimeout(menu.hideTimer);		}	}};refleSlideOutMenu.hide=function(id){	var obj=refleSlideOutMenu.Registry[id];	obj.over=false;if(obj.hideTimer){		window.clearTimeout(obj.hideTimer);	}	obj.hideTimer=0;	if(obj.open&&!obj.aniTimer){		obj.startSlide(false);	}};/*****************************************************  prototypeでrefleSlideOutMenuに独自のメソッドを追加する*  prototype.startSlide*  prototype.slide*  prototype.endSlide*  setVisibility*  prototype.moveTo*  prototype.getPos**************************************************/refleSlideOutMenu.prototype.startSlide=function(_21){	this[_21?"onactivate":"ondeactivate"]();	this.open=_21;if(_21){		this.setVisibility(true);	}	this.startTime=(new Date()).getTime();	this.aniTimer=window.setInterval(this.gRef+".slide()",refleSlideOutMenu.minCPUResolution);};refleSlideOutMenu.prototype.slide=function(){	var _22=(new Date()).getTime()-this.startTime;	if(_22>refleSlideOutMenu.aniLen){		this.endSlide();	}	else{		var d=Math.round(Math.pow(refleSlideOutMenu.aniLen-_22,2)*this.accelConst);		if(this.open&&this.dirType=="-"){			d=-d;		}		else{			if(this.open&&this.dirType=="+"){				d=-d;			}			else{				if(!this.open&&this.dirType=="-"){					d=-this.dim+d;				}				else{					d=this.dim+d;				}			}		}		this.moveTo(d);	}};refleSlideOutMenu.prototype.endSlide=function(){	this.aniTimer=window.clearTimeout(this.aniTimer);	this.moveTo(this.open?this.outPos:this.homePos);	if(!this.open){		this.setVisibility(false);	}	if((this.open&&!this.over)||(!this.open&&this.over)){		this.startSlide(this.over);	}};refleSlideOutMenu.prototype.setVisibility=function(_24){	var s=this.ns4?this.container:this.container.style;s.visibility=_24?"visible":"hidden";};refleSlideOutMenu.prototype.moveTo=function(p){	this.style[this.orientation=="h"?"left":"top"]=this.ns4?p:p+"px";};refleSlideOutMenu.prototype.getPos=function(c){	return parseInt(this.style[c]);};refleSlideOutMenu.prototype.onactivate=function(){};refleSlideOutMenu.prototype.ondeactivate=function(){};