			function startLoading() {
				Element.hide('content');
				Element.show('mainAreaLoading');
			}

			function finishLoading() {
				Element.show('content');
				Effect.toggle('mainAreaLoading', 'appear', { afterFinish: function(){ animation_lock = false; }} );				
			}

			function loadContent(request_url) {				
				startLoading();
				var tmp = new Ajax.Updater('content', request_url, {method: 'post', postBody:'content=', 
					onComplete: finishLoading(),
					onFailure: function(transport, element) {					
						alert('Deine Sitzung ist abgelaufen. Bitte melde Dich erneut an.');
						location.reload();
					},  	
					evalScripts:true 
					}
				);
			}			
			
			function deleteContent(){
				document.getElementById('content').innerHTML = '';				
			}
			
			
			function openContent(){
				if(animation_open == false){
					animation_open = true;					
					/* EYETM TODO: OPERA BUG */
					/* new Effect.Move('content_wrapper_small', { y: -343 } ); */
					
					new Effect.BlindUp('content_index_scoller' );
					new Effect.BlindDown('content_index_small_main' );
					/* EYETM FUTURE: check if opera */
				}
			}
			
			function closeContent(){
				if(animation_open == true){
					animation_open = false;						
					Effect.toggle('content', 'appear', { afterFinish: deleteContent });
					Effect.BlindUp('content_index_small_main' );
					new Effect.BlindDown('content_index_scoller', { afterFinish: function(){ animation_lock = false; }} );
					/* new Effect.Move('content_wrapper_small', { y: 343, afterFinish: function(){ animation_lock = false; }} ); */
				}
			}
			
			
			
			///////////////////////////////////////////////////////////////////
			function doAnimation(target_url, button, innerCall, subButton, subBT_1, closeLC ){
			
				// NO ACTION WHILE ANIMATION
				if(animation_lock == false ){
					animation_lock = true; 			
			
					if(subBT_1 == null){
			
						// CIRCLE BUTTONS
						if(current_button != button && innerCall != true){						
							changeImage(current_button, 'out');
							changeImage(button, 'over');
							current_button = button;
						}
						
						// SUB BUTTONS
						if( subButton != null && sub_button != subButton ){
							changeImage(sub_button, 'out'); // current
							changeImage(subButton, 'over');
							sub_button = subButton;						
						} 
					
					}else{
					
						if(current_button != button && innerCall != true && button != subButton ){
							changeImage(current_button, 'out');
							changeImage(button, 'over');
							current_button = button;
						}
						
						if( subButton != null && sub_button != subButton && button == subButton ){
							changeImage(sub_button, 'out'); // current
							changeImage(subButton, 'over');
							sub_button = subButton;		
						}
						
					}
					
					
					if(closeLC == true){
						if(leftColumn_open == true){							
							closeLeftContent();	
						}
					}
					
					// LOAD CONTENT
					openContent();
					Effect.toggle('content', 'appear', { afterFinish: function(){
							document.getElementById('content').innerHTML = '';
							loadContent(target_url);
						}
					});
										
				}
			}	
			
			
			///////////////////////////////////////////////////////////////////
			function doLeftAnimation(target_url){
			
				
				// NO ACTION WHILE ANIMATION
				if(leftColumn_lock == false ){
					leftColumn_lock = true; 
					
					// IF CONTENT IS CLOSE
					if(leftColumn_open == false){
						
						// OPEN ANIMATION LOAD CONTENT
						openLeftContent();
						loadLeftContent(target_url);
					
					// IF CONTENT IS OPEN			
					}else{
					
						if( target_url != null ){
								Effect.toggle('leftContent', 'appear', { 
									afterFinish: function(){
									document.getElementById('leftContent').innerHTML = '';
									loadLeftContent(target_url);
								}
							});
							
						// CLOSE LEFT CONTENT
						}else{
							closeLeftContent();
						}
					}
				}
				
				
				
			}
			///////////////////////////////////////////////////////////////////
			function submitForm( request_url , from_id ){			
				var data = Form.serialize(from_id);			
				var tmp = new Ajax.Updater(	'content', request_url, { method: 'post',  asynchronous:true, postBody:data , evalScripts:true,
						onFailure: function(transport, element) {
							alert('Deine Sitzung ist abgelaufen. Bitte melde Dich erneut an.');
							location.reload();
						} 
					}
				);
			}
			function submitFormLC( request_url , from_id ){			
				var data = Form.serialize(from_id);			
				var tmp = new Ajax.Updater(	'leftContent', request_url, { method: 'post',  asynchronous:true, postBody:data , evalScripts:true,
						onFailure: function(transport, element) {
							alert('Deine Sitzung ist abgelaufen. Bitte melde Dich erneut an.');
							location.reload();
						} 
					}
				);
			}
			///////////////////////////////////////////////////////////////////
			
			function startLeftLoading() {
				Element.hide('leftContent');
				Element.show('leftAreaLoading');
			}
			
			function finishLeftLoading() {
				Element.show('leftContent');
				Effect.toggle('leftAreaLoading', 'appear', { afterFinish: function(){ leftColumn_lock = false; }} );
			}
			
			function deleteLeftContent(){
				document.getElementById('leftContent').innerHTML = '';				
			}
			
			function openLeftContent(){
				leftColumn_open = true;					
				
				
				new Effect.BlindUp('content_index_left_small_scoller' );
				Effect.BlindDown('content_index_left_small_main' );
				/* new Effect.Move('content_wrapper_left_small', { y: -295 }); */
			}
			
			function closeLeftContent(){
				leftColumn_open = false;						
				Effect.toggle('leftContent', 'appear', { afterFinish: deleteLeftContent });
				Effect.BlindUp('content_index_left_small_main' );
				new Effect.BlindDown('content_index_left_small_scoller', { afterFinish: function(){ leftColumn_lock = false; }});
								
			}
			
			function loadLeftContent(request_url) {				
				startLeftLoading();
				var tmp = new Ajax.Updater('leftContent', request_url, {method: 'post', postBody:'content=', 
					onComplete: finishLeftLoading(),
					onFailure: function(transport, element) {					
						alert('Deine Sitzung ist abgelaufen. Bitte melde Dich erneut an.');
						location.reload();
					},  	
					evalScripts:true 
					}
				);
			}			
						
			
			///////////////////////////////////////////////////////////////////
			///////////////////////////////////////////////////////////////////
						
			function resetButton(){
				if( current_button != null ){
				changeImage(current_button, 'out');
				current_button = null;
				}
			}			
						
						
			function resetSubButton(){	
				if( sub_button != null ){
				changeImage(sub_button, 'out');	
				//changeImage(current_button, 'out');
				sub_button = null;	
				//current_button = null;
				}
				
			}			
						
			function changeImage(id, state){
				if( id != null ){
					var img = document.getElementById(id).src;
					ext = img.substr(img.lastIndexOf('.'));
					path = img.match(/(.*)\/(.*\.(png|gif|jpg))/);
					found = path[2].lastIndexOf('.');
					filename = path[2].substr(0, found);				
					if(filename.lastIndexOf('_over') != -1 && state == 'out' ){ // filename end with _over					
						filename = filename.substr(0, filename.lastIndexOf('_over'));	
						document.getElementById(id).src = path[1]+"/"+filename+ext;							
					}else{
						if( state == 'over' ){
							document.getElementById(id).src = path[1]+"/"+filename+"_over"+ext;								
						}
					}
				}
			}
			
			window.onload = function() {      			
				new Rollover('navigation');
			}
			
			///////////////////////////////////////////////////////////////////
			///////////////////////////////////////////////////////////////////
						
			function setBorders( container, content, direction, div ){					
				if(direction == 'top'){
					var top = Element.getStyle(content, 'top');
					if(top == null){ top = '0px'; }
												
					found = top.lastIndexOf('px');
					top = parseInt(top.substr(0, found));	
					if( top >= 0 ){
						$(content).setStyle({ top: '0px' });
					}else{
						new Effect.Move(content, { y: div });
					}
				}else{
					var top = Element.getStyle(content, 'top');
					if(top == null){ top = '0px'; }
					found = top.lastIndexOf('px');
					top = parseInt(top.substr(0, found));
					var border = Element.getHeight(container) - Element.getHeight(content);
					if( top <= border ){
						$(content).setStyle({ top: border+'px' });
					}	else{
						new Effect.Move(content, { y: div });	
					}
				}					
			}
			
			Object.extend(Event, {
				wheel:function (event){
					var delta = 0;
					if (!event) event = window.event;
					if (event.wheelDelta) {
						delta = event.wheelDelta/120; 
						if (window.opera) delta = -delta;
					} else if (event.detail) { delta = -event.detail/3;	}
					return Math.round(delta); //Safari Round
				}
			});
			
			///////////////////////////////////////////////////////////////////
			///////////////////////////////////////////////////////////////////
			
			
			// EYETM TODO use better script
			/*
			var _isset=0;
			function demo() {
			   window.onbeforeunload = function () {
					if (_isset==0) {
						   _isset=0;
					   return "This is a demonstration, you won't leave the page whichever option you select.";
						}
				 }
				 _isset=0;
				 window.location.reload();
			   _isset=1;
				 return false;
			}
			*/
			/*
			window.onbeforeunload = function(e) {
				return "Nutz die Buttons innerhalb der Seite um zu navigieren.";
			}*/
			
			/*
			function evalScript(scripts)
{	try
	{	if(scripts != '')	
		{	var script = "";
			scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
	       	                         if (scripts !== null) script += arguments[1] + '\n';
 	        	                        return '';});
			if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
		}
		return false;
	}
	catch(e)
	{	alert(e)
	}
}*/