
$(function(){
    
    $("#loginFormPass,#loginFormUser").one("focus", function(){ this.value = ''; this._keCleared=true; });
    
    $("#deckKVnav a").click(function() { KeBehaviors.showSlide($(this).attr('href'), true); });
    $("#deckKVimgCtrl").click(function() { 
        if ($(this).hasClass('playing')) { KeBehaviors.stopSlideshow(); }
        else { KeBehaviors.playSlideshow().nextSlide(); }
    });
    $("#deckKVinfoTxt").click(function() { KeBehaviors.stopSlideshow(); });
    
    
    $("#videoPlaylist a").click(function() { KeBehaviors.showVideo($(this).attr('href')); $(this).blur(); });
    
    if (window.location.hash) { 
        KeBehaviors.showSlide(window.location.hash); 
        KeBehaviors.showVideo(window.location.hash, true); 
    } else if ($('#videoElement').length) {
        KeBehaviors.showVideo('#'+$("#videoPlaylist li.current").attr('id'), true);
    }

    KeTracking.initCampaignTracking();

    $(".reasonBlock").addClass('reasonBlockJS reasonBlockHide').children('h3').click(function() { $(this).parents('.reasonBlock').toggleClass('reasonBlockHide'); });
    if (window.location.hash) {
        $(".reasonBlock a"+window.location.hash).parents('.reasonBlock').removeClass('reasonBlockHide');
    }
    
    
    $('#mailCC').attr('href','mailt'+'o:chris'+'to'+'pher'+'@'+'kek'+'aya.com');
    $('#mailPR').attr('href','ma'+'ilto:pre'+'s'+'se'+'@'+'ko'+'ntobl' + 'ick.d'+'e');
    $('#mailJO').attr('href','mai'+'lto:jo'+'bs'+'@kon'+'tob'+'lick.de');
    $('#mailSK').attr('href','mail'+'to:sup'+'po'+'rt'+'@'+'kon'+'tobli'+'ck.de');

    $('#loginStripeForm').submit(function() {
        var formAction = 'signIn';
        $(this).find("input").each(function() { if (this._keCleared!=true) { formAction = 'login'; return false; } });
        $(this).attr('action', 'https://ssl.kontoblick.de/auth/' + formAction);
    });

    $('input.hideSubmit').addClass('hiddensubmit');
    
    $('a.buttonSubmitForm').click(function() { 
        $(this).parents('form').eq(0).submit(); 
    });

    KeBehaviors.playSlideshow(true);

    if ($.browser.msie && new Number($.browser.version) < 7) {
        var decknavLinks = $('#deckKVnav li a');
        if (decknavLinks.length) {
            decknavLinks.mouseenter(function() { 
                $(this).addClass('hover'); 
            }).mouseleave(function() { 
                $(this).removeClass('hover'); 
            });
        }
    }

    KeTracking.initGoogleTracking();

});


var KeBehaviors = {
    _fadingInProgress: false,
    showSlide: function(slide) {
        var id;
        if (!slide || !(id = slide.substr(1)) || !$("#deckKVnav_"+id).length) { return; }

        if (!arguments[2]) {
            this.stopSlideshow();
        }

        if (arguments[1] && ($.browser.mozilla || $.browser.safari)) {
            if (KeBehaviors._fadingInProgress) { return; }
            KeBehaviors._fadingInProgress = true;
            $("#deckKVimgCanvas").css('background-position', $("#deckKVimgElement").css('background-position'));
            $("#deckKVimgElement").hide();
            $("#deckKVinfoTxt").fadeOut(150, function () { 
                $('#landingDeck').attr('class', '');
                $('#landingDeck').addClass('deck_'+id, '');
                $("#deckKVimgElement, #deckKVinfoTxt").fadeIn(150, function() {
                    KeBehaviors._fadingInProgress = false;
                });
            });
        } else {
            $('#landingDeck').attr('class', '');
            $('#landingDeck').addClass('deck_'+id, '');
        }

        $("#deckKVnav li.current a, #deckKVnav li.current").removeClass("current");
        $("#deckKVnav_"+id+", #deckKVnav_"+id+" a").addClass("current").blur();
    },
    _slideshowInterval: null,
    _slideshowRewind: false,
    playSlideshow: function() {
        if (this._slideshowInterval) { return; }
        $("#deckKVimgCtrl").addClass('playing');
        this._slideshowRewind = arguments[0] ? true : false;
        this._slideshowInterval = window.setInterval(KeBehaviors.nextSlide, 7000);
        return this;
    },
    stopSlideshow: function() {
        if (!this._slideshowInterval) { return; }
        $("#deckKVimgCtrl").removeClass('playing');
        window.clearInterval(this._slideshowInterval);
        this._slideshowInterval = null;
        return this;
    },
    nextSlide: function() {
        var current = $("#deckKVnav li.current"), next = [];
        if (!current.length) { return; }
        if (!KeBehaviors._slideshowRewind || current.attr('id') == 'deckKVnav_finanzen') { next = current.next('li'); } 
        KeBehaviors._slideshowRewind = false;
        if (!next.length) { next = $('#deckKVnav_finanzen'); }
        KeBehaviors.showSlide($(next).find('a').attr('href'), true, true);
        return this;
    },
    showVideo: function(identifier) {
        if (!identifier || !$("#videoPlaylist "+identifier).length || (!arguments[1] && '#'+$("#videoPlaylist li.current").attr('id') == identifier)) { return; }
        $("#videoPlaylist li.current").removeClass("current"); 
        $(identifier).addClass("current");
        this._removePlayer();
        this._addPlayer(identifier.substring(1));
    },
    _removePlayer: function() {
        swfobject.removeSWF('videoPlayer');
        $('#videoContainer').html('<div id="videoPlaceholder"></div>');
    },
    _addPlayer: function(video) {
        swfobject.embedSWF(
            "/static/tools/player.swf", "videoPlaceholder", 
            "620", "430", "9", "/static/js/3rdparty/expressInstall.swf", { 
                controlbar: 'over',
                image: '/static/images/external/video/'+video+'l.jpg',
                file: 'http://dpl49q0sfofqs.cloudfront.net/'+video+'.flv',
                screencolor: '#F5F5ED',
                plugins: 'madlytics-1',
                'madlytics.callbacktype': 'javascript',
                'madlytics.callbacklistener': 'KeBehaviors._trackVideo'
            }, { 
                wmode: "transparent", 
                allowFullScreen: "true", 
                allowscriptaccess: "always"
            }, {
                id: 'videoPlayer',
                name: 'videoPlayer'
            });
    },
    _trackVideo: function(obj) {
        var state, file;
        if (!obj || !('state' in obj)) { return; }
        state = obj.state.toLowerCase();
        if (state != 'play') { return; } // !jQuery.inArray(state, ['play', ...])
        file = jQuery.url.setUrl(obj.file).attr("path");
        if (file.substr(0,1) != '/') { file = '/' + file; }
        KeTracking.track('/video/'+state+file);
    }
};

