function initSetHeightAndcMenu () {
	set_cmenu_height();
	initcMenu();
}


function set_cmenu_height () {
	
	var HEADER_HEIGHT	= 18;
	var MAX_HEIGHT		= 455;
	
	var allHeaders = $$('.cmenu_h_active, .cmenu_h');
	if (!allHeaders) {return;}
	
	var headerWidth = allHeaders[0].getWidth();
	var headerOffset = allHeaders[0].offsetTop;
	
	var allheadersheight = $$('.cmenu_h_active, .cmenu_h').size() * HEADER_HEIGHT;
	
	var setheight = function(node){
		var nodeHeight = node.getHeight();
		var h = MAX_HEIGHT - allheadersheight - headerOffset;
		
		node.setStyle({width:headerWidth+'px'});
		
		if (nodeHeight > h) {
			node.setStyle({height:h+'px'});
		}
		
	}
	
	$$('.cmenu').each(setheight);
	
}


function colapsingmenu(clickObjects, menuObjects) {
	this.stopped = true;
	
	this.clickObjects = clickObjects;
	this.menuObjects = menuObjects;
	
	this.clickedO = null;
	
	this.newOpened = null;	
	this.oldOpened = null;
}

function initcMenu() {
	cMenu = new colapsingmenu(document.getElementsByClassName("cmenu_h"), document.getElementsByClassName("cmenu"));
	cMenu.start(cMenu.cmenu1);
}

colapsingmenu.prototype.start = function (id,clickedO) {
	// first time: colapse all, open first;
	if (!clickedO) {

		this.start('cmenu1_content', this.clickObjects[0]);	// disabled by request. script won't open first item per default
		this.clickObjects[0].className = 'cmenu_h_active';
	}
	else {
		clickedO.blur();
		clickedO.className = 'cmenu_h_active';
		if (id!=this.oldOpened && this.stopped) {
			this.stopped = false;
			this.newOpened = id;
			
			if (this.clickedO!=null) this.setclickedobject(0);
			this.clickedO = clickedO;
			
			var self = this;
			try {
				$$('.scrolltrack').invoke('remove');
				Effect.SlideUp(this.oldOpened,{duration:.8,afterFinish:function () {self.open()}});
			}
			catch (e) {
				this.open();
			}
		}
	}
}

colapsingmenu.prototype.open = function () {
	this.setclickedobject(1);
	this.setbottomclickobjects();
	var self = this;
	new Effect.SlideDown(this.newOpened,{scaleTo:50, duration:.8, afterFinish:function () {self.addScrollBar(), self.oldOpened = self.newOpened; self.stopped = true;}});
}

colapsingmenu.prototype.addScrollBar = function(){
	new Odessa.Scrollblock($(this.newOpened));
}

// disabled!
colapsingmenu.prototype.setclickedobject = function (mode) {
	if (mode==1) {
		this.clickedO.className = 'cmenu_h_active';
	}
	else {
		this.clickedO.className = 'cmenu_h';
	}
}

// disabled!
colapsingmenu.prototype.setbottomclickobjects = function () {
return;
	var bottom = false;
	for (i=0; i<this.menuObjects.length;i++) {
		if (this.menuObjects[i].id != this.newOpened) {
		if (bottom)
			this.clickObjects[i].style.background = 'url(../images/slidemenu.gif) repeat-x';
		else
			this.clickObjects[i].style.background = 'url(../images/slidemenu.gif) repeat-x';
		}
		if (this.menuObjects[i].id == this.newOpened) 
			bottom = true;
	}
}


document.observe('dom:loaded', function(){
	initSetHeightAndcMenu.delay(3);
});

