function getBounds(element) {
	var left = element.offsetLeft;
	var top = element.offsetTop;
	for (var parent = element.offsetParent; parent; parent = parent.offsetParent) {
		left += parent.offsetLeft - parent.scrollLeft;
		top += parent.offsetTop - parent.scrollTop
	}
	return {left: left, top: top, width: element.clientWidth | element.offsetWidth, height: element.clientHeight | element.offsetHeight};
//	return [left,top,element.offsetWidth, element.offsetHeight];
}

var depts = {"main":[null,0,null], 
			/*"anima":[null,0,null],*/ 
			"avanti":[null,0,null],
			"identica":[null,0,null],
			/*"semantica":[null,0,null],*/
			"marca":[null,0,null],
			"axon":[null,0,null]
			};

var StandTimeOut = 50;
var StandDivider = 3;
var CurrentDept = "";

function getElementHeight(elmnt) {
		return elmnt.offsetHeight;
}

function InitDepts() {
	max_height = 0;
	for (var i in depts) {
		var curdept = document.getElementById("main_content_"+i);
		if (curdept) {
			depts[i][0] = curdept;
			depts[i][1] = getElementHeight(depts[i][0]);
			
			// вариант в составе
			max_height = (max_height > depts[i][1])?max_height:depts[i][1];
			if (i!="main") {
				depts[i][0].style.display = "none";
				depts[i][0].style.position = "relative";
				depts[i][0].style.height = "1px";
				depts[i][0].style.visibility = "hidden";
				depts[i][2] = document.getElementById("menui_"+i);
			}

			// вариант на подложке
			//depts[i][0].style.left = "100px";
			//depts[i][0].style.top = "100px";

		}
	}

	// вариант в составе
	depts["main"][1] = max_height+100;
	depts["main"][0].style.height = max_height+"px";
	depts["main"][0].style.position = "relative";

	max_height += 143;
	document.getElementById("vista_righttop").style.height = max_height+"px";
	showdept("main");
}

function showdept(id) {
	if (CurrentDept != id) {
		CurrentDept = id;
		for (var i in depts) {
			var curdept = depts[i][0];
			if (curdept) {
				if (i == id) {
					if (getElementHeight(curdept)!=1) {
						if (depts[i][2]) {
							depts[i][2].className = "dept_item_selected";
						}
						startShow(i);
					}
				} else {
					curdept.style.display = "none";
					curdept.style.height = "1px";
					curdept.style.visibility = "hidden";
					/* //Хреново работает
					if (curdept.style.display!="none" && getElementHeight(curdept)!=depts[i][1]) {
						var Strcode = "decreaseHeightUpTo('"+elid+"')";
						setTimeout(Strcode,StandTimeOut);
	        
						//window.alert(getElementHeight(curdept)+" / "+depts[i][1])
					} else {
						curdept.style.display = "none";
						curdept.style.height = "1px";
						curdept.style.visibility = "hidden";
					}
					*/
					if (depts[i][2]) {
						depts[i][2].className = "dept_item";
					}
				}
			} else {
				//window.alert(i +" is undefined!");
			}
		}
	}
}


function startShow(elid) {
	var elmnt = depts[elid][0];
	var curheight = getElementHeight(elmnt);
	//elmnt.style.height = "1px";
	elmnt.style.display = "";
	elmnt.style.visibility = "visible";
	elmnt.style.height = depts[elid][1]+"px";
	/*
	var Strcode = "increaseHeightUpTo('"+elid+"', "+depts[elid][1]+")";
	setTimeout(Strcode,StandTimeOut);
	*/
}

function decreaseHeight(elid) {
	var elmnt = depts[elid][0];
	var curheight = getElementHeight(elmnt);

	var nextHeight = 1;
	if ( curheight > 2 ) {
		nextHeight = Math.ceil(curheight / StandDivider);
		elmnt.style.height = nextHeight+"px";
		setTimeout("decreaseHeightUpTo('"+elid+"')",StandTimeOut);
	} else {
		elmnt.style.height = "1px";
		elmnt.style.display = "none";
		elmnt.style.visibility = "hidden";
	}
}

function increaseHeightUpTo(elid, limit) {
	var elmnt = depts[elid][0];
	var curheight = getElementHeight(elmnt);

	var nextHeight = limit;
	if ( limit >= curheight + 2 ) {
		
		nextHeight = curheight + Math.ceil((limit-curheight) / StandDivider);
	}
	if (nextHeight > curheight) {
		elmnt.style.height = nextHeight+"px";
		setTimeout("increaseHeightUpTo('"+elid+"', "+limit+")",StandTimeOut);
	}
}
