var $_mainNavigation, $_html, $_offsetleft, $_loader, $_windows, $_widthBody, $_windowScrollLeft, $_waitForCount, $_infoScreen;

/* Breedte van de body instellen */
$(document).ready(function(){
    $_windows = $('dl.window');
    $_widthBody = ($_windows.width() + 15 ) * $_windows.size();
    $('body').css('width',$_widthBody + ($(window).width()-790)); 
});

/* Verspringen van het menu */
$(document).ready(function(){
    $_mainNavigation = $('#main-navigation');
    $_windowScrollLeft = $(window).scrollLeft();
    
    $_offsetleft = $_windowScrollLeft + 15;
    
    $(window).scroll(function(){
        $_mainNavigation.stop();
        $_windowScrollLeft = $(window).scrollLeft();
        $_offsetleft = $_windowScrollLeft + 15;
        $_mainNavigation.animate({'left':$_offsetleft },500);
    });    
});

$(document).ready(function(){
    var $_menuButtons = $('#main-navigation li');
    
    $_menuButtons.each(function(){
        $(this).attr('rev', $(this).children().attr('rev'));
        if(!$(this).hasClass('first-child') && !$(this).hasClass('last-child')) {
            $(this).html($(this).children().html());
        }
    });   

    replaceMenu();
});

/* Uitklapen van het menu en laden van de juiste pagina */
$(document).ready(function(){
    $_loader = $('<img />');
    $_loader.attr('src', 'img/ajax-loader.gif');
    $_loader.addClass('loading');
    $_clickers = $("dl dd ul li a:not(.resume_yt,.pauze_yt,.play_yt), a[rev='bottom-screen']");    
    initClickers($_clickers);
});

var hasEvent = null;

// Datepicker
$(document).ready(function(){
        $_infoScreen = $('#info-screen');
    
        var datePickers = $('div.calendar');
        datePickers.datepicker({
            navigationAsDateFormat: true,
            dateFormat: 'yy-mm-dd',
            prevText: '<<',
            nextText: '>>',
            
            onChangeMonthYear: function(year, month, inst) {
                $(this).datepicker('disable');
                $.get('loadEvents.php',{'year':year,'month':month},function(data){                   
                    checkEvents(inst.input,data); 
                },"json");
            }
        });
}); 

checkEvents = function(datepicker, data) {
    var td = datepicker.children().find('table td a');
    td.click(function(){ return false;});
    td.each(function(){
        var id = $(this).html();
        if(data[id]) {
            $(this).addClass('has_event');
            $(this).click(function(){
                $_infoScreen.html(null);
                $_infoScreen.append('<h3>'+data[id].name+'</h3>');
                $_infoScreen.append(data[id].date+'<br />');                
                $_infoScreen.append(data[id].place+'<br />');
                $_infoScreen.append(data[id].city);
                var $_a = $('<a href="'+data[id].readmore+'" rev="bottom-screen"> &gt;&gt;</a>');
                $_infoScreen.append($_a);
                initClickers($_a);   
            })
        }
    });
    datepicker.datepicker('enable');
}
               
// Verplaatsen van het scherm
moveWindow = function(obj) {
    if($(obj).attr('rev')) {
        var rev = $(obj).attr('rev');
    } else {
        var rev = $('#'+obj.id).parent().attr('rev');
    }
    
    left = $(rev).offset().left;
    
    hash = { axis : 'x' }

    
    $.scrollTo(left-15,500, hash);
    return false;
}

$(document).ready(function(){
    $('#loading').animate({
        'margin-left': '5px'
    },1000,function(){
        init();
    })
});

initClickers = function($_obj) {
          
    $_obj.click(function(value){
        $(this).parents('dl').find('.current').removeClass('current');
        $(this).addClass('current');
        
        var dl = $(this).parents('dl');
        var dd = dl.find('dd.last-child');

        dd.html($_loader);
        
        $.get('loadPage.php',{'href':$(this).attr('href')},function(return_html){
            dd.removeClass('loading');
            var data =  $(return_html);
            dl.children('dt').addClass('hidden');
            dd.html(data);
            dd.slideDown("slow",function(){
                $('a[rel=slideUp]').click(function(){
                    $(this).parent().slideUp("slow",function(){
                        $(this).parent().children('dt').removeClass('hidden');
                        var selector = '#' + $(this).parent().attr('id') + ' ul li a';
                        $(selector).removeClass('current');
                    });
                    return false; 
                });
            });
            // initForm
            initForms();
            initClickers(dd.find('a[rev=bottom-screen]'));
        },"html");
        return false;
    });
    
}


