/* (c) Andre Pahl */

isIE=(navigator.userAgent.indexOf("MSIE")!=-1)

coverLoaded=0
LASTsection=""
RunSTATEactive=0
MENU_MAIN_ITEMS=new Array('INFO', 'WORK', 'SEARCH')
MENU_VISIBLE=0

MOOD_SHUFFLE=1 // shuffle mood slideshow

MENU_MAIN_LINKS_ACTIVE=0 // which item of INFO | WORK | SEARCH is active?
SUBMENU_LINKS_ACTIVE="" // which item of MEDIA | RELATED .. is active?
MENU_MAIN_WORK_SELECTED=0 // which item of OUR FAVORITES | CHRONOLOGICAL .. is active?
MENU_MAIN_LINKS_WORK_ACTIVE=0 // link id of OUR FAVORITES | CHRONOLOGICAL...
MENU_MAIN_SELECTED="" // contains INFO, WORK, SEARCH, PROJECT ...
MENU_MEM=",,," // remembers page before main menu gets selected to be able to switch back
LAST_MENU_MAIN_SELECTED=""
INFO_MENU_ACTIVE_ID="" // id of the info menu item that is selected

LAST_VID_WRITE_ID="" // last shown video ID
LAST_IMG_DET_LINK="" // contains last link of detail image, in case the site is being resized

OLD_PROJECT="" // holds project ID from the current project being displayed
LAST_URL="" // holds the last URL hash
GO_UP_FAST=1 // if the site is hotlinked to a RELATED | MEDIA etc section, don't animate it the 1st time

CONTENT_Y=480 // y position of the content (text below image, or fullscreen text)

// MOOD SLIDESHOW
MOOD_SlideShowDIV=0
MOOD_nextID=1
MOOD_theID=1
MOOD_slideshow_active=0
MOOD_timer=0
MOOD_timerID=0

DELAYTIMER_reload_imgvid=0 // delay of reloading detail image/video
DELAYTIMER_resize=0 // delay for resizing 
INFO_TIP_TIMER=0
IMG_TIP_TIMER=0
SEARCH_LOADANIM_TIMER=0

BACKLINK=new Array() // contains info of the back link

// welcome logo sizes
REALU_LOGO_W=new Array(500,600,700,900,1142,1600,1800)
REALU_LOGO_H=new Array(48,58,68,87,111,155,174)
IS_INITIALIZED=0 // page ini
SEARCH_TIMER=0
SEARCH_DELAY=700 // ms till a keystroke toggles a search
OUTDATED_PAGE=0 // if 1 it displays the message that the page wasn't found


function PAGE_INI() {
	// start everything	

	StateManager = EXANIMO.managers.StateManager;
	StateManager.onstatechange = function(e) {	
		checkSTATE(e)
	}	

	SECTIONextraparams=new Array()
	LASTsection=""
	
	lcId = Math.round(Math.random()* new Date().getTime());
	flashProxy = new FlashProxy(lcId, "_INCL/JavaScriptFlashGateway.swf");
	
	flashvideoID = Math.round(Math.random()* new Date().getTime());
	flashProxy2 = new FlashProxy(flashvideoID, "_INCL/JavaScriptFlashGateway.swf");

	StateManager.initialize()
	
	var h=$(window).height()
	CONTENT_Y=h-205			
	$("#THE_CONTENT").css({'top': CONTENT_Y}) // prevent scrolling down of initial page
								  
	RESIZE()
	RunSTATE()
	
	// assign function to searchbox
	IGNORE_CHARS=new Array(13,16,17,18,37,38,39,40,91,93,224) // function & cursor keys

	$('#SEARCH_INPUT').keyup(function(event){
		//alert(event.keyCode)
	
		if (event.keyCode==27) {
			// ESC pressed
			MMS(3)
			return
		}
		if (ARRAY_pos(IGNORE_CHARS,event.keyCode)==-1) {
			SEARCH()
		}
	});
	
	IS_INITIALIZED=1
	
	// preload search images
	SEARCH_LOADIMGS=new Array()
	SEARCH_LOADIMGS_CC=0
	
	for (var i=0; i<=12; i++) {
		SEARCH_LOADIMGS.push(new Image())
		SEARCH_LOADIMGS[i].src = "_GFX/interface2/ld"+i+".png";
	}
	
}

$(function() {
	WELCOME_SHOW()
});


function stopError() {
	return true;
}
if (isIE) {
	//window.onerror=stopError;
}
	
function releaseRunSTATE() {
	// RunSTATE get's called 2 times if the site is accessed directly
	// to prevent 2 times calling it, make a small timeout
	RunSTATEactive=0
}

