/*
  ////////////////////////////////////////////////////////////////
 // GRAYBOX FUNKTIONEN										   //
////////////////////////////////////////////////////////////////
*/

function showGrayBox() {
	center('gray_box');	
	$('gray_box').show();
	//$('gray_box').className = 'op';
	new Effect.Fade('gray_box',
			{ duration: 1.0,  
			  from: 0.0, to: 0.99 });
	$('gray_overlay').show(); 
	hideSelect();
}

function showGBv() {
	//center('gb');	
	$('gb').style.left = '50%';
	$('gbo').style.height = '100%';
	$('gb').show();
	new Effect.Fade('gb',
			{ duration: 1.0,  
			  from: 0.0, to: 1.0 });
	$('gbo').show(); 
	//hideSelect();
}
function hideGrayBox(){   
   new Effect.Opacity('gray_box',
			{ duration: 0.5, 
			  transition: Effect.Transitions.linear, 
			  from: 0.99, to: 0.0,
			  afterFinish: hidegb});
    setTimeout("$('gray_overlay').hide();",500);
	setTimeout("$('gray_overlay').style.height = '1px';",500);
	/*
	if($('fotogalerie_frame').$('objectleiste') || $('fotogalerie_frame').$('embedleiste')) {
		if(ie) $('fotogalerie_frame').$('objectleiste').SetVariable("signal",true);
		else $('fotogalerie_frame').$('embedleiste').SetVariable("signal",true);
	}*/
}
function hideGBv(){   
   new Effect.Opacity('gb',
			{ duration: 0.5, 
			  transition: Effect.Transitions.linear, 
			  from: 1.0, to: 0.0,
			  afterFinish: hidegb});
    setTimeout("$('gbo').hide();",500);
	setTimeout("$('gbo').style.height = '1px';",500);
	setTimeout("$('gb').style.left = '-1000px';",500);
}
function center(element){
    try{
        element = $(element);
    }catch(e){
        return;
    }
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	
	//alert(window.document.body.offsetHeight + " - " + document.body.clientHeight + " - " + document.documentElement.clientHeight + " - " + window.innerHeight + " - " + document.documentElement.scrollTop);
    
	element.style.position = 'absolute';
    //element.style.zIndex   = 999;

    var elementDimensions = Element.getDimensions(element);

	//alert(elementDimensions.width + " " + element +" " + elementDimensions.height);
	topsize = arrayPageScroll[1] + ((arrayPageSize[3] - elementDimensions.height) / 2);
	if(topsize < 5) topsize = 5;
	
	element.style.top = (topsize + 'px');
	//element.style.left = (((arrayPageSize[0] - elementDimensions.width) / 2) + 'px');
	element.style.left = '200px';
	
	//Größe verändern	
	if(ie) breite = arrayPageSize[0]+"px";
	else breite = "100%";
		
	$('gray_overlay').style.width = breite;
	$('gray_overlay').style.height = arrayPageSize[1]+"px";
	
	
	//alert(arrayPageSize[0] + " - " + arrayPageSize[1] + " - " + arrayPageSize[2] + " - " + arrayPageSize[3]);
	//alert(arrayPageScroll[0] + " - " + arrayPageScroll[1]);
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}


function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


function hideSelect() {
	selects = parent.document.getElementsByTagName( 'select' );
   	for ( i = 0; i != selects.length; i++ )
	{
		selects[i].style.visibility = 'hidden';
    }
}

function showSelect() {
	selects = parent.document.getElementsByTagName( 'select' );
    for ( i = 0; i != selects.length; i++ )
	{
		selects[i].style.visibility = 'visible';
	}
}

function hidegb() {
	$('gray_box').hide();
	showSelect();
	$('gray_box_content').update("<img src='images/loading.gif' hspace='20' vspace='20' /><br />");
}

function showgb() {
	$('gray_box').show();
}
