$(document).ready (function(){

    var tempAmagarText;
    var tempCanviFoto;
    
    /*
     * PORTADA
     */

    //$('#seccio-fletxa-avall').addClass('amagada');
   /* $('#seccions-text-mobil').animate({top: '80px'}); */

    $('.seccions-foto-mida:first').addClass('seccio_foto_visible').fadeIn(0);
    $('.seccions-text-mobil-amagat:first').addClass('seccions-text-mobil-visible').removeClass('seccions-text-mobil-amagat');
    $('.seccio-nom:first').addClass('seleccionat');

    $('#menu li').hover(
        function () {
            if ( !$(this).find('ul:first').is(':animated') ) {
                $(this).find('ul:first').css({visibility: 'visible', display: 'none'}).slideDown(300);
            }
        },
        function () {
            $(this).find('ul:first').slideUp(0, function () {
                $(this).find('ul:first').css({visibility: 'hidden'});
            });
        }
    ); 

    /* canvi de fotografia quan cliquem */
    $('.seccio-nom').click(function() {
        if ( !$(this).hasClass("seleccionat") ) {
            var posGuio = $(this).attr('id').lastIndexOf('-');
            var numId = $(this).attr('id').slice(posGuio+1);

            $('.seleccionat').removeClass('seleccionat');
            $(this).addClass('seleccionat');

            $('#seccio-foto-'+numId).css({'z-index': '50'});
            $('.seccio_foto_visible').css({'z-index': '10'});

            $('.seccions-text-mobil-visible').addClass('seccions-text-mobil-amagat').removeClass('seccions-text-mobil-visible');
            $('#seccions-text-mobil-'+numId).addClass('seccions-text-mobil-visible').removeClass('seccions-text-mobil-amagat');

            $('#seccio-foto-'+numId).fadeIn(1300, function() {
                $('.seccio_foto_visible').hide();
                $('.seccio_foto_visible').removeClass('seccio_foto_visible');
                $('#seccio-foto-'+numId).addClass('seccio_foto_visible');});
        }
    });

    /* Moviment quan cliquem la fletxa amunt */
    $("#seccio-fletxa-amunt").click(function() {
        if ( !$('#seccions-noms-scroll').is(':animated') ) {
            var ultimCaixeto = $('#seccions-noms-scroll').find('.seccio-nom:last');
            var ampleCaixeto = ultimCaixeto.width();
            var posCaixeto = ultimCaixeto.position().left;
            var varTotal = 970 - ampleCaixeto - posCaixeto;
            if ( $('#seccions-noms-scroll').position().left > varTotal ) {
                $('#seccions-noms-scroll').animate({
                        left: '-=200px'
                });
            }
        }
    });

    /* Moviment quan cliqhem la fletxa avall */
    $("#seccio-fletxa-avall").click(function() {
        if ( !$('#seccions-noms-scroll').is(':animated') ) {
            if ( $('#seccions-noms-scroll').position().left != 0 ) {
               $('#seccions-noms-scroll').animate({
                    left: '+=200px'
                });
            }
        }
    });
    
    /* Clic al botó OBRES RECENTS */
    $('#obres_recents ul li').click( function() {
        var altTot = $('#portada-obres-ample').height();
        var altFut = $('#portada-obres-recents').height();
        var altAct = $('.obra_vista:first').height();

        var altNova =  altTot - altAct + altFut;

        $('#portada-obres-ample').animate({
            height: altNova
            }, 300
        );

        $('.obra_vista:first').fadeOut('fast', function() {
            $('.obra_vista:first').css({'display': 'none'}).removeClass('obra_vista');
            $('#portada-obres-recents').addClass('obra_vista');
            $('#portada-obres-recents').fadeIn('fast');
            $('.boto-marcat:first').addClass('boto-desmarcat').removeClass('boto-marcat');
            $('#obres_recents ul li').addClass('boto-marcat').removeClass('boto-desmarcat');
        });
    });

    /* Clic al botó OBRES PER SECTORS */
    $('#obres_per_sectors ul li').click( function() {
        var altTot = $('#portada-obres-ample').height();
        var altFut = $('#portada-obres-sectors').height();
        var altAct = $('.obra_vista:first').height();

        var altNova =  altTot - altAct + altFut;

        $('#portada-obres-ample').animate({
            height: altNova
            }, 300
        );

        $('.obra_vista:first').fadeOut('fast', function() {
            $('.obra_vista:first').css({'display': 'none'}).removeClass('obra_vista');
            $('#portada-obres-sectors').addClass('obra_vista');
            $('#portada-obres-sectors').css('display', 'block').fadeIn('fast', arreglarTitols());
            $('.boto-marcat:first').addClass('boto-desmarcat').removeClass('boto-marcat');
            $('#obres_per_sectors ul li').addClass('boto-marcat').removeClass('boto-desmarcat');
        });
    });

    /* Clic al botó OBRES EN CONSTRUCCIÓ */
    $('#obres_actuals ul li').click( function() {
        var altTot = $('#portada-obres-ample').height();
        var altFut = $('#portada-obres-construccio').height();
        var altAct = $('.obra_vista:first').height();

        var altNova =  altTot - altAct + altFut;

        $('#portada-obres-ample').animate({
            height: altNova
            }, 300
        );

        $('.obra_vista:first').fadeOut('fast', function() {
            $('.obra_vista:first').css({'display': 'none'}).removeClass('obra_vista');
            $('#portada-obres-construccio').addClass('obra_vista');
            $('#portada-obres-construccio').fadeIn('fast');
            $('.boto-marcat:first').addClass('boto-desmarcat').removeClass('boto-marcat');
            $('#obres_actuals ul li').addClass('boto-marcat').removeClass('boto-desmarcat');
        });
    });

    /* FILTRES FUSTA */
    $('#fusta #filtres p').click(function() {
        $('#fusta #filtres form').slideToggle(function() {
            if ( $('#fusta #filtres form').is(':hidden') ) {
                $('#fusta #filtres p:first').html('visualitza els filtres');
            }
            else {
                $('#fusta #filtres p:first').html('amaga els filtres');
            }
        });
    });

    $('#fustes-slider-ul li:first').before($('#fustes-slider-ul li:last'));

    $('.slide-fusta-marc').hover(
        function() {
            $(this).find('.slide-fusta-nom:first').css({visibility: 'visible', display: 'none'}).slideDown(300);
        },
        function() {
            $(this).find('.slide-fusta-nom:first').slideUp(300,
                function () {
                    $(this).find('.slide-fusta-nom:first:first').css({visibility: 'hidden'})
                });
        });

    $('#carac-obra-boto').click(function() {
       $('#carac-obra').slideToggle('', function() {
           if ( $('#carac-obra').is(':visible') ) {
               $('#carac-obra-boto').html('<img src="/images/frontend/fletxa-amunt.png" title="Fletxa amunt" alt="Flexta amunt"/>\
                Característiques');
           }
           else {
               $('#carac-obra-boto').html('<img src="/images/frontend/fletxa-avall.png" title="Fletxa avall" alt="Flexta avall"/>\
                Característiques');
           }
       });
    });
    
    /* PRODUCTES */
    $('#col_esq').css({'min-height': $('#col_dreta').css('height')});
    
    $('span.inactiu').live('click', (function() {
        var nom = '#'+$(this).attr('id').slice(0, $(this).attr('id').length-7);
        $('#titol-prod').find('span.actiu').removeClass('actiu').addClass('inactiu');
        $(this).addClass('actiu').removeClass('inactiu');

        $('.visualitzat').removeClass('visualitzat').fadeOut('', function() {
            $(nom).fadeIn().addClass('visualitzat');
        });
    }));

    /* MAPA */
    //carregarMapa();
});

