function pause(millis) {
	var date = new Date();
	var curDate = null;
	
	do { curDate = new Date(); }
	while(curDate-date < millis);
} 

function Menge () {
	this.a = new Array();
	
}

Menge.prototype.contains = function (ele) {
	for(var i=0;i<this.a.length;i++)
		if(this.a[i] == ele)
			return true;
	return false;
}

Menge.prototype.add = function(ele) {
	if(this.contains(ele))
		return;
	this.a.push(ele);
}

Menge.prototype.remove = function (ele) {
	for(var i=0;i<this.a.lenght();i++)
		if(this.a[i] == ele) {
			var slice1 = this.a.slice(0,i);
			if(i<this.a.length-1)
				var slice2 = this.a.slice(i+1,this.a.length);
			else
				var slice2 = new Array();
			this.a = slice1+slice2;
			return;
		}
}

Menge.prototype.length = function() {
	return this.a.length;
}

function SiteNavigation() {
	this.menge = new Menge();
	
	this.aktiverButton = null;
	this.aktiverContent = null;
	this.loading = false;
	
	
	this.colors = new Array();
//	this.colors.push('#33709E'); // blau
//	this.colors.push('#EDBB2F'); // orange
//	this.colors.push('#1A961A'); // gruen
	this.colors.push('#A02B1C'); // rota
	
	SiteNavigation.prototype.loadContent = function(buttonDIV,contentDIV) {
		if(this.loading || this.ajaxLoading)
			return;	// abweisen, wenn in bewegung

		var menge = this.menge;
		
		if(!menge.contains(contentDIV)) {
			this.ajaxLoading = true;
			var HTMLRequest = new Request.HTML({
											evalScripts:true,
											append:'content',
											onSuccess:function() {
														menge.add(contentDIV);
														navigation.ajaxLoading = false;
														navigation.loadContent(buttonDIV,contentDIV);
													}
											}
							  ).get('request.php?seite='+contentDIV);
		return;	
		}

		this.loading = true;
		this.disableView();
//		document.body.style.cssText="background-color:"+this.getRandomColorString()+";";
		//window.location.hash = contentDIV;
		$(contentDIV).setStyle('visibility','visible');
		this.aktiverContent = $(contentDIV);
		if (buttonDIV != null) {
			$(buttonDIV).set('class', 'menu_aktiv');
			this.aktiverButton = $(buttonDIV);
		}
		this.aktiverContent.setStyle('z-index',1000);
		this.aktiverContent.fade(1.0);
		var morphObject = new Fx.Morph(this.aktiverContent,{
			onComplete: function(content){
				content.setStyle('height','100%');
				navigation.loading = false;
			}

		});
		
		morphObject.set({
		    'height': 0
		});
		

		morphObject.start({
		    'height': 350
		});
		

	}
	
	SiteNavigation.prototype.disableView = function() {
		if(this.aktiverButton != null) {
			this.aktiverButton.set('class','menu_inaktiv');
			this.aktiverButton = null;
		}
		if(this.aktiverContent != null) {
			var akt = this.aktiverContent;
			this.aktiverContent = null;
			akt.fade(0.0);
			akt.setStyle('height','0');
			akt.setStyle('visibility','hidden');
			akt.setStyle('z-index',500);
		}
	}
	
	SiteNavigation.prototype.getRandomColorString = function() {
		var randomnumber=Math.floor(Math.random()*this.colors.length);
		return this.colors[randomnumber];
	}
}



var navigation = new SiteNavigation();


