/* http://ypslideoutmenus.sourceforge.net/ */
ypSlideOutMenu.Registry=[]; // the Registry
ypSlideOutMenu.aniLen=250;
ypSlideOutMenu.hideDelay=300;
ypSlideOutMenu.minCPUResolution=10;

function ypSlideOutMenu(id,_2,_3,_4,_5,_6) { // vars: (id, direction, leftpos, toppos, width, height)
	this.ie=document.all?1:0;
	this.ns4=document.layers?1:0;
	this.dom=document.getElementById?1:0;
	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="ypSlideOutMenu_"+id;
		eval(this.gRef+"=this");
		ypSlideOutMenu.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();
	}
	
}

ypSlideOutMenu.writeCSS = function() {
	document.writeln("<style type=\"text/css\">");
	
	for(var id in ypSlideOutMenu.Registry) {
		document.writeln(ypSlideOutMenu.Registry[id].css);
	}
	
	document.writeln("</style>");
	
};

ypSlideOutMenu.prototype.load = function() {
	var d=document;
	var _10=this.id+"Container"; // 'menu1Container'
	var _11=this.id+"Content"; // 'menu1Content'
	var _12=this.dom?d.getElementById(_10):this.ie?d.all[_10]:d.layers[_10]; // check for DOM???
	
	if(_12) {
		var _13=this.ns4?_12.layers[_11]:this.ie?d.all[_11]:d.getElementById(_11); // check for ns4 or ie(???)
	}
	
	var _14;
	
	if(!_12||!_13) {
		window.setTimeout(this.gRef+".load()",100); // if not ns4 or ie...(???)
	} 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)/ypSlideOutMenu.aniLen/ypSlideOutMenu.aniLen;
		
		if(this.ns4) {
			this.menu.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);
		}
		
		this.menu.onmouseover=new Function("ypSlideOutMenu.showMenu('"+this.id+"')");
		this.menu.onmouseout=new Function("ypSlideOutMenu.hideMenu('"+this.id+"')");
		this.endSlide();
	}
	
};

ypSlideOutMenu.showMenu = function(id) {
	var reg=ypSlideOutMenu.Registry; // refer to the registry
	var obj=ypSlideOutMenu.Registry[id]; // refer to the specific object 
	
	if(obj.container) {
		obj.over=true;
		
		for(menu in reg) {
			if(id!=menu) {
				ypSlideOutMenu.hide(menu);
			}
		}
		
		if(obj.hideTimer) {
			reg[id].hideTimer=window.clearTimeout(reg[id].hideTimer);
		}
		
		if(!obj.open&&!obj.aniTimer) {
			reg[id].startSlide(true);
		}
	}
	
};

ypSlideOutMenu.hideMenu = function(id) {
	var obj=ypSlideOutMenu.Registry[id];
	
	if(obj.container) {
		
		if(obj.hideTimer) {
			window.clearTimeout(obj.hideTimer);
		}
		
		obj.hideTimer=window.setTimeout("ypSlideOutMenu.hide('"+id+"')",ypSlideOutMenu.hideDelay);
	}

};

ypSlideOutMenu.hideAll = function() {
	var reg=ypSlideOutMenu.Registry;
	
	for(menu in reg) {
		ypSlideOutMenu.hide(menu);
		
		if(menu.hideTimer) {
			window.clearTimeout(menu.hideTimer);
		}
	}
	
};

ypSlideOutMenu.hide = function(id) {
	var obj=ypSlideOutMenu.Registry[id];
	obj.over=false;
	
	if(obj.hideTimer) {
		window.clearTimeout(obj.hideTimer);
	}
	
	obj.hideTimer=0;
	
	if(obj.open&&!obj.aniTimer) {
		obj.startSlide(false);
	}
	
};

ypSlideOutMenu.prototype.startSlide = function(_21) {
	//this[_21?"onactivate":"ondeactivate"](); ----AM took this out so it would stop 'jumping'
	this.open=_21;
	
	if(_21) {
		this.setVisibility(true);
	}
	
	this.startTime = (new Date()).getTime();
	this.aniTimer=window.setInterval(this.gRef+".slide()",ypSlideOutMenu.minCPUResolution);
	
};

ypSlideOutMenu.prototype.slide = function() {

	var _22=(new Date()).getTime()-this.startTime;
	
	if(_22>ypSlideOutMenu.aniLen) {
		this.endSlide();
	} else {
		var d=Math.round(Math.pow(ypSlideOutMenu.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);
		
	}
	
};

ypSlideOutMenu.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);
	}
	
};

ypSlideOutMenu.prototype.setVisibility  =function(_24) {
	var s=this.ns4?this.container:this.container.style;s.visibility=_24?"visible":"hidden";
};

ypSlideOutMenu.prototype.moveTo=function(p) {
	this.style[this.orientation=="h"?"left":"top"]=this.ns4?p:p+"px";
};

ypSlideOutMenu.prototype.getPos=function(c) {
	return parseInt(this.style[c]);
};

ypSlideOutMenu.prototype.onactivate=function() { 
};

ypSlideOutMenu.prototype.ondeactivate=function(){
};

/* specific to this site */

var menus = [
	new ypSlideOutMenu("menu1", "down", 0, 100, 180, 245), //2        vars: (id, direction, leftpos, toppos, width, height)
	new ypSlideOutMenu("menu2", "down", 101, 100, 180, 182), //5
	new ypSlideOutMenu("menu3", "down", 280, 100, 180, 152), //4
	new ypSlideOutMenu("menu4", "down", 373, 100, 180, 92) //7
]
		
for (var i = 0; i < menus.length; i++) {
	menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");
	menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");
}
		
ypSlideOutMenu.writeCSS();

/* show hide */

function show(x) { 
	
    if (document.getElementById('info'+x).style.display == 'none') {
        document.getElementById('info'+x).style.display = 'block' // open it
		
    } else {
        document.getElementById('info'+x).style.display = 'none' // close it
    }
	
    if (document.getElementById('close'+x).style.display == 'none') {
        document.getElementById('close'+x).style.display = 'block' // open it
    } else {
        document.getElementById('close'+x).style.display = 'none' // close it
    }
	
    if (document.getElementById('expand'+x).style.display == 'none') {
        document.getElementById('expand'+x).style.display = 'block' // open it
    } else {
        document.getElementById('expand'+x).style.display = 'none' // close it
    }
	
}


/* random image */

var theImages = new Array()
theImages[0] = 'images/home_2.jpg'
theImages[1] = 'images/home_3.jpg'
theImages[2] = 'images/home_4.jpg'

var j = 0
var p = theImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
   preBuffer[i] = new Image()
   preBuffer[i].src = theImages[i]
}
var whichImage = Math.round(Math.random()*(p-1));
function showImage(){
document.write('<img src="'+theImages[whichImage]+'">');
}

/* end random image */