$(document).ready(function() {


    /* LIGHTBOX */
    $(".lightbox").lightBox();


    /* EVENTS ACCORDIAN */
    $(".accordian .accordiancontent").hide();
    $(".accordian h2 a").click(function() {
        var header = $(this).parent();
        if (header.hasClass("open")) {
            header.removeClass("open");
            header.next(".accordiancontent").slideUp();
        } else {
            header.addClass("open");
            header.next(".accordiancontent").slideDown();
        }
    });

    /* GALLERY MENU SHOW/HIDE */
    $("#galleryMenu .toggleMenuBtn").css("display", "block");
    $("#galleryMenu .toggleMenuBtn").click(function() {
        if ($("#galleryMenu ul").hasClass("closed")) {
            $(this).css("background-position", "center 0");
        } else {
            $(this).css("background-position", "center -27px");
        }
        $("#galleryMenu ul").slideToggle();
        $("#galleryMenu ul").toggleClass('closed');
    });

    /* GALLERY CHANGE IMAGE */
    $("#gallerynav .thumbs a").click(function() {
        var filename = $(this).attr("href");
        var fullsize = $(this).find("img").attr("src").replace("_m", "_b");
        $("#mainGalleryImageContainer").animate({
            opacity: 0
        }, 1500, function() {
            $("#mainGalleryImageContainer").css("background-image", "url(/images/loader.gif)");
            $("#mainGalleryImageContainer").css("background-image", "url(" + filename + ")");
            $("#mainGalleryImageContainer").animate({
                opacity: 1
            }, 1500);
        });


        $(".fullSize a").attr("href", fullsize);
        var urlsplit = $(".facebookShare a").attr("href").split("?");
        var currentID = urlsplit[(urlsplit.length - 1)].replace("id=", "");
        $(".facebookShare a").attr("href", $(".facebookShare a").attr("href").replace(currentID, $(this).attr("id").replace("thumb", "")));
        $(".twitterShare a").attr("href", $(".twitterShare a").attr("href").replace(currentID, $(this).attr("id").replace("thumb", "")));

        return false;
    });

    /* GALLERY NAV SCROLLING */

    $('#gallerynav .thumbs').serialScroll({
        items: 'ul li',
        prev: '#gallerynav .prev a',
        next: '#gallerynav .next a',
        offset: 0,
        start: 0,
        duration: 400,
        force: true,
        stop: true,
        lock: false,
        cycle: false,
        step: 5
    });


    /* INPUT DEFAULT TEXT */
    $("input[type=text], textarea").each(function() {
        if ($(this).val() == $(this).attr("title") && !$(this).hasClass("textBoxError")) {
            $(this).css("color", "#999999");
        }
    });

    $("input[type='text'], textarea").focus(function() {
        if ($(this).attr("title") == $(this).val()) {
            $(this).val('');
            $(this).removeAttr("style");
        }
    });

    $("input[type='text'], textarea").blur(function() {
        if ($(this).val() == "") {
            $(this).val($(this).attr("title"));
            if (!$(this).hasClass("textBoxError")) {
                $(this).css("color", "#999999");
            }
        }
    });


    /* HOMEPAGE CAROUSEL */

    setPaging($("#controls ul"), $("#featurecarousel .allitems"), 1)
    $("#controls").show();
    $('#featurecarousel .allitems').cycle({
        fx: "fade",
        speed: 800,
        timeout: 10000,
        pause: true,
        height: "350px",
        next: '#controls li a.next',
        prev: '#controls li a.prev',
        before: onCarouselBefore
    });

    $("#controls li a").not(".next, .prev").click(function() {
        var page = (parseFloat($(this).text()) - 1);
        $('#featurecarousel .allitems').cycle(page);
    });

});



function onCarouselBefore() {
    var page = $("#featurecarousel .allitems .item").index(this) + 1;
    $("#controls ul li a").not(".prev, .next").removeClass("current");
    $("#controls ul li:eq(" + page + ") a").addClass("current");
}


function setPaging(pagingContainer, childrenContainer, childrenPerPage) {
    var numberOfChildren = childrenContainer.children().size();
    var numberOfPages = Math.ceil(numberOfChildren / childrenPerPage);
    var prev = $("<li>").append($("<a>").addClass("prev").attr("href", "javascript:void(0);").text("Previous"));
    var next = $("<li>").append($("<a>").addClass("next").attr("href", "javascript:void(0);").text("Next"));
    var pages = "";
    var i = 1;
    for (i = 1; i <= numberOfPages; i++) {
        pages += "<li><a href=\"javascript:void(0);\">" + i + "</a></li>";
    }

    pagingContainer.append(prev);
    pagingContainer.append(pages);
    pagingContainer.append(next);

}


