/************************************************************************/
/*                 eqBox - Dynamic Layer                                 */
/*                                                                      */
/*                 Version: 0.4                                         */
/*                 Authors: Timon Rapp <rapp@equinoxe.de>                */
/*                 Changed: 2007/10/24 10:00                            */
/*                                                                      */
/*                 Required: eqDOMReady.js                               */
/*                                                                      */
/************************************************************************/

/* 
################# eqBox Functions #########################################
*/

var opacity= 0;
var op_max = 80;
var op_min = 0;
var counter_step = 30;
var counter=0;
var eqBox_box;
var eqBox_overlay;
var eqBox_inhalt;
var eqBox_titel;
var eqBox_Content;

//Shell the init-function when DOM ready
eqDOMReady_addEvent(eqBox_init);

// Initialize the Layer
function eqBox_init()
{	
	//Preload used images
	var bilder = new Array('overlay.png','blank.gif');
	document.Vorladen = new Array();
	if(document.images)
	{
		for(var i = 0; i < bilder.length; i++)
		{
			document.Vorladen[i] = new Image();
			document.Vorladen[i].src = bilder[i];
		}
	}
	
	//Get Body
	var tmpBody = document.getElementsByTagName("body").item(0);
	
	//Create layercontainer
	
	//Remove comments when data comes from database
	eqBox_box = document.createElement("div");
	eqBox_box.setAttribute('id','eqBox_box');
	
	//Print Button
	var print_link_small = document.createElement("div");
	print_link_small.setAttribute("id","eqBox_print_small");
	print_link_small.setAttribute("href","#");
	print_link_small.onclick = function () { eqBox_print(); return false; };
	print_link_small.innerHTML = "Drucken";
	//eqBox_box.appendChild(print_link_small);

	//Close Button
	var close_link_small = document.createElement("div");
	close_link_small.setAttribute("id","eqBox_close_small");
	close_link_small.setAttribute("href","#");
	close_link_small.onclick = function () { eqBox_hide(); return false; };
	close_link_small.innerHTML = "X";
	//eqBox_box.appendChild(close_link_small);
	
	//Inhaltsdiv
	eqBox_inhalt = document.createElement("div");
	eqBox_inhalt.setAttribute('id','eqBox_inhalt');
	
	//Spalte
	eqBox_Content= document.createElement("div");
	eqBox_Content.setAttribute('id','eqBox_Content');
	
	//Titel der Box
	eqBox_titel = document.createElement("h1");
	
	eqBox_clearer = document.createElement("div");
	eqBox_clearer.setAttribute('class','eqBox_clearer');
	
		
	//Create overlay-background
	eqBox_overlay = document.createElement("div");
	eqBox_overlay.setAttribute('id','eqBox_overlay');
	eqBox_overlay.onclick = function () {eqBox_hide(); return false;}
	//Add overlay and layer
	

	eqBox_box.appendChild(eqBox_titel);
	
	eqBox_inhalt.appendChild(eqBox_Content);
	eqBox_box.appendChild(eqBox_inhalt);
	eqBox_box.appendChild(eqBox_clearer);
	tmpBody.insertBefore(eqBox_box, tmpBody.firstChild);
	tmpBody.insertBefore(eqBox_overlay, tmpBody.firstChild);	

	
}

function decrease_opacity()
{
	opacity-=counter;
	if(opacity<op_min)
	opacity = op_min;
	//counter=counter*2;
	if(navigator.appName == "Microsoft Internet Explorer")		
		eqBox_overlay.style.filter = "alpha(opacity="+opacity+")";
	else
		eqBox_overlay.style.opacity = "0."+opacity;
	if(opacity>op_min)
	window.setTimeout("decrease_opacity()",10);	
	else
	{
		
		//Hide overlay
		eqBox_overlay.style.display = "none";
		
		//Show select-boxes (IE only)
		if(navigator.appName == "Microsoft Internet Explorer")
		{
			eqBox_selects = document.getElementsByTagName("select");
			for(var i = 0; i<eqBox_selects.length; i++)
				eqBox_selects[i].style.visibility = "visible";
		}
		
		counter = counter_step;
	}
}

