var minimum = 1.4;
var roznica = 2;
var szerokosc = 4;

var em=16;
var ex=8;

var literki = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
var sizeT = new Array; // size - taki jak jest teraz
var item = new Array;
var title = new Array;
var mouseOver = 0;
var animating = false;
var m=0; // aktualny X myszki
var mnoznik = 0; //nie zmieniac


function init() {
	for (var i=0; i<iloscItemowWMenu; i++) { // zapelnienie tablic defaultami
		sizeT[i] = minimum;
		item[i] = document.getElementById('m'+i);
		title[i] = document.getElementById('t'+i);
	}
	calcEmEx();
}

function calcEmEx() {
	if (!document.getElementById('em-ex').offsetLeft) {
		// alert('ni ma ofseta, ni da rady policzyc ema... :/');
		em=16;
		ex=8;
		return;
	}
	em = document.getElementById('em-ex').offsetLeft/10;
	ex = document.getElementById('em-ex').offsetTop/10;
	// alert(em+','+ex);
}

function mouseX(evt) {
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	   return evt.clientX + (document.documentElement.scrollLeft ?
		   document.documentElement.scrollLeft :
		   document.body.scrollLeft);
	else return null;
}

function mouseY(evt) {
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	   return evt.clientY + (document.documentElement.scrollTop ?
		   document.documentElement.scrollTop :
		   document.body.scrollTop);
	else return null;
}

///////////////////////////////////////////////////

function obliczWysokosc(x) {
	var odleglosc = x-m;
	if (odleglosc<szerokosc*2 && odleglosc>-szerokosc*2)
		return Math.cos(odleglosc*Math.PI/(szerokosc*2))/2 + .5;
	else return 0;
}

function setSize(num, size) {
	if (!item[num]) return;
	size*=mnoznik;
	if (size==sizeT[num]) return;
	item[num].style.height = minimum + size*roznica + 'em';
	var literka = num==activeTab ? 0 : literki[1+Math.round(size*15-.501)];
	if (undefined==literka) alert(size);
	title[num].style.color = '#'+literka+literka+literka;
	sizeT[num] = size;
}

function setSizeAll(size) {
	for (var i=0; i<iloscItemowWMenu; i++)
		setSize(i, size);
}		

function anim() {
	animating=true;
	var p=mouseOver;
	//var koniec=false;
	if (p) mnoznik = (mnoznik+p)/2;
	mnoznik = (mnoznik*3+p)/4;
	
	if (mnoznik<0.03 || mnoznik>0.97) {
		mnoznik=mouseOver;
		animating=false;
		return;
	}
	
	//kosolka=document.getElementById('konsolka');	
	//konsolka.innerHTML = 'em: '+em+'; ex: '+ex+'<br />mnoznik: '+mnoznik;
	for (var i=0; i<iloscItemowWMenu; i++) {
		//konsolka.innerHTML += 'D: '+obliczWysokosc(szerokosc*(i+.5)).toFixed(2)+'; T:'+sizeT[i].toFixed(2) + '<br />';		
		setSize(i, obliczWysokosc(szerokosc*(i+.5)));
	}
	
	setTimeout('anim()', 30);
}

function trackMouse(evt) {
	if (null===em) alert ('sdfgsdfgs');
	//var evt = (evt) ? evt : ((window.event) ? event : null);
	var x=mouseX(evt)/em;
	var y=mouseY(evt)/ex;
	m=x;
	// trzaby cos zrobic jakby mouseX bylo null 
	//document.getElementById('leftTracker').style.left = x+'em';
	//document.getElementById('topTracker').style.top = y+'em';
	//window.status = 'X:'+x+'; Y:'+y;
	if (y>11 || y<2 || x>30 || x<0) {
		if (!mouseOver) return;
		else {
			//alert(0); 
			mouseOver=0;
			if (!animating) anim();
			calcEmEx();
			return;
		}
	}
	if (!mouseOver) {
		mouseOver=1;
		if (!animating) anim();
		//alert(1);
	}
	m=x;
	for (var i=0; i<iloscItemowWMenu; i++)
		setSize(i,obliczWysokosc(szerokosc*(i+.5)));
}
