//------------------------------------------------------------//
//        Copyright 2005 B. Geraci - www.bg-portal.de         //
//------------------------------------------------------------//

var chiave = new Image();
chiave.src = "images/chiave-dark.gif";
	
function debug(msg){ window.status = msg; }

function blurLinks(){
	var el = document.links;
	for(var i=0; i<el.length; i++)
		el[i].onfocus = function(){ this.blur(); };
}

//---------------------------//
//       Menu Scripts        //
//---------------------------//
var menuID = new Array();
var aktiv = 0;

var monitorH = screen.height;
var monitorB = screen.width;

function init(){
	frames[0].location.href = "seiten/home.htm";
	blurLinks();
	setMenuEvent();
	stopMusic();
	playMusic();
	//if(window.bgmusic.player.playState==3)
	resetAnim();
}

function initIFrame(){
	setTimeout("startAnim('chiaveHell',"+-1+","+ -200+","+ 1+","+ 115+","+ 115+","+ 2+")", 700);
	setTimeout("startAnim('chiaveDark',"+0+","+ -293+","+ -93+","+ 116+","+ 116+","+ 2+")", 700);
}

function setMenuEvent(){
	var el = document.getElementsByTagName("div");
	for (var i=j=0; i<el.length; i++){
		if (el[i].className == "menuOut" || el[i].className == "menuDown"){
			el[i].onmouseout = out;
			el[i].onmouseover = over;
			el[i].onmousedown = down;
			menuID[j++] = el[i].id;
		}
		if(el[i].className == "menuDown") aktiv = el[i];
	}
}

function out(){ if(this!=aktiv) this.className = "menuOut"; }

function over(){ if(this!=aktiv) this.className = "menuOver"; }

function down(){
	if(this != aktiv){
		if(aktiv) aktiv.className = "menuOut";
		this.className = "menuDown";
		if(frames[0].document.getElementById("chiaveDark"))
			frames[0].document.getElementById("chiaveDark").style.visibility = "hidden";
		frames[0].location.href = "seiten/" + this.id + ".htm";
		aktiv = this;
		document.getElementById("chiaveHell").style.left = -200+"px";
		if(this.id == "home") init();
		else if(this.id != "photos") setTimeout("if('frames[0].loaded'){ initIFrame(); }", 10);
	}
}

//--------------------------------//
//       Animation Scripts        //
//--------------------------------//
var interval = 10;

function resetAnim(){
	document.getElementById("chiaveHell").style.left = -200+"px";
	document.getElementById("mainContent").style.top = -652+"px";
	document.getElementById("footer").style.left = -490+"px";
	document.getElementById("pic").style.top = -600+"px";
	document.getElementById("nav").style.visibility = "hidden";
	for(var i=0; i<menuID.length; i++)
		document.getElementById(menuID[i]).style.left = -156+"px";
	document.getElementById("name").style.visibility = "hidden";
	document.getElementById("zitat").style.visibility = "hidden";
	document.getElementById("linie").style.left = 1300+"px";
	document.getElementById("speaker").style.visibility = "hidden";
	
	setTimeout("startAnim('linie'," +-1+","+ monitorB+","+ 0+","+ 0+", "+0+","+ 10+");", 3050);
	setTimeout("startAnim('mainContent'," +-1+","+  95+","+ 95+", "+ -652+","+ 0+","+6+");", 5300);
	setTimeout("startAnim('footer'," +-1+","+ -540+","+ 118+","+ 630+", "+630+","+ 8+");", 5400);
	setTimeout("startAnim('pic'," +-1+","+ 211+","+ 0+", "+0+","+ 0+","+4+");", 5800);
	setTimeout("document.getElementById('nav').style.visibility = 'visible'", 6700);
	for(i=0; i<menuID.length; i++)
		setTimeout("startAnim('"+menuID[i]+"'," +-1+","+ -156+","+ 0+","+ 0+","+0+","+ 30+")", 6700+i*100);
	setTimeout("document.getElementById('name').style.visibility = 'visible'", 7500);
	setTimeout("document.getElementById('zitat').style.visibility = 'visible'", 8000);
	setTimeout("document.getElementById('speaker').style.visibility = 'visible'", 8500);
}

// NB1: Die heutigen Browser erkennen leider die Pos eines DIV NICHT,
// wenn diese NICHT inline, also direkt im HTML-Tag, angegeben wird!
// NB2: die x-, und y-Pos eines DIV, also sein left und top, sind STRINGS keine Zahl,
// deshalb muß man parseInt() benutzen, um damit Kalkulation dürchzuführen.

function startAnim(id, frameNr, x1, x2, y1, y2, step){
	var el = findObj(id, frameNr, 1);
	if(el){
		el.left = x1 + "px"; 
		el.top = y1 + "px"; 
		animate(id, frameNr, x2, y2, step);
	}
}

function findObj(id, frameNr, style){
	var el = (frameNr!=-1) ? frames[frameNr].document.getElementById(id) : document.getElementById(id);
	if(el) return (style) ? el.style : el;
}

function animate(id, frameNr, x, y, step){
	var el = findObj(id, frameNr, 1);
    var tempX = parseInt(el.left);
	var tempY = parseInt(el.top);
	var distX = x - tempX;
	var distY = y - tempY;
	var dist = Math.sqrt(distX*distX + distY*distY);
	
    if(Math.abs(dist)<step){
		el.left = x +"px";
		el.top = y +"px";
		return;
	}
    
	el.left = tempX + (distX/dist)*step + "px";
	el.top = tempY + (distY/dist)*step + "px";
	setTimeout("animate('"+ id +"',"+ frameNr +","+ x +","+ y +","+ step +")", interval);
}

//---------------------------//
//      Musik Scripts        //
//---------------------------//
var soundOff = new Image();
var soundOn = new Image();
soundOff.src = "images/speaker-off.gif";
soundOn.src = "images/speaker-on.gif";

function switchMusicState(){
	if(playing) stopMusic();
	else playMusic();
}

function stopMusic(){
	if(ie) window.bgmusic.player.Stop();
	else window.bgmusic.location.href = "http://www.hamary.de/seiten/music-off.htm";
	document.images.sound.src = soundOff.src;
	playing = false;
}

function playMusic(){
	if(ie) window.bgmusic.player.Play();
	else window.bgmusic.location.href = "http://www.hamary.de/seiten/music-on.htm";
	document.images.sound.src = soundOn.src;
	playing = true;
}