function activarHovers() {
    
    $('#seccions-foto-marc').hover(
        function() {
            $('#seccions-noms-mobil').animate({
                top: '10px'
            });
            $('#seccions-text-mobil').animate({
                top: '0px'
            });
            clearTimeout(tempCanviFoto);
            clearTimeout(tempAmagarText);
        },
        function() {
            $('#seccions-noms-mobil').animate({
                top: '-45px'
            });
            $('#seccions-text-mobil').animate({
                top: '80px'
            });
            tempCanviFoto = window.setInterval("canviFoto()", 6000);
        }
    );

    tempCanviFoto = window.setInterval("canviFoto()", 6000);
    tempAmagarText = window.setInterval("amagarText()", 2000);
}



function canviFoto() {
    /* actiu */
    var selec = $(".seccio_foto_visible");
    var posGuio = selec.attr('id').lastIndexOf('-');
    var numId = selec.attr('id').slice(posGuio+1);

    /* últim en el DOM */
    var ultim = $('.seccions-foto-mida').last();

    /* següent en el DOM */
    var seguent = selec.next();
    
    if (ultim.attr('id') == selec.attr('id')) {
        seguent = $('.seccions-foto-mida').first();
    }
    var posGuioSeg = seguent.attr('id').lastIndexOf('-');
    var numIdSeg = seguent.attr('id').slice(posGuio+1);


    $('.seleccionat').removeClass('seleccionat');
    seguent.addClass('seleccionat');

    seguent.css({'z-index': '50'});
    $('.seccio_foto_visible').css({'z-index': '10'});

    $('.seccions-text-mobil-visible').addClass('seccions-text-mobil-amagat').removeClass('seccions-text-mobil-visible');
    $('#seccions-text-mobil-'+numIdSeg).addClass('seccions-text-mobil-visible').removeClass('seccions-text-mobil-amagat');

    $('#seccio-foto-'+numIdSeg).fadeIn(1300, function() {
        $('.seccio_foto_visible').hide();
        $('.seccio_foto_visible').removeClass('seccio_foto_visible');
        $('#seccio-foto-'+numIdSeg).addClass('seccio_foto_visible');

        $('#seccions-text-mobil').animate({top: '0px'}, function() {
            tempAmagarText = window.setInterval("amagarText()", 2000);
        });
    });
}