function increase_opacity()
{
	
	opacity+=counter;
	if(opacity>op_max)
	opacity = op_max;
	
	//counter=counter*2;
	if(navigator.appName == "Microsoft Internet Explorer")
		eqBox_overlay.style.filter = "alpha(opacity="+opacity+")";
	else
	eqBox_overlay.style.opacity = "0."+opacity;
	if(opacity<op_max)
	{
		window.setTimeout("increase_opacity()",10);		
	}
	else
	{
		counter = counter_step;
		//document.getElementById("eqBox_box").style.display = "block";
	}
	
}

//Hide the box
function eqBox_hide()
{

	//Hide box
		eqBox_box.style.display = "none";	
		
	
	opacity = op_max;
	decrease_opacity()
	
}

function eqBox_print()
{
	print();
}

/* 
################# Third Party Functions ######################################
*/


//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function eqBox_getPageScroll()
{
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}


//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Changed for IE by Timon Rapp
//
function eqBox_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) {
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else {
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    var windowWidth, windowHeight;
    if (self.innerHeight) {
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.scrollHeight) {
        windowWidth = document.documentElement.scrollWidth;
        windowHeight = document.getElementsByTagName("html")(0).offsetHeight;
    } else if (document.body) {
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }
    if (yScroll < windowHeight) {
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }
    if (xScroll < windowWidth) {
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }
    arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight, xScroll, yScroll);
    return arrayPageSize;
}













//Show the Box
function eqBox_standard(titel,content,breite,ajax,ajaxurl)
{
	opacity = op_min;
	counter = counter_step;
	increase_opacity();
	//Hide select-boxes (IE only)
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		eqBox_selects = document.getElementsByTagName("select");
		for(var i = 0; i<eqBox_selects.length; i++)
			eqBox_selects[i].style.visibility = "hidden";
	}
	
	//Get variables
	var size = eqBox_getPageSize();
	var sc = eqBox_getPageScroll();

	eqBox_titel.innerHTML = titel;
	eqBox_Content.style.padding = "10px";
	
	if (ajax)
	{
		if (ajaxurl)
		{
			doRequest(ajaxurl,'eqBox_Content');
			//eqBox_Content.innerHTML = ajaxurl;
		}
	}
	else
	{
		eqBox_Content.innerHTML = content;
	}
	
	eqBox_box.style.visibility = "hidden"; eqBox_box.style.display = "block";
	
	//Set the top of the layer
	if(eqBox_box.offsetHeight > (size[3]/2))
	eqBox_box.style.top = sc[1]+50+"px";
	else	
	eqBox_box.style.top = sc[1]+(size[3]/2)-eqBox_box.offsetHeight+"px";
	
	//eqBox_box.style.top = "5.5em";
	
	//Manually set the overlay-height
	eqBox_overlay.style.height = 	size[1]+"px";
	eqBox_overlay.style.display = "block";
	
	//Set size once again after showing the container
	var size = eqBox_getPageSize();
	eqBox_overlay.style.height = 	size[1]+"px";
	
	//Box mittig setzen
	var BoxBreite = 500;
	if (breite) {
		var BoxBreite = breite;
	}
	eqBox_box.style.width = BoxBreite + "px";
	var margin = BoxBreite / 2;
	eqBox_box.style.marginLeft = "-" + margin + "px";
	//Eo Box mittig setzen
	
	eqBox_box.style.visibility = "visible";
	return false;
}



