
function NavigatorWindowResize() {
  window.resizeTo( 620, 500 );
  return ;
} // end

/**
 *  Javascript Basics Bibliothek
*/

werbebanner = {
  
  // Elementen-Objekt (DIV) des Werbebanners
  galerie : false,
  // Banner-Ids
  bannerid : new Array(),
  // Bilderlisting der Werbebanner
  bilder : new Array(),
  // Weblinks der Werbebanner
  weblinks : new Array(),
  // Aktueller Bildindex
  index : 0,
  
  // Initialisierungs-Funktion
  initialisieren : function( Element ) {
    if ( document.getElementById( Element ) )
      this.galerie = document.getElementById( Element );
    if ( this.galerie ) {
      this.galerie.style.backgroundImage = 'url(' + this.bilder[0] + ')';
      document.getElementById( 'produktdaten_bild_1' ).src = this.bilder[0];
      document.getElementById( 'bannerlink' ).href = this.weblinks[0];
      document.getElementById( 'bannerlink' ).name = this.bannerid[0];
    }

    // Preloader starten
    this.preloader();
  },
  
  // Galeriebilder vorausladen
  preloader : function() {
    var pre = new Array();
    for( i=0; i < this.bilder.length; i++ ) {
      pre[i] = new Image();
      pre[i].src = this.bilder[i];
    }
    return ;
  },
  
  // Ladestatus des Bildes prüfen
  ladestatus : function() {
    var check = new Image();
    check.src = this.bilder[this.index];
    // Ladestatus Grafik anzeigen
    if ( check.complete != true )
      this.galerie.style.backgroundImage = 'url(assets/img_galerie_bild_laden.gif)';
  },
  
  // Rubrikbeschreibung ausblenden
  beschreibung_ausblenden : function() {
    if ( this.index == 0 )
      document.getElementById( 'produktdaten_text' ).style.display = 'block';
    else
      document.getElementById( 'produktdaten_text' ).style.display = 'none';
  },
  
  // Button Hover
  hoverButton : function( Bttn ) {
    document.getElementById( Bttn ).style.display = '';
  },
  
  // Bild Anchor-URL aktualisieren ...
  updateURL : function ( element ) {
    var bannerlink;
    
    if ( bannerlink = document.getElementById( element) ) {
      bannerlink.href = this.weblinks[this.index];
      bannerlink.name = this.bannerid[this.index];
    }
  },
  
  // Weiter zum nächsten Bild ...
  weiter : function() {
    this.index++;
    if( typeof( this.bilder[this.index] ) == 'string' && this.bilder[this.index].match(/.+/) ) {
      blend_image( 'produktdaten_bild', 'produktdaten_bild_1', this.bilder[this.index], 2000 );
      this.updateURL( 'bannerlink' );
    } else {
      blend_image( 'produktdaten_bild', 'produktdaten_bild_1', this.bilder[0], 2000 );
      this.index = 0;
      this.updateURL( 'bannerlink' );
    }
    // Beschreibung
    // this.beschreibung_ausblenden();
    // document.getElementById( 'debuggin' ).innerHTML = 'Id: ' + this.index;
  }
  
} // object end


/**
 *  Steuerung der Opacity-Eigenschaft
 *  --------------------------------- 
*/ 

function opacity( id, opacStart, opacEnd, millisec ) {
	// speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	// determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

// change the opacity for different browsers
function changeOpac( opacity, id ) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity( id, millisec ) {
	// if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

/**
 *  Blendet einen DIV Container über einen DIV Container ..
 *  ------------------------------------------------------- 
*/ 
function blend_div( divid, imageid, imagefile, millisec ) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	// set the current image as background
	document.getElementById(divid).style.backgroundImage = document.getElementById(imageid).style.backgroundImage;
	
	// make image transparent
	changeOpac(0, imageid);
	
	// make new image
	document.getElementById(imageid).style.backgroundImage = "url(" + imagefile + ")";

	// fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

/**
 *  Blendet ein Bild über einen DIV Container ..
 *  -------------------------------------------- 
*/  
function blend_image( divid, imageid, imagefile, millisec ) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	if ( document.getElementById( divid ) ) {
  	// set the current image as background
  	document.getElementById( divid ).style.backgroundImage = "url(" + document.getElementById( imageid ).src + ")";
  	
  	// make image transparent
  	changeOpac(0, imageid);
  	
  	// make new image
  	document.getElementById( imageid ).src = imagefile;
  
  	// fade in image
  	for(i = 0; i <= 100; i++) {
  		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
  		timer++;
  	}
	}
}

function currentOpac( id, opacEnd, millisec ) {
	// standard opacity is 100
	var currentOpac = 100;
	
	// if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	// call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec);
}

function getElementOffset( element ) {
  var elem=element, tagname="", x=0, y=0;
    
  /* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

  /* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
  if (tagname=="BODY")
    elem=0;

  /* wenn elem ein Objekt ist und offsetParent enthaelt Offset-Elternelement ermitteln */
  if (typeof(elem)=="object")
    if (typeof(elem.offsetParent)=="object")
      elem = elem.offsetParent;
  }

  /* Objekt mit x und y zurueckgeben */
  position = new Object();
  position.x = x;
  position.y = y;
  return position;
} // end
