// JavaScript Document

// Error handling
function handleErr(){ 
	return true;
}
window.onerror = handleErr;

//////////////////////////////////////////
// Browser Detect

// If not IE, then NS.
var IE = document.all?true:false;

var loadFinished = false;
function loaded(){
	loadFinished=true;
	calcWin();
}

//////////////////////////////////////////
// Startseite
//////////////////////////////////////////

function ausklappenStartseite(){
	if(loadFinished){
		document.getElementById("startseite-fenster-ausklapp").style.visibility = "visible";
	}
}

//////////////////////////////////////////
// Menufunktionen
//////////////////////////////////////////

var menuPos = 	new Array(0,151,276,401,526,651,776);
var actPos = 	new Array(0, 0, 0, 0, 0, 0, 0);
var menuStat = 	new Array(0, 0, 0, 0, 0, 0, 0);
var menuSpeed = new Array(0, 5, 9, 13, 17, 21, 25);
var animState = 0; // bis 32;
var animDir = 1;
// mouse pos
var m = new Object;
m.x = 0;
m.y = 0;
// menu/maus status
var mOpen = false;
var mInside = false;

////////////////////
// Seitenversatz:
function calcWin(){
	if(loadFinished){
		if(IE){ // IE
			wL=container.offsetLeft;
			wT=document.all.container.offsetTop/2; // IE nimmt aus irgendeinem Grund die doppelte Hoehe 
		}else{	// sonstige
			wL = document.getElementById("container").offsetLeft; //window.innerWidth;
			wT = document.getElementById("container").offsetTop; //window.innerHeight;
		}
		var p = new Array(2);
		p[0] = wL;
		p[1] = wT;
		return p;
	}
}
onResize = calcWin();

//////////////////////////////////////////
// Maus Position

// mouse capture im NS
if (!IE) document.captureEvents(Event.MOUSEMOVE);

// onMouseMove Funktion einrichten
document.onmousemove = getMouse;

// Maus x-y pos
function getMouse(e) {
	// menu-schliessen steuern
	if (IE) { // IE
		m.x = event.clientX + document.body.scrollLeft;
		m.y = event.clientY + document.body.scrollTop;
	}else{  // NS
		m.x = e.pageX;
		m.y = e.pageY;
	}
	if (mOpen){ // menu zu
		// Abstand Seite zu Browserrand berechnen
		var p = calcWin();
		//pruefen ob maus im menu-bereich
		var x = m.x - p[0];
		var y = m.y - p[1];
		//alert(x + " " + (actPos[6] + 127) + " " + y);
		if ((x < 0) || (x > actPos[6] + 127) ||  (y < 0) || (y > 152)){
			mInside = false;
			setTimeout("menuClose()",10);
		}
	}
}

function menuOpen(){
		mInside = true;
		animDir=1;
		mOpen= true;
		//document.recalc();
		slideRight();
		// Untermenu der Seite anzeigen
		var obj = document.getElementById("menu" + aktSeitenMenu);
		if(IE){
			obj.children[1].style.visibility="visible";
		}else{
			obj.childNodes[3].style.visibility="visible";
		}
}

function menuClose(){
	if(!mInside){
		animDir=-1;
		mOpen = false;
		slideLeft();
	}
}

function slideRight(){
	if(animDir == 1){
		if(document.getElementById){
			if(animState < 33){
				for(which=1; which < 7; which++){
					actPos[which] += menuSpeed[which];
					if (actPos[which] > menuPos[which]){ actPos[which] = menuPos[which]; }
					document.getElementById("menu" + which).style.left = actPos[which] + "px"; 
				}
				animState = animState + 1;
				setTimeout("slideRight()",10);
			}
		}
	}
}

function slideLeft(){
	if(animDir == -1){
		if(document.getElementById){
			if(animState > 0){
				for(which=1; which < 7; which++){
					actPos[which] -= menuSpeed[which] + 1;
					if (actPos[which] < 0){ actPos[which] = 0; }
					document.getElementById("menu" + which).style.left = actPos[which] + "px"; 
				}
				animState = animState - 1;
				setTimeout("slideLeft()",1);
			}
		}
	}
}

function mLight(m1){
	menuStat[m1] = 1;
	setLight(m1);
}
function mDim(m2){
	menuStat[m2] = 0;
	functname = "setDim(" + m2 + ")";
	setTimeout(functname,10);
}

function setLight(n1){
	// Hintergrund
	var obj = document.getElementById("menu" + n1);
	obj.style.opacity=0.9; 
	obj.style.filter="alpha(opacity=90)";
	// Untermenu
	//alert(obj.childNodes[1].style); //setAttribute);
	if(n1 != aktSeitenMenu){
		if(IE){
			obj.children[1].style.visibility="visible";
		}else{
			obj.childNodes[3].style.visibility="visible";
		}
	}
}

function setDim(n2){
	if (menuStat[n2] == 0){
		var obj = document.getElementById("menu" + n2);
		obj.style.opacity=0.7; 
		obj.style.filter="alpha(opacity=70)";
		// Untermenu
		if(n2 != aktSeitenMenu){
			if(IE){
				obj.children[1].style.visibility="hidden";
			}else{
				obj.childNodes[3].style.visibility="hidden";
			}
		}
	}	
}


//////////////////////////////////////////////////////////////
//
// Info zu den grossen Bildern anzeigen/verbergen
//

function showPicInfo(obj){
	if(document.all){
		//alert(item.offsetParent.offsetTop + " " + item.offsetParent.offsetLeft + " " + item.offsetWidth + " " + item.offsetHeight);
		obj.style.filter="alpha(opacity=30)";
		if(document.all.displayPicInfo){
			var p=document.all.displayPicInfo;
			p.style.left = obj.offsetParent.offsetLeft + "px";
			p.style.top = obj.offsetParent.offsetTop + obj.offsetHeight - 150 + "px";
			p.innerHTML = "<table height='100%' width='100%'><tr><td height='100%' valign='bottom'>" + obj.alt + "<br>" + "<font color='#CC0000'>></font></td></tr></table>";
			p.style.visibility="visible";
		}
		// 	opacity:0.7; 
	}
}

function hidePicInfo(item){
	if(document.all){
		item.style.filter="alpha(opacity=100)";
		if(document.all.displayPicInfo){
			p=document.all.displayPicInfo;
			p.style.visibility="hidden";
			p.innerHTML = "";
		}
	}
}


// -- Reste ---
function ShowHide(id, visibility) {
	divs = document.getElementsByTagName("div");
	divs[id].style.visibility = visibility;
}

function test(obj){
	if(document.getElementById){
		alert(document.getElementById(obj).offsetLeft); // zum lesen
		document.getElementById(obj).style.left = 0; // zum schreiben
	}
}
