//Глобальные определения
Menus=new Array();
NumberOfBlocks=0;
Constr();
engine ();
onresize=RecalcPos;

//Функции
function _position (x,y) {
	this.x=x;
	this.y=y;
	}

function realPos (obj,_pos) {
	_pos.x+=obj.offsetLeft;
	_pos.y+=obj.offsetTop;
	if (obj.offsetParent.tagName=="BODY")
		return _pos;
		else realPos (obj.offsetParent,_pos);	
	return _pos;
	}
	
function realPosAbs (obj,_pos) {
	_pos.x=parseInt (obj.style.left);
	_pos.y=parseInt (obj.style.top);
	return _pos;
	}
	
function ShowMenu() {
	N=this.menuNumber;
	with (Menus[N]) {
		clipChange=100;
		alphaChange=100;
		menu.style.display="block";
		//mTitle.className="menuplus";
		//mTitle.className=mTitle.className;
		}
	}

function HideMenu() {
	N=this.menuNumber;
	with (Menus[N]) {
		clipChange=-100;
		alphaChange=-100;
		//mTitle.className=mTitle.className;
		mTitle.className="";
		}
	} 

function MenuClass (Number,mTitle,menu) {
	this.mTitle=mTitle;
	this.menu=menu;
	this.alpha=0;
	this.alphaChange=0;
	this.clip=0;
	this.clipChange=0;
	Pos=realPosAbs (mTitle,new _position (0,0));
	this.Pos=Pos;
	mTitle.menuNumber=Number;
	menu.menuNumber=Number;
	mTitle.onmouseover=ShowMenu;
	mTitle.onmouseout=HideMenu;
	menu.onmouseover=ShowMenu;
	menu.onmouseout=HideMenu;
	//menu.style.position="absolute";
	//alert(Pox.x, Pos.y);
	//menu.style.left=Pos.x-35+"px"; // смещение относительно блока mTitle по x
	//menu.style.top=Pos.y+28+"px"; // смещение относительно блока mTitle по y
	
	menu.style.filter="alpha(opacity=0)";
	menu.style.clip="rect(0px 0px 0px 0px)";
	}

function Constr() {	
for (i=1;i<=100;i++) {
	
	if (!(mTitle=document.getElementById("mTitle"+i)))
		break;
	NumberOfBlocks++;
	
	menu=document.getElementById("menu"+i);
	Menus[i]=new MenuClass(i,mTitle,menu);
	} 
}

function RecalcPos(){
	for(i=1;i<=NumberOfBlocks;i++)
	{
		Menus[i].Pos=realPosAbs (Menus[i].mTitle,new _position (0,0));
	}
}

function engine () {

	for (i=1;i<=NumberOfBlocks;i++) {
		with (Menus[i]) {
			if (alphaChange!=0) {
				alpha+=alphaChange;
				menu.style.opacity=alpha/100;
				menu.style.KhtmlOpacity=alpha/100;
				menu.style.MozOpacity=alpha/100;
				menu.style.filter="alpha(opacity="+alpha+")";
				if (alpha<=0) {
					alpha=0;
					alpaChange=0;
					menu.style.display="none";
					//mTitle.style.fontWeight="normal";
					}
				if (alpha>=90) {alpha=90; alpaChange=0;}
				}
			if (clipChange!=0) {
				clip+=clipChange;
				if (clip>=100) {clip=100;clipChange=0;}
				if (clip<=0) {clip=0;clipChange=0;}
				//menu.style.clip="rect(0 "+menu.offsetWidth+" "+menu.offsetHeight*clip/100+" 0)";
				menu.style.clip="rect(0px "+menu.offsetWidth*clip/100+"px "+menu.offsetHeight*clip/100+"px 0px)";
				//rect (top right bottom left);
				}
			}	
		}
	setTimeout('engine()',55);
	}