// <!-- 
//persistence
var mouseX = 0;
var clipPaddingX = 100;
var scrollPos = 0;
var scrollAim = 0;
var clipMaxWidth = 0;
var scrollMinX   = 0;
var scrollInterval = 0;
var visibleLayerBody = "";

NS=(navigator.appName=='Netscape');

  // alert(navigator.family + "*" + navigator.org + "*" +  navigator.version +"*"+ navigator.userAgent+"*"+ navigator.OS);

  
	// only newer browsers can handle alternate stylesheets older ones show no stylesheet at all.

    if (navigator.family=="ie4") {
      document.write('<link rel="alternate stylesheet" type="text/css" media="screen" title="macie" href="macie_screen.css" />');
      document.write('<link rel="alternate stylesheet" type="text/css" media="screen" title="winns" href="winns_screen.css" />');
	  if (navigator.OS=="mac") {
    	// alert("macie detected");
  	  document.write('<link rel="stylesheet" href="macie_screen.css" type="text/css">');
      } 
      else {
        if (navigator.OS=="win") {
  	      // alert("winie detected");

  	      document.write('<link rel="stylesheet" href="winie_screen.css" type="text/css">');
        } 
      }
    } 
    else {
        XX_afterLoad("home");
    } 

 
function XX_afterLoad(menuItem) {
  // alert(navigator.family + "/" + navigator.org + "/" +  navigator.version +"/"+ navigator.userAgent+"/"+ navigator.OS);
  if (!(navigator.family) || navigator.family=="netscape" || navigator.family=="nn4" || navigator.family=="opera" || navigator.family=="gecko" || navigator.family=="mozilla" || navigator.family=="aol" || navigator.family=="hotjava") {
	// document.open();
	document.write("<html><head>");
	document.write("<title>Welcome to 4D Light</title></head>");
	document.write('<link rel="stylesheet" href="ie_screen.css" type="text/css">');
	document.write("<body><br><br><br>");
	document.write("<center><img src='images/SplashscreenLogo_20011229.GIF'>")
	document.write("<h1>Welcome to 4D-Light.de</h1></center>");
	document.write("<center><h3>We apologize...but due to various reasons 4D-Light has <br>decided to optimise the site for Internet Explorer (IE5+) for Mac and PC only!</h3></center>");
	document.write("<center><a href='http://www.microsoft.com/ie'><img border='0' title='Get Internet Explorer' src='explorer.gif'></a></center><br>");
	document.write("<center>Currently unsupported Browsers include: Hotjava Browsers, Opera, AOL Browser, Netscape Communicator 4.x and IE4</center>");
	document.write("<center>In the near Future support for Netscape 6.x and other CSS2/Javascript compatible browsers will be implemented.");
	document.write("<br>Stay tuned and <a href='mailto:info@4d-light.de?subject=update_wanted'>leave us a message</a> if you like to be updated on new browser support.</center>");
	// Since the document keeps loading we want to make sure it's pushed out of the window's frame by a lot of breaks
	document.write("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
	document.write("</body></html>");
	// document.close();
  }
  
  MM_preloadImages('images/buttonDown_pressed.GIF');
  MM_preloadImages('images/buttonUp_pressed.GIF');
  MM_preloadImages('images/buttonToTop_pressed.GIF');  
  /*
  if (navigator.family=="gecko") {
    alert("winns detected");
  	setActiveStyleSheet('winns');
  }
  if (navigator.family=="ie4" && navigator.OS=="mac") {
  	alert("macie detected");
  	setActiveStyleSheet('macie');  
  }
  */
  /*document.all.Block_Profil.style.backgroundColor="#000000";*/
  /*eval("document.all."+menuItem+".style.fontWeight='bold'");*/

  return false;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function XX_openIfDifferent(newURL) {
	// if newURL is different from currently show page load it.
	actloc = self.location.href;
	if (actloc.indexOf(newURL)<0) {
		self.location.href = newURL;
		return false;
	}
	// else do nothing stay on page
	return false;
	// in both cases "false" tells browser to ignore the href attribute
}

function XX_showMenuPopUp(MenuName, PopUpName, show) {
	 point = XX_getLayerCoords(MenuName);
     point.y += 19;
     XX_setLayerCoords(PopUpName, point);
     MM_showHideLayers(PopUpName,'',show);
}

function XX_setLayerCoords(objName, point) {
  if ((obj=MM_findObj(objName))!=null) with (obj) {
    if (NS) {left = point.x; top = point.y;}
    else {style.pixelLeft = point.x; style.pixelTop = point.y;}
  }
}

function XX_getLayerCoords(objName) {
  Array.prototype.x = 0
  Array.prototype.y = 0
  var x = new Array()
  if ((obj=MM_findObj(objName))!=null) {
    if (navigator.appName=='Netscape') {
      // lets get it right from the layer
         x.x = obj.left
         x.y = obj.top
    }
    else {
      // offsetLeft & offsetTop are relative to Parents! 
      // Iteration through parent elements needed.
      parentL = 0
      parentT = 0
      parentLayer = obj;
      while (parentLayer.tagName!="BODY") {
        parentL += parentLayer.offsetLeft;
        parentT += parentLayer.offsetTop;
        parentLayer=parentLayer.offsetParent;
	  }
      x.x = parentL 
      x.y = parentT
    }
  }
  return x
}

function XX_changeScroll(objName) { // change the scrolling with respect to an parent element
  // style.pixelWidth is always 0 for elements with implicit values given by the content.
  // scrollWidth of the elements is calculated by the browser correctly.
  var obj = MM_findObj(objName);
  var par = obj.parentElement;

  clipMaxWidth = par.offsetWidth - clipPaddingX*2;
  scrollMinX   = par.offsetWidth - obj.scrollWidth;
  
  // make a delayed approach to the value 
  scrollMouseX = mouseX - par.offsetLeft - clipPaddingX;
  scrollAim = scrollMouseX * scrollMinX / clipMaxWidth;
  scrollPos = scrollPos - ((scrollPos - scrollAim) * 0.3);

  // keep inside Clip
  if (scrollPos < scrollMinX) { scrollPos = scrollMinX;}
  if (scrollPos > 0) { scrollPos = 0;}

  obj.style.pixelLeft = scrollPos;
}

// IE only
function XX_updateBehaviours() {
	if (navigator.OS!="mac") {
	XX_changeScroll("LayerGallery");
	}
}

// IE only
function XX_onMousemove() {
 // event.x is relative to child layers/divs
 // event.screenX does work for full-screen browser only!
 // event.clientX does work in general.
 mouseX = window.event.clientX;
 return true;
}

// switching layers by changing their visibilty can work in NS and IE.
function XX_switchLayersVisible(newLayer) {
		if (visibleLayerBody=="") {
			visibleLayerBody="LayerBody_Default";
		}
		MM_showHideLayers(newLayer,'',"show");
		MM_showHideLayers(visibleLayerBody,'',"hidden");
		visibleLayerBody=newLayer;
}

// IE only
function XX_changeLayersVisible(newLayer, dummyLayer, copyHTML) {
	// should for all versions be called just with the same copyHTML setting.
	// mixing calls within one page might result in unwanted behaviour
		newLayerObj = MM_findObj(newLayer);
		dummyLayerObj = MM_findObj(dummyLayer);
		dummyLayerObj.innerHTML = newLayerObj.innerHTML;
		if (dummyLayerObj.scrollHeight > dummyLayerObj.parentElement.offsetHeight) {
			scrollerObj = MM_findObj("GalleryClipScroller");
			scrollerObj.style.visibility = "visible";
		} else {
			scrollerObj = MM_findObj("GalleryClipScroller");
			scrollerObj.style.visibility = "hidden";
		}
		dummyLayerObj.style.pixelTop=0;
		return false;
}

// IE only
function XX_eventScroll(obj, value) {
	newObj = MM_findObj(obj);
	newObj.style.pixelTop += value;
	if (newObj.style.pixelTop > 0) {
		newObj.style.pixelTop = 0;
	}
	maxheight =  newObj.scrollHeight - newObj.parentElement.offsetHeight;
	if (newObj.style.pixelTop < - 1 * maxheight ) {
		newObj.style.pixelTop = -1 * maxheight;
	}
	/*if (newObj.style.pixelTop < - 1 * newObj.parentElement.offsetHeight) {
		newObj.style.pixelTop = -1 * newObj.parentElement.offsetHeight;
	}*/
}

function XX_setScroll(obj, value) {
	newObj = MM_findObj(obj);
	newObj.style.pixelTop = value;
	return true;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// -->