function eqBox_spieltabelle(divID,saison,wettbewerbID,breite)
{

	opacity = op_min;
	counter = counter_step;
	increase_opacity();
	//Hide select-boxes (IE only)
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		eqBox_selects = document.getElementsByTagName("select");
		for(var i = 0; i<eqBox_selects.length; i++)
			eqBox_selects[i].style.visibility = "hidden";
	}
	
	//Get variables
	var size = eqBox_getPageSize();
	var sc = eqBox_getPageScroll();
	
	//eqBox_Content.innerHTML = content;
	eqBox_Content.style.padding = "0px";
	eqBox_Content.innerHTML = '<div id="' + divID + '" style="width:1px;">... lade Daten ...</div>';
	
		var O_divID = new fussballdeAPI();
		O_divID.setzeSaison(saison);
		O_divID.setzeWettbewerbID(wettbewerbID);
		O_divID.zeigeTabelle(divID);

	eqBox_titel.innerHTML = "Spieltabelle";
	eqBox_box.style.visibility = "hidden";
	//Make the layer visible		
	eqBox_box.style.display = "block";
	
	
	//Set the top of the layer
	
	//alert((size[3]/2)+","+eqBox_box.offsetHeight);
	
	//eqBox_box.style.top = (sc[1]+50)+"px";
	if(eqBox_box.offsetHeight > (size[3]/2))
	eqBox_box.style.top = sc[1]+50+"px";
	else	
	eqBox_box.style.top = sc[1]+(size[3]/2)-eqBox_box.offsetHeight+"px";
	
	eqBox_box.style.top = "5.5em";
	
	//Manually set the overlay-height
	eqBox_overlay.style.height = 	size[1]+"px";
	//Make the overlay visible
	eqBox_overlay.style.display = "block";
	
	
	
	//Set size once again after showing the container
	var size = eqBox_getPageSize();
	eqBox_overlay.style.height = 	size[1]+"px";
	
	//Box mittig setzen
	var BoxBreite = 500;
	if (breite)
	{
		var BoxBreite = breite;
	}
	eqBox_box.style.width = BoxBreite + "px";
	var margin = BoxBreite / 2;
	eqBox_box.style.marginLeft = "-" + margin + "px";
	//Eo Box mittig setzen
	
	
	eqBox_box.style.visibility = "visible";
	return false;
}

function eqBox_spielbegegnungen(divID,saison,wettbewerbID,breite)
{
	opacity = op_min;
	counter = counter_step;
	increase_opacity();
	//Hide select-boxes (IE only)
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		eqBox_selects = document.getElementsByTagName("select");
		for(var i = 0; i<eqBox_selects.length; i++)
			eqBox_selects[i].style.visibility = "hidden";
	}
	
	//Get variables
	var size = eqBox_getPageSize();
	var sc = eqBox_getPageScroll();
	
	//eqBox_Content.innerHTML = content;
	eqBox_Content.style.padding = "0px";
	eqBox_Content.innerHTML = '<div id="' + divID + '" style="width:1px;">... lade Daten ...</div>';
	
		var O_divID = new fussballdeAPI();
		O_divID.setzeSaison(saison);
		O_divID.setzeWettbewerbID(wettbewerbID);
		O_divID.zeigeWettbewerb(divID);

	eqBox_titel.innerHTML = "Begegnungen";
	eqBox_box.style.visibility = "hidden";
	//Make the layer visible		
	eqBox_box.style.display = "block";
	
	
	//Set the top of the layer
	
	//alert((size[3]/2)+","+eqBox_box.offsetHeight);
	
	//eqBox_box.style.top = (sc[1]+50)+"px";
	if(eqBox_box.offsetHeight > (size[3]/2))
	eqBox_box.style.top = sc[1]+50+"px";
	else	
	eqBox_box.style.top = sc[1]+(size[3]/2)-eqBox_box.offsetHeight+"px";
	
	//eqBox_box.style.top = "2.5em";
	
	//Manually set the overlay-height
	eqBox_overlay.style.height = 	size[1]+"px";
	//Make the overlay visible
	eqBox_overlay.style.display = "block";
	
	
	
	//Set size once again after showing the container
	var size = eqBox_getPageSize();
	eqBox_overlay.style.height = 	size[1]+"px";
	
	//Box mittig setzen
	var BoxBreite = 500;
	if (breite)
	{
		var BoxBreite = breite;
	}
	eqBox_box.style.width = BoxBreite + "px";
	var margin = BoxBreite / 2;
	eqBox_box.style.marginLeft = "-" + margin + "px";
	//Eo Box mittig setzen
	
	
	eqBox_box.style.visibility = "visible";
	return false;
}