function LOAD_FS_TEXT(themode,extraparams) {
	// loads a fullscreen text and makes columns
	
	var TEMP_URL=new Array()
	var TEMP=splitURL()
	var TEMP_URL=(TEMP).join(',')
	
	var h=$(window).height()
	var w=$(window).width()
	
	$.get('_INCL/loadContent.php?section=1&mode='+themode+'&id='+TEMP[1]+'&URL='+TEMP_URL+'&r='+Math.random()+extraparams, function(data) { 
		
		if ($('#SUB_SPIN')) {
			$('#SUB_SPIN').css('display', 'none') 
		}
		
		if (data.indexOf('[INACTIVE_LINK]')!=-1) {
			// outdated page content!
			setTimeout('INACTIVE_LINK()',1500)
			return
		}
	
		if (data.indexOf("[MAKECOLUMNS]")!=-1) {
			// is full screen text, so remove the divider that normally separates the info text (project info...) from the rest of the text
			data=data.replace('<span class="colbreak"></span>', "");
		}
		
		$('#COLUMNTEXT_prepare').html(data)
		var vColumns = Columns.splitText($('#COLUMNTEXT_prepare').html(), 300, h-100-40-20);
		var vSplit=""
		colWidth= 	290
		colHeight= 	140
		colSpace= 	20
	
		$('#FULL_TEXT_CONTENT').css({'height':h-100-40, 'width':w-37}) // resize content here
						
		if (data.indexOf("[MAKECOLUMNS]")!=-1) {
			// DISPLAY OF MULTI-COLUMN TEXT, eg. at publications
			
			/* !!! check if this script works better
			$('#FULL_TEXT_CONTENT').columnize({
				width:300,
				columns:false
			});
			*/
		
			for (var i=0;i<vColumns.length;i++){
				
				var marRight=(i<(vColumns.length-1)) ? colSpace:0
				
				if (vColumns.length>1) {
					vSplit += '<div id="divColumn' + i + '" style="float:left; padding-bottom:30px; margin-bottom:30px; border-bottom:1px dotted white; margin-right:'+marRight+'px; width: ' + 300 + 'px; height: ' + (h-100-40-20) + 'px; text-align:left">'
					vSplit += vColumns[i];
					vSplit += '</div>';
				} else {
					// only 1 column !
					vSplit += '<div id="divColumn' + i + '" style="float:left; padding-bottom:30px; margin-bottom:30px; margin-right:'+marRight+'px; width: ' + 300 + 'px; text-align:left">'
					vSplit += vColumns[i];
					vSplit += '</div>';
					
				}
			}
			
			$("#FULL_TEXT_CONTENT").css('display', 'block') // be sure the surrounding div is not display:none, otherwise width is 0 -> error!!
			$("#FULL_TEXT_CONTENT").width(vColumns.length*(300+colSpace)-colSpace+10)	
			$("#FULL_TEXT_CONTENT").width(w-30)
			
			$('#FULL_TEXT_CONTENT').html(vSplit)
			$("#COLUMNTEXT_prepare").html('')
			
		
		} else {
			// show now columns
			
			$('#FULL_TEXT_CONTENT').html(data)
			// !!! Ok here?
			makeTooltips('#FULL_TEXT_CONTENT img.mo')
			makeTextboxScrollers()
			makeRelTextboxScrollers()
			
			
		}
		if ($('#FULL_TEXT_CONTENT').html()!="") {
			$('#FULL_TEXT_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
		}
		
		if (data.indexOf("MAKE_TOOLTIPS_ID")!=-1) {
			// make tooltips for list types (awards, publicastions..)
			makeTooltips($('#MAKE_TOOLTIPS_ID').val())
		}
		
		$("#BIG_IMAGE").css({height: 0+"px"})
		if (GO_UP_FAST==1) {
			GO_UP_FAST=0
			$("#THE_CONTENT").css({'top': CONTENT_Y+'px'})
		} else {
			$("#THE_CONTENT").animate({'top': CONTENT_Y+'px'},700)
		}
		
	});
}


function RunSTATE() {
	// executes everything that is necessary to interpret the URL and to show the right content
	
	if (RunSTATEactive==1) {
		return
	}
	RunSTATEactive=1
	setTimeout("releaseRunSTATE()", 500) // block this function for 500ms
	
	// clear tooltip
	TTRM()
	clearTimeout(INFO_TIP_TIMER)
	clearTimeout(IMG_TIP_TIMER)
	clearTimeout(SEARCH_LOADANIM_TIMER)
	clearTimeout(DELAYTIMER_resize)

	var h=$(window).height()
	var w=$(window).width()
	
	var TEMP=new Array()
	TEMP=splitURL()
	var loadfunction=""
	
	if (TEMP.join(',')==LAST_URL) {
		// same URL again, don't do anything
		return
	}
	LAST_URL=TEMP.join(',')
	
	MENU_MAIN_LINKS_ACTIVE=0
	MENU_MAIN_LINKS_WORK_ACTIVE=0
	MENU_MAIN_DEACT()
	MENU_MAIN_SELECTED=TEMP[0] // contains INFO, WORK, SEARCH, PROJECT
	
	
	// _______________________________________________________________
	// show outdated page message?
	// _______________________________________________________________
	if (OUTDATED_PAGE) {
		CLR_BACK()
		OLD_PAGE_MESSAGE() 
	}
	
		
	/* ---------------------------------------------------------------------------------------------------------------------
	SHOW NEWS? 
	--------------------------------------------------------------------------------------------------------------------- */
	
	if ( (MENU_MAIN_SELECTED=="INFO"	&& (TEMP[1]=="" || TEMP[1]==null)) || 
		 (MENU_MAIN_SELECTED=="WORK" 	&& (TEMP[1]!="" && TEMP[1]!=null)) || 
		 (MENU_MAIN_SELECTED=="SEARCH" 	) || // && (TEMP[1]!="" && TEMP[1]!=null)  !!! ok?
		 (MENU_MAIN_SELECTED=="PROJECT") || 
		 (MENU_MAIN_SELECTED=="SHOWINFO") ||
		 (MENU_MAIN_SELECTED=="AWARD") ||
		 (MENU_MAIN_SELECTED=="PUBLICATION") ||
		 (MENU_MAIN_SELECTED=="EXHIBITION") ||
		 (MENU_MAIN_SELECTED=="LECTURE_CONFERENCE_TEACHING")
		 
		) {
		
	
		
	} else {
		// show splash page
		MENU_MAIN_SELECTED="SHOWINFO"
		TEMP[1]=newsID
		TEMP[2]=1
	}
	
	/* ---------------------------------------------------------------------------------------------------------------------
	check if the info item still exists.. maybe somebody has an old bookmark
	--------------------------------------------------------------------------------------------------------------------- */
	
	var infoExists=0
	if (MENU_MAIN_SELECTED=="INFO" || MENU_MAIN_SELECTED=="SHOWINFO") {
		if (TEMP[1]!="" && TEMP[1]!=null) {		
			
			var TEMP_LINK_IDS=($('#ALL_INFO_LINK_IDS').val()).split(",")
			var found=ARRAY_pos(TEMP_LINK_IDS, TEMP[1])
			
			if (found!=-1) {
				INFO_MENU_ACTIVE_ID=TEMP[1]
				infoExists=1
			} else {
				INFO_MENU_ACTIVE_ID=""
				setTimeout('INACTIVE_LINK()',1500)
				return
			}
		}
	}
		
	/* ---------------------------------------------------------------------------------------------------------------------
	INTERPRET 1st PARAMETER / 
	--------------------------------------------------------------------------------------------------------------------- */
	
	//console.log(MENU_MEM +' / ' + TEMP.join(','))
	
	if (MENU_MEM==TEMP.join(',') ) {
		// same url as before the menu was selected.. the rest of the code will take care of the menu scrolling up
		
		$('#MENU_MAIN_SEARCH_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH').css('display', 'none')
		
		// select right menu
		if (MENU_MAIN_SELECTED=="INFO" || MENU_MAIN_SELECTED=="SHOWINFO" || MENU_MAIN_SELECTED=="AWARD" || MENU_MAIN_SELECTED=="PUBLICATION" || MENU_MAIN_SELECTED=="EXHIBITION" || MENU_MAIN_SELECTED=="LECTURE_CONFERENCE_TEACHING") {
			MENU_MAIN_LINKS_ACTIVE=1
		
		} else if (MENU_MAIN_SELECTED=="WORK") {
			
			MENU_MAIN_LINKS_ACTIVE=2
			
		} else if (MENU_MAIN_SELECTED=="SEARCH") {
			
			MENU_MAIN_LINKS_ACTIVE=3
		
		} else {
			
			MENU_MAIN_LINKS_ACTIVE=1
		}
		
		IMO(INFO_MENU_ACTIVE_ID,1) // select right item in info menu
	
	} else if (MENU_MAIN_SELECTED=="INFO" || (MENU_MAIN_SELECTED=="SHOWINFO" && infoExists==0) ) {
		
		/* ---------------------------------------------------------------------------------------------------------------------
		INFO
		--------------------------------------------------------------------------------------------------------------------- */
		
		MENU_MAIN_LINKS_ACTIVE=1
		IMO(INFO_MENU_ACTIVE_ID,1) // select right item in info menu
		
		$('#MENU_MAIN_INFO').css('display', 'block')
		$('#MENU_MAIN_WORK').css('display', 'none')
		$('#MENU_MAIN_WORK_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH').css('display', 'none')
		
		
		if (TEMP[1]=="" || TEMP[1]==null || infoExists==0) {
			// no info item selected -> make space for the INFO MENU -> scroll the rest down and show INFO MENU
			var ch=$('#MENU_MAIN_INFO').height()		
			MENU_MAIN_TOGGLE(1,ch+100,1)
		}
		
		
	
	} else if (MENU_MAIN_SELECTED=="SHOWINFO" || MENU_MAIN_SELECTED=="AWARD" || MENU_MAIN_SELECTED=="PUBLICATION" || MENU_MAIN_SELECTED=="EXHIBITION" || MENU_MAIN_SELECTED=="LECTURE_CONFERENCE_TEACHING") {
		
		/* ---------------------------------------------------------------------------------------------------------------------
		URL:  SECTION,id, section (1=title, 2=media...), 
		--------------------------------------------------------------------------------------------------------------------- */
		
	
		MENU_MAIN_LINKS_ACTIVE=1
		var isFS=IS_FULLSCREEN_TEXT(MENU_MAIN_SELECTED,TEMP[1])
		var SHOW_MOOD=!isFS[0] // check if it has a mood image
		var themode=isFS[1] // contains the mode
				
		$('#DETAIL_IMAGE').html('') // clear detail image
		$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu  !!! wichtig? wird spaerer noch gemacht
		
				
		if (TEMP[2]==1 && SHOW_MOOD==1) {
			// _______________________________________________________________
			// info text + mood slideshow
			// _______________________________________________________________
		
			$('#CONTENT_HEADER').css('height', 30)
			$('#DETAIL_IMAGE').html('') // clear detail image
			$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu
			
			GO_UP_FAST=0
			
			$('#THE_CONTENT').css('display', 'block') 
			$('#COLUMN_TEXT').css('display', 'block') // display column text
			$('#FULL_TEXT_HOLDER').css('display', 'none') // hide full text
			
			CONTENT_Y=h-205	// be sure the text is in the lower 3rd
					
			if (OLD_PROJECT!=TEMP[1]) {
				
				// only load the content of the project, if it hasn't been loaded before
				$('#BIG_IMAGE').html('')
				
				$.get('_INCL/moodSlideshow.php?mode='+themode+'&id='+TEMP[1]+'&r='+Math.random(), function(data) {
					var TEMP=data.split('[,,]')
					if (TEMP[0]=="") {
						MOOD_PREPARE(TEMP[1])
					} else {
						// console.log('#BIG_IMAGE').html(data) // only for debugging
					}
				});
				
				var columnMode=(newsID==TEMP[1]) ? 1:0 // break news columns with [**] seperator
				
				var TEMP_URL=new Array()
				TEMP_URL=(splitURL()).join(',')
	
				$('#COLUMNTEXT_prepare').load('_INCL/loadContent.php?section=1&mode='+themode+'&id='+TEMP[1]+'&URL='+TEMP_URL+'&r='+Math.random(), function() { convertColumns(columnMode) }); 
				$('#CONTENT_HEADER').load('_INCL/submenu.php?mode='+themode+'&id='+TEMP[1]+'&r='+Math.random(), function() { showRightSubmenu(TEMP[2]) });
	
			} else {
		
				deactivateSubmenu()
				showRightSubmenu(TEMP[2])
				MOOD_START()
			
			}
			
			
		} else if (TEMP[2]==1 && SHOW_MOOD==0) {
						
			// _______________________________________________________________
			// show only text intro page
			// _______________________________________________________________
			
			// fade out slideshow and move content up
			CONTENT_Y=100 // move content later up
			MOOD_slideshow_active=0
			
			$('#BIG_IMAGE').html('')
			$('#COLUMN_TEXT').css('display', 'none') // hide column text
			$('#FULL_TEXT_HOLDER').css('display', 'block') // show full text
			$('#THE_CONTENT').css('display', 'block')
			$('#CONTENT_HEADER').css('height', 30)
				
			// load submenu
			if (OLD_PROJECT!=TEMP[1] || $('#CONTENT_HEADER').html()=="") {
				// only load the content of the project, if it hasn't been loaded before
				$('#CONTENT_HEADER').load('_INCL/submenu.php?mode='+themode+'&id='+TEMP[1]+'&r='+Math.random(), function() { showRightSubmenu(TEMP[2]) });
			
			} else {
				// otherwise just select the right submenu entry
				deactivateSubmenu()
				showRightSubmenu(TEMP[2])
			}
			
			$('#DETAIL_IMAGE').html('') // clear detail image
			$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu
		
			$('#FULL_TEXT_CONTENT').html('')
			setTimeout('LOAD_FS_TEXT("'+themode+'","")', 700) // load text and make columns .. delay, to have time for animation up
			
		
		} else if (TEMP[2]>1) {
			
			// _______________________________________________________________
			// media | related | credits | download
			// _______________________________________________________________
			
			// fade out slideshow and move content up
			CONTENT_Y=100 // move content up later (done in 
			MOOD_slideshow_active=0
			
			$('#COLUMN_TEXT').css('display', 'none') // hide column text
			$('#FULL_TEXT_HOLDER').css('display', 'block') // show full text
			$('#THE_CONTENT').css('display', 'block')	
				
			if (TEMP[3]=="" || TEMP[3]==undefined || TEMP[3]==null) {
				// no video or big image, so show content (MEDIA | RELATED | etc)
					
				$('#CONTENT_HEADER').css('height', 30)
				
				// load submenu
				if (OLD_PROJECT!=TEMP[1] || $('#CONTENT_HEADER').html()=="" || 1==1) { // !!! noch fixen
					// only load the content of the project, if it hasn't been loaded before
					$('#CONTENT_HEADER').load('_INCL/submenu.php?mode='+themode+'&id='+TEMP[1]+'&r='+Math.random(), function() { showRightSubmenu(TEMP[2]) });
				
				} else {
					// otherwise just select the right submenu entry
					
					deactivateSubmenu()
					showRightSubmenu(TEMP[2])
				}
				
				$('#DETAIL_IMAGE').html('') // clear detail image
				$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu
				var loadlink=""
			
				loadfunction="makeTooltips('#FULL_TEXT_CONTENT img.mo');makeTextboxScrollers();makeRelTextboxScrollers()"
			
				$('#FULL_TEXT_CONTENT').css('width', w-95-20)
				
				var TEMP_URL=new Array()
				TEMP_URL=(splitURL()).join(',')
				
				$.get('_INCL/loadContent.php?section='+TEMP[2]+'&mode='+themode+'&id='+TEMP[1]+'&URL='+TEMP_URL+'&r='+Math.random(), function(data) { 
						
					if ($('#SUB_SPIN')) {
						$('#SUB_SPIN').css('display', 'none') 
					}
				
					if (data.indexOf('[INACTIVE_LINK]')!=-1) {
						// outdated page content!
						setTimeout('INACTIVE_LINK()',1500)
						return
					}
									
					$('#FULL_TEXT_CONTENT').html(data)	
										
					$('#FULL_TEXT_CONTENT').css({'height':h-100-40, 'width':w-37}) // resize content here
					if ($('#FULL_TEXT_CONTENT').html()!="") {
						$('#FULL_TEXT_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
					}
					if (loadfunction!="") {
						eval(loadfunction)
					}
				
					$("#BIG_IMAGE").css({height: 0+"px"})
					
					if (GO_UP_FAST==1) {
						GO_UP_FAST=0
						$("#THE_CONTENT").css({'top': CONTENT_Y+'px'})
					} else {
						$("#THE_CONTENT").animate({'top': CONTENT_Y+'px'},700)
					}
				
					if (data.indexOf("MAKE_TOOLTIPS_ID")!=-1) {
						// make tooltips for list types (awards, publicastions..)
						var mtt=$('#MAKE_TOOLTIPS_ID').val()
						if (mtt==".newsimgs") {
							MAKE_IMG_TIPS(mtt) // make detail news tooltips
						} else {
							makeTooltips(mtt)  
						}
					}
					
					resetFullTextHolder()
					
				});
					
							
			} else if (TEMP[3]!="" && TEMP[3]!=undefined && TEMP[3]!=null) {
				// show a video or a big image		
				
				$('#THE_CONTENT').css('display', 'none')
				$('#BIG_IMAGE').css('display', 'none')
				
				var tempType=(TEMP[3]).substr(0,1)
				var tempID=(TEMP[3]).substring(1,(TEMP[3].length))
				
				// show bottom menu
				$('#BOTTOM_MENU').css({'display':'block', 'top':h-20})
				
				$('#CONTENT_HEADER').css('height', 0) // !!! checken
				$('#BOTTOM_MENU').html('')
							
				if (tempType=="V") {
					// load video
					
					LAST_IMG_DET_LINK='_INCL/showvideo.php?id='+tempID+'&pID='+TEMP[1]+'&type=project'
					LAST_VID_WRITE_ID=tempID
					$.get(LAST_IMG_DET_LINK+'&h='+h+'&w='+w+'&r='+Math.random(), function(data) { 
																																	  
						if (data.indexOf('[INACTIVE_LINK]')!=-1) {
							// outdated page content!
							setTimeout('INACTIVE_LINK()',1500)
							return
						}
						
						$('#DETAIL_IMAGE').css({'height':h, 'width':w}) 
						$('#DETAIL_IMAGE').html(data)
						writeVideo(tempID)
					});
					
					$.get('_INCL/bottomlinks.php?mode='+themode+'&type=vid&id='+tempID+'&pID='+TEMP[1]+'&r='+Math.random(), function(data) { 
						$('#BOTTOM_MENU').html(data)
					});
					
				
				} else if (tempType=="I") {
					
					// separate image ID and image counter
					tempID=tempID.split('_')
					
					// load image
					$('#FULL_TEXT_CONTENT').html('') // clear content
					
					LAST_IMG_DET_LINK='_INCL/showimage.php?mode='+themode+'&id='+tempID[0]+'&pID='+TEMP[1]+'&iC='+tempID[1]
					
					$.get(LAST_IMG_DET_LINK+'&h='+h+'&w='+w+'&r='+Math.random(), function(data) { 
				
						if (data.indexOf('[INACTIVE_LINK]')!=-1) {
							// outdated page content!
							setTimeout('INACTIVE_LINK()',1500)
							return
						}	
						
						$('#DETAIL_IMAGE').css({'height':h, 'width':w}) 
						$('#DETAIL_IMAGE').html(data)
					});
				
					$.get('_INCL/bottomlinks.php?mode='+themode+'&type=img&id='+tempID[0]+'&pID='+TEMP[1]+'&iC='+tempID[1]+'&r='+Math.random(), function(data) { 
						$('#BOTTOM_MENU').html(data)
					});
					
				}
			}
			
			
		}
		OLD_PROJECT=TEMP[1] // !!!!!! IMPORTANT: do OLD_PROJECT="" on any other section  !!!!!!!
		
		
	
	} else if (MENU_MAIN_SELECTED=="WORK") {
		
		/* ---------------------------------------------------------------------------------------------------------------------
		WORK
		--------------------------------------------------------------------------------------------------------------------- */
		
		MENU_MAIN_LINKS_ACTIVE=2
		INFO_MENU_ACTIVE_ID=""
		INFO_deact() // deactivate all INFO MENU items
				
		$('#MENU_MAIN_INFO').css('display', 'none')
		$('#MENU_MAIN_WORK').css('display', 'block')
		$('#MENU_MAIN_WORK_HOLDER').css('display', 'block')
		$('#MENU_MAIN_SEARCH_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH').css('display', 'none')
		
		var loadWorkList=0
		if (MENU_MAIN_WORK_SELECTED==0 || TEMP[1]!=MENU_MAIN_WORK_SELECTED) {
			MENU_MAIN_WORK_SELECTED=TEMP[1]
			loadWorkList=1
		}
				
		if (MENU_MAIN_WORK_SELECTED!="") {
			// a main menu item / WORK is selected 
			
			// resize work content to window size
			$('#MENU_MAIN_WORK_CONTENT').css('width', w-95-20)
			$('#MENU_MAIN_WORK_PRELOADER').css('width', w-95-20)
		
			var pos=ARRAY_pos(MENU_MAIN_WORK_IDS,MENU_MAIN_WORK_SELECTED)
			MENU_MAIN_LINKS_WORK_ACTIVE=pos
			MENU_MAIN_WORK_DEACT()
			MMWO(pos,1) // hilight the sort mode of WORK
			
			if (loadWorkList) {
				$('#MENU_MAIN_WORK_CONTENT').html('')
				$.get('_INCL/incl.WORK_list.php?mode='+MENU_MAIN_WORK_SELECTED+'&r='+Math.random(), function(data) { 
					$('#MENU_MAIN_WORK_PRELOADER').html(data)
					setTimeout("WORK_resizelist()", 200)
				});
			} else {
				// do not load again, just extend the menu
				WORK_showlist()
			}
			
		} 
		
	} else if (MENU_MAIN_SELECTED=="SEARCH") {
		
		/* ---------------------------------------------------------------------------------------------------------------------
		SEARCH
		--------------------------------------------------------------------------------------------------------------------- */
		
		MENU_MAIN_LINKS_ACTIVE=3
		INFO_MENU_ACTIVE_ID=""
		
		$('#MENU_MAIN_INFO').css('display', 'none')
		$('#MENU_MAIN_WORK').css('display', 'none')
		$('#MENU_MAIN_WORK_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH_HOLDER').css('display', 'block')
		$('#MENU_MAIN_SEARCH').css('display', 'block')
		
		setTimeout('$("#SEARCH_INPUT").focus()',500)
		
		if ($('#MENU_MAIN_SEARCH_CONTENT').html()!='') {
			// extend the menu
			if (isIE) {
				//setTimeout('SEARCH_showlist()', 500) // !!! für IE braucht man das nicht
			} else {
				SEARCH_showlist()
			}
		}
		
	
	} else if (MENU_MAIN_SELECTED=="PROJECT") {
		
		/* ---------------------------------------------------------------------------------------------------------------------
		PROJECT
		--------------------------------------------------------------------------------------------------------------------- */
			
		MENU_MAIN_LINKS_ACTIVE=2
		SUBMENU_LINKS_ACTIVE=TEMP[2]
		INFO_MENU_ACTIVE_ID=""
		$('#MENU_MAIN_SEARCH_HOLDER').css('display', 'none')
		$('#MENU_MAIN_SEARCH').css('display', 'none')
			
		
		if (TEMP[2]==1) {
			// _______________________________________________________________
			// project text + mood slideshow
			// _______________________________________________________________
			
			$('#CONTENT_HEADER').css('height', 30)
			$('#DETAIL_IMAGE').html('') // clear detail image
			$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu
			
			GO_UP_FAST=0
			
			$('#THE_CONTENT').css('display', 'block') 
			$('#COLUMN_TEXT').css('display', 'block') // display column text
			$('#FULL_TEXT_HOLDER').css('display', 'none') // hide full text
			
			CONTENT_Y=h-205	// be sure the text is in the lower 3rd
			
			// !!! das noch fixen ... hier muss neuladen forciert werden, weil
			// durch irgendeinen grund $('#BIG_IMAGE').html  gelöscht wird und so die slideshow nicht weiterlaufen kann
		
			if (OLD_PROJECT!=TEMP[1] || 1==1) {  // !!! noch fixen
				
				// only load the content of the project, if it hasn't been loaded before
				$.get('_INCL/moodSlideshow.php?mode=project&id='+TEMP[1]+'&r='+Math.random(), function(data) {
					var TEMP=data.split('[,,]')
					if (TEMP[0]=="") {
						MOOD_PREPARE(TEMP[1])
					} else {
						// console.log($('#BIG_IMAGE').html(data)) // only for debugging
					}
				});
				
				var TEMP_URL=new Array()
				TEMP_URL=(splitURL()).join(',')
				
				$('#COLUMNTEXT_prepare').load('_INCL/loadContent.php?section=1&mode=project&id='+TEMP[1]+'&URL='+TEMP_URL+'&r='+Math.random(), function() { convertColumns(0) }); 
				$('#CONTENT_HEADER').load('_INCL/submenu.php?mode=project&id='+TEMP[1]+'&r='+Math.random(), function() {showRightSubmenu(TEMP[2]) });
			} else {
		
				deactivateSubmenu()
				showRightSubmenu(TEMP[2])
				MOOD_START()
			}
						
			
		} else if (TEMP[2]>1) {
			
			// _______________________________________________________________
			// media | related | credits | download
			// _______________________________________________________________

			// fade out slideshow and move content up
			CONTENT_Y=100 // move content up later (done in 
			MOOD_slideshow_active=0
			
			$('#COLUMN_TEXT').css('display', 'none') // hide column text
			$('#FULL_TEXT_HOLDER').css('display', 'block') // show full text
			
		
			if (TEMP[3]=="" || TEMP[3]==undefined || TEMP[3]==null) {
				// no video or big image, so show content (MEDIA | RELATED | etc)
		
				$('#CONTENT_HEADER').css('height', 30)
				$('#THE_CONTENT').css('display', 'block')
				
				// load submenu
				if (OLD_PROJECT!=TEMP[1] || $('#CONTENT_HEADER').html()=="" || 1==1) { // !!! noch fixen
					// only load the content of the project, if it hasn't been loaded before
					$('#CONTENT_HEADER').load('_INCL/submenu.php?mode=project&id='+TEMP[1]+'&r='+Math.random(), function() {showRightSubmenu(TEMP[2]) });
				
				} else {
					// otherwise just select the right submenu entry
					
					deactivateSubmenu()
					showRightSubmenu(TEMP[2])
				}
				
				$('#DETAIL_IMAGE').html('') // clear detail image
				$('#BOTTOM_MENU').css('display', 'none') // hide bottom menu
				var loadlink=""
				
				loadfunction="makeTooltips('#FULL_TEXT_CONTENT img.mo');makeRelTextboxScrollers()"
				
				$('#FULL_TEXT_CONTENT').css('width', w-95-20)
				
				var TEMP_URL=new Array()
				TEMP_URL=(splitURL()).join(',')
				
				$.get('_INCL/loadContent.php?section='+TEMP[2]+'&mode=project&id='+TEMP[1]+'&URL='+TEMP_URL+'&r='+Math.random(), function(data) { 
					
					if ($('#SUB_SPIN')) {
						$('#SUB_SPIN').css('display', 'none') 
					}

					if (data.indexOf('[INACTIVE_LINK]')!=-1) {
						// outdated page content!
						setTimeout('INACTIVE_LINK()',1500)
						return
					}	
					
											
					$('#FULL_TEXT_CONTENT').html(data)	
					
					// re-distribute content !!! TEST
					/*
					var tempcols=$('.LISTINGA')
					var tempmaxcol=0
					for (var i=0; i<tempcols.length; i++) {
						var temph=$(tempcols[i]).height()
						console.log(h)
						tempmaxcol=Math.max(temph,tempmaxcol)	
					}
					
					$(tempcols[0]).html($(tempcols[0]).html()+'<br /><br /><br />'+$(tempcols[1]).html() +'<br /><br /><br />'+$(tempcols[2]).html()  +'<br /><br /><br />'+$(tempcols[3]).html()   )	
					
					$(tempcols[1]).remove()
					$(tempcols[2]).remove()
					$(tempcols[3]).remove()
					*/
					
					$('#FULL_TEXT_CONTENT').css({'height':h-100-40, 'width':w-37}) // resize content here
					if ($('#FULL_TEXT_CONTENT').html()!="") {
						$('#FULL_TEXT_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
					}
					if (loadfunction!="") {
						eval(loadfunction)
					}
					
					$("#BIG_IMAGE").css({height: 0+"px"})
					if (GO_UP_FAST==1) {
						GO_UP_FAST=0
						$("#THE_CONTENT").css({'top': CONTENT_Y+'px'})
					} else {
						$("#THE_CONTENT").animate({'top': CONTENT_Y+'px'},700)
					}
					
					if (data.indexOf("MAKE_TOOLTIPS_ID")!=-1) {
						// make tooltips
						makeTooltips($('#MAKE_TOOLTIPS_ID').val())
					}
					
					resetFullTextHolder()
													
				});
			
			} else if (TEMP[3]!="" && TEMP[3]!=undefined && TEMP[3]!=null) {
				// show a video or a big image
				
				
				$('#THE_CONTENT').css('display', 'none')
				$('#BIG_IMAGE').css('display', 'none')
				
				var tempType=(TEMP[3]).substr(0,1)
				var tempID=(TEMP[3]).substring(1,(TEMP[3].length))
				
				// show bottom menu
				$('#BOTTOM_MENU').css({'display':'block', 'top':h-20})
				
				$('#CONTENT_HEADER').css('height', 0) // !!! checken
				$('#BOTTOM_MENU').html('')
				
				if (tempType=="V") {
					// load video
					
					LAST_IMG_DET_LINK='_INCL/showvideo.php?id='+tempID+'&pID='+TEMP[1]+'&type=project'
					LAST_VID_WRITE_ID=tempID
					$.get(LAST_IMG_DET_LINK+'&h='+h+'&w='+w+'&r='+Math.random(), function(data) { 
						
						if (data.indexOf('[INACTIVE_LINK]')!=-1) {
							// outdated page content!
							setTimeout('INACTIVE_LINK()',1500)
							return
						}
						
						$('#DETAIL_IMAGE').css({'height':h, 'width':w}) 
						$('#DETAIL_IMAGE').html(data)
						writeVideo(tempID)
						$('#THE_CONTENT').css('display', 'none')
					});
					
					$.get('_INCL/bottomlinks.php?mode=project&type=vid&id='+tempID+'&pID='+TEMP[1]+'&r='+Math.random(), function(data) { 
						$('#BOTTOM_MENU').html(data)
					});
					
				
				} else if (tempType=="I") {
					
					// separate image ID and image counter
					tempID=tempID.split('_')
					
					// load image
					$('#FULL_TEXT_CONTENT').html('') // clear content
					LAST_IMG_DET_LINK='_INCL/showimage.php?mode=project&id='+tempID[0]+'&pID='+TEMP[1]+'&iC='+tempID[1]
					$.get(LAST_IMG_DET_LINK+'&h='+h+'&w='+w+'&r='+Math.random(), function(data) { 
						
						if (data.indexOf('[INACTIVE_LINK]')!=-1) {
							// outdated page content!
							setTimeout('INACTIVE_LINK()',1500)
							return
						}
						
						$('#DETAIL_IMAGE').css({'height':h, 'width':w}) 
						$('#DETAIL_IMAGE').html(data)
						$('#THE_CONTENT').css('display', 'none')
					});
				
					$.get('_INCL/bottomlinks.php?mode=project&type=img&id='+tempID[0]+'&pID='+TEMP[1]+'&iC='+tempID[1]+'&r='+Math.random(), function(data) { 
						$('#BOTTOM_MENU').html(data)
					});
					
				}
				
					
			}
			

		}
		OLD_PROJECT=TEMP[1]
		
	}
	
	// _______________________________________________________________
	// hide menu ?
	// _______________________________________________________________
		
	if ( (	!(MENU_MAIN_SELECTED=="WORK" || MENU_MAIN_SELECTED=="INFO" || MENU_MAIN_SELECTED=="SEARCH") 
			  && (LAST_MENU_MAIN_SELECTED=="WORK" || LAST_MENU_MAIN_SELECTED=="INFO" || LAST_MENU_MAIN_SELECTED=="SEARCH")
		 ) ||
		
				MENU_MAIN_SELECTED=="PROJECT" 
				|| MENU_MAIN_SELECTED=="INFOITEM" 
				|| MENU_MAIN_SELECTED=="PUBLICATION" 
				|| MENU_MAIN_SELECTED=="AWARD" 
				|| MENU_MAIN_SELECTED=="EXHIBITION" 
				|| MENU_MAIN_SELECTED=="LECTURE_CONFERENCE_TEACHING"
		) {
		
		// hide and de-select search
		$('#SEARCH_INPUT').blur()
		$('#MENU_MAIN_SEARCH').css('display', 'none')
					
		// hide menu if the section before was the menu
		MENU_MAIN_TOGGLE(0,0,1)
		
	}

	// _______________________________________________________________
	// activate main link
	// _______________________________________________________________
	
	MML(MENU_MAIN_LINKS_ACTIVE,1)
	LAST_MENU_MAIN_SELECTED=MENU_MAIN_SELECTED
	
	if (isIE) {
		RESIZE_NOW('noreload')
	}
	
}

function resetFullTextHolder() {
	
		var h=$(window).height()
		var w=$(window).width()
		
		$('#FULL_TEXT_HOLDER').css('display', 'block') 
		$('#FULL_TEXT_HOLDER').css('height', h-100-40+'px');
		$('#FULL_TEXT_CONTENT').css({'height':h-100-40, 'width':w-37}) // resize content here
		$('#FULL_TEXT_HOLDER>.jScrollPaneContainer').css({'height':h-100-40 +'px'});
		$('#FULL_TEXT_CONTENT').css('width', w-37)
		$('#FULL_TEXT_HOLDER>.jScrollPaneContainer').css({'width':w-37});
		if ($('#FULL_TEXT_CONTENT').html()!="") {
			$('#FULL_TEXT_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
		}
			
}
		
		
		

function DO_SEARCH() {
	
	var h=$(window).height()
	var w=$(window).width()
	
	var val=$('#SEARCH_INPUT').val()
	
	// replace - if they're not proceeded by a space, in order to not exclude results from the search
	val=val.replace(/[^\s]-/, " ");

	if (val.length<2) {
		return
	}
	
	// resize work content to window size
	$('#MENU_MAIN_SEARCH_CONTENT').css('width', w-95-20)
	$('#MENU_MAIN_SEARCH_PRELOADER').css('width', w-95-20)	
			
	$('#MENU_MAIN_SEARCH_CONTENT').html('')
	
	SEARCH_LOADIMGS_CC=0
	SEARCH_LOADANIM_TIMER=setTimeout('SEARCH_LOAD_ANI()', 100)
	$('#SEARCH_PROGRESS').css('display', 'inline')

	$.get('_INCL/search.php?s='+val+'&r='+Math.random(), function(data) { 
		clearTimeout(SEARCH_LOADANIM_TIMER)
		$('#SEARCH_PROGRESS').css('display', 'none')
		$('#MENU_MAIN_SEARCH_PRELOADER').html(data)	
		setTimeout("SEARCH_resizelist()", 200)
	});	
	

}

function SEARCH_LOAD_ANI() {
		
	SEARCH_LOADIMGS_CC++
	if (SEARCH_LOADIMGS_CC>12) {
		SEARCH_LOADIMGS_CC=0
	}
	
	$('#SEARCH_PROGRESS').attr('src', SEARCH_LOADIMGS[SEARCH_LOADIMGS_CC].src)
	SEARCH_LOADANIM_TIMER=setTimeout('SEARCH_LOAD_ANI()', 100)					  
		
}

function SEARCH() {	
	clearTimeout(SEARCH_TIMER)
	SEARCH_TIMER=setTimeout('DO_SEARCH()', SEARCH_DELAY)
}



function MOOD_PREPARE(ids) {
	// sets up the HTML for the mood slideshow
	
	MOOD_forget() // reset Mood slideshow
	MOOD_ALL_ids=ids
	MOOD_ALL_ids=MOOD_ALL_ids.split("[**]")
	
	if (MOOD_SHUFFLE) {
		var tmp, rand;
		for (var i =0; i<MOOD_ALL_ids.length; i++){
			rand = Math.floor(Math.random() * MOOD_ALL_ids.length);
			tmp = MOOD_ALL_ids[i]; 
			MOOD_ALL_ids[i] = MOOD_ALL_ids[rand]; 
			MOOD_ALL_ids[rand] =tmp;
		}
	}
	
	MOOD_slideshowArr=new Array()
							
	for (var i=0; i<MOOD_ALL_ids.length; i++) {
		MOOD_slideshowArr.push('_INCL/pic.php?id='+MOOD_ALL_ids[i])
	}
	
	var bi=''
	bi+='<div id="MOOD_photoDIV1" style="position:absolute; top:0px; left:0px;">'
	bi+='<div id="MOOD_photo1"></div>'
	bi+='</div>'
	bi+='<div id="MOOD_photoDIV2" style="position:absolute; top:0px; left:0px;">'
	bi+='<div id="MOOD_photo2"></div>'
	bi+='</div>'
																   
	$('#BIG_IMAGE').html(bi)

	$('#MOOD_photo1').fadeOut(20) // fade out to later fade it in
	$('#MOOD_photo2').fadeOut(20) // fade out to later fade it in
	MOOD_START()
	
}

function MOOD_START() {
	// start mood slideshow and move content down if necessary
	
	if (toINT($("#THE_CONTENT").css('top'))==100 || 1==1) { // !!! hier noch überprüfen -> buggy, denn wenn MEDIA war geht es nicht zu MOOD
		// content is on top (ie. MEDIA, RELATED...) -> move it down!
		var h=$(window).height()
		var w=$(window).width()
		
		CONTENT_Y=h-205		
		
		$("#THE_CONTENT").animate({'top': CONTENT_Y+'px'},700, function() { 
			$('#BIG_IMAGE').fadeIn('fast')
			$('#BIG_IMAGE').css({'height':h-225})

			if (MOOD_ALL_ids.length>0) {				
				MOOD_slideshow_active=1
				MOOD_fetchImage(0)
			}
		});
	
	} else {
		// content is below (already mood layout) -> just start the slideshow
		if (MOOD_ALL_ids.length>0) {				
			MOOD_slideshow_active=1
			MOOD_fetchImage(0)
		}
	}
	
}


function makeTextboxScrollers() {
	$('.holdertextbox').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
}

function makeRelTextboxScrollers() {
	$('.rholdertextbox').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
}

function makeSearchtboxScrollers() {
	
	$('.sholdertextbox').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
	$('.sholdertextboxbig').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
	RESIZE_NOW('noreload')
	
}


function INFO_deact() {
	// deactivate all INFO MENU items
	var TEMP_LINK_IDS=($('#ALL_INFO_LINK_IDS').val()).split(",")
	for (var i=0; i<TEMP_LINK_IDS.length; i++) {
		IMO(TEMP_LINK_IDS[i],0)
	}
}

function INFO_SHOW(id,part) {
	// loads an info item	
	INFO_deact()
	INFO_MENU_ACTIVE_ID=id
	StateManager.setState('SHOWINFO,'+id+','+part)	
	
}

function SHOW_ME(what,id,part) {
	// loads a project
	
	if (what+','+id+','+part==LAST_URL) {
		// same URL again, don't do anything
		return
	}
	
	MOOD_forget()
	OLD_PROJECT="" // !!! sure?
	$('#BIG_IMAGE').html('') // clear mood image
	$('#FULL_TEXT_CONTENT').html('') // clear text content
	MENU_MEM='' // clear MENU_MEM !
	
	StateManager.setState(what+','+id+','+part)	
}


function CLR_BACK() {
	// clear back history and add current
	var TEMP=new Array()
	TEMP=splitURL()
	TEMP=TEMP.join(',')
	BACKLINK=new Array(TEMP)
	
}

function ADD_BACK() {
	// adds current URL to back history
	var TEMP=new Array()
	TEMP=splitURL()
	TEMP=TEMP.join(',')
	BACKLINK.push(TEMP)
	
}

// -----------------------------------------------------------------------------------------------------------------------
// TOOLTIPS
// -----------------------------------------------------------------------------------------------------------------------


function INFO_TTRM(ele) {
	// remove INFO tooltip
	if ($("#tooltip")) {
		$("#tooltip").remove();
	}
	clearTimeout(INFO_TIP_TIMER)
	clearTimeout(IMG_TIP_TIMER)
	
	if (ele=="INFO_MO") {
		BTMO(2,0)
	} else {
		BTMO(3,0)
	}
	
}

function INFO_TIP_OUT(ele) {
	INFO_TIP_TIMER=setTimeout("INFO_TTRM('"+ele+"')", 500)
}

function INFO_TIP(onoff,ele){	
		
	if (onoff==1) {
		
		if (ele=="INFO_MO") {
			BTMO(2,1)
			BTMO(3,0)
		} else {
			BTMO(3,1)
			BTMO(2,0)
		}
		
		TTRM()
		clearTimeout(INFO_TIP_TIMER)
		clearTimeout(IMG_TIP_TIMER)
		
		$("body").append("<p onmouseover='clearTimeout(INFO_TIP_TIMER)' onmouseout='INFO_TIP_OUT()' id='tooltip'>"+ $('#BOTTOM_'+ele).attr('tooltip') +"</p>");
				
		// move away, make visible, in order to measure width
		$("#tooltip").css({"left":"-1000px", "display":"block"})
		var objW=$("#tooltip").width()
		objW=Math.max(120, objW) // minimum width for this tooltip
		$("#tooltip").css({"display":"none"})
		
		if (isIE) {
			$("#tooltip").css("opacity", 0.8)	
		}
		
		var bott=(isIE) ? "25px":"15px"
		var leftm=(ele=="INFO_MO") ? 55:113
		
		$("#tooltip")
			.css("bottom", bott)
			.css("left", leftm+"px")
			.css("width", objW+"px")
			.fadeIn("fast");
	
	} else {
		
		INFO_TIP_OUT(ele)
	}
			
}


function TTRM() {
	// remove tooltip
	if ($("#tooltip")) {
		$("#tooltip").remove();
	}
}


function makeTooltips(csselem){	
	
	if (csselem==null) {
		return true
	}
	
	TTRM()
	clearTimeout(INFO_TIP_TIMER)
	clearTimeout(IMG_TIP_TIMER)
		
	$(csselem).hover(function(e){
		
		TTRM()

		this.t = this.title;
		this.title = "";
		if (this.t!="") {
	
			$("body").append("<p id='tooltip'>"+ this.t +"</p>");
			if (isIE) {
				$("#tooltip").css("opacity", 0.8)	
			}
			
			var tw=$("#tooltip").width()
			tw=Math.min(tw,260) // limit tooltip with to 260px maximum
			$("#tooltip").css("width", tw)	
			
			var xOffset=15
			var yOffset=($("#tooltip").height())+30
		
			
			$("#tooltip")
				.css("top",(e.pageY - yOffset) + "px")
				.css("left",(e.pageX + xOffset) + "px")
				.fadeIn("fast");
		}
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });
		
	$(csselem).mousemove(function(e){
		
		var xOffset=15
		var yOffset=($("#tooltip").height())+30
	
		$("#tooltip")
			.css("top",(e.pageY - yOffset) + "px")
			.css("left",(e.pageX + xOffset) + "px");
	});			
}

// IMAGE TOOLTIPS -----------------------------------------------------------

function IMG_TTRM() {
	// remove IMG/VIDEO tooltip
	if ($("#tooltip")) {
		$("#tooltip").remove();
	}
	clearTimeout(IMG_TIP_TIMER)
}

function IMG_TIP_OUT() {
	IMG_TIP_TIMER=setTimeout("IMG_TTRM()", 200)
}

function MAKE_IMG_TIPS(csselem){	
		
	if (csselem==null) {
		return true
	}
	
	IMG_TTRM()
		
	clearTimeout(IMG_TIP_TIMER)
	clearTimeout(INFO_TIP_TIMER)
	
	$(csselem).hover(function(e){
		
		IMG_TTRM()
		this.t = this.title;
		this.title = "";
		if (this.t!="") {
			
			var offs=$("#"+this.id).offset({border:true, padding:true})
							
			$("body").append("<p onmouseover='clearTimeout(IMG_TIP_TIMER)' onmouseout='IMG_TIP_OUT()' id='tooltip'>"+ this.t +"</p>");
			if (isIE) {
				$("#tooltip").css("opacity", 0.8)	
			}
			
			if ((this.id).indexOf("NWSIMG")!=-1) {
				// news detail
				var offy=0
				var offx=Math.round( $("#"+this.id).width() /2)
				
			} else if ((this.id).indexOf("IMG")!=-1) {
				// images from search
				var offy=(isIE) ? 0:37
				var offx=(isIE) ? Math.round( $("#"+this.id).width() /2):Math.round( $("#"+this.id).width() /3)
				
			} else {
				// videos / audio
				var offy=20
				var offx=20
			}
			
			// move away, make visible, in order to measure height
			$("#tooltip").css({"left":"-1000px", "display":"block"})
			var objH=$("#tooltip").height()
			var objW=$("#tooltip").width()
			objW=Math.max(120, objW) // minimum width for this tooltip
			//objW=Math.min(objW,360) // limit tooltip with to 260px maximum
			
			$("#tooltip").css("width", objW)
			$("#tooltip").css({"display":"none"})
				
			$("#tooltip")
				.css("top",(offs.top-objH-offy) + "px")
				.css("left",(offs.left+offx) + "px")
				.css("width", objW+"px")
				.fadeIn("fast");
		}
    },
	function(){
		this.title = this.t;
		IMG_TIP_OUT()
    });	
				
}

// -----------------------------------------------------------------------------------------------------------------------
// HELPERS
// -----------------------------------------------------------------------------------------------------------------------


function INACTIVE_LINK() {
	OUTDATED_PAGE=1
	BACKLINK=new Array() // clear history
	StateManager.setState('SHOWINFO,'+newsID+',1')
}

function WELCOME_SHOW() {
	
	COOKIE_NAME = 'realu_welcome';
	if ($.cookie(COOKIE_NAME)==1) {
		// message was already shown - skip it
		PAGE_INI()
		return
	}
 
	var h=$(window).height()
	var w=$(window).width()
	var mar=100 // margins left + right
	var rightW=0
	var rightH=0
	var bott=0 // bottom space for text
	
	for (var i=0; i<REALU_LOGO_W.length; i++) {	
		if ((REALU_LOGO_W[i]+(2*mar))<w) {
			rightW=REALU_LOGO_W[i]
			rightH=REALU_LOGO_H[i]
		}
	}
	// !!! force small logo
	rightW=REALU_LOGO_W[0]
	rightH=REALU_LOGO_H[0]
	
	var t=Math.round((h-rightH-bott)/2)
	var l=Math.round((w-rightW)/2)
	
	$('#HEY_BABE').css({'width':rightW, 'height':rightH+bott, 'top':t, 'left':l})
	
	var h='<img src="_GFX/realities_united_'+rightW+'.png" width="'+rightW+'" height="'+rightH+'" onload="WELCOME_FADEIN()" /><br /><br />'
	$('#HEY_BABE').html(h)
	
	var date = new Date();
	date.setTime(date.getTime() + (3 * 60 * 60 * 1000)); // 3 hours till next welcome screen
	$.cookie(COOKIE_NAME, '1', { path: '/', expires: date });
}

function WELCOME_FADEIN() {
	$('#HEY_BABE').fadeIn(300, function() {
		setTimeout('WELCOME_FADEOUT()', 1800)
	});
	
}

function WELCOME_FADEOUT() {	
	$('#HEY_BABE').fadeOut(500, function() {
		$('#HEY_BABE').remove()
		PAGE_INI()
	}); 	
}


function OLD_PAGE_MESSAGE() {
	
	OUTDATED_PAGE=0
	
	var h=$(window).height()
	var w=$(window).width()
	var xo=Math.round((w-420)/2)
	var yo=Math.round((h-55)/3)
	
	$('#SOON_POP_TXT').html('Sorry, the page you were looking for might have moved.<br /><span class="HEADINGB">You can use SEARCH to locate it again.</span>')
	
	$('#SOON_POP').css({'left': xo, 'top':yo, 'width':420})
	$('#SOON_POP').fadeIn(300).animate({'width':'+=0'}, 5200, function() { $(this).fadeOut('slow'); })
	
}


function checkSTATE(e) {
	// checks the URL hash

	SECTIONextraparams=e.id.split(",")
	e.id=SECTIONextraparams[0]
	currentSection=e.id

	RunSTATE()
	
	if (SECTIONextraparams.length>0) {
		
		var title=SECTIONextraparams[0].replace(/_/g, " ")
		if (title=="") {
			title="News"
		}
		StateManager.setTitle('realities:united / ' + title);
		
	} else {
		StateManager.setTitle('realities:united / News');
		
	}
}

function toINT(str) {
	
	if (str.substring(str.length-2,str.length)=="px") {
		str=str.substring(0,str.length-2)
	}
	return str
	
}

function convertColumns(mode){
	// splits an intro text into columns
	
	if (($('#COLUMNTEXT_prepare').html()).indexOf('[INACTIVE_LINK]')!=-1) {
		// outdated page content!
		setTimeout('INACTIVE_LINK()',1500)
		return
	}
	if ($('#SUB_SPIN')) {
		$('#SUB_SPIN').css('display', 'none') 
	}
	
	var vSplit = "";
	colWidth= 	290
	colHeight= 	140
	colSpace= 	20
	
	if ($('#THECOLWIDTH')) {
		var cW=$('#THECOLWIDTH').val()
		if (cW==null || cW=='undefined' || cW<0) {
			colWidth=290
		} else {
			colWidth=Math.round(cW)
		}
	} else {
		colWidth=290
	}

	if (mode==0) {
		// mode 0: split them normally
		var vColumns = Columns.splitText($('#COLUMNTEXT_prepare').html(), colWidth, colHeight);
		
	} else {

		// mode 1: use [***] divider
		var vColumns = ($('#COLUMNTEXT_prepare').html()).split('[***]')
		if (vColumns[vColumns.length-1]=="") {
			vColumns.pop() // if last element is empty get rid of it
		}
		
	}
		
	for (var i=0;i<vColumns.length;i++){
		var marRight=(i<(vColumns.length-1)) ? colSpace:0
		
		vSplit += '<div id="divColumn' + i + '" style="float:left; margin-right:'+marRight+'px; width: ' + colWidth + 'px; height: ' + colHeight + 'px; text-align:left">'
		vSplit += vColumns[i];
		vSplit += '</div>';
	}
	
	var h=$(window).height()
	var w=$(window).width()
	
	$("#THE_CONTENT").css('display', 'block') // be sure the surrounding div is not display:none, otherwise width is 0 -> error!!
	$("#VSCROLLER_content").css('width', w-20)
	$("#COLUMN_TEXT").width(vColumns.length*(colWidth+colSpace)-colSpace+10)	
	$("#THE_TEXT").width(vColumns.length*(colWidth+colSpace)-colSpace+10)
	$('#THE_TEXT').html(vSplit)
	$("#COLUMNTEXT_prepare").html('')
	$('#VSCROLLER_content').jScrollHorizontalPane()
			
}

function ARRAY_pos(arr, val) {
	// returns the position of an element in an array, or -1 if not found
	
	if (arr==null) {
		return -1
	}
	
	var pos=-1
	for (var i=0; i<arr.length; i++) {
		if (arr[i]==val) {
			pos=i
			break
		}
	}
	return pos
	
}


function splitURL() {
	// splits the URL and returns an array with the different elements
	var temp=document.location.href.split("#")
	var tempsecs
	
	if (temp.length>1) {
		if (temp[1]!="") {
			tempsecs=temp[1].split(",")
		} else {
			tempsecs=new Array('','','')
		}
	} else {
		tempsecs=new Array('','','')
	}
	return tempsecs
}


// -----------------------------------------------------------------------------------------------------------------------
// MOOD SLIDESHOW
// -----------------------------------------------------------------------------------------------------------------------

function MOOD_fetchImage(id) {
	// preloads the next image in the mood slideshow
	
	if (!window.MOOD_slideshowArr) {
		return
	}
	
	// get dimensions of picture area
	var areaH=$("#BIG_IMAGE").height()
	var areaW=$(window).width()
											
	if (MOOD_SlideShowDIV==0) {

		$('#MOOD_photo1').html('<img style="width:100%" onload="MOOD_showpic()" src=\"'+MOOD_slideshowArr[id]+'&aW='+areaW+'&aH='+areaH+'">')
		MOOD_SlideShowDIV=1
		
	} else {
		
		$('#MOOD_photo2').html('<img style="width:100%" onload="MOOD_showpic()" src=\"'+MOOD_slideshowArr[id]+'&aW='+areaW+'&aH='+areaH+'">')
		MOOD_SlideShowDIV=0
	}

	MOOD_theID=id
	MOOD_nextID=id+1
	if (MOOD_nextID>=MOOD_slideshowArr.length) {
		MOOD_nextID=0
	}
}

function MOOD_showpic() {
	// displays the next mood pic, fades the old one out
	// initializes also preloading of the next images as soon as image is faded out
	// does that only if >1 images in slideshow
	
	if (!window.MOOD_slideshowArr) {
		return
	}
	
	var currentTime=new Date()
	var ms = currentTime.getTime()
	
	if (ms>MOOD_timer && MOOD_slideshow_active==1) {
		
		MOOD_timer=ms+MOOD_slideshow_interval
		if (MOOD_SlideShowDIV==0) {
			$('#MOOD_photo1').fadeOut(2000, function() {
				if (MOOD_slideshowArr.length>1) {									 
					MOOD_fetchImage(MOOD_nextID)
				}
			}); 
			$('#MOOD_photo2').fadeIn(1500)
		
		} else {
			$('#MOOD_photo2').fadeOut(2000, function() { 
				if (MOOD_slideshowArr.length>1) {									 
					MOOD_fetchImage(MOOD_nextID)
				}
			});
			$('#MOOD_photo1').fadeIn(1500)
			
		}
		
	} else {
		MOOD_timerID=setTimeout('MOOD_showpic()', 300) // not yet time for next slide
	}

}

function MOOD_setState(act) {
	// sets the mood slideshow active/non-active
	MOOD_slideshow_active=act
}

function MOOD_forget() {
	// deactivates the mood slideshow completely
	MOOD_slideshow_active=0
	MOOD_SlideShowDIV=0
	MOOD_nextID=1
	MOOD_theID=1
	MOOD_timer=0
	clearTimeout(MOOD_timerID)
}

// -----------------------------------------------------------------------------------------------------------------------
// RESIZE FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------

function IS_FULLSCREEN_TEXT(v,id) {
	// check if a text page has a mood picture or will be displayed 'full screen'
	
	var themode=""
	var isFS=0
	
	if (v=="SHOWINFO") {
	
		var TEMP_LINK_IDS=($('#ALL_INFO_LINK_IDS').val()).split(",")
		var TEMP_SHOW_MOOD=($('#ALL_INFO_SHOW_MOOD').val()).split(",")
		themode="infoitem"
		
	} else if (v=="AWARD") {

		var TEMP_LINK_IDS=($('#ALL_AWARD_IDS').val()).split(",")
		var TEMP_SHOW_MOOD=($('#ALL_AWARD_SHOW_MOOD').val()).split(",")
		themode="award"
		
	} else if (v=="PUBLICATION") {
		
		var TEMP_LINK_IDS=($('#ALL_PUBLICATION_IDS').val()).split(",")
		var TEMP_SHOW_MOOD=($('#ALL_PUBLICATION_SHOW_MOOD').val()).split(",")
		themode="publication"
						
	} else if (v=="EXHIBITION") {
		
		var TEMP_LINK_IDS=($('#ALL_EXHIBITION_IDS').val()).split(",")
		var TEMP_SHOW_MOOD=($('#ALL_EXHIBITION_SHOW_MOOD').val()).split(",")
		themode="exhibition"
		
	} else if (v=="LECTURE_CONFERENCE_TEACHING") {
		
		var TEMP_LINK_IDS=($('#ALL_LEC_CON_TEA_IDS').val()).split(",")
		var TEMP_SHOW_MOOD=($('#ALL_LEC_CON_TEA_SHOW_MOOD').val()).split(",")
		themode="lec_con_tea"
		
	}
	//SUBMENU_LINKS_ACTIVE=1  // !!! needed?
	
	if (v=="PROJECT") {
		// projects always have a mood picture with the text
		isFS=0
	
	} else {
	
		var pos=ARRAY_pos(TEMP_LINK_IDS, id)
		if (pos!=-1) {
			isFS=(TEMP_SHOW_MOOD[pos]==1) ? 0:1
		} else {
			isFS=1
		}
	}
	
	return new Array(isFS,themode)
}


function RELOAD_DETAIL_IMG_VID() {
	// delay this function to not let it get triggered too often while resizing
	
	var h=$(window).height()
	var w=$(window).width()
	var TEMP=splitURL()
	
	if (LAST_IMG_DET_LINK!="") {
		$('#DETAIL_IMAGE').html
		$.get(LAST_IMG_DET_LINK+'&h='+h+'&w='+w+'&r='+Math.random(), function(data) {
			$('#DETAIL_IMAGE').css({'height':h, 'width':w}) 
			$('#DETAIL_IMAGE').html(data)
			
			if ((TEMP[3]).substr(0,1)=="V") {
				writeVideo(LAST_VID_WRITE_ID)
			}
		});
	}
				
}



function RESIZE() {
	clearTimeout(DELAYTIMER_resize)
	DELAYTIMER_resize=setTimeout('RESIZE_NOW(0)',400)			
}

function RESIZE_NOW(mode) {

	// resizes all elements at the beginning when page is loaded, and when the window gets resized
	var h=$(window).height()
	var w=$(window).width()
	var TEMP=splitURL()
	var fulltextScreen=0
	
	if (TEMP[2]=="1" && TEMP[1]!="" && TEMP[0]!="") {
		// show mood picture?
		fulltextScreen=(IS_FULLSCREEN_TEXT(TEMP[0],TEMP[1]))[0]
		
	}
	
	if (	TEMP[0]=="" || 
			(TEMP[0]=="PROJECT" && TEMP[2]=="1") || 
			(TEMP[0]=="SHOWINFO" && TEMP[2]=="1" && !fulltextScreen)  || 
			(TEMP[0]=="AWARD" && TEMP[2]=="1" && !fulltextScreen)  || 
			(TEMP[0]=="LECTURE_CONFERENCE_TEACHING" && TEMP[2]=="1" && !fulltextScreen)  || 
			(TEMP[0]=="PUBLICATION" && TEMP[2]=="1" && !fulltextScreen)  || 
			(TEMP[0]=="EXHIBITION" && TEMP[2]=="1" && !fulltextScreen)
			
		) {
		
				
		// newspage or project w/text displayed
		CONTENT_Y=h-205
		$('#BIG_IMAGE').css('height', h-225)
		$("#THE_CONTENT").css({'display':'block', 'top': CONTENT_Y+'px'})
		
		$("#THE_CONTENT").css({'display':'block'})
		$('#VSCROLLER_content').css('width', '100%')
		
		// resize horizontal column text
		if ($.browser.safari) {
			$('#VSCROLLER_content').jScrollHorizontalPane({'reset':'true'})
		} else {
			$('#VSCROLLER_content').jScrollHorizontalPane()
		}
		
		if (mode!='noreload') {
			// kick out mood image and reload it
			$('#MOOD_photo1').html('')
			$('#MOOD_photo2').html('')
			MOOD_fetchImage(MOOD_nextID)
		}
	
	}
	
	
	if ((	TEMP[0]=="PROJECT" && TEMP[2]>1) || 
			(TEMP[0]=="SHOWINFO" && TEMP[2]>1) ||
			(TEMP[0]=="AWARD" && TEMP[2]>1) ||
			(TEMP[0]=="LECTURE_CONFERENCE_TEACHING" && TEMP[2]>1) ||
			(TEMP[0]=="PUBLICATION" && TEMP[2]>1) ||
			(TEMP[0]=="EXHIBITION" && TEMP[2]>1) ||
			fulltextScreen) {
		
	
		if (TEMP[3]!=null) {
			if ((TEMP[3]).substr(0,1)=="I" || (TEMP[3]).substr(0,1)=="V") {
				// detail video or detail image is being shown -> reload in the right size
				$('#THE_CONTENT').css('display', 'none')
			
				$('#BOTTOM_MENU').css({'display':'block', 'top':h-20})
				if (mode!='noreload') {
					clearTimeout(DELAYTIMER_reload_imgvid)
					DELAYTIMER_reload_imgvid=setTimeout('RELOAD_DETAIL_IMG_VID()',200)
				}
				
			} else {
				$('#THE_CONTENT').css('display', 'block')
			
			}
			
		} else {
			$('#THE_CONTENT').css('display', 'block')
	
		}
		
		
		$('#FULL_TEXT_HOLDER').css('display', 'block') 
		$('#FULL_TEXT_HOLDER').css('height', h-100-40+'px');
		
		$('#FULL_TEXT_CONTENT').css({'height':h-100-40, 'width':w-37}) // resize content here
		$('#FULL_TEXT_HOLDER>.jScrollPaneContainer').css({'height':h-100-40 +'px'});
		
		$('#FULL_TEXT_CONTENT').css('width', w-37)
		$('#FULL_TEXT_HOLDER>.jScrollPaneContainer').css({'width':w-37});
		
		if ($('#FULL_TEXT_CONTENT').html()!="") {
			$('#FULL_TEXT_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
		}
		
	}
	
	
	if (TEMP[0]=="WORK") {
		// resize list of projects in WORK

		if ( $('#MENU_MAIN_WORK_HOLDER>.jScrollPaneContainer').height()) {
			
			var ch=$('#MENU_MAIN_WORK_CONTENT').height()
			var ch_lim=Math.min(ch, h-200)
			
			MENU_MAIN_TOGGLE(1,ch_lim+130,1)
									
			$('#MENU_MAIN_WORK_HOLDER').css('height', ch_lim+'px');
			$('#MENU_MAIN_WORK_CONTENT').css('height', ch+'px');
			$('#MENU_MAIN_WORK_HOLDER>.jScrollPaneContainer').css({'height':ch_lim +'px'});
			
			$('#MENU_MAIN_WORK_CONTENT').css('width', w-95-20)
			$('#MENU_MAIN_WORK_HOLDER>.jScrollPaneContainer').css({'width':w-95-20});
			if ($('#MENU_MAIN_WORK_CONTENT').html()!="") {
				$('#MENU_MAIN_WORK_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
			}
		}
	}
	
	if (TEMP[0]=="SEARCH") {
		// resize search results
		
		if ( $('#MENU_MAIN_SEARCH_HOLDER>.jScrollPaneContainer').height()) {
	
			var ch=$('#MENU_MAIN_SEARCH_CONTENT').height()
			var ch_lim=Math.min(ch, h-200)
			
			$('#MENU_MAIN_SEARCH_HOLDER').css('height', ch_lim+'px');
			$('#MENU_MAIN_SEARCH_CONTENT').css('height', ch_lim+'px');
			$('#MENU_MAIN_SEARCH_HOLDER>.jScrollPaneContainer').css({'height':ch_lim +'px'});
			
			$('#MENU_MAIN_SEARCH_CONTENT').css('width', w-95-20)
			$('#MENU_MAIN_SEARCH_HOLDER>.jScrollPaneContainer').css({'width':w-95-20});
			
			if ($('#MENU_MAIN_SEARCH_CONTENT').html()!="") {
				$('#MENU_MAIN_SEARCH_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
			}
			SEARCH_showlist()
		}
		
	}
	
	if (mode!="noreload") {
		var xo=Math.round((w-360)/2)
		var yo=Math.round((h-135)/2)
		$('#AUDIO_POP').css({'left': xo,'top':yo})
		
		
		var xo=Math.round((w-360)/2)
		var yo=Math.round((h-360)/2)
		$('#REQUEST_POP').css({'left': xo,'top':yo})
	}
			
}


function WORK_resizelist() {
	// resizes the listing of projects in the WORK menu
	
	var h=$(window).height()
	var w=$(window).width()
	
	var ch=$('#MENU_MAIN_WORK_PRELOADER').height()
	var ch_lim=Math.min(ch, h-200)
	
	MENU_MAIN_TOGGLE(1,ch_lim+130,1)
	
	$('#MENU_MAIN_WORK_CONTENT').html($('#MENU_MAIN_WORK_PRELOADER').html())
	$('#MENU_MAIN_WORK_PRELOADER').html('')
	
	if ( !$('#MENU_MAIN_WORK_HOLDER>.jScrollPaneContainer').height()) {
		// scroller was not yet initialized, do it!
		if ($('#MENU_MAIN_WORK_CONTENT').html()!="") {
			$('#MENU_MAIN_WORK_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
		}
	}
	
	$('#MENU_MAIN_WORK_HOLDER').css('height', ch_lim+'px');
	$('#MENU_MAIN_WORK_CONTENT').css('height', ch+'px');
	$('#MENU_MAIN_WORK_HOLDER>.jScrollPaneContainer').css({'height':ch_lim +'px'});
	if ($('#MENU_MAIN_WORK_CONTENT').html()!="") {
		$('#MENU_MAIN_WORK_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
	}

	// make tooltips for search results
	makeTooltips(".TTWORKLI")
}


function WORK_showlist() {
	
	var ch=$('#MENU_MAIN_WORK_HOLDER').height()
	MENU_MAIN_TOGGLE(1,ch+130,1)
	
}


function SEARCH_resizelist() {
	// resizes the listing of results in the SEARCH menu
	
	var h=$(window).height()
	var w=$(window).width()
	
	var ch=$('#MENU_MAIN_SEARCH_PRELOADER').height()
	var ch_lim=Math.min(ch, h-200)
	
	MENU_MAIN_TOGGLE(1,ch_lim+130,1)
	
	if ( !$('#MENU_MAIN_SEARCH_HOLDER>.jScrollPaneContainer').height()) {
		// scroller was not yet initialized, do it!
		if ($('#MENU_MAIN_SEARCH_CONTENT').html()!="") {
			$('#MENU_MAIN_SEARCH_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
		}
	}
	
	$('#MENU_MAIN_SEARCH_CONTENT').html($('#MENU_MAIN_SEARCH_PRELOADER').html())
	$('#MENU_MAIN_SEARCH_PRELOADER').html('')
	$('#MENU_MAIN_SEARCH_HOLDER').css('height', ch_lim+'px');
	$('#MENU_MAIN_SEARCH_CONTENT').css('height', ch+'px');
	$('#MENU_MAIN_SEARCH_HOLDER>.jScrollPaneContainer').css({'height':ch_lim +'px'});
	if ($('#MENU_MAIN_SEARCH_CONTENT').html()!="") {
		$('#MENU_MAIN_SEARCH_CONTENT').jScrollPane({scrollbarWidth:9, scrollbarMargin:8})
	}
		
	// make scrollbars
	makeSearchtboxScrollers()
	// make tooltips for search results
	makeTooltips(".TTSEARCH")
	MAKE_IMG_TIPS(".TTIMGSEARCH")
	
	
	SEARCH_showlist()

}

function SEARCH_showlist() {
	var ch=$('#MENU_MAIN_SEARCH_HOLDER').height()
	MENU_MAIN_TOGGLE(1,ch+130,1)	
}

// -----------------------------------------------------------------------------------------------------------------------
// VIDEO FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------


function showVideo(id) {
	// displays a video
		
	var TEMP=new Array()
	TEMP=splitURL()
	TEMP[3]='V'+id
	
	TEMP=TEMP.join(',')
	StateManager.setState(TEMP)
		
}


function writeVideo(id) {
	// prepares the HTML for flash video
	
	var VID_DIM=($('#VID_DIM').val()).split(',')
	var vid = new FlashTag("_INCL/videoplayer.swf?id="+id, VID_DIM[0], VID_DIM[1], "8,0,0,0");
	vid.setBgcolor('7d7c82')
	vid.setFlashvars("lcId2=" + flashvideoID);
	setTimeout("startVideo('"+vid+"')", 300) // or 1100
		
}

function startVideo(vid) {
	// writes flash code to video div	
	$('#videoContainer').html(vid)
}

function killVideo() {
	// stops the video -> call to flash proxy
	flashProxy2.call("killVideo");
	return false
}

// -----------------------------------------------------------------------------------------------------------------------
// REQUEST IMAGE/VIDEO FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------


function REQUEST(mode,id) {
	
	var h=$(window).height()
	var w=$(window).width()
	var xo=Math.round((w-360)/2)
	var yo=Math.round((h-360)/2)
	
	$('#REQUEST_POP_TXT').html('loading')
	$('#REQUEST_POP').css({'left': xo,'top':yo})
	$('#REQUEST_POP').fadeIn(300, function() { })
	if (isIE) {
		$("#REQUEST_POP").css("opacity", 0.8)	
	}
	
	$.get('_INCL/loadrequest.php?mode='+mode+'&id='+id+'&r='+Math.random(), function(data) { 
		$('#REQUEST_POP_TXT').html(data)
		
		$('#REQUEST_POP').bind('drag',{ not: "input,textarea" }, function( event ){
		$( this ).css({
				top: event.offsetY,
				left: event.offsetX
				});
		});
		if (isIE) {
			$("#REQUEST_POP").css("opacity", 0.8)	
		}
		
	})
}

function REQUEST_SUBMIT(mode,id) {
	// submit image/video request
	
	var re =/^[A-Za-z0-9\.\-\_]*?[A-Za-z0-9\.\-\_]+@[A-Za-z0-9\.\-\_]+[\w.-]*?\.[A-Za-z0-9]{2,5}$/;
	var email=$('#request_email').val()
	var name=$('#request_name').val()
	var msg=($('#request_message').val()).replace(/\n/g, '<br />')
	var msgw=($('#request_message').val()).replace(/\s/g, '')
	var tel=$('#request_telephone').val()
	
	
	$('#REQ_SUB_BUTT').blur()
	
	if (name.length<5) {
		$('#REQUEST_status').html('<img src="_GFX/a.gif" width=9 height=9 /> Please fill in your first and last name.<br />')
		return
	}
	
	if (msgw.length<5) {
		$('#REQUEST_status').html('<img src="_GFX/a.gif" width=9 height=9 /> Please fill in a message.<br />')
		return
	}
	
	
	if (email.match(re)) {
	
		$('#REQUEST_status').html('Sending your request')
		$('#REQUEST_content').html('')
		
		$.get('_INCL/sendrequest.php?email='+email+'&name='+name+'&msg='+msg+'&tel='+tel+'&mode='+mode+'&id='+id+'&r='+Math.random(), function(data) { 
		
			var response=''
			
			if (data=='success') {
				// success
				response='Thanks! We will get in touch with you shortly.'
				
			} else {
				response=data
				
			}
			
			$('#REQUEST_status').html(response+'<br />')
			$('#REQUEST_content').html('<a href="javascript:REQUEST_HIDE()">close</a>')
			
		});
	
	} else {
		$('#REQUEST_status').html('<img src="_GFX/a.gif" width=9 height=9 /> Please fill in a valid email.<br />')
	}
	

}


function REQUEST_HIDE() {
	$('#REQUEST_POP_TXT').html('')
	$('#REQUEST_POP').unbind(); 
	$('#REQUEST_POP').fadeOut(300)
}



// -----------------------------------------------------------------------------------------------------------------------
// AUDIO FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------

function AUDIOPLAYER(id) {
	
	var h=$(window).height()
	var w=$(window).width()
	var xo=Math.round((w-360)/2)
	var yo=Math.round((h-135)/2)
	
	$('#AUDIO_POP_TXT').html('loading audio')
	$('#AUDIO_POP').css({'left': xo,'top':yo})
	$('#AUDIO_POP').fadeIn(300, function() { })
	if (isIE) {
		$("#AUDIO_POP").css("opacity", 0.8)	
	}
	
	$.get('_INCL/loadaudio.php?id='+id+'&r='+Math.random(), function(data) { 
		$('#AUDIO_POP_TXT').html(data)
		var len=$('#AUDIO_LEN').val()
		var au = new FlashTag("_INCL/mp3.swf?audioid="+id+'&JSsec='+len, 320, 16, "8,0,0,0");
		au.setFlashvars("lcId=" + lcId);
		au.setBgcolor('7d7c82')
		setTimeout("startAudio('"+au+"')", 500)
	})
}

function startAudio(au) {
	// writes flash code to audio div	
	$('#MP3PLAYER').html(au)
	$('#AUDIO_POP').bind('drag',{ not: "embed,object" }, function( event ){
	$( this ).css({
			top: event.offsetY,
			left: event.offsetX
			});
	});
	if (isIE) {
		$("#AUDIO_POP").css("opacity", 0.8)	
	}
	
}

function AUDIOPLAYER_HIDE() {
	$('#AUDIO_POP_TXT').html('')
	$('#AUDIO_POP').unbind(); 
	$('#AUDIO_POP').fadeOut(300)
}




// -----------------------------------------------------------------------------------------------------------------------
// IMAGE FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------


function showImage(id,img_counter) {
	// displays an image
		
	var TEMP=new Array()
	TEMP=splitURL()
	TEMP[3]='I'+id+'_'+img_counter
	
	TEMP=TEMP.join(',')
	StateManager.setState(TEMP)
		
}



// -----------------------------------------------------------------------------------------------------------------------
// TEXT FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------

function changeColumnTextLan(id,mode,lan_id) {
	
	var h=$(window).height()
	var w=$(window).width()
	var TEMP=splitURL()
	var TEMP_URL=TEMP.join(',')
	var fulltextScreen=0
	
	if (mode!="project") {
		
		if (TEMP[2]=="1") {
			// check if the text has a mood picture	
			fulltextScreen=(IS_FULLSCREEN_TEXT(TEMP[0],TEMP[1]))[0]
		}
	}
	
	if (fulltextScreen) {
		// fullscteen text
	
		$('#FULL_TEXT_CONTENT').html('')
		setTimeout('LOAD_FS_TEXT("'+mode+'","&lan='+lan_id+'")', 700) 
		
	} else {
		// text with mood
		$('#COLUMNTEXT_prepare').load('_INCL/loadContent.php?section=1&mode='+mode+'&lan='+lan_id+'&id='+id+'&URL='+TEMP_URL+'&r='+Math.random(), function() { convertColumns(0) }); 
	}

	
}



// -----------------------------------------------------------------------------------------------------------------------
// MOUSEOVER FUNCTIONS AND MENU FUNCTIONS 
// -----------------------------------------------------------------------------------------------------------------------

function GOTO_IMG(t) {
	// goes to an specific image, video, or to the media section
	$('#BIG_IMAGE').css('display', 'none')
	$('#CONTENT_HEADER').html('')
	
	IMG_TTRM()
	ADD_BACK()

	var u=$(t).attr('href')
	u=u.replace("%23", "")
	u=u.replace("#", "")
	StateManager.setState(u)
	return false	
}
	


function HOME_LINK() {
	// !!! improve
	if (IS_INITIALIZED==0) {
		return
	}
	
	// !!! TEMP delete cookie
	/*
	var date = new Date();
	date.setTime(date.getTime() - (3 * 60 * 60 * 1000)); // 3 hours till next welcome screen
	$.cookie(COOKIE_NAME, '1', { path: '/', expires: date });
	*/
	
	StateManager.setState('SHOWINFO,1,1')
}


function BTMO(id,mode) {
	// mouseovers for bottom links (in video or image detail view)
	
	if (mode==1) {
		
		$('#BL_'+id).attr('className', 'dn')
		$('#BL_'+id+'o').attr('className', 'mo')
		
	} else {
		
		$('#BL_'+id).attr('className', 'mo')
		$('#BL_'+id+'o').attr('className', 'dn')
		
	}
	
}

function BK(id,mode) {
	// mouseovers for back arrow in submenu
	
	if (mode==1) {
		
		$('#BKL_'+id).attr('className', 'dn')
		$('#BKL_'+id+'o').attr('className', 'mo')
		
	} else {
		
		$('#BKL_'+id).attr('className', 'mo')
		$('#BKL_'+id+'o').attr('className', 'dn')
		
	}
	
}


function MENU_MAIN_TOGGLE(mode,h,anim) {
	// toggles the position of the menu and animates it (down/up)
	
	var wh=$(window).height()
	var audioTop=Math.round((wh-200)/2)
	
	if (anim) {
		// stop all current animations
		$("#MENU_MAIN").stop()
		$("#BIG_IMAGE").stop()
		$("#THE_CONTENT").stop()
	}
	
	if (mode==1) {
		// show menu
		
		MENU_VISIBLE=1
		if (anim) {
			$("#MENU_MAIN").animate({'height': h+"px"}, 700)
			$("#BIG_IMAGE").animate({'top': h+"px"}, 700)
			$("#THE_CONTENT").animate({'top': (h+CONTENT_Y)+"px"}, 700)
			$("#DETAIL_IMAGE").animate({'top': h+"px"}, 700)
			$('#BOTTOM_MENU').animate({'top': wh-20+h+"px"},700)
			//$('#AUDIO_POP').animate({'top': audioTop+h+"px"},700 )
			
		} else {
			$("#MENU_MAIN").css({'height': h+"px"})
			$("#BIG_IMAGE").css({'top': h+"px"})
			$("#THE_CONTENT").css({'top': h+CONTENT_Y+"px"})
			$("#DETAIL_IMAGE").css({'top': h+"px"})
			$('#BOTTOM_MENU').css({'top': wh-20+h+"px"})
			//$('#AUDIO_POP').css({'top': audioTop+h+"px"})

		}
	
	} else {
		// hide menu
		
		MENU_VISIBLE=0
	
		if (anim) {
			$("#MENU_MAIN").animate({'height': "0px"}, 700)
			$("#BIG_IMAGE").animate({'top': "0px"}, 700)
			$("#DETAIL_IMAGE").animate({'top': "0px"}, 700)
			$('#BOTTOM_MENU').animate({'top': (wh-20)+"px"},700)
			//$('#AUDIO_POP').animate({'top': audioTop+"px"},700)
		} else {
			$("#MENU_MAIN").css({'height': "0px"})
			$("#BIG_IMAGE").css({'top': "0px"})
			$("#DETAIL_IMAGE").css({'top': "0px"})
			$('#BOTTOM_MENU').css({'top': (wh-20)+"px"})
			//$('#AUDIO_POP').css({'top': audioTop+"px"})
		}
		
		if (anim) {
			$("#THE_CONTENT").animate({'top': CONTENT_Y+"px"}, 700);
		} else {
			$("#THE_CONTENT").css({'top': CONTENT_Y+"px"});
		}
	}
	
}

function MENU_MAIN_DEACT() {
	// deactivates main menu items (info, work, search)
	$('#MML1o').css('display', 'none')
	$('#MML1').css('display', 'inline')
	$('#MML2o').css('display', 'none')
	$('#MML2').css('display', 'inline')
	$('#MML3o').css('display', 'none')
	$('#MML3').css('display', 'inline')		
}

function MMWO(i,mode) {

	if (mode==0 && i==MENU_MAIN_LINKS_WORK_ACTIVE) {
		return	
	}
	
	obj = eval('document.MMW_'+i)
	if (mode==1) {
		obj.src = "_GFX/work/worko_"+MENU_MAIN_WORK_IDS[i]+"_"+MENU_MAIN_WORK_CCS[i]+".gif"
	} else {
		obj.src = "_GFX/work/work_"+MENU_MAIN_WORK_IDS[i]+"_"+MENU_MAIN_WORK_CCS[i]+".gif"
	}
	
}

function MENU_MAIN_WORK_DEACT() {
	for (var i=0; i<MENU_MAIN_WORK_IDS.length; i++) {
		obj = eval('document.MMW_'+i)
		obj.src = "_GFX/work/work_"+MENU_MAIN_WORK_IDS[i]+"_"+MENU_MAIN_WORK_CCS[i]+".gif"
	}
}

function MMWC(id) {
	// select one of the sort modes of WORK

	var TEMP=new Array()
	TEMP=splitURL()
	TEMP[1]=MENU_MAIN_WORK_IDS[id]
	TEMP=TEMP.join(',')
	StateManager.setState(TEMP)
		
}


function BACK(id) {
	// BACK <-  behaviour
	if (BACKLINK.length>0) {
		
		var b=BACKLINK.pop()
		if (BACKLINK.length==0) {
			// no more back in history -> let it disappear
			$("#BKBTN").animate({'width': 0+'px'},300, function() { 
				StateManager.setState(b)
			});
				
		}  else {
			StateManager.setState(b)
		}

	}
}


function MMS(id) {
	// select main menu
	
	if (IS_INITIALIZED==0) {
		return
	}
	
	var TEMP=new Array()
	TEMP=splitURL()
	
	if ((TEMP[0]=="INFO" && id==1) || (TEMP[0]=="WORK" && id==2) || (TEMP[0]=="SEARCH" && id==3)) {
		// same main menu item clicked as before -> set state that was before
		StateManager.setState(MENU_MEM)
		return	
	}
	
	if (TEMP[0]=="PROJECT" || 
		TEMP[0]=="SHOWINFO" ||
		TEMP[0]=="AWARD" ||
		TEMP[0]=="PUBLICATION" ||
		TEMP[0]=="EXHIBITION" ||
		TEMP[0]=="LECTURE_CONFERENCE_TEACHING" ||
		TEMP[0]=="PROJECT" ||	 
		TEMP[0]=="" || 
		TEMP[0]==null) { 
	
		// !!! UPDATE THIS AS NEW PARTS COME TO THE SITE !!!
		// remember last project, ect, in order to show it again when the same thing in main menu is clicked
		// again and the menu moves up again.
		
		MENU_MEM=TEMP.join(',')
	
	}
	
	TEMP[0]=MENU_MAIN_ITEMS[id-1]
		
	if (id==1) {
		// info
		TEMP[1]=""
		
	} else if (id==2) {
		// work
		if (MENU_MAIN_WORK_SELECTED==0) {
			// work -> select 1st cat, if not already set
			TEMP[1]=MENU_MAIN_WORK_IDS[0]
		} else {
			TEMP[1]=MENU_MAIN_WORK_SELECTED
		}
		
	} 
	
	if (TEMP[0]!="SEARCH") {
		TEMP=TEMP.join(',')
		StateManager.setState(TEMP)
	} else {
		StateManager.setState("SEARCH") // jquery 1.3.1 is buggy with URLs that look like SEARCH,,,
	}
		
}

function forceHideSubmenuSpinner() {
	// in case content doesn't load and switches it off
	if ($('#SUB_SPIN')) {
		$('#SUB_SPIN').css('display', 'none') 
	}
	
}

function showRightSubmenu(id) {
	// activates the right submenu item (MEDIA | RELATED ...)
		
	SUBMENU_LINKS_ACTIVE=id
	deactivateSubmenu()
	var ALL_IMG_ACT=$('#ALL_IMG_ACT').val()	
	ALL_IMG_ACT=ALL_IMG_ACT.split("[**]")	
	eval("CTX("+ALL_IMG_ACT[id-1]+")")
	
	setTimeout('forceHideSubmenuSpinner()', 1500)
}

function deactivateSubmenu() {
	// deactivates links in submenu (MEDIA | RELATED | CREDITS | DOWNLOAD)
	// shows or hides the <- back button
	
	if ($('#ALL_IMG_DEACT')) {
		var ALL_LINK_IDS=$('#ALL_LINK_IDS').val()
		var ALL_IMG_DEACT=$('#ALL_IMG_DEACT').val()		
		ALL_IMG_DEACT=ALL_IMG_DEACT.split("[**]")
		for (var i=0; i<ALL_IMG_DEACT.length; i++) {		
			eval("CTX("+ALL_IMG_DEACT[i]+")")
		}
	}
	
	if (BACKLINK.length>0) {
		$('#BKBTN').css({'display':'inline', 'width':29})
	} else {
		$('#BKBTN').css({'display':'none','width':0})
	}
	
}

function MML(id,mode) {
	// activates/deactivates main menu items (WORK, INFO, SEARCH)
	
	if (mode==0 && id==MENU_MAIN_LINKS_ACTIVE) {
		return
	}
	
	if (mode==1) {
		$('#MML'+id+'o').css('display', 'inline')
		$('#MML'+id).css('display', 'none')
			
	} else {
		$('#MML'+id+'o').css('display', 'none')
		$('#MML'+id).css('display', 'inline')
		
	}	
}

function IMO(id, mode) {
	// makes mouseover image for items in INFO menu
	
	var TEMP_LINK_IDS=($('#ALL_INFO_LINK_IDS').val()).split(",")
	var ALL_INFO_IMG_DEACT=($('#ALL_INFO_IMG_DEACT').val()).split("[**]")
	var ALL_INFO_IMG_ACT=($('#ALL_INFO_IMG_ACT').val()).split("[**]")
	
	var pos=-1
	for (var i=0; i<TEMP_LINK_IDS.length; i++) {
		if (TEMP_LINK_IDS[i]==id) {
			pos=i
			break
		}
	}
	
	if (pos==-1) {
		return
	}
	
	obj = eval('document.INFO_MENU_'+id)	
	if (mode==1) {
		obj.src = "_GFX/info/"+ALL_INFO_IMG_ACT[pos]
	} else if (mode==0 && INFO_MENU_ACTIVE_ID!=id) {
		obj.src = "_GFX/info/"+ALL_INFO_IMG_DEACT[pos]
	}
	
}

function CTX(str,id,mode,cc,id2) {
	// activates/deactivates sub items of a section (MEDIA | RELATED ...)
	
	if ((mode==0 && id2==SUBMENU_LINKS_ACTIVE) || id==null || str==null || mode==null || cc==null || id2==null) {
		return
	}

	if (str=='p') {
		var f="title_images"
		var o=''
		var o2=(str=="p" && mode==0) ? "p":""
		 
	} else if (str=='if') {
		var f="interface"
		var o='o'
		var o2=(str=="p" && mode==0) ? "p":""
	
	} else if (str=='iitem') {
		var f="info"
		var o='o'
		var o2=''
		
	} else if (str=='aw') {
		var f="title_images"
		var o=''
		var o2=(str=="aw" && mode==0) ? "p":""
		
	} else if (str=='pu') {
		var f="title_images"
		var o=''
		var o2=(str=="pu" && mode==0) ? "p":""
		
	} else if (str=='ex') {
		var f="title_images"
		var o=''
		var o2=(str=="ex" && mode==0) ? "p":""
		
	} else if (str=='lct') {
		var f="title_images"
		var o=''
		var o2=(str=="lct" && mode==0) ? "p":""
		
	}
	
	obj = eval('document.CT_'+str+'_'+id)
	if (mode==1) {
		obj.src = "_GFX/"+f+"/"+str+o+"_"+id+"_"+cc+".gif"
	} else {
		obj.src = "_GFX/"+f+"/"+str+o2+"_"+id+"_"+cc+".gif"
		
	}	
}


// -----------------------------------------------------------------------------------------------------------------------
// NEWSLETTER FUNCTIONS  
// -----------------------------------------------------------------------------------------------------------------------

function getNewsletter() {
	// subscribe newsletter
	
	var re =/^[A-Za-z0-9\.\-\_]*?[A-Za-z0-9\.\-\_]+@[A-Za-z0-9\.\-\_]+[\w.-]*?\.[A-Za-z0-9]{2,5}$/;
	var email=$('#newsletter_email').val()
	
	$('#submitbutt').blur()
	
	if (email.match(re)) {
		var name=$('#newsletter_name').val()
		if (name=="your name (optional)") {
			$('#newsletter_name').val('')
		}
		
		var FIRSTNAME=""
		var SURNAME=""
		var NAME=$('#newsletter_name').val()
		var EMAIL=$('#newsletter_email').val()
		
		$('#NEWSLETTER_status').html('SENDING YOUR EMAIL ADDRESS.')
		
		$.get('_INCL/subscribe.php?NAME='+NAME+'&EMAIL='+EMAIL+'&r='+Math.random(), function(data) { 
		
			var response=''
			
			if (data.indexOf('Danke')!=-1) {
				// sucess
				response='Thanks! Please check your email and click on the confirmation link that we sent to you.'
				
			} else if (data.indexOf('Die E-Mail Adresse ist schon vorhanden')!=-1) {
				// already subscribed
				response='Thanks, but you are already on our list :)'
				
			} else {
				response='Please try again, the subscription may have failed.'
				
			}
			
			$('#NEWSLETTER_status').html(response)
			$('#newsletter_name').val('your name (optional)')
			$('#newsletter_email').val('your email')
			
		});
	
	} else {
		$('#newsletter_email').val("Please fill in a valid email.")
	}
	
}

