if (typeof Event == 'undefined') Event = new Object();

var intervalID = "void";
var openElement = new Array();

function voidLink() {
	return;
}

Event.domReady = {
  add: function(fn) {
    

    if (Event.domReady.loaded) return fn();
    

    var observers = Event.domReady.observers;
    if (!observers) observers = Event.domReady.observers = [];
    observers[observers.length] = fn;
    
    if (Event.domReady.callback) return;
    Event.domReady.callback = function() {
      if (Event.domReady.loaded) return;
      
      Event.domReady.loaded = true;
      if (Event.domReady.timer) {
        clearInterval(Event.domReady.timer);
        Event.domReady.timer = null;
      }
      
      var observers = Event.domReady.observers;
      for (var i = 0, length = observers.length; i < length; i++) {
        var fn = observers[i];
        observers[i] = null;
        fn(); // make 'this' as window
      }
      Event.domReady.callback = Event.domReady.observers = null;
    };
    
    var ie = !!(window.attachEvent && !window.opera);
    var webkit = navigator.userAgent.indexOf('AppleWebKit/') > -1;
    
    if (document.readyState && webkit) {
      
      // Apple WebKit (Safari, OmniWeb, ...)
      Event.domReady.timer = setInterval(function() {
        var state = document.readyState;
        if (state == 'loaded' || state == 'complete') {
          Event.domReady.callback();
        }
      }, 50);
      
    } else {
        
        if (window.addEventListener) {
            document.addEventListener("DOMContentLoaded", Event.domReady.callback, false);
            window.addEventListener("load", Event.domReady.callback, false);
          } else if (window.attachEvent) {
            window.attachEvent('onload', Event.domReady.callback);
          } else {
            var fn = window.onload;
            window.onload = function() {
              Event.domReady.callback();
              if (fn) fn();
            }
          }
     }
  }
}

if (window.navigator.appName != 'Microsoft Internet Explorer') {
	Event.domReady.add(function(){
		this.intervalID = window.setInterval(arrangeSlider, 250);
	});
} else {
	window.onload = function() {
		arrangeSliderInStupidIE();
	}
}
 
var slider = new Array();

function arrangeSliderInStupidIE() {
	var slides = document.getElementsByTagName("div");

	for(var slider in slides) {
		if(slider != Number.NaN){
			slides[slider].endHeight = slides[slider].offsetHeight;
			if(slides[slider].className == "slide"){
				if(slides[slider].id != "agb") {
					try{
				slides[slider].style.height = 1 + "px";
				slides[slider].style.visibility = "hidden";
				} catch (e){};
				}
			}
		}
	}
}

function arrangeSlider() {
	if(this.intervalId != "empty") {
		clearInterval(this.intervalID);
	}
	var slides = document.getElementsByClassName("slide");

	for(var slider in slides) {
		if(slider != Number.NaN){
			slides[slider].endHeight = slides[slider].offsetHeight;
			if(slides[slider].id != "agb") {
				try{
				slides[slider].style.height = 1 + "px";
				slides[slider].style.visibility = "hidden";
				} catch (e){};
			}
		}
	}
}

function doHeightChangeMem(sender,elemn,steps,intervals,powr) { 
				
	var elem = document.getElementById(elemn);

	var endHeight = elem.endHeight;
	var startHeight = 0;
	
	if(this.openElement[elemn] == true){
		window.clearInterval(elem.heightChangeMemInt);
		this.openElement[elemn] = false;
		
	    if (elem.heightChangeMemInt)
		window.clearInterval(elem.heightChangeMemInt);

		var height = 1;
		elem.style.height = endHeight + "px";
	    var actStep = 0;
	    
	    elem.heightChangeMemInt = window.setInterval(
			function() { 
			height = easeInOut(startHeight,endHeight,steps,actStep,powr);
			if(height <= endHeight && (height >= 0)) {
				if(height < (endHeight - 1)) {
					elem.style.height = (endHeight - height) + "px";
				} else {
					elem.style.height = "1px";
				}
			} 
			actStep++;
			if (actStep > steps) {
				elem.style.visibility = "hidden";
				window.clearInterval(elem.heightChangeMemInt);
			}
		} 
		,intervals)
		
		return;
	} else {
		this.openElement[elemn] = true;
		elem.style.visibility = "visible";
		
	    if (elem.heightChangeMemInt)
		window.clearInterval(elem.heightChangeMemInt);

		var height = 1;
		elem.style.height = height + "px";
	    var actStep = 0;

	    elem.heightChangeMemInt = window.setInterval(
			function() { 
			height = easeInOut(startHeight,endHeight,steps,actStep,powr);
			if((height <= endHeight) && (height >= 0)) {
				elem.style.height = height + "px";
			} 
			actStep++;
			if (actStep > steps) window.clearInterval(elem.heightChangeMemInt);
		} 
		,intervals)
	}
}

function easeInOut(startHeight, endHeight, steps, actStep, powr) {
	if(actStep != steps) {
		return (endHeight + ((endHeight / steps) - (endHeight / actStep))) * powr;
	} else {
		return endHeight;
	}
}