var kwicks;
var fx ;	
var szNormal = 96; 
var szSmall  = 0;
var szFull   = 0;

var interationCounter=0;

function startSequence(){
	
	
		
	//updatePosition(szFull,szFull,szFull);
	
		
		window.setTimeout('updatePosition(96,0,96)',1000);
		window.setTimeout('updatePosition(0,96,96)',4000);	
		window.setTimeout('updatePosition(96,96,0)',8000);
		window.setTimeout('updatePosition(0,96,96)',12000);
		window.setTimeout('updatePosition(96,0,96)',16000);
		window.setTimeout('updatePosition(96,96,0)',20000);
		window.setTimeout('startSequence()',24000);
	
		
}



function updatePosition(value0,value1,value2){
		var o = {} ;
		var kwicks = $$("#kwicks .kwick");				
		o[0] = {height: [kwicks[0].getStyle("height").toInt(), value0]} 
		o[1] = {height: [kwicks[1].getStyle("height").toInt(), value1]} 
		o[2] = {height: [kwicks[2].getStyle("height").toInt(), value2]} 					
		fx.start(o);

}

Window.onDomReady(function(){
			

			//var Tips1 = new Tips($$('.listenlink'));

		    
			var myTips = new Tips($$('.infotip'), {
				maxTitleChars: 150	//I like my captions a little long
			});
		
			var myTips2 = new Tips($$('.listenimg'), {
				maxTitleChars: 150	//I like my captions a little long
			});
		
			var kwicks = $$("#kwicks .kwick");
			var aaaas = $$("#kwicks .listenimg");
			fx = new Fx.Elements(kwicks, {wait: false, duration: 2000, transition: Fx.Transitions.Back.easeOut});
	       
		    aaaas.each (function(thelink,i){
				//alert('found' );
				thelink.addEvent("mouseenter", function(event) {
			    	
					var o = {} ;
					
					j = kwicks.length;
					for (c=0; c<j; c++){
					    // close opend
						o[c] = {height: [kwicks[c].getStyle("height").toInt(), szNormal]} 
					}
					o[i] = {height: [kwicks[i].getStyle("height").toInt(), szFull]} 					
			    	fx.start(o);
					
					
				});
				thelink.addEvent("mouseleave", function(event) {
			    	var o = {} ;
					o[i] = {height: [kwicks[i].getStyle("height").toInt(), szNormal]}  
			    	fx.start(o);
				});
				
			
				
			});
					
			
			$("kwicks").addEvent("mouseleave", function(event) {
				
				var o = {};
				kwicks.each(function(kwick, i) {
					o[i] = {height: [kwick.getStyle("height").toInt(), szNormal]}
				});
				fx.start(o);
				
			});

			startSequence();
			
/*
			
			aaaas.each (function(thelink,i){
				
				    var o = {} ;
					
					j = kwicks.length;
					
					
					for (c=0; c<j; c++){
			
						o[c] = {height: [kwicks[c].getStyle("height").toInt(), szNormal]} 
					}
					o[0] = {height: [kwicks[i].getStyle("height").toInt(), szFull]} 
					o[1] = {height: [kwicks[i].getStyle("height").toInt(), szFull]} 
					o[2] = {height: [kwicks[i].getStyle("height").toInt(), szFull]} 					
			    	fx.start(o);
			    	
			    	for (c=0; c<j; c++){
			
						o[c] = {height: [kwicks[c].getStyle("height").toInt(), szNormal]} 
					}			
 					window.setTimeout('var kwicks = $$("#kwicks .kwick");var o = {};for(c=0; c<3; c++){ o[c] = {height:[kwicks[c].getStyle("height").toInt(), 96]} }fx.start(o);', 2000); 

					

					
			});
*/
				
			
		});




var newWin = null;
function popUp(strURL, strType, strHeight, strWidth) {
 if (newWin != null && !newWin.closed)
   newWin.close();
 var strOptions="";
 if (strType=="console")
   strOptions="resizable,height="+
     strHeight+",width="+strWidth;
 if (strType=="fixed")
   strOptions="status,height="+
     strHeight+",width="+strWidth;
 if (strType=="elastic")
   strOptions="scrollbars,"+
     "resizable,height="+
     strHeight+",width="+strWidth;
 newWin = window.open(strURL, 'newWin', strOptions);
 newWin.focus();
}

