$(document).ready(function(){
    var animatedPromo = $("div.animated-promo");
    var bigA = animatedPromo.find("div.big-a");
    var gradientBottom = animatedPromo.find("div.gradient-bottom");
    var logo = animatedPromo.find("div.logo");
    var solution = animatedPromo.find("div.solution");
    var claim = animatedPromo.find("div.claim");

    var animateIn = function() {
        var bigATimeout = 1000;
        var bigASpeed = 2000;

        var gradientBottomTimeout = 1000;
        var gradientBottomSpeed = 2000;

        var logoTimeout = 2000;
        var logoSpeed = 2000;

        var solutionTimeout = 2000;
        var solutionSpeed = 2000;

        var claimTimeout = 2800;
        var claimSpeed = 2000;

        /* setup opacity that is unavailable in CSS by correct way */
        gradientBottom.animate({'opacity' : 0.4}, 20);
        bigA.animate({'opacity' : 0.1}, 20);

        /* reset layers to its initial state */
        bigA.css({'left' : '-968px'});
        gradientBottom.css({'bottom' : '-49px'});
        logo.css({'left' : '-968px'});
        solution.css({'left' : '968px'});
        claim.css({'left' : '-968px'});

        /* animate big A */
        setTimeout(function(){
            bigA.animate({'left' : 0}, bigASpeed);
        }, bigATimeout);

        /* animate bottom gradient */
        setTimeout(function(){
            gradientBottom.animate({'bottom' : 0}, gradientBottomSpeed);
        }, gradientBottomTimeout);

        /* animate logo */
        setTimeout(function(){
            logo.animate({'left' : 0}, logoSpeed);
        }, logoTimeout);

        /* animate solution */
        setTimeout(function(){
            solution.animate({'left' : 0}, solutionSpeed);
        }, solutionTimeout);

        /* animate claim */
        setTimeout(function(){
            claim.animate({'left' : 0}, claimSpeed, function(){
                // animateOut();
            });
        }, claimTimeout);
    };

    var animateOut = function() {
        var bigATimeout = 6800;
        var bigASpeed = 2000;

        var gradientBottomTimeout = 6800;
        var gradientBottomSpeed = 2000;

        var logoTimeout = 6000;
        var logoSpeed = 2000;

        var solutionTimeout = 6000;
        var solutionSpeed = 2000;

        var claimTimeout = 5000;
        var claimSpeed = 2000;


        /* animate big A */
        setTimeout(function(){
            bigA.animate({'left' : '-968px'}, bigASpeed);
        }, bigATimeout);

        /* animate bottom gradient */
        setTimeout(function(){
            gradientBottom.animate({'bottom' : '-49px'}, gradientBottomSpeed);
        }, gradientBottomTimeout);

        /* animate logo */
        setTimeout(function(){
            logo.animate({'left' : '-968px'}, logoSpeed);
        }, logoTimeout);

        /* animate solution */
        setTimeout(function(){
            solution.animate({'left' : '968px'}, solutionSpeed);
        }, solutionTimeout);

        /* animate claim */
        setTimeout(function(){
            claim.animate({'left' : '-968px'}, claimSpeed, function(){
                animateIn();
            });
        }, claimTimeout);
    };


    var sliderSpeed = 300;
    var sliderDelay = 1000;
    var sliderWindowAnimation = function() {
        setTimeout(function() {
            // animate one item
            sliderFilm.animate({'left' : '-=300px'}, sliderSpeed, function() {
                //alert((parseInt(sliderFilm.css('left')) * -1) + '>=' + ((sliderItems.length - 1) * 300));
                if((parseInt(sliderFilm.css('left')) * -1) >= ((sliderItems.length - 1) * 300)) {
                    // move to begin
                    sliderFilm.css({ 'left' : '0px' });
                } 
                sliderWindowAnimation();
            });
        }, sliderDelay);

    };
    var sliderWindow = $('div.slider-window');
    var sliderFilm = sliderWindow.find('div.slider-film');
    sliderFilm.find('div.slider-item:first').clone().appendTo(sliderFilm);
    var sliderItems = sliderFilm.find('div.slider-item');
    



    // triggers animation
    animateIn();
    sliderWindow.each(function(){sliderWindowAnimation();});

    // target blank
    $('a.target-blank').live('click', function(event){
        event.preventDefault();
        window.open(this.href);
    });

    // table behaviour
    $("table.ontran-list tr:has(a.row-target)").click(function(){
        location.href = $(this).find('a.row-target').attr('href');
    }).css({ cursor : 'pointer'});
});
