function isIE() {
    return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

var Fugu = {

    elmId : 'decorations_stars',

    path  : '/fileadmin/layout/images/wandernacht/sternchen',
    
    halePath  : '/fileadmin/layout/images/wandernacht/hale',

    birdPath : '/fileadmin/layout/images/wandernacht/eule.gif',

    bgPath : '/fileadmin/layout/images/wandernacht/background_3.png',

    birdElm  : 'decoration_bird',

    max : 80,

    minOpacity : 0.7,
    
    haleBobMaxRun : 100,

    init :  function () {
        Fugu.drawBird();
        if ( $.browser.msie && $.browser.version != '9.0' ) {
            Fugu.path = Fugu.path + '.jpg';
            Fugu.halePath = Fugu.halePath + '.gif';
        } else {
            Fugu.path = Fugu.path + '.png'
            Fugu.halePath = Fugu.halePath + '.png';
        }
        
        try {
            document.getElementById(Fugu.elmId);
            Fugu.draw(Fugu.max);
            if (!$.browser.msie ) {
                Fugu.startHaleBob();
            }
        } catch(ex) {}
    },

    drawBird : function(event) {
        var img = new Image();
        img.onload = function() {
            var bImg = new Image();
            bImg.src = Fugu.birdPath;
            bImg.alt = 'Eule';
            $('.' + Fugu.birdElm).append(bImg);
        }
        img.src = Fugu.bgPath;
    },

    draw : function (max) {
        var i, parentElm, elm, viewport;

        parentElm       = document.getElementById(Fugu.elmId);
        viewport        = {width : 0, height : 0};
        viewport.width  = parentElm.scrollWidth;
        viewport.height = parentElm.scrollHeight - 300 /* Grashöhe */;

        for (i = 0; i < max; i++) {
            elm                 =   document.createElement('img');
            elm.id              =  'wandernacht_star_' + i;
            elm.className       =  'wandernacht_star';
            elm.style.top       =   Math.random() * viewport.height + 'px';
            elm.style.left      =   Math.random() * viewport.width  + 'px';
            elm.width           =   Math.random() * 5;
            elm.src             =   Fugu.path;
            parentElm.appendChild(elm);
        }

        if ( $.browser.msie ) {
            return;
        }
        
        var elm;
        for (i = 0; i < max; i++) {
            elm = document.getElementById('wandernacht_star_' + i);
            Fugu.animationDone(elm);
        }
    },

    /**
     * @var Element elm
     */
    animationDone : function(elm) {
        var to = Math.random() * (1 - Fugu.minOpacity) + Fugu.minOpacity;
        
        if ( $.browser.msie ) {
            elm.style.filter = 'alpha(opacity=' + Math.round(to * 100) + ')';
        } else {
            elm.style.opacity = to;
        }
        window.setTimeout(function() {
            Fugu.animationDone(elm);
        }, Math.random() * 500 + 500 );

    },

    startHaleBob : function () {
        window.setTimeout(Fugu.drawHaleBob,Math.max(20000,Math.random()*30000));
    },
    
    drawHaleBob : function () {
        var obj = new Object();
        obj.run = 0;
        obj.top = 0;
        obj.dy = 1+Math.random()*3;
        obj.dir = (Math.round(Math.random())*2)-1;
        
        var parentElm  = document.getElementById(Fugu.elmId);
        obj.parentElm = parentElm;
        if(obj.dir<0){
            obj.left = Math.random()*parentElm.scrollWidth/2;   
        }
        else {
            obj.left = parentElm.scrollWidth-(Math.random()*parentElm.scrollWidth/2);   
        }
        
        var div = document.createElement('div');
        div.style.position = 'absolute';
        div.style.top = 0;
        div.style.left = 0;
        div.zIndex = 0;
        parentElm.appendChild(div);
        obj.div = div;
        
        obj.intervalId = window.setInterval(function(){Fugu.animateHaleBob(obj);}, 100);
    },
    
    animateHaleBob : function (obj) {
        var animWidth       =   7; //30
        var elm             =   document.createElement('img');
        elm.width           =   20;//50
        elm.src             =   Fugu.halePath;
        elm.style.position  =   'absolute';
        
        var y = 0;
        var x = 7;
        var rad = (Math.PI/2)-(Math.PI/2/Fugu.haleBobMaxRun*obj.run);
        y = ((1-Math.sin(rad))*5);
        obj.top += y+obj.dy;
        obj.left += (x*obj.dir);
        
        elm.style.top       =   (obj.top-30)+'px';
        elm.style.left      =   (obj.left)+'px';
        obj.div.appendChild(elm);

        $(elm).animate({opacity : 0, width : animWidth}, 3000, null, function(){obj.div.removeChild(elm);});
                
        obj.run++;
        
        if(obj.run>Fugu.haleBobMaxRun || obj.top>(obj.parentElm.scrollHeight/3*2)){
            window.clearInterval(obj.intervalId);
            Fugu.startHaleBob();
        }
    }
};

var currentOnLoadFunc = window.onload;
window.onload = function() {
    if (currentOnLoadFunc) {
        currentOnLoadFunc();
    }   
    Fugu.init();
};

