// Javascript

var ie = 0;
var ns = 0;
var moz = 0;
var manif = document;
var music = document;
var hist = document;
var med = document;
var art = document;
var build = document;
var phil = document;

if (document.all) {
  ie = 1;
} else if (document.layers) {
  ns = 1;
} else if (document.getElementById) {
  moz = 1;
}

function init() {
	if (ns) {
		manif = document.divManif;
		music = document.divMusic;
		hist = document.divHist;
		med = document.divMed;
		art = document.divArt;
		build = document.divBuild;
		phil = document.divPhil;
	} else if (moz) {
		manif = document.getElementById("divManif").style;
		music = document.getElementById("divMusic").style;
		hist = document.getElementById("divHist").style;
		med = document.getElementById("divMed").style;
		art = document.getElementById("divArt").style;
		build = document.getElementById("divBuild").style;
		phil = document.getElementById("divPhil").style;
	} else if (ie) {
		manif = divManif.style;
		music = divMusic.style;
		hist = divHist.style;
		med = divMed.style;
		art = divArt.style;
		build = divBuild.style;
		phil = divPhil.style;
	}
	manif.imgx = 113;
	manif.imgy = 170;
	music.imgx = 113;
	music.imgy = 170;
	hist.imgx = 113;
	hist.imgy = 170;
	med.imgx = 113;
	med.imgy = 170;
	art.imgx = 113;
	art.imgy = 170;
	build.imgx = 113;
	build.imgy = 170;
	phil.imgx = 113;
	phil.imgy = 170;
	initlayer(manif);
	initlayer(music);
	initlayer(hist);
	initlayer(med);
	initlayer(art);
	initlayer(build);
	initlayer(phil);
}

function show(item) {
	if (ns) item.visibility = "show";
	else item.visibility = "visible";
}

function hide(item) {
	if (ns) item.visibility = "hide";
	else item.visibility = "hidden";
}

function moveTo(obj,x,y) {
	obj.xpos = x;
	obj.left = obj.xpos;
	obj.ypos = y;
	obj.top = obj.ypos;
}

function moveBy(obj,x,y) {
	obj.xpos += x;
	obj.left = obj.xpos;
	obj.ypos += y;
	obj.top = obj.ypos;
}

function showpos(obj) {
	alert(obj.xpos + ', ' + obj.ypos);
}

function initlayer(obj) {
	this.obj = obj;
	clipTo(obj,obj.imgy,obj.imgx,obj.imgy,0);
	obj.xpos = parseInt(obj.left);
	obj.ypos = parseInt(obj.top);
	moveBy(obj,0,-obj.imgy);
}

function clipValues(obj,which) {
	if (ns) {
		if (which=="t") return obj.clip.top;
		if (which=="r") return obj.clip.right;
		if (which=="b") return obj.clip.bottom;
		if (which=="l") return obj.clip.left;
	} else {
		var clipv = obj.clip.split("rect(")[1].split(")")[0].split("px");
		if (which=="t") return Number(clipv[0]);
		if (which=="r") return Number(clipv[1]);
		if (which=="b") return Number(clipv[2]);
		if (which=="l") return Number(clipv[3]);
	}
}

function clipTo(obj,t,r,b,l) {
	if (ns) {
		obj.clip.top = t;
		obj.clip.right = r;
		obj.clip.bottom = b;
		obj.clip.left = l;
	} else {
		obj.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)";
	}
}

function clipBy(obj,t,r,b,l) {
	if (ns) {
		obj.clip.top = clipValues(obj,'t') + t
		obj.clip.right = clipValues(obj,'r') + r
		obj.clip.bottom = clipValues(obj,'b') + b
		obj.clip.left = clipValues(obj,'l') + l
	} else {
		obj.clip = "rect("+(this.clipValues(obj,'t')+t)+"px "+(this.clipValues(obj,'r')+r)+"px "+Number(this.clipValues(obj,'b')+b)+"px "+Number(this.clipValues(obj,'l')+l)+"px)"
	}
}

function overlink(obj) {
	if (obj.closetimeoutid) {
		clearTimeout(obj.closetimeoutid);				// Keep this shit from closing on the user.
		obj.closetimeoutid = 0;
	}
	obj.olink = 1;
	this.obj = obj;
	if (obj.linktimeoutid) {
		clearTimeout(obj.linktimeoutid);
		obj.linktimeoutid = 0;
	}
	obj.linktimeoutid = setTimeout("checklink(this.obj)",6000);
}

function outlink(obj) {
	obj.olink = 0;
}

function checklink(obj) {
//	alert('checklink: ' + obj.olink);
	if (obj.olink) {
		this.obj = obj;
		obj.linktimeoutid = setTimeout("checklink(this.obj)",6000);		// Event loop, essentially.
		return;
	}
	laClose(obj);
}

function closeall() {
	if (manif.open) quickclose(manif);
	if (music.open) quickclose(music);
	if (hist.open) quickclose(hist);
	if (med.open) quickclose(med);
	if (art.open) quickclose(art);
	if (build.open) quickclose(build);
	if (phil.open) quickclose(phil);
}

function lOpen(obj) {
	if (obj.fullopen) {
		clearTimeout(obj.closetimeoutid);
		obj.closetimeoutid = 0;
		obj.over = 1;
		return;
	}
	
	if (manif.open) quickclose(manif);
	if (music.open) quickclose(music);
	if (hist.open) quickclose(hist);
	if (med.open) quickclose(med);
	if (art.open) quickclose(art);
	if (build.open) quickclose(build);
	if (phil.open) quickclose(phil);
	
	obj.over = 1;
	laOpen(obj);
}

function quickclose(obj) {
	var val = clipValues(obj,'b')-clipValues(obj,'t');
	clipBy(obj,val,0,0,0);
	moveBy(obj,0,-val);
	obj.open = 0;
	obj.fullopen = 0;
	hide(obj);
}

function lClose(obj) {
	obj.over = 0;
	if (obj.fullopen) {
		this.obj = obj;
		obj.closetimeoutid = setTimeout("laClose(this.obj)",6000);
	} else {
		laClose(obj);
	}
}

function laOpen(obj) {
	if (obj.over) {
		if (clipValues(obj,'t') > 0) {
			show(obj);
			obj.open = 1;
			if (clipValues(obj,'t') > 15) {
				clipBy(obj,-15,0,0,0);
				moveBy(obj,0,15);
//				obj.fullopen = 1;
			} else {
				var val = clipValues(obj,'t');
				clipBy(obj,-val,0,0,0);
				moveBy(obj,0,val);
				obj.fullopen = 1;
			}
			this.obj = obj;
			setTimeout("laOpen(this.obj)",15);
		}
	}
}

function laClose(obj) {
	if (!obj.over) {
		if (clipValues(obj,'t') < obj.imgy) {
			if ((clipValues(obj,'b')-clipValues(obj,'t')) > 20) {
				clipBy(obj,20,0,0,0);
				moveBy(obj,0,-20);
				obj.fullopen = 0;
				obj.linktimeoutid = 0;
				obj.closetimeoutid = 0;
			} else {
				var val = clipValues(obj,'b')-clipValues(obj,'t');
				clipBy(obj,val,0,0,0);
				moveBy(obj,0,-val);
			}
			this.obj = obj;
			setTimeout("laClose(this.obj)",15);
		} else {
			obj.open = 0;
			obj.linktimeoutid = 0;
			obj.closetimeoutid = 0;
			hide(obj);
		}
	}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

// Done
