// Utviklet av Loopback Systems AS
// For Mediagården / Club Kamikaze
// Utvikler: Håkon Nessjøen

var menyvalg = new Array('thegallery','hvaskjer','musikk','drinks','omoss','mailinglist','venner','kontakt');

function getObj(obj) {
  return document.all ? document.all[obj] : document.getElementById(obj);
}

function setOpacity(obj, opacity) {
	if (opacity == 0 && obj.style.visibility != "hidden") obj.style.visibility = "hidden";
	else if (obj.style.visibility != "visible") obj.style.visibility = "visible";
	if (window.ActiveXObject) obj.style.filter = "alpha(opacity=" + parseInt((opacity*100)) + ")";
	if (obj.style.MozOpacity) obj.style.MozOpacity = opacity;
	else obj.style.opacity = opacity;
};

var kamikazehover;
var kamikazetimer;
var kamikazebg;
var kamikazeteller;
var kamikazetellertimer;

function bgoff(except) {
	kamikazebg.iterate(function (obj) {
		if (obj != except)
			setOpacity(obj,0);
		else
			setOpacity(obj,1);
	});
}

function bgon() {
	if (kamikazehover) {
		getObj(kamikazehover + 'hover').id = kamikazehover;
	}
	kamikazehover = '';
	kamikazebg.iterate(function (obj) {
			setOpacity(obj,1);
	});
	kamikazetimer = '';
}

function kamikaze_run() {
	kamikazebg = document.getElementsByClassName('li');
 
	menyvalg.iterate(function (name) {

		if (getObj(name))
			getObj(name).animate = function () {
				setOpacity(this.childNodes[0],kamikazeteller += 0.06);
				if (kamikazeteller <1)
					kamikazetellertimer = setTimeout(this.animate.bind(this),1);
			}

		getObj('hover' + name).onclick = function () {
			if (getObj(name + 'hover')) {
				window.location.href = getObj(name + 'hover').childNodes[0].rel;
			}
		}
		getObj('hover' + name).onmouseout = function () {
			if (kamikazetellertimer) {
				clearTimeout(kamikazetellertimer);
				kamikazetellertimer = '';
				kamikazeteller = 0;
			}
			if (kamikazetimer) {
				clearTimeout(kamikazetimer);
				kamikazetimer = '';
			}
			kamikazetimer = setTimeout(bgon,10);
		};

		getObj('hover' + name).onmouseover = function () {

			if (kamikazetimer)
				clearTimeout(kamikazetimer);

			if (kamikazetellertimer) {
				setOpacity(getObj(kamikazehover + 'hover').childNodes[0],0);
				clearTimeout(kamikazetellertimer);
			}

			bgoff(getObj(name));
			if (kamikazehover) {
				getObj(kamikazehover + 'hover').id = kamikazehover;
			}

			kamikazeteller = 0;

			kamikazehover = name;
			getObj(name).id = name + 'hover';
			getObj(name + 'hover').animate();
		};

	});
}