function popUpStatic(strURL, strHeight, strWidth){
 	strOptions="scrollbars,"+
    "resizable,height="+
    strHeight+",width="+strWidth;
	newWin = window.open(strURL, 'newWin', strOptions);
 	newWin.focus();
}


function resizeWindow(){
myWidth = document.bildgross.width+70;
myHeight = document.bildgross.height+140;
window.resizeTo(myWidth,myHeight);
}


// sort mitglieder

	    function hideSpan(i){
			var myDiv = document.getElementById("namen");
			mySpan = myDiv.getElementsByTagName("span");
			mySpan[i].setAttribute("className", "hideIt");
		    mySpan[i].setAttribute("class", "hideIt");
	     }
	
	    function showSpan(i){
			var myDiv = document.getElementById("namen");
			mySpan = myDiv.getElementsByTagName("span");
			mySpan[i].setAttribute("className", "showIt");
			mySpan[i].setAttribute("class", "showIt");
	    }
		
		function arrayAusgeben(sorten){
			var htmlStr = "";
			
                        for (var i=0; i < Namen.length; ++i){
				if (sorten!=''){
                                       // sword = '^'+sorten; //'^'+
				       // var Begriff = Namen[i].toLowerCase();
                                       // var Ergebnis = Begriff.search(sword);
                                       // if(Ergebnis != -1){
                                       // if /aus*/
                                        var Begriff = Namen[i];
					var sortenLength = sorten.length;
					if (Begriff.substring(0,sortenLength).toLowerCase()==sorten){
						showSpan(i);
					}else{
				        	hideSpan(i);	
					}
				}else{
					showSpan(i);
				}
			}
                        

		}




//
/*************************************************************************
  This code is from Dynamic Web Coding at www.dyn-web.com
  Copyright 2001-4 by Sharon Paine 
  See Terms of Use at www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/

/* 
    dw_scrollObj.js  version date: June 2004 
    contains constructor and basic methods for scrolling layers.
    Use with dw_hoverscroll.js and/or dw_glidescroll.js,
    and for scrollbars: dw_scroll-aux.js and dw_slidebar.js
*/

dw_scrollObjs = {};
dw_scrollObj.speed = 100; // default speed for mouseover scrolling
//  constructor arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll, 
//	id of table or other element that scrolling content is nested in. 
//	ns6+/moz need that extra container to get width for horizontal scrolling.
//	(not needed for vertical scrolling)
function dw_scrollObj(wnId, lyrId, cntId) {
  this.id = wnId; 
  dw_scrollObjs[this.id] = this;
  this.animString = "dw_scrollObjs." + this.id;
  this.load(lyrId, cntId);
}

dw_scrollObj.loadLayer = function(wnId, id, cntId) {
  if ( dw_scrollObjs[wnId] ) dw_scrollObjs[wnId].load(id, cntId);
}

dw_scrollObj.prototype.load = function(lyrId, cntId) {
  if (!document.getElementById) return;
  var wndo, lyr;
  if (this.lyrId) {
    lyr = document.getElementById(this.lyrId);
    lyr.style.visibility = "hidden";
  }
  lyr = document.getElementById(lyrId);
  wndo = document.getElementById(this.id);
  lyr.style.top = this.y = 0; lyr.style.left = this.x = 0;
  this.maxY = (lyr.offsetHeight - wndo.offsetHeight > 0)? lyr.offsetHeight - wndo.offsetHeight: 0;
  this.wd = cntId? document.getElementById(cntId).offsetWidth: lyr.offsetWidth;
  this.maxX = (this.wd - wndo.offsetWidth > 0)? this.wd - wndo.offsetWidth: 0;
  this.lyrId = lyrId; // hold id of currently visible layer
  lyr.style.visibility = "visible";
  this.on_load(); 
  this.ready = true;
}

dw_scrollObj.prototype.on_load = function() {}  

dw_scrollObj.prototype.shiftTo = function(lyr, x, y) {
  lyr.style.left = (this.x = x) + "px"; 
  lyr.style.top = (this.y = y) + "px";
}

