//inspired by forum.de.selfhtml.org/archiv/2006/7/t133651/
var Divs = new Array();
var Toggles = new Array();
var contactVisible = false;
var guestVisible = false;

/**
  * fly () levitates an Object out of or into sight
  * String outerObjectID the ID of an object surrounding the object to levitate. Its hight will be expandet or reduced. requires style="overflow:hidden;"
  * String innerObjectID the ID of th object to levitate. style="position: relative;"
  * boolean isTakeOf determines whether the Object is levitated in or out
  * int reminder determines how many pixel of the Object will remain visible (while flying out) or invisible (while flying in)
  */
function fly(outerObjectID, innerObjectID, isTakeOf, reminder){
	outerObject = document.getElementById(outerObjectID);
	window.clearTimeout(outerObject.motion);
	var step=32;
	innerObject = document.getElementById(innerObjectID);
	
	outHeight = outerObject.offsetHeight;
	inHeight = innerObject.offsetHeight;

    if (isTakeOf){
		step*=(outHeight/inHeight);
		step = Math.ceil(step);				//aufrunden
	
		while ((step-1) > outHeight){
			step--;
		}
		outHeight-=step;
		outerObject.style.height= outHeight +'px';
		innerObject.style.top = (outHeight-inHeight)+'px';
			
		if(outHeight>reminder) {
			outerObject.motion = window.setTimeout("fly('"+ outerObjectID +"','"+ innerObjectID +"',"+ isTakeOf +","+ reminder +")", 83);
		} else {
			window.clearTimeout(outerObject.motion);
		}
	} else {
		step*=(1-outHeight/inHeight);
		step = Math.ceil(step);				//aufrunden
		while ((step-1) > (inHeight-outHeight))
			step--;
		outHeight+=step;
		outerObject.style.height= outHeight +'px';
		innerObject.style.top = (outHeight-inHeight)+'px';
			
		if(outHeight<inHeight-reminder) {
			outerObject.motion = window.setTimeout("fly('"+ outerObjectID +"','"+ innerObjectID +"',"+ isTakeOf +","+ reminder +")", 83);
		} else {
			window.clearTimeout(outerObject.motion);
		}
	} // if isTakeOf ... else
} // function fly(String,String,Boolean,int)


function showInfo(){
	fly('flyer','inFlyer',true,10);
    window.setTimeout("fly('outerInfo','innerInfo',false,0)",700);
	window.setTimeout("fly('beachBox','beach',false,0)",1200);
	window.setTimeout("fly('beachBox2','beach2',false,0)",1600);
	window.setTimeout("fly('beachBox3','beach3',false,0)",1800);
	window.setTimeout("fly('beachBox4','beach4',false,0)",2400);
	window.setTimeout("fly('beachBox5','beach5',false,0)",2900);
	window.setTimeout("fly('beachBox6','beach6',false,0)",3400);
}

function flyContact(){
	fly('outerContact','innerContact',contactVisible,0);
    contactVisible = !contactVisible;
}

function flyGuests(){
	fly('outerGuest','innerGuest',guestVisible,0);
    guestVisible = !guestVisible;
}


//Not My Stuff:

function init () {
  var j = 0;
  for (i=0; i<document.getElementsByTagName('DIV').length; i++ ) {
    if(document.getElementsByTagName('DIV')[i].className=="dyn"){
      Divs[j] = document.getElementsByTagName('DIV')[i];
      Divs[j].motion=false;
      Divs[j].style.height="0px";
      Table = Divs[j].getElementsByTagName('TABLE')[0];
      Table.style.top = -1*(Table.offsetHeight+Table.offsetTop) + 'px';
      j++;
    }
  }
  j = 0;
  for (i=0; i<document.getElementsByTagName('A').length; i++ ) {
    if(document.getElementsByTagName('A')[i].className=="dyn"){
      Toggles[j] = document.getElementsByTagName('A')[i];
      Toggles[j].flag = 1;
      Toggles[j].j=j;
      Toggles[j].onclick = function () {
                             slide(this.j, this.flag);
                             this.flag*=-1;
                           }
      j++;
    }
  }
}

