/* 
EINFACHE UND FLEXIBLE JAVASCRIPT BOX ...
Bitte diese Einträge nicht löschen.
 
easyflexbox.js Version 1.0 
Erzeugt und © 2008 by Ralf Lorenz ( http://www.weblorenz.de )
 
GETESTET IM BROWSER:
IE:		v5.0  v6.0
Firefox:	v2.0  v3.0
Netscape:	v7.1
Opera:		v9.5
 
Dieser Quelltext ist freie Software, welche für private Nutzung beliebig
weitergegeben und verändert werden darf.     Es wird keine Haftung dafür
übernommen, dass dieser Quelltext für die  Zwecke des Anwenders geeignet
ist und mit beim Anwender vorhandener Software kooperiert. Es wird keine
Garantie für Marktreife und Verwendbarkeit gegeben.       Es obliegt dem
Benutzer zu prüfen, ob das Script seinen Anforderungen genügt.

KURZANLEITUNG ZUR GRUNDEINSTELLUNGEN DER FENSTERPOSITION...
AUFRUF:		onclick="fenstershow(bild_01,'420','200','#F2FFFF','8px solid #66CCFF','1');return false"
DIE 6 OPTIONEN:	(DATEN_ID, 'Fensterbreite', 'Fensterhöhe', 'Hintergrundfarbe', Rahmenbreite Typ Farbe', 'Fenster zentriert')

NOCH EIN HINWEISE ZUR BENUTZUNG:
Der Js-Code dieser Demo enthält viele überflüssige Variablen und Abfragen.  Wenn Sie
den Code an Ihre  Bedürfnisse anpassen und kürzen,  wird die  Anzeigegeschwindigkeit
noch erheblich verbessert. Wenn Sie zum Beispiel nur Fenster mit Schatten benötigen,
können Sie den  Code  "function seitengroesse()",  "Globale Grundeinstellungen" und
"Aufruffehler abfangen", mit etwas Know-how aus dem Quelltext entfernen. */


// GLOBALE GRUNDEINSTELLUNGEN BEI BEDARF ANPASSEN...
var setfe_left = 180;					// Fensterposition in Pixel von links... Vorgabe: '180' ...
var setfe_top = 10;					// Fensterposition in Pixel von oben... Vorgabe: '10' ...
var setfe_width = '400';				// Fensterbreite... Vorgabe: '400' ...
var setfe_height = '100';				// Fensterhöhe, wird bei Bedarf automatisch erweitert... Vorgabe: '100' ...
var setfe_hgcol = '#FFFFFF';				// Fenster-Hintergrundfarbe... Vorgabe weiss: '#FFFFFF' ...
var setfe_rahmen = '1px solid #000099';			// Fensterrahmen: ( Breite Typ Farbe ) ...Vorgabe: '1px solid #000099' ...
var setfe_font = 'Arial, Helvetica, sans-serif';	// Schriftart... Vorgabe: 'Arial, Helvetica, sans-serif' ...
var setfe_fontsize = '2';				// Schriftgrösse... Vorgabe: '2' ...
var setfe_zentriert = '0';				// Fenster in eingetellter Position = '0' oder zentriert mit grauen Hintergrund = '1'...
//ENDE DER GLOBALEN GRUNDEINSTELLUNGEN...


// BROWSER TEST UND VAR PRÜFUNG...
var fe_left = 330;
var fe_top = 155;
var GECKO = document.getElementById? true:false;
var NN = document.layers? true:false;
var MSI = document.all? true:false;
var popupopen = "";
var datposition = "";
var fe_width = '400';
var fe_height = '100';
var fe_hgcol = '#FFFFFF';
var fe_rahmen = '1px solid #000099';
var fe_font = '<font face=\"'+setfe_font+'\" size=\"'+setfe_fontsize+'\">';
var fe_zentriert = '0';

var framefenster = new Array();
framefenster[0] = '<table id="fe" style="z-index:2; visibility:hidden; position:absolute; border:1px solid #000099; background-color:#F0FFFF; width: 50px; height: 50px; left: 10px; top: 10px" cellpadding="0" cellspacing="6">'+
  '<tr><td valign="top" id="newtext">Keine Daten gefunden !</td></tr>'+
  '<tr>'+
    '<td align="center" height="20" valign="top"><a href="javascript:fensterhide();"><img src="images/close.gif" width="122" height="20" border="0" title=" Fenster schliessen "></a></td>'+
  '</tr>'+
'</table>'+
'<table id="shadow" style="z-index:1;visibility:hidden;position:absolute;height:200px;width:300px;left: 55px; top: 55px;border:0px;background-color:#333333; opacity:80; opacity:0.80; filter:alpha(opacity=80); -moz-opacity:.8; "><tr><td>&nbsp;</td></tr></table>';

// FENSTER ERZEUGEN...
var posi = 0;
while ( posi < framefenster.length ) {
document.write(framefenster[posi]);
posi++;
}

