var EventHandler = {
        events: [],
        registerEvent: function( fn, object ) {
                if( $type( object ) != "object" ) {
                        this.events.push( fn );
                }
                else {
                        this.events.push( {func:fn, ob:object});
                }
        },
        fireEvents: function() {
                for( var i = 0; i < this.events.length; i++ ) {
                        if( $type( this.events[i] ) != "object" ) {
                                this.events[i].call();
                        }
                        else {
                                this.events[i].func.call( this.events[i].ob );
                        }
                }
        }
}

var App = {
	
	prefixTemplavoila: 'uploads/tx_templavoila/',
	prefixFileadmin: 'fileadmin/default/templates/images/',
	prefix: '',
	sliderDelay: 5000,
	sliderElementHeight: 280, 
	
	boot: function() {
		this.pngfix();
		this.setFonts();
		this.setForms();
		this.homeSlider();
	},
	
	pngfix: function(){
		if (document.all && /MSIE (5\.5|6)/.test(navigator.userAgent) &&  document.styleSheets && document.styleSheets[2] && document.styleSheets[2].addRule) {
			document.styleSheets[2].addRule('div#shadow_overlay_top', 'behavior: url("/fileadmin/templates/default/_css/iepngfix.htc")');
			document.styleSheets[2].addRule('div#shadow_overlay_bottom', 'behavior: url("/fileadmin/templates/default/_css/iepngfix.htc")');
		}
	},

	setFonts: function(){
		Cufon.replace('div#menu ul li a', { fontFamily: 'axius', hover: true });
		Cufon.replace('h1', { fontFamily: 'axius', hover: false });
		Cufon.replace('h2', { fontFamily: 'axius', hover: false });
		Cufon.now();
	},
	setForms: function(){
		
		if($('email')){
			$('email').addEvent('click', function(){
				$('email').value = '';
			});
		}
	},
	homeSlider: function(){
		if($chk($('homeslider'))){
			var homeSlider = $('homeslider');
			var container = homeSlider.getChildren('ul')[0];
			var elementHeight = container.getFirst().getSize().y; 
			var clone = container.getFirst().clone();
			container.appendChild(clone);
			
			var numItems = container.getChildren('li').length;
			var currentItem = 1;
			container.setStyle('top', 0);
			
			var slide = function(){
				if(currentItem == numItems){
					container.setStyle('top', 0);
					currentItem = 1;
				}
				container.tween('top', -(currentItem * elementHeight));
				currentItem++;
			}.periodical(App.sliderDelay);
		}
	}
}

EventHandler.registerEvent( App.boot, App );
window.addEvent( "domready", EventHandler.fireEvents.bind( EventHandler ) );