// remove layers from table for ns6+/mozilla (needed for scrolling inside tables)
dw_scrollObj.GeckoTableBugFix = function() {
  var i, wndo, holderId, holder, x, y;
	if ( navigator.userAgent.indexOf("Gecko") > -1 && navigator.userAgent.indexOf("Firefox") == -1 ) {
    dw_scrollObj.hold = []; // holds id's of wndo and its container
    for (i=0; arguments[i]; i++) {
      if ( dw_scrollObjs[ arguments[i] ] ) {
        wndo = document.getElementById( arguments[i] );
        holderId = wndo.parentNode.id;
        holder = document.getElementById(holderId);
        document.body.appendChild( holder.removeChild(wndo) );
        wndo.style.zIndex = 1000;
        x = holder.offsetLeft; 
		y = holder.offsetTop;
        wndo.style.left = x + "px"; wndo.style.top = y + "px";
        dw_scrollObj.hold[i] = [ arguments[i], holderId ];
      }
    }
   window.addEventListener("resize", dw_scrollObj.rePositionGecko, true);
  }
}

// ns6+/mozilla need to reposition layers onresize when scrolling inside tables.
dw_scrollObj.rePositionGecko = function() {
  var i, wndo, holder, x, y;
  if (dw_scrollObj.hold) {
    for (i=0; dw_scrollObj.hold[i]; i++) {
      wndo = document.getElementById( dw_scrollObj.hold[i][0] );
      holder = document.getElementById( dw_scrollObj.hold[i][1] );
      x = holder.offsetLeft; 
	  y = holder.offsetTop;
      wndo.style.left = x + "px"; wndo.style.top = y + "px";
    }
  }
}


/* dw_hoverscroll.js  version date: June 2004 
   mouseover scrolling for dw_scrollObj (in dw_scrollObj.js)  */

dw_scrollObj.stopScroll = function(wnId) {
  if ( dw_scrollObjs[wnId] ) dw_scrollObjs[wnId].endScroll();
}

// increase speed onmousedown of scroll links
dw_scrollObj.doubleSpeed = function(wnId) {
  if ( dw_scrollObjs[wnId] ) dw_scrollObjs[wnId].speed *= 4;
}

dw_scrollObj.resetSpeed = function(wnId) {
  if ( dw_scrollObjs[wnId] ) dw_scrollObjs[wnId].speed /= 4;
}

// algorithms for time-based scrolling and scrolling onmouseover at any angle adapted from youngpup.net
dw_scrollObj.initScroll = function(wnId, deg, sp) {
  if ( dw_scrollObjs[wnId] ) {
    var cosine, sine;
    if (typeof deg == "string") {
      switch (deg) {
        case "up"    : deg = 90;  break;
        case "down"  : deg = 270; break;
        case "left"  : deg = 180; break;
        case "right" : deg = 0;   break;
        default: 
          alert("Direction of scroll in mouseover scroll links should be 'up', 'down', 'left', 'right' or number: 0 to 360.");
       }
    } 
    deg = deg % 360;
    if (deg % 90 == 0) {
      cosine = (deg == 0)? -1: (deg == 180)? 1: 0;
      sine = (deg == 90)? 1: (deg == 270)? -1: 0;
    } else {
      var angle = deg * Math.PI/180;
      cosine = -Math.cos(angle); sine = Math.sin(angle);
    }
    dw_scrollObjs[wnId].fx = cosine / ( Math.abs(cosine) + Math.abs(sine) );
    dw_scrollObjs[wnId].fy = sine / ( Math.abs(cosine) + Math.abs(sine) );
    dw_scrollObjs[wnId].endX = (deg == 90 || deg == 270)? dw_scrollObjs[wnId].x:
      (deg < 90 || deg > 270)? -dw_scrollObjs[wnId].maxX: 0; 
    dw_scrollObjs[wnId].endY = (deg == 0 || deg == 180)? dw_scrollObjs[wnId].y: 
      (deg < 180)? 0: -dw_scrollObjs[wnId].maxY;
    dw_scrollObjs[wnId].startScroll(sp);
  }
}

// speed (optional) to override default speed (set in dw_scrollObj.speed)
dw_scrollObj.prototype.startScroll = function(speed) {
  if (!this.ready) return; if (this.timerId) clearInterval(this.timerId);
  this.speed = speed || dw_scrollObj.speed;
  this.lyr = document.getElementById(this.lyrId);
  this.lastTime = ( new Date() ).getTime();
  this.on_scroll_start();  
  this.timerId = setInterval(this.animString + ".scroll()", 10); 
}