/** LOADER **/
init = function() {
   
    initCenterImages();
    initYouTube();   

    var flashObj = $('object,img');

    if(flashObj.size()>0) {
        $_waitForCount = flashObj.size();
        flashObj.each(function(){
            $(this).ready(function(){
                // Melden dat ie klaar is met laden
                phoneHome();
            });
        })
    }
}

var $_phoneHomeCount = 0;

phoneHome = function() {
    $_phoneHomeCount++;
    
    if($_phoneHomeCount == $_waitForCount) {
        // Weghalen loading venster
        setTimeout(removeWindow,1000);
    }
}

var initCenterImages = function(){
    $('.window .first-child img').center();
}


/** YOU TUBE JAVASCRIPT **/
var $_url       = [];
var $_pColl     = [];
var $i          = 1;
    
var initYouTube = function() {

    var $_players = $('.replaceYouTube');
    
    $_buttons = $('a.resume_yt,a.pauze_yt');
    $_buttons.click(function(){
        $_p = $(this).parents('dd').children('object').attr('id');
       
        playerControl($_p, $(this).attr('class'));
        return false;
    });
    
    $_players.each(function(){
        $_url[this.id] = $(this).attr('href');
        var atts = { 'id': this.id, 'class' : 'youTubePlayer' };
        var params = { 'allowScriptAccess': "always", 'wmode': "transparent", 'scale': "exactfit", 'align': "t", 'salign': "tl" };

        swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid="+$(this).attr('id'), 
            $(this).attr('id'), "405", "240", "8", null, null, params, atts);
   });
}

function onYouTubePlayerReady(id) {
	id = id.replace('%2D','-');
    $_p = document.getElementById(id);

    switch($i) {
        case 1 : 
            $_p.addEventListener('onStateChange',"changePlayerState1", false);
        break;
        
        case 2 :
            $_p.addEventListener('onStateChange',"changePlayerState2", false);
        break;
          
        case 3 :
            $_p.addEventListener('onStateChange',"changePlayerState3", false);  
        break;
        
        case 4 :
            $_p.addEventListener('onStateChange',"changePlayerState4", false);  
        break;  
            
    }

    $_p.cueVideoByUrl($_url[id]);
    $_pColl[$i] = $_p;
	
    $i++;
    
} 

var changePlayerState1 = function(state) { changePlayerState(state,$_pColl[1]); }
var changePlayerState2 = function(state) { changePlayerState(state,$_pColl[2]); }   
var changePlayerState3 = function(state) { changePlayerState(state,$_pColl[3]); }   
var changePlayerState4 = function(state) { changePlayerState(state,$_pColl[4]); }   

var playerControl = function($_playerid, $_action) {
    
    $_p = document.getElementById($_playerid);
	
    if($_action == 'pauze_yt') {
        $_p.pauseVideo();   
    } else if($_action == 'resume_yt') {
        $_p.playVideo(); 
    }
}

var changePlayerState = function($_state, $_player) {    
          
    $_playbutton  = $($_player).parents('dd').children('ul').children('li').children('a.resume_yt');
    $_pauzebutton = $($_player).parents('dd').children('ul').children('li').children('a.pauze_yt');
                                              
    
    //video = unstarted
    if ($_state == "-1"){
        $_pauzebutton.css("display","none");
        $_playbutton.css("display","block");
    }
    
    //video = ended
   else if ($_state == "0"){
        $_pauzebutton.css("display","none");
        $_playbutton.css("display","block");
    }
       
    //video = playing
    else if ($_state == "1"){
        $_pauzebutton.css("display","block");
        $_playbutton.css("display","none");
    }

    //video = paused
    else if ($_state == "2"){
        $_pauzebutton.css("display","none");
        $_playbutton.css("display","block");
    }     
    
    //video = buffering
    else if ($_state == "3"){
        $_pauzebutton.css("display","none");
        $_playbutton.css("display","block");
    }
    
    //video = cue
    if ($_state == "5"){
        $_pauzebutton.css("display","none");
        $_playbutton.css("display","block");
    }
}

function removeWindow() {
    $('#loading').remove();

    // Padding aan de linkerkant zodat het venster naar links kan schuiven
    $('body').css('padding-left','100%');
    // Schuiven naar links
    $('body').animate({
        'paddingLeft': 15
    },1500,"swing",function(){
            // Menu tevoorschijn toveren
            $('#main-navigation').css('height','auto');
            // Logo inklappen
            $('#introductie').animate({
                width: 0
            }, 750, function(){
                // Logo verwijderen
                $(this).remove();
            });
    });
}
