﻿/*
Benötigt prototype Library
*/
var Rollover= Class.create();
Rollover.prototype = {
  // Id des Elternelements, welches die Rollovers enthält
  initialize: function(id, options) {
    this.id = id;
    this.images = {};
    this.setOptions(options);
    this.observeLinks();
  },
  
  // Optionen
  setOptions: function(options) {
    this.options = {
      rolloverSuffix: '2',
      selectedSuffix: '2',
      suffixSeperator: '_'
    };
    Object.extend(this.options, options || {});
  },

  observeLinks: function() {
    this.links = $$('#' + this.id + ' a');
    for (i=0; i<this.links.length; i++) {
      this.links[i].observe('mouseover', this.rolloverImage);
      this.links[i].observe('mouseout', this.rollbackImage);
    }
    
    images = $$('#' + this.id + ' img');
    for (i=0; i<images.length; i++) {
      imageId = images[i].id 
      if (!imageId) {
        imageId  = this.id + i;
        images[i].id = imageId;
      }
      
      this.images[imageId] = images[i].src;
      images[i].imageRollover = this;

      // Rollover-Bilder Preload
      (new Image()).src = this.parseRolloverImage(images[i]);
    }
  },
  
  rolloverImage: function(e) {
    image = Event.element(e);
    image.imageRollover.images[image.id] = image.src;
    image.src = image.imageRollover.parseRolloverImage(image);
  },

  rollbackImage: function(e) {
    image = Event.element(e);
    image.src = image.imageRollover.images[image.id];
  },
  
  parseRolloverImage: function(image) {
    ext = image.src.substr(image.src.lastIndexOf('.'));
    path = image.src.match(/(.*)\/(.*\.(png|gif|jpg))/)[1]
    filename = image.src.gsub(path, '')
    basename = this.parseBasename(filename);
    basename = this.parseBasename(basename, this.options.suffixSeperator + this.options.selectedSuffix);
    return path + basename + this.options.suffixSeperator + this.options.rolloverSuffix + ext;
  },
  
  parseBasename: function(name, seperator) {
    seperator = seperator || '.';
    found = name.lastIndexOf(seperator);
    if (found > 0) {
      return name.substr(0, found);
    } else {
      return name;
    }
  }
}

/*
Layout-Funktionen
*/

function setOpacity(el,val)
	{
		// val von 0-10
		$(el).style.opacity = val/10;
		//$(el).visualEffect('blind_down','zoomview',{duration:1})
		$(el).style.filter = 'alpha(opacity=' + val*10 + ')';
	}

function TransLooped(loopnum)
	{
		var elm = '';
		for(var i = 1; i <= loopnum; i++)
			{
				elm = 'trans' + i;
				setOpacity(elm,8);
			}
	}

function FlashWin(pfad)
	{
		$('flashdiv').style.display = 'block';
		TransLooped(6);
		$('filmbox').innerHTML = '<iframe id="filmframe" src="' + pfad + 'shock/index.html" width="90%" height="720" name="filmframe">';
		$('filmbox').innerHTML += '</iframe>';
	}

function HideWin(el)
	{
		$(el).style.display = 'none';
		$('filmbox').innerHTML = '&nbsp;';
	}