Cufon.replace('h2, span.price, .product h3', { fontFamily: 'Berlin' });
Cufon.replace('ul#menu li a', { fontFamily: 'Colaborate' });
var bSent = false;

$.ajaxSetup({
    'xhr':function(){return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();}
});

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

jQuery.preLoadImages(   "html/images/home_active.png", 
                        "html/images/cursus_active.png", 
                        "html/images/agenda_active.png", 
                        "html/images/foto_active.png", 
                        "html/images/winkel_active.png", 
                        "html/images/info_active.png", 
                        "html/images/reacties_active.png");

$(document).ready(function(){
    $('a[rel="external"]').click(function () {
        $(this).attr({'target':'_blank'});
    }); 
    
    $('a[rel*="prettyphoto"]').prettyPhoto({
        overlay_gallery: false,
        counter_separator_label: " van ",
        theme: "facebook"
    });    
    
    $("#nieuwsbrief_email").focus(function() {
        if($(this).val() == "Uw e-mailadres") {
            $(this).val("");
            $(this).addClass("active");
        }
        
        $("#succes").css('display', 'none');
    });
    
    $("#nieuwsbrief_email").blur(function() {
        if($(this).val() == "") {
            $(this).val("Uw e-mailadres");
            $(this).removeClass("active");
        }else{
            $('#nieuwsbrief_form').valid();                
        }
        
    });
    
    $("#nieuwsbrief_form").validate({
        ignore: ".ignore",
        rules: {
            nieuwsbrief_email: {
                required: true,
                email: true
            }
        }
    });
    
    $('#nieuwsbrief_aanmelden').click(function(e){
        e.preventDefault();
        
        if($('#nieuwsbrief_form').valid()){
            $.get("ajax/nieuwsbrief_aanmelden.php?email=" + $('#nieuwsbrief_email').val(), function(){
                $('#succes').css('display', 'block');
            });    
        }        
        
    });
        
    
    $('#aanmelden').click(function(e){
        e.preventDefault();
        $.get("ajax/getaanmeldform.php?cursus=" + iCursusId, function(data){
            // create a modal dialog with the data
            $(data).modal({
                //closeHTML: "",
                position: ["2%",],
                opacity:25,
                
                close: true,
                escClose: false,
                autoResize:true,
                overlayId: 'aanmelden-modal-overlay',
                containerId: 'aanmelden-modal-container',
                onShow: function() {
                    Cufon.refresh();
                    initAanmeldenForm();
                }
            });
        });            
    });
    
    $('#bestellen').click(function(e){
        e.preventDefault();
        $.getJSON("ajax/getbestelform.php?product=" + iProductId, function(oData){
            // create a modal dialog with the data
            $(oData.html).modal({
                //closeHTML: "",
                position: ["2%",],
                opacity:25,
                maxHeight: 600,
                close: true,
                escClose: false,
                minHeight: 600,
                overlayId: 'bestellen-modal-overlay',
                containerId: 'bestellen-modal-container',
                onShow: function() {
                    Cufon.refresh();
                    initBestelForm(oData.prijzen);
                }
            });
        });            
    });
    
    $("div.tabset").each(function(){
        
        var self = this;
        
        if(window.location.hash) {
            var sId = window.location.hash.substring(5);
            var elActive = $(this).find(".tabs a[rel='"+ sId + "']").parent();
            
            if(elActive.length == 1) {
                $(this).find(".tabs li.active").removeClass("active");
                $(elActive).addClass("active");
                var iStartTab = $(this).find(".tabs li").index($(elActive));
            } else {
                var iStartTab = $(this).find(".tabs li").index($(this).find(".tabs li.active"));
            }
        } else {
            var iStartTab = $(this).find(".tabs li").index($(this).find(".tabs li.active"));
        }
        
        
    
        $(this).find(".tabs li.active:not(:eq(" + iStartTab + "))").removeClass("active");
        $(this).find(".tabs li:eq(" + iStartTab + ")").addClass("active");
        
        $(this).find(".tabcontent.active:not(:eq(" + iStartTab + "))").removeClass("active");
        $(this).find(".tabcontent:eq(" + iStartTab + ")").addClass("active");
        
    
        
        
        $(this).find(".tabs li").click(function() {
            //window.location.hash = $(this).find("a").attr("href").substring(1);
            if($(this).hasClass("active")) {
                return;
            }
            $(this).parent().find("li.active").removeClass("active");
            $(this).addClass("active");
            
            var iTab = $(this).parent().find("li").index($(this));
            
            $(self).find(".tabcontent.active:not(:eq(" + iTab + "))").removeClass("active");
            $(self).find(".tabcontent:eq(" + iTab + ")").addClass("active");
            return;    
        });
        
    });
    
    $(".volledigroosterbtn").click(function() {
        
        var iMomentId = $(this).parent().parent().attr("id").substring(7);
        
        $.getJSON("ajax/getcompleetrooster.php?id=" + iMomentId, function(oData){
            // create a modal dialog with the data
            $(oData.html).modal({
                //closeHTML: "",
                
                opacity:25,
                close: true,
                escClose: true,
                minHeight: 400,
                overlayId: 'cursusdata-modal-overlay',
                containerId: 'cursusdata-modal-container',
                onShow: function() {
                    Cufon.refresh();
                    $(".close, #cursusdata-modal-overlay, #cancel").click(function() { 
                        $.modal.close();
                        return false;
                    });                    
                    
                }
            });
        });            
        
        return false;
    });
    
});

