bModuleTimer = null;
aModuleTimer = null;

$(document).ready(function() {

        if($("#module-a").find('img').length > 1) {
            //Sine: Ny navigationsbar
            $("#a-module-span-newnav").html("");
            
            $("#module-a").cycle({
                    timeout : 8000,
                    fx      : 'fade',
                    pager   : ".a-module-nav",
                    pause   : 1,
                    before  : function() {

                        var slideNumber = $(".a-module-information").find('a.activeSlide').text();

                        if(slideNumber == '') {
                            return;
                        }

                        $(".a-module-caption").fadeOut('slow', function() {
                           $(this).text('');
                        });
                        
                    },
                    after   : function() {

                        var slideNumber = $(".a-module-information").find('a.activeSlide').text() - 1;
                        
                        if(slideNumber == -1) {
                            slideNumber = 0;
                        }

                        //Sine: Opdater ny naviationsbar
                        var num_images = $("#module-a").find('img').length;
                        $("#a-module-span-newnav").html("" + (slideNumber+1) + " / " + num_images);

                        var caption = $("#module-a div").eq(slideNumber).find('img').attr('alt');

                        $(".a-module-caption").text(caption).fadeIn('fast');
                        
                    }
            });
        }else   {
            $(".a-module-newnav").css('visibility', 'hidden');
            //Sine: viser billedebeskrivelse ved ét billede
            var caption = $("#module-a div").find('img').attr('alt');
            $(".a-module-caption").text(caption).fadeIn('fast');            
                                   
        }

        if($("#module-b").find('img').length > 1) {
            //Sine: Ny navigationsbar
            $("#b-module-span-newnav").html("");

            $("#module-b").cycle({
                    timeout : 5000,
                    fx      : 'fade',
                    pager   : ".b-module-nav",
                    pause   : 1,
                    before  : function() {


                        var slideNumber = $(".b-module-information").find('a.activeSlide').text();
                        if(slideNumber == '') {
                            return;
                        }

                        $(".b-module-caption").fadeOut('slow', function() {
                           $(this).text('');
                        });
                    },
                    after   : function() {

                        var slideNumber = $(".b-module-information").find('a.activeSlide').text() - 1;

                        if(slideNumber == -1) {
                            slideNumber = 0;
                        }
 
                        //Sine: Opdater ny naviationsbar
                        var num_images = $("#module-b").find('img').length;
                        $("#b-module-span-newnav").html("" + (slideNumber+1) + " / " + num_images);

                        var caption = $("#module-b div").eq(slideNumber).find('img').attr('alt');

                        $(".b-module-caption").text(caption).fadeIn('fast');

                    }
            });
        }else   {
            $(".b-module-newnav").css('visibility', 'hidden');
            //Sine: viser billedebeskrivelse ved ét billede
            var caption = $("#module-b div").find('img').attr('alt');
            $(".b-module-caption").text(caption).fadeIn('fast');            
        }

});

function fetchModulesForPosition(modules, firstRun)
{

    firstRun = firstRun || false;

    switch (modules) {

        case 'both':
            var datastring = 'position=both';
            break;

        case 'A':
            var datastring = 'position=A';
            break;

        case 'B':
            var datastring = 'position=B';
            break;

    }

    $.ajax({
        url      : 'fileadmin/template/ajax/fetchfrontpageelementforposition.php',
        type     : 'POST',
        dataType : 'json',
        data     : datastring,
        success  : function(json) {

            buildModules(json);

                clearTimeout(aModuleTimer);
                clearTimeout(bModuleTimer);
                aModuleTimer = setTimeout('fetchModulesForPosition(\'A\')', 8000);
                bModuleTimer = setTimeout('fetchModulesForPosition(\'B\')', 5000);
            
        },
        error    : function(ajaxObject,text,error) {
            alert(error);
        }

    });



}

function buildModules(data)
{

    $.each(data.elements, function(position) {

       switch(this.type) {

           case 'image':
               
               insertImage(this, position);

               break;

          case 'youtube':

              insertYoutube(this, position);

              break;

       }

       

    });

}

function insertImage(object, position)
{

    clearModule(position, function() {

       var element = $('<img width="546" height="300" src="' + 'fileadmin/frontpage_elements/' + object.image + '" alt="spotlight" />');
       element.appendTo('#' + position.toLowerCase() +'-module').hide().fadeIn();

       $("#" + position.toLowerCase() + '-module').data('currentId', object.pait_frontpageelement_id);

    });

}

function insertYoutube(object, position)
{

      clearModule(position, function() {

            var element = $('<img width="546" height="300" src="' + 'fileadmin/frontpage_elements/' + object.image + '" alt="spotlight" />');
            element.appendTo('#' + position.toLowerCase() +'-module').hide().fadeIn();

            $("#" + position.toLowerCase() + '-module').data('currentId', object.pait_frontpageelement_id);

      });

  

}

function clearModule(position, callback)
{

    $("#" + position.toLowerCase() + "-module > *").fadeOut('normal', function() {
        $(this).parent().empty();
        callback.call();
    });


    

}