function popupfensterclose() {
if ( popupopen != "" ) {
 popupopen.close();
 popupopen = "";
 }
}

function popupfenster(FENSTERNAME, WI, HE, MEN, ROL) {
if ( popupopen != "" ) {
 popupopen.close();
 popupopen = "";
}
popupopen = window.open(FENSTERNAME, "Popup", "left=20, top=10, , width="+WI+", height="+HE+", menubar="+MEN+", scrollbars="+ROL+", statusbar=no");
fensterhide();
popupopen.focus();
}

function fenstershow(DATEN_ID, WID, HID, HGCOL, RAHMEN, ZENT)
{
 // AUFRUFFEHLER ABFANGEN... 
 if (DATEN_ID != '') { datposition = fe_font+DATEN_ID+'</font>'; }
 else {
  datposition = fe_font+'<font color="#CC0000"><b>INTERNER FEHLER:</b><br>Der Aufruf des Fensters enthält Fehler, oder in der Javascript-Datei "fensterdatenbank" wurden keine Daten gefunden !</font></font>';
 }
 if (WID != '') { fe_width = WID; } else { fe_width = setfe_width; }
 if (HID != '') { fe_height = HID; } else { fe_height = setfe_height; }
 if (HGCOL != '') { fe_hgcol = HGCOL; } else { fe_hgcol = setfe_hgcol; }
 if (RAHMEN != '') { fe_rahmen = RAHMEN; } else { fe_rahmen = setfe_rahmen; }
 if (ZENT != '') { fe_zentriert = ZENT; } else { fe_zentriert = setfe_zentriert; }
 if (fenstershow.arguments.length < 6) {
  if (fenstershow.arguments[0] == null) { datposition = fe_font+'<font color="#CC0000"><b>INTERNER FEHLER:</b><br>Der Aufruf des Fensters enthält Fehler, oder in der Javascript-Datei "fensterdatenbank" wurden keine Daten gefunden !</font></font>'; }
  if (fenstershow.arguments[1] == null) { fe_width = setfe_width; }
  if (fenstershow.arguments[2] == null) { fe_height = setfe_height; }
  if (fenstershow.arguments[3] == null) { fe_hgcol = setfe_hgcol; }
  if (fenstershow.arguments[4] == null) { fe_rahmen = setfe_rahmen; }
  if (fenstershow.arguments[5] == null) { fe_zentriert = setfe_zentriert; }
 }
 // ENDE AUFRUFFEHLER ABFANGEN...
 if ((GECKO) &&! (MSI)) {
	document.getElementById('newtext').innerHTML = datposition;	
	popupfensterclose();
	if (fe_zentriert == '0') {
	  document.getElementById('fe').style.background = fe_hgcol;
	  document.getElementById('fe').style.border = fe_rahmen;
	  document.getElementById('fe').style.width = fe_width;
	  document.getElementById('fe').style.height = fe_height;
	  document.getElementById('fe').style.left = fe_left;
	  document.getElementById('fe').style.top = document.body.scrollTop + fe_top;	
	  document.getElementById('fe').style.visibility = "visible";
	  document.getElementById('shadow').style.width = fe_width;
	  document.getElementById('shadow').style.height = document.getElementById('fe').offsetHeight;
	  document.getElementById('shadow').style.left = fe_left+5;
	  document.getElementById('shadow').style.top = document.body.scrollTop + fe_top+5;		
	  document.getElementById('shadow').style.visibility = "visible";
	  }
	  else {		
	  seitengroesse();
	  document.getElementById('shadow').style.left = 0;
	  document.getElementById('shadow').style.top = 0;
	   if (FeBreit < document.body.scrollWidth) {FeBreit = document.body.scrollWidth;}
	   if (FeHoch < document.body.scrollHeight) {FeHoch = document.body.scrollHeight;}	
	  document.getElementById('shadow').style.width = FeBreit;
	  document.getElementById('shadow').style.height = FeHoch;
	  document.getElementById('shadow').style.visibility = "visible";	
	  document.getElementById('fe').style.background = fe_hgcol;
	  document.getElementById('fe').style.border = fe_rahmen;	
	  document.getElementById('fe').style.width = fe_width;
	  document.getElementById('fe').style.height = fe_height;
	  document.getElementById('fe').style.left = ((document.body.clientWidth - fe_width) / 2) + document.body.scrollLeft;
	  document.getElementById('fe').style.top =  ((document.body.clientHeight - fe_height) / 2) + document.body.scrollTop;			
	  document.getElementById('fe').style.visibility = "visible";
	  }
  } 
  else if (NN) { 
	document.layers('newtext').innerHTML = datposition;
	popupfensterclose();
	if (fe_zentriert == '0') {
	  document.layers('fe').style.background = fe_hgcol;
	  document.layers('fe').style.border = fe_rahmen;
	  document.layers('fe').style.width = fe_width;
	  document.layers('fe').style.height = fe_height;
	  document.layers('fe').style.left = fe_left;
	  document.layers('fe').style.top = window.pageYOffset + fe_top;
	  document.layers('fe').style.visibility = "visible";
	  document.layers('shadow').style.width = fe_width;
	  document.layers('shadow').style.height = document.layers('fe').offsetHeight;
	  document.layers('shadow').style.left = fe_left+5;
	  document.layers('shadow').style.top = document.body.scrollTop + fe_top+5;		
	  document.layers('shadow').style.visibility = "visible";
	  }
	  else {		
	   seitengroesse();
	  document.layers('shadow').style.left = 0;
	  document.layers('shadow').style.top = 0;			
	  document.layers('shadow').style.width = FeBreit;;
	  document.layers('shadow').style.height = FeHoch;
	  document.layers('shadow').style.visibility = "visible";
	  document.layers('fe').style.background = fe_hgcol;
	  document.layers('fe').style.border = fe_rahmen;	
	  document.layers('fe').style.width = fe_width;
	  document.layers('fe').style.height = fe_height;
	  document.layers('fe').style.left = ((document.body.clientWidth - fe_width) / 2) + document.body.scrollLeft;
	  document.layers('fe').style.top =  ((document.body.clientHeight - fe_height) / 2) + document.body.scrollTop;			
	  document.layers('fe').style.visibility = "visible";
	  }
  } 
  else if (MSI) {
	document.all('newtext').innerHTML = datposition;
	popupfensterclose();		
	if (fe_zentriert == '0') {
	  document.all('fe').style.background = fe_hgcol;
	  document.all('fe').style.border = fe_rahmen;
	  document.all('fe').style.width = fe_width;
	  document.all('fe').style.height = fe_height;
	  document.all('fe').style.left = fe_left;
	  document.all('fe').style.top = document.body.scrollTop + fe_top;		
	  document.all('fe').style.visibility = "visible";
	  document.all('shadow').style.width = fe_width;
	  document.all('shadow').style.height = document.all('fe').offsetHeight;
	  document.all('shadow').style.left = fe_left+6;
	  document.all('shadow').style.top = document.body.scrollTop + fe_top+5;		
	  document.all('shadow').style.visibility = "visible";
	  }
	  else {	
	   seitengroesse();
	  document.all('shadow').style.left = 0;
	  document.all('shadow').style.top = 0;
	   if (FeBreit < document.body.scrollWidth) {FeBreit = document.body.scrollWidth;}
	   if (FeHoch < document.body.scrollHeight) {FeHoch = document.body.scrollHeight;}
	  document.all('shadow').style.width = FeBreit;  //document.body.scrollWidth;
	  document.all('shadow').style.height = FeHoch;
	  document.all('shadow').style.visibility = "visible";	
	  document.all('fe').style.background = fe_hgcol;
	  document.all('fe').style.border = fe_rahmen;
	  document.all('fe').style.width = fe_width;
	  document.all('fe').style.height = fe_height;
	  document.all('fe').style.left = ((document.body.clientWidth - fe_width) / 2) + document.body.scrollLeft;
	  document.all('fe').style.top =  ((document.body.clientHeight - fe_height) / 2) + document.body.scrollTop;		
	  document.all('fe').style.visibility = "visible";
	  }
	}	
  else { 
	alert("FEHLER:\nIhr Broser kann keine eingebetteten Frames anzeigen !\nVerwenden Sie bitte einen anderen Browser.");
  } 
}

