﻿var currentIndex = 0;

$(document).ready(function() {
    var pagewidth = 976;

    //Execute the slideShow
    if (document.getElementById("gallery") != null) {
        slideShow();
    }

    $('#thumbs li').bind('click', function(e) {
        var count = $(this).attr('rel');

        //--- remove active status of current item---
        $($('#thumbs li')[currentIndex]).removeClass('active');
        $($('#gallery a')[currentIndex]).animate({ opacity: 0.0 }, 1000);
        $($('#gallery a')[currentIndex]).removeClass('show');
        if (count == $('#thumbs li').length) {
            currentIndex = count - 2;
        }
        else {
            if (count == 1)
                currentIndex = $('#thumbs li').length - 1;
            else
                currentIndex = parseInt(count) - 2;
        }

        gallery();
    });

    //Execute the Phong su anh
    if (document.getElementById("slider1") != null) {
        $('#slider1').bxSlider({
            infiniteLoop: true,
            auto: true,
            pager: true,
            controls: false
        });
    }

    //Execute the Tieu diem
    if (document.getElementById("slider2") != null) {
        $('#slider2').bxSlider({
            infiniteLoop: true,
            auto: true,
            pager: true,
            controls: false
        });
    }

    var settings = { tl: { radius: 1 }, tr: { radius: 1 }, bl: { radius: 0 }, br: { radius: 0 }, antiAlias: true, autoPad: true, validTags: ["li"] };
    $("#menu").corner(settings);
    $("#menu ul li").hover(
        function() {
            // Nếu menu tràn trang
            if ($(this).position().left + $(this).children("ul").width() > pagewidth) {
                // Nếu tràn trang phải và kg thể canh giữa menu cha thì canh margin-left = 0
                if ($(this).children("ul").width() / 2 > $(this).position().left) {
                    $(this).children("ul").css({ "margin-left": -($(this).position().left) + 'px' });
                }
                else {
                    // Nếu kg thể canh margin-left = 0 (vì tràn trái) thì canh phải menu cha
                    if ($(this).position().left >= $(this).children("ul").width()) {
                        $(this).children("ul").css({ "margin-left": -($(this).children("ul").width() - $(this).width()) + 'px' });
                    }
                    else {
                        // Ngược lại canh giữa menu cha
                        $(this).children("ul").css({ "margin-left": -($(this).position().left + $(this).width() - $(this).children("ul").width() / 2) + 'px' });
                    }
                }
            }
            $(this).children("ul").show();
        },
        function() {
            $(this).children("ul").hide();
        }
    );
});

function slideShow() {

    //Set the opacity of all images to 0
    $('#gallery a').css({ opacity: 0.0 });

    //Get the first image and display it (set it to full opacity)
    $('#gallery a:first').css({ opacity: 1.0 });

    //Set the caption background to semi-transparent
    $('#gallery .caption').css({ opacity: 0.7 });

    //Resize the width of the caption according to the image width
    $('#gallery .caption').css({ width: $('#gallery a').find('img').css('width') });

    //Get the caption of the first image from REL attribute and display it
    $('#gallery .caption .content').html('<a href="' + $('#gallery a:first').find('img').attr('rel') + '">' + $('#gallery a:first').find('img').attr('alt') + '</a>')
    .animate({ opacity: 1.0 }, 400);

    //Call the gallery function to run the slideshow, 8000 = change to next image after 8 seconds
    setInterval('gallery()', 8000);

}


function gallery() {

    //if no IMGs have the show class, grab the first image
    //var current = ($('#gallery a.show') ? $('#gallery a.show') : $('#gallery a:first'));

    //Get next image, if it reached the end of the slideshow, rotate it back to the first image
    //var next = ((current.next().length) ? ((current.next().hasClass('caption')) ? $('#gallery a:first') : current.next()) : $('#gallery a:first'));


    var count = $('#thumbs li').length - 1;

    var current = $('#gallery a')[currentIndex];
    //--- remove 'active' class of current index button---
    $($('#thumbs li')[currentIndex]).removeClass('active');

    //alert(current.href.toString());
    if (currentIndex == count)
        currentIndex = 0;
    else
        currentIndex++;

    var next = $('#gallery a')[currentIndex];
    //--- add 'active' class of next index button---
    $($('#thumbs li')[currentIndex]).addClass('active');
    //alert(next.href.toString());

    //Get next image caption
    //var caption = '<a href="' + next.child('img').attr('rel') + '">' + next.child('img').attr('alt') + '</a>';
    var caption = '<a href="' + $(next).children().attr('rel') + '">' + $(next).children().attr('alt') + '</a>';

    //Set the fade in effect for the next image, show class has higher z-index
    $(next).css({ opacity: 0.0 })
    .addClass('show')
    .animate({ opacity: 1.0 }, 1000);

    //Hide the current image
    $(current).animate({ opacity: 0.0 }, 1000)
    .removeClass('show');

    //Set the opacity to 0 and height to 1px
    $('#gallery .caption').animate({ opacity: 0.0 }, { queue: false, duration: 0 }).animate({ height: '1px' }, { queue: true, duration: 300 });

    //Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
    $('#gallery .caption').animate({ opacity: 0.7 }, 100).animate({ height: '100px' }, 500);
    
    //Display the content
    $('#gallery .content').html(caption);
}
