/*
 * Common Functions
 */
 
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];}}
}

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_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

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];}
}



/*
 * Fullscreen Background-Image
 */
 
var Background = new Class({
	options: { // HTML-Attribute des img-Tags
		container:		"fullsize-img", // (#fullsize-img)
		id:           "background",
		src:          "",
		alt:          "",
		style: { // CSS
		  "width":    1200,
			"height":   800,
			"position": "fixed"
		}
	},

	element: null, // speichert das img-Tag

	ratio: 1, // ursprüngliches seitenverhältnis des bildes festhalten

  initialize: function(options) {
		this.options = $merge(this.options, options);

		// Image-Tag erstellen
		this.element = new Asset.image(this.options.src, {
		  id: this.options.id,
			onload: function() { this.element.fade("in"); }.bind(this)
		}).setStyles(this.options.style).fade("hide").injectInside( $("fullsize-img") );
    this.ratio = this.options.style.width / this.options.style.height;

		// resizen aktivieren
    window.addEvent('resize', this.resizeBackground.bind(this));
    this.resizeBackground();

    // IE-fix für position:fixed
    if (Browser.Engine.name == "trident" && Browser.Engine.version < 5) {
      window.addEvent("resize", this.fixPosition.bind(this));
      window.addEvent("scroll", this.fixPosition.bind(this));
      this.fixPosition();
    }
	},

	resizeBackground: function() { // Hintergrundbild resizen, dabei Seitenverhältnis beibehalten
    if (window.getWidth() / window.getHeight() > this.ratio) { // breite beibehalten
      this.element.setStyle("width", window.getWidth()).setStyle("height", window.getWidth() / this.ratio);
    } else { // höhe beibehalten
      this.element.setStyle("width", window.getHeight() * this.ratio).setStyle("height", window.getHeight());
    }
  },

	fixPosition: function() { // position: fixed im IE6 simulieren
    this.element.setStyles({
      "position":  "absolute",
      "top":       (window.getScroll().y + window.getSize().y - this.element.getSize().y)
    });
  }
});



/*
 * Do this when DOM is ready
 */
window.addEvent("domready", function() {
	var bg = new Background({ src: hgImg, style: { width: breite, height: hoehe } });
});