function getCalender(iMaand, iJaar) {
    $('#calender').load('ajax/getcalender.php?jaar=' + iJaar + '&maand=' + iMaand);
}

function getDag(iDag, iMaand, iJaar) {
    $('#agendalist').load('ajax/getdag.php?jaar=' + iJaar + '&maand=' + iMaand + "&dag=" + iDag, function() {
        Cufon.refresh();
        $("#calender .selected").removeClass("selected");
        $("#calender #d_" + iDag + "-" + iMaand + "-" + iJaar).addClass("selected");
        window.location.hash = iDag + "-" + iMaand + "-" + iJaar;
    });
}

function initAanmeldenForm(){
    
    $("#verstuur").click(function() {
        if(!$("#aanmeldform").valid()){
            return false;
        }
        verstuurAanmeldenForm();
        return false;
    });   
        
    $(".close, #aanmelden-modal-overlay, #cancel").click(function() { 
        if(bSent == false){
            if(confirm("Weet u zeker dat u de aanmelding wilt annuleren?")) {
                $.modal.close();
            }
        }
        else{
            $.modal.close();
        } 
        return false;
    });

    $("#aanmeldform").validate({
        ignore: ".ignore",
        rules: {
            cursist_naam: "required",
            ouder_naam: "required",
            adres: "required",
            postcode: "required",
            plaats: "required",
            telefoon: "required",
            email: {
                required: true,
                email: true
            },
            akkoord: "required",
            hele_cursus: "required"
        },
        errorPlacement: function(error, element) {
            if(element.parent().attr("id") == "conditions") {
                error.insertAfter(element.next());
                return false;
            } else {
                error.insertAfter(element);
            }
            
        }
    }); 
}

function verstuurAanmeldenForm(){
    $("#aanmeldform").css("display", "none");
    $("#loadwrap").css("display", "block");
    
    $('a.close').remove();
    
    $.post("ajax/getaanmeldform.php?cursus=" + iCursusId + "&verstuur", $("#aanmeldform").serialize(), function(data) {    
        bSent = true;
        $("#aanmeldform").remove();
        $("#loadwrap").css("display", "none");
        $(".simplemodal-data").css("height", "320px");
        
        $(".simplemodal-data h2").after("<p id='aanmelden_success' class='message message_success'>Bedankt voor uw aanmelding, wij nemen zo spoedig mogelijk contact met u op.</p><a href='#' onclick='$.modal.close();return false' id='klaar'>Sluiten</a>");
    });
}