function amagarText() {
    $('#seccions-text-mobil').animate({
        top: '80px'
    });
    clearTimeout(tempAmagarText);
}

function slide(on) {
    var ample_fusta = $('#fustes-slider-ul li').outerWidth() + 20;
    var mov_esq = 0;

    if (on == 'esquerra') {
        mov_esq = parseInt($('#fustes-slider-ul').css('left')) + ample_fusta;
    }
    else {
        mov_esq = parseInt($('#fustes-slider-ul').css('left')) - ample_fusta;
    }

    $('#fustes-slider-ul:not(:animated)').animate({
        'left': mov_esq
        }, 500,
        function() {
            if (on == 'esquerra') {
                $('#fustes-slider-ul li:first').before($('#fustes-slider-ul li:last'));
            }
            else {
                $('#fustes-slider-ul li:last').after($('#fustes-slider-ul li:first'));
            }
            $('#fustes-slider-ul').css({'left' : '-130px'});
        }
    );
}

function tractarFletxes()
{
    var top = $('#seccions-noms-scroll').position().top;
    var alsadaNoms = $('#seccions-noms-scroll').height();
    var alsadaCont = 285;

    // si TOP = 0, potser esborrem la fletxa de baix
    if ( top == 0 ) {
        // si la fletxa no està amagada, l'amaguem'
        if ( !($("#seccio-fletxa-avall").hasClass('amagada')) ) {
            $("#seccio-fletxa-avall").fadeOut(400, function() {
                $("#seccio-fletxa-avall").addClass('amagada');
            });
        }
    }
    // si TOP == alçada dels noms - contenedor, potser esborrem la fletxa de dalt
    else if ( top <= -(alsadaNoms - alsadaCont) ) {
        // si la fletxa no està amagada, l'amaguem'
        if ( !($("#seccio-fletxa-amunt").hasClass('amagada')) ) {
            $("#seccio-fletxa-amunt").fadeOut(400, function() {
                $("#seccio-fletxa-amunt").addClass('amagada');
            });
        }
    }
    // si no estem en cap dels dos extrems, mirem si es mostren
    else {
        // fletxa amunt visible?
        if ( $("#seccio-fletxa-amunt").hasClass('amagada') ) {
            $("#seccio-fletxa-amunt").removeClass('amagada')
            $("#seccio-fletxa-amunt").fadeIn(400);
        }
        // fletxa avall visible?
        if ( $("#seccio-fletxa-avall").hasClass('amagada') ) {
            $("#seccio-fletxa-avall").removeClass('amagada');
            $("#seccio-fletxa-avall").fadeIn(400);
        }
    }
}

function arreglarTitols() {
    var idObr = $('.portada_titol_obres:last').attr('id');
    var nivells = idObr.substring(idObr.lastIndexOf('_')+1);
    var mesAlt = 0;
    var alsada = 0;
    for (i = 0; i <= nivells; i++) {
        for (j = 0; j < 3; j++) {
            alsada = $('#portada_titol_obres_'+j+'_'+i+' h1').innerHeight();
            if ( alsada > mesAlt )
                mesAlt = alsada;
        }
        for (j = 0; j < 3; j++) {
            $('#portada_titol_obres_'+j+'_'+i).css('height', mesAlt);
        }
        mesAlt = 0;
    }
}

function changeLanguage(culture) {
    $.post('/ajax/language', {culture: culture}, function()
        {document.location.reload();});
}

(function ($) {
    $.preLoadImages = function(imageList,callback) {
        var pic = [], i, total, loaded = 0;
        if (typeof imageList != 'undefined') {
            if ($.isArray(imageList)) {
                total = imageList.length; // used later
                    for (i=0; i < total; i++) {
                        pic[i] = new Image();
                        pic[i].onload = function() {
                            loaded++; // should never hit a race condition due to JS's non-threaded nature
                            if (loaded == total) {
                                    if ($.isFunction(callback)) {
                                            callback();
                                    }
                            }
                        };
                        pic[i].src = imageList[i];
                    }
            }
            else {
                pic[0] = new Image();
                pic[0].onload = function() {
                    if ($.isFunction(callback)) {
                            callback();
                    }
                }
                pic[0].src = imageList;
            }
        }
        pic = undefined;
    };
})(jQuery);