// SEITENGROESSE WIRD NUR FÜR ZENTRIERTE FENSTER BENÖTIGT...
function seitengroesse() {	   
var ScroX, ScroY;
var BreitX = window.innerWidth || self.innerWidth || (document.documentElement && document.documentElement.clientWidth) || document.body.clientWidth;
var HochY = window.innerHeight || self.innerHeight || (document.documentElement && document.documentElement.clientHeight) || document.body.clientHeight;    
FeBreit = BreitX;
FeHoch = HochY;

if (window.innerWidth && window.scrollMaxX) {	
	ScroX = window.innerWidth + window.scrollMaxX;
	ScroY = window.innerHeight + window.scrollMaxY; }
else if (document.body.scrollWidth > document.body.offsetWidth) {
	ScroX = document.body.scrollWidth;
	ScroY = document.body.scrollHeight; }
else {
	ScroX = document.body.offsetWidth;
	ScroY = document.body.offsetHeight;
}
if(ScroY < HochY) { FeHoch = HochY; } else { FeHoch = ScroY; }		
if(ScroX < BreitX) { FeBreit = ScroX; } else { FeBreit = BreitX; }
return [FeBreit,FeHoch];	
}

function fensterhide()
{
if (MSI) {
  document.all('fe').style.visibility = "hidden";
  document.all('shadow').style.visibility = "hidden";
  }
else if (NN) {
  document.layers('fe').style.visibility = "hidden";
  document.layers('shadow').style.visibility = "hidden";
  }
if (GECKO) {
  document.getElementById('fe').style.visibility = "hidden";
  document.getElementById('shadow').style.visibility = "hidden";
  }
}

