$(document).ready(function () {

    // focus/blur top search
    $("#keywords").focus(
		function () {
		    if (this.value == this.defaultValue) {
		        this.value = "";
		    }
		}
	).blur(
		function () {
		    if (!this.value.length) {
		        this.value = this.defaultValue;
		    }
		}
	);

    // focus/blur bottom search
    $("#keywords2").focus(
		function () {
		    if (this.value == this.defaultValue) {
		        this.value = "";
		    }
		}
	).blur(
		function () {
		    if (!this.value.length) {
		        this.value = this.defaultValue;
		    }
		}
	);

    // submit contact form
    $('#submit').hover(
		function () { // Change the input image's source when we "roll on"
		    $(this).attr({ src: '/images/bttn_submit-over.gif' });
		},
		function () { // Change the input image's source back to the default on "roll off"
		    $(this).attr({ src: '/images/bttn_submit.gif' });
		}
	);

    // submit donation form (Kintera)
    $('#submitdonation').hover(
		function () { // Change the input image's source when we "roll on"
		    $(this).attr({ src: '/images/bttn_submit-donation-over.gif' });
		},
		function () { // Change the input image's source back to the default on "roll off"
		    $(this).attr({ src: '/images/bttn_submit-donation.gif' });
		}
	);

    // newsletter subscribe (Kintera)
    $('#subscribe-newsletter').hover(
		function () { // Change the input image's source when we "roll on"
		    $(this).attr({ src: '/images/bttn_subscribe-over.gif' });
		},
		function () { // Change the input image's source back to the default on "roll off"
		    $(this).attr({ src: '/images/bttn_subscribe.gif' });
		}
	);


    //active tab
    var loc = window.location;

    if (loc.href.indexOf('AboutUs') != -1) {
        $('#n1 a').addClass('current');
    } else if (loc.href.indexOf('News') != -1) {
        $('#n2 a').addClass('current');
    } else if (loc.href.indexOf('EventCalendar') != -1) {
        $('#n3 a').addClass('current');
    } else if (loc.href.indexOf('Gallery') != -1) {
        $('#n4 a').addClass('current');
    } else if (loc.href.indexOf('Shop4Hope') != -1) {
        $('#n5 a').addClass('current');
    }


    // Utility Navigation
    $('#navigation-utility ul li').bgiframe().hover(
        function () {
            // over
            $(this).addClass('sfHover').children('a').addClass('sfHover');
        },
        function () {
            // out
            $(this).removeClass('sfHover').children('a').removeClass('sfHover');
        }
    );

    // print page link
    $('a.print').click(function () {
        window.print();
        return false;
    });

    // Generate the gallery on jQueryFlickrPhotosLoaded event since we 
    // need to wait for jquery-flickr to download the photos.
    $('#thumbs').bind('jQueryFlickrPhotosLoaded', function () {
        // We only want these styles applied when javascript is enabled
        $('div.navigation').css({ 'width': '273px', 'float': 'left', 'margin-right': '27px' });
        $('div.content').css('display', 'block');

        // Initially set opacity on thumbs and add
        // additional styling for hover effect on thumbs
        var onMouseOutOpacity = 0.4;
        $('#thumbs ul.thumbs li').opacityrollover({
            mouseOutOpacity: onMouseOutOpacity,
            mouseOverOpacity: 1.0,
            fadeSpeed: 'fast',
            exemptionSelector: '.selected'
        });

        // Enable toggling of the caption
        var captionOpacity = 0.0;
        $('#captionToggle a').click(function (e) {
            var link = $(this);

            var isOff = link.hasClass('off');
            var removeClass = isOff ? 'off' : 'on';
            var addClass = isOff ? 'on' : 'off';
            var linkText = isOff ? 'Hide Caption' : 'Show Caption';
            captionOpacity = isOff ? 0.7 : 0.0;

            link.removeClass(removeClass).addClass(addClass).text(linkText).attr('title', linkText);
            $('#caption span.image-caption').fadeTo(1000, captionOpacity);

            e.preventDefault();
        });

        // initialize gallery
        var gallery = $('#thumbs').galleriffic({
            delay: 2500,
            numThumbs: 15,
            preloadAhead: 10,
            enableTopPager: true,
            enableBottomPager: false,
            maxPagesToShow: 7,
            imageContainerSel: '#slideshow',
            controlsContainerSel: '#controls',
            captionContainerSel: '#caption',
            loadingContainerSel: '#loading',
            renderSSControls: true,
            renderNavControls: true,
            playLinkText: 'Play Slideshow',
            pauseLinkText: 'Pause Slideshow',
            prevLinkText: '&lsaquo; Previous Photo',
            nextLinkText: 'Next Photo &rsaquo;',
            nextPageLinkText: 'Next &rsaquo;',
            prevPageLinkText: '&lsaquo; Prev',
            enableHistory: false,
            autoStart: false,
            syncTransitions: true,
            defaultTransitionDuration: 900,
            onSlideChange: function (prevIndex, nextIndex) {
                // 'this' refers to the gallery, which is an extension of $('#thumbs')
                this.find('ul.thumbs').children()
				.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
				.eq(nextIndex).fadeTo('fast', 1.0);
            },
            onTransitionOut: function (slide, caption, isSync, callback) {
                slide.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0, callback);
                caption.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0);
            },
            onTransitionIn: function (slide, caption, isSync) {
                var duration = this.getDefaultTransitionDuration(isSync);
                slide.fadeTo(duration, 1.0);

                // Position the caption at the bottom of the image and set its opacity
                var slideImage = slide.find('img');
                caption.width(slideImage.width())
				.css({
				    //'bottom': Math.floor((slide.height() - slideImage.outerHeight()) / 2) + 57,
				    //'left': Math.floor((slide.width() - slideImage.width()) / 2) + slideImage.outerWidth() - slideImage.width()
				    'top': 30,
				    'left': 1
				})
				.fadeTo(duration, captionOpacity);
            },
            onPageTransitionOut: function (callback) {
                this.fadeTo('fast', 0.0, callback);
            },
            onPageTransitionIn: function () {
                this.fadeTo('fast', 1.0);
            },
            onImageAdded: function (imageData, $li) {
                $li.opacityrollover({
                    mouseOutOpacity: onMouseOutOpacity,
                    mouseOverOpacity: 1.0,
                    fadeSpeed: 'fast',
                    exemptionSelector: '.selected'
                });
            }
        });

        /**** Functions to support integration of galleriffic with the jquery.history plugin ****/

        // PageLoad function
        // This function is called when:
        // 1. after calling $.historyInit();
        // 2. after calling $.historyLoad();
        // 3. after pushing "Go Back" button of a browser
        function pageload(hash) {
            // alert("pageload: " + hash);
            // hash doesn't contain the first # character.
            if (hash) {
                $.galleriffic.gotoImage(hash);
            } else {
                gallery.gotoIndex(0);
            }
        }

        // Initialize history plugin.
        // The callback is called at once by present location.hash. 
        //$.historyInit(pageload, "advanced.html");
    });

    // twitter feed
    $("#twitterfeed").tweet({
        count: 3,
        query: "maccfund from:maccfund",
        loading_text: "searching twitter..."
    });


});
