var posX = 0;
var posY = 0;
var btnson = 0;
var cam,lefto, id, movingto, elements;
var isIE;

function getMouseXY(e) {
	if(navigator.appName == "Netscape"){
		posX = e.pageX
	 	posY = e.pageY

	} else {
		posX = event.clientX + document.body.scrollLeft
 		posY = event.clientY + document.body.scrollTop
	}
	
	lefto = document.getElementById('wrapper1').offsetLeft + 16;

	if(isIE) cam = 1;
	else cam = elements[0].offsetTop/120;
	
	if(btnson == 0 && posX > lefto && posX < lefto+(200*cam)) {
		btnson = 1;
		movebtns();
	}
	
 	return true
}

function movebtns() {
	if(posX > lefto && posX < lefto+(200*cam)) {
		for(i=0;i<elements.length;i++) {
			layer = elements[i];
			// Change width accordingly.
			tam = 200*cam;
			if(isIE) num = tam - (tam/4 - Math.abs(posY-(120+layer.offsetTop+(10*cam))));
			else num = tam - (tam/4 - Math.abs(posY-(layer.offsetTop+(10*cam))));
			if(num > tam)
				num = tam;
			if(movingto[i] != num) {
				clearTimeout(id[i]);
				resize(i,num,tam,cam);
			}
		}
		setTimeout("movebtns();",30);
	}
	else {
		btnson = 0;
		for(i=0;i<elements.length;i++) {
			layer = elements[i];
			// Reset width
			tam = 200*cam;
			clearTimeout(id[i]);
			resize(i,tam,tam,cam);
		}	
	}
}

function resize(index,num,tam,cam) {
	var steps, stepsize, currnsize;
	layer = elements[index];
	if(!(parseFloat(sizeobj(layer)) == 18.1818*(num/tam))) {
		currnsize = parseFloat(sizeobj(layer))*11*cam;
		steps = Math.abs(Math.round((num - currnsize) / (3*cam)));
		if(steps <= 0)
			layer.style.width = 18.1818*(num/tam) + "em";
		else {
			stepsize = Math.round((num - currnsize) / steps);
			currnsize = num - (stepsize * steps);
			while(currnsize+stepsize > 200*cam) {
				currnsize+=stepsize;
				steps--;
			}
			movingto[index] = num;
			setTimeout("resizehlpr(" + index + "," + currnsize  + "," + stepsize + "," + steps + "," + tam + ")", 30);
		}
	}
}

function resizehlpr(index,currnsize,stepsize,steps,tam) {
	layer = elements[index];
	currnsize+=stepsize;
	layer.style.width = 18.1818*(currnsize/tam) + "em";
	steps--;
	if (steps != 0)
		id[index] = setTimeout("resizehlpr(" + index + "," + currnsize  + "," + stepsize + "," + steps + "," + tam + ")", 30);
}

function sizeobj(layer) {
	size = layer.style.width;
	if(!size)
		return "18.1818em";
	else
		return size;
}

function init() {
	isIE = navigator.appVersion.indexOf('MSIE')>0;
	elements = cssQuery("div[class='boton']");
	id = new Array(elements.length);
	movingto = new Array(elements.length);
	window.document.onmousemove = getMouseXY;
}

// Not for the buttons

function toggleDiv(div) {
	obj = document.getElementById(div);
	if(obj.style.visibility == "visible")
		obj.style.visibility = "hidden";
	else
		obj.style.visibility = "visible";
}

function showDiv(div) {
	obj = document.getElementById(div);
	obj.style.visibility = "visible";
}

function hideDiv(div) {
	obj = document.getElementById(div);
	obj.style.visibility = "hidden";
}

function toggleSpoiler(sender,dis,show,hide,div) {
	if(div != '')
		obj = document.getElementById(div);
	else
		obj = sender.nextSibling;
	if(!obj.style.display || obj.style.display == "none") {
		obj.style.display = dis;
		if(hide != '')
			hide = "<small>"+hide+"</small>";
		sender.innerHTML = hide;
	} else {
		obj.style.display = "none";
		if(show != '')
			show = "<small>"+show+"</small>";
		sender.innerHTML = show;
	}
	
}