var _JFX = {
	
	//ELEMENT THATS ANIMATED
	expElement: null,
	
	conElelemt: null,
	
	//INTERVAL TIMER
	interval: null,
	
	//TIMEOUT 4 ANIMATION
	timeout: 0,
	
	//PIXEL PER STEP
	stepper: 0,
	
	//ABORT-REASON
	duntil: 0,
	
	 
	//EXPAND FUNCTION
	toExpand: function(name,height) {
		_JFX.expElement = _UTIL.getElementById("expaCont_"+name);
		_JFX.duntil = height;
	},

	toContract: function(name) {
		_JFX.conElement = _UTIL.getElementById("expaCont_"+name);
	},
	
	startAnimation: function() {
		if(_JFX.expElement || _JFX.conElement){
			_JFX.stepper = -2;
			_JFX.timeout = 25;
			_JFX.interval = window.setInterval("_JFX.animate()",_JFX.timeout);

			window.name = (_JFX.expElement)? _JFX.expElement.id : "none";
		}
	},
	
	
	//ANIMATION FUNCTION
	animate: function() {
		var go = false;
		if(_JFX.expElement){
			var aHeight = parseInt(_JFX.expElement.style.height);
			if(aHeight < _JFX.duntil){
				_JFX.expElement.style.height = aHeight - _JFX.stepper + "px";
				go = true;
			}
		}
		if(_JFX.conElement){
			var aHeight = parseInt(_JFX.conElement.style.height);
			if(aHeight > 0){
				_JFX.conElement.style.height = aHeight - (0 - _JFX.stepper) + "px";
				go = true;
			}
		}	
		if(!go){
			window.clearInterval(_JFX.interval)
			_JFX.interval = null;
		}
	},
	
	makeDiv: function(name,height,typus){
		document.write('<div id="expaCont_'+name+'" class="expaCont" style="height:'+height+'px; display:'+typus+';">');
	}
}

var dom = document.getElementById ? true : false;
var ie = document.all ? true : false;
var ns = document.layers ? true : false;

var _UTIL = {
    
    getElementById: function (Identifier){
		var Element;
		if (dom) {
			Element = document.getElementById(Identifier);
			if (!Element) {
				Element = false;
			}
			return Element;
		}
		if (ie) {
			Element = document.all(Identifier);
			if (!Element) {
				Element = false;
			}
			return Element;
		}
		if (ns) {
			Element = document[Identifier];
			if (!Element) {
				Element = document.anchors[Identifier];
			}
			if (!Element) {
				Element = false;
			}
			return Element;
		}
		return false;	
    },

	addEventHandler: function(element, event, handler) {
		if (!element.events) element.events = new Array();
		element.events[event] = handler;
		var _tmp, _onevent;
		if (!element || !event )
			return false;
		if (element.addEventListener)   // DOM-konform
			element.addEventListener(event, handler, false);
		else {
			_onevent = 'on'+event;
			if (element.attachEvent)      // IE
				element.attachEvent(_onevent, handler);
			else {                        // ältere Browser
				_tmp = element[_onevent];
				element[_onevent] = typeof _tmp == 'function'
				? (function() { _tmp(); handler(); })
				: handler;
			}
		}
	},


    log: function (txt){
		var mylog = document.getElementById("mylog");
		if(mylog){
			mylog.appendChild(document.createTextNode(txt));
			mylog.appendChild(document.createElement("br"));
		}
    }
}

_UTIL.addEventHandler(window,'load',function(event){_JFX.startAnimation()});