function initBestelForm(oPrijzen){
    
    $(".close, #bestellen-modal-overlay, .cancel").click(function() { 
        if(bSent == false){
            if(confirm("Weet u zeker dat u de bestelling wilt annuleren?")) {
                $.modal.close();
            }
        }
        else{
            $.modal.close();
        } 
        return false;
    });
    $("#totaalprijs").html($("#verzendkosten").html());
    
    $(".aantal").focus(function() {
        if($(this).val() == "0") {
            $(this).val("");
        }
    });
    
    $(".aantal").blur(function() {
        if($(this).val() == "") {
            $(this).val("0");
        }
    });
    
    $(".aantal").keyup(function() {
        var iPrijs = 0;
        var iTotaal = 0;
        
        $(".aantal").each(function(index, object) {
            iAantal = $(this).val();
            
            if(isNaN(iAantal) || iAantal == "") {
                iAantal = 0;
            } else {
                iAantal = parseInt(iAantal, 10);
            }
            
            iTotaal += iAantal;
            
            $(this).val(iAantal);   
            
            id = $(this).attr("id").substr(7);
            subtotaal = (iAantal * parseInt(oPrijzen[id].prijs));
            
            iPrijs += subtotaal;
            
            $("#subtotaal_" + id).html("&euro; " + formatCurrency(subtotaal / 100));
        });
        
        sVerzendkosten = $("#verzendkosten").html().substr(2);
        
        iVerzendkosten = parseInt(sVerzendkosten.replace(",", ""));
        
        iPrijs += iVerzendkosten;
        
                
        var fPrijs = formatCurrency(iPrijs / 100);
        
        if($("#aantal_error").css("visibility") == "visible") {
            
            if(iAantal > 0) {
                $("#aantal_error").css("visibility", "hidden");
            } else {
                $("#aantal_error").css("visibility", "visible");
            }
        }
        
        $("#totaalprijs").html("&euro; " + fPrijs);        
    });
    
    $("#goto_stap1").click(function() {
        $("#bestelstap1").css("display", "block");
        $("#bestelstap2").css("display", "none");
        
        return false;
    });
    
    $("#goto_stap2").click(function() {
        
        var iTotaal = 0;
        
        $(".aantal").each(function(index, object) {
            iAantal = parseInt($(this).val());
            iTotaal += iAantal;

        });
        
        if(iTotaal > 0) {
            $("#aantal_error").css("visibility", "hidden");
            $("#bestelstap1").css("display", "none");
            $("#bestelstap2").css("display", "block");
        } else {
            $("#aantal_error").css("visibility", "visible");
        }
        
        return false;
    });
    
    $("#bestelform").validate({
        ignore: ".ignore",
        rules: {
            naam: "required",
            adres: "required",
            postcode: "required",
            plaats: "required",
            telefoon: "required",
            email: {
                required: true,
                email: true
            }
        },
        errorPlacement: function(error, element) {
            error.insertAfter(element);
        }
    });     
    
    $("#verstuur").click(function() {
        if($("#bestelform").valid()){

            $("#bestelform").css("display", "none");
            $("#loadwrap_bestellen").css("display", "block");
            
            $('a.close').remove();
            
            $.post("ajax/getbestelform.php?product=" + iProductId + "&verstuur", $("#bestelform").serialize(), function(data) {    
                bSent = true;
                $("#bestelform").remove();
                $("#loadwrap_bestellen").css("display", "none");
                $(".simplemodal-data").css("height", "320px");
                
                $(".simplemodal-data h2").after("<p id='bestellen_success' class='message message_success'>Bedankt voor uw bestelling, wij nemen zo spoedig mogelijk contact met u op.</p><a href='#' onclick='$.modal.close();return false' id='klaar'>Sluiten</a>");
            });

        }
        
        
        return false;
    });
    
    
        
        
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
    cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + ',' + cents);
}
