/************************************************************************/
/*                 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_linkeSpalte;
var eqBox_rechteSpalte;
var eqBox_bild;
var eqBox_teaser_clearer;
var zTeaser;

var zMy_ot_id;
var zMy_id;
var zMy_lang;

//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');
	
	var pdf_link_small = document.createElement("div");
	pdf_link_small.setAttribute("id","eqBox_pdf_small");
	pdf_link_small.setAttribute("href","#");
	pdf_link_small.onclick = function () { eqBox_pdf(); return false; };
	pdf_link_small.innerHTML = "PDF";

	eqBox_box.appendChild(pdf_link_small);
	
	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);

	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');
	
	//DIV mit dem Teaser
	eqBox_teaser = document.createElement("div");
	eqBox_teaser.setAttribute('id','eqBox_teaser');
	
	eqBox_teaser_inhalt = document.createElement("p");
	
	eqBox_bild = document.createElement("img");
	
	//Linke Spalte
	eqBox_linkeSpalte= document.createElement("div");
	eqBox_linkeSpalte.setAttribute('id','eqBox_linkeSpalte');
	
	eqBox_teaser_clearer= document.createElement("div");
	eqBox_teaser_clearer.setAttribute('class','eqBox_clearer');
	eqBox_teaser_clearer.innerHTML = "&nbsp;";
	
	//Linke Spalte
	eqBox_rechteSpalte= document.createElement("div");
	eqBox_rechteSpalte.setAttribute('id','eqBox_rechteSpalte');
	
	//Titel der Box
	eqBox_titel = document.createElement("h2");
	
	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
	//Remove comment when data comes from database
	eqBox_teaser.appendChild(eqBox_bild);
	eqBox_teaser.appendChild(eqBox_teaser_inhalt);
	eqBox_teaser.appendChild(eqBox_teaser_clearer);
	

	eqBox_box.appendChild(eqBox_titel);
	eqBox_box.appendChild(eqBox_teaser);
	
	eqBox_inhalt.appendChild(eqBox_linkeSpalte);
	eqBox_inhalt.appendChild(eqBox_rechteSpalte);
	
	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";
	}
	
	
	
	
}

//Show the box
function eqBox_show(titel,teaser,inhalt_links,inhalt_rechts,bild,my_ot_id,my_id,my_lang)
{

        zMy_ot_id = my_ot_id;
        zMy_id = my_id;
        zMy_lang = my_lang;

	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();
	
	//alert(size[0]+","+size[1]+","+size[2]+","+size[3]+","+size[4]+",");
	//alert(sc[0]+","+sc[1]+","+sc[2]+","+sc[3]+","+sc[4]+",");
	//var tmpContent = inhalt.replace(/\<h4\>/g,"<div class='eqBox_artikel'><h4>");
	//tmpContent = tmpContent.replace(/\<\/p\>/g,"</p></div>");
	//tmpContent = inhalt.replace(/\<h4\>/g,"</div><h4>");
	eqBox_linkeSpalte.innerHTML = inhalt_links;
	eqBox_rechteSpalte.innerHTML = inhalt_rechts;
	eqBox_teaser_inhalt.innerHTML = teaser;
	
	if (bild.length > 0)
	{
		eqBox_bild.src = bild;
	}
	else
	{
		eqBox_bild.src = "/images/blind.gif";
	}
//	eqBox_teaser.innerHTML = "<p>"+teaser+"<\/p>";
	eqBox_titel.innerHTML = titel;
	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";
	
	//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";
	
	
	eqBox_box.style.visibility = "visible";
	return false;
}

//Hide the box
function eqBox_hide()
{

	//Hide box
		eqBox_box.style.display = "none";	
		
	
	opacity = op_max;
	decrease_opacity()
	
}

//show pdf CR 2007-12-04
function eqBox_pdf(my_ot_id,my_id,my_lang)
{

//alert(zMy_id);
	
	//show pdf
	window.open('/helper/content_2spalten_pdf.php?ot_id='+zMy_ot_id+'&id='+zMy_id+'&lang='+zMy_lang,'_new_pdf','width=640,height=480,scrollbars=yes,resizable=yes');
}

function eqBox_print()
{
	print();//2do:only print factsheet!!
}

/* 
################# 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;
}