dw_scrollObj.prototype.scroll = function() {
  var now = ( new Date() ).getTime();
  var d = (now - this.lastTime)/1000 * this.speed;
  if (d > 0) {
    var x = this.x + this.fx * d; 
	var y = this.y + this.fy * d;
    if (this.fx == 0 || this.fy == 0) { // for horizontal or vertical scrolling
      if ( ( this.fx == -1 && x > -this.maxX ) || ( this.fx == 1 && x < 0 ) || 
        ( this.fy == -1 && y > -this.maxY ) || ( this.fy == 1 && y < 0 ) ) {
        this.lastTime = now;
        this.shiftTo(this.lyr, x, y);
        this.on_scroll(x, y);
      } else {
        clearInterval(this.timerId); this.timerId = 0;
        this.shiftTo(this.lyr, this.endX, this.endY);
        this.on_scroll_end(this.endX, this.endY);
      }
    } else { // for scrolling at an angle (stop when reach end on one axis)
      if ( ( this.fx < 0 && x >= -this.maxX && this.fy < 0 && y >= -this.maxY ) ||
        ( this.fx > 0 && x <= 0 && this.fy > 0 && y <= 0 ) ||
        ( this.fx < 0 && x >= -this.maxX && this.fy > 0 && y <= 0 ) ||
        ( this.fx > 0 && x <= 0 && this.fy < 0 && y >= -this.maxY ) ) {
        this.lastTime = now;
        this.shiftTo(this.lyr, x, y);
        this.on_scroll(x, y);
      } else {
        clearInterval(this.timerId); this.timerId = 0;
        this.on_scroll_end(this.x, this.y);
      }
    }
  }
}

dw_scrollObj.prototype.endScroll = function() {
  if (!this.ready) return;
  if (this.timerId) clearInterval(this.timerId);
  this.timerId = 0;  this.lyr = null;
}

dw_scrollObj.prototype.on_scroll = function() {}
dw_scrollObj.prototype.on_scroll_start = function() {}
dw_scrollObj.prototype.on_scroll_end = function() {}

function initScrollLayer() {
  // arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll, 
  // if horizontal scrolling, id of element containing scrolling content (table?)
  var wndo = new dw_scrollObj('wn', 'lyr1', 't1');
  // pass id's of any wndo's that scroll inside tables
  // i.e., if you have 3 (with id's wn1, wn2, wn3): dw_scrollObj.GeckoTableBugFix('wn1', 'wn2', 'wn3');
  dw_scrollObj.GeckoTableBugFix('wn'); 
}




/* A workaround for IE issues in mootools 1.2.1
 * - Recreates FX.Scroll() but utilises 1.2.0's getPosition/getOffset routines.
 */
Fx.Scroll2 = new Class({
 
    'Extends': Fx.Scroll,
 
    'styleString': Element.getComputedStyle,
    'styleNumber': function(element, style) {
        return this.styleString(element, style).toInt() || 0;
    },
    'borderBox': function(element) {
        return this.styleString(element, '-moz-box-sizing') == 'border-box';
    },
    'topBorder': function(element) {
        return this.styleNumber(element, 'border-top-width');
    },
    'leftBorder': function(element) {
        return this.styleNumber(element, 'border-left-width');
    },
    'isBody': function(element) {
        return (/^(?:body|html)$/i).test(element.tagName);
    }, 
    'toElement': function(el) {
        var offset   = {x: 0, y: 0};
        var element  = $(el);
 
        if (this.isBody(element)) {
            return offset;
        }
        var scroll = element.getScrolls();
 
        while (element && !this.isBody(element)){
            offset.x += element.offsetLeft;
            offset.y += element.offsetTop;
 
            if (Browser.Engine.gecko){
                if (!this.borderBox(element)){
                    offset.x += this.leftBorder(element);
                    offset.y += this.topBorder(element);
                }
                var parent = element.parentNode;
                if (parent && this.styleString(parent, 'overflow') != 'visible'){
                    offset.x += this.leftBorder(parent);
                    offset.y += this.topBorder(parent);
                }
            } else if (Browser.Engine.trident || Browser.Engine.webkit){
                offset.x += this.leftBorder(element);
                offset.y += this.topBorder(element);
            }
 
            element = element.offsetParent;
            if (Browser.Engine.trident) {
                while (element && !element.currentStyle.hasLayout) {
                    element = element.offsetParent;
                }
            }
        }
        if (Browser.Engine.gecko && !this.borderBox(element)){
            offset.x -= this.leftBorder(element);
            offset.y -= this.topBorder(element);
        }
 
        var relative = this.element;
        var relativePosition = (relative && (relative = $(relative))) ? relative.getPosition() : {x: 0, y: 0};
        var position = {x: offset.x - scroll.x, y: offset.y - scroll.y};
 
        return this.start(position.x - relativePosition.x, position.y - relativePosition.y);
    }
});