/**
 * $Rev: 142 $
 */

var WW = {};
WW.LogoAnim = {
	
	STEP: 120,
	MIN: -1080,
	MAX: 0,
	DELAY: 83,
		
	_isRunning: false,
    _runOnce: false,
    _anim: null,
	_tout: null,
	_current: null,
	_isFront: false,
	
	initialize: function() {
        var me  = WW.LogoAnim;
        me._current = me.MIN;
        me._anim = $('#home-link a').get(0);
        $(me._anim).hover(me.start, me.stopAtEnd);
        me._isFront = $('body').hasClass('front');
		//WW.LogoAnim.run();
	},
	
	run: function() {
		
		var me  = WW.LogoAnim, 
		    cur = me._current;
		
		if (cur >= me.MAX) {
	    	cur = me.MIN;
	    } else {
	    	cur += me.STEP;
	    }
	    
	    me._anim.style.backgroundPosition = '0 ' + cur + 'px';
	    me._current = cur;
	    
	    // jeśli odtwarzanie jednokrotne i jesteśmy na ostatniej klatce - zatrzymaj animację
        if (me._runOnce && cur === me.MIN) {
            me.stop();
            return;
        }
        
		me._tout = window.setTimeout(me.run, me.DELAY);
	},
	
	rewind: function() {
		WW.LogoAnim._current = WW.LogoAnim.MIN;
	},
	
	stop: function() {
		if (!WW.LogoAnim._isFront) $('#blog-bubble').fadeOut();
		window.clearTimeout(WW.LogoAnim._tout); 
		WW.LogoAnim._tout = null;
		WW.LogoAnim._isRunning = false;
	},
    
    start: function() {
		
		var me  = WW.LogoAnim;
		
		if (!me._isFront) $('#blog-bubble').fadeIn();
		if (!me._isRunning) {
			me._runOnce = false;
			me.run();
			me._isRunning = true;
		}
    },
    
    stopAtEnd: function() {
        WW.LogoAnim._runOnce = true;
    }
};

$(document).ready(WW.LogoAnim.initialize)
           .unload(WW.LogoAnim.stop);
