/*
	Created By: Richard Delph
	For: Puritas Website 2009
	Date: 2009-08-31
*/

var pageTitle = 'Puritas';
var popupPanelHtml = '<div id="popup-panel-container"><div id="bg-top"><div id="bg-bottom"><a href="#" id="close-popup-panel">close<\/a><\/div><\/div><\/div>';
var popupPanelHtml2 = '<div id="popup-panel"><div id="popup-panel-contents"><\/div><div id="popup-panel-close"><a href="#" id="close-popup-panel">close<\/a><\/div><\/div>';

$(function($) {
    $(document).ready(on_document_ready);
});

function on_document_ready(e) {

    $('#navigation li:eq(0)').addClass('current-panel');

    $panels = $('#panels .section-panel');
    $panelsWrapper = $('#content');
    $container = $('#panels');

    var totalWidth = ($panels[0].offsetWidth + 12) * $panels.length;
    $container.css('width', totalWidth);

    var scrollOptions = {
        target: $panelsWrapper,
        navigation: "#navigation a",
        items: $panels,
        axis: 'x',
        prev: 'img#previous',
        next: 'img#next',
        offset: 0,
        duration: 600,
        start: 0,
        easing: 'linear',
        onAfter: function (elem) {
            togglePanel($(elem).attr("id"));
        }
    };

    $container.serialScroll(scrollOptions);

    $.localScroll(scrollOptions);

    scrollOptions.duration = 1;
    $.localScroll.hash(scrollOptions);

	$("#navigation a").click(function() {
			togglePopupPanel('out');
	})

    $("a.popup").click(function (e) {
		e.preventDefault();
        if ($('#popup-panel-container')) {
            togglePopupPanel('out');
        }
	    loadContent($(this).attr('href'));
	})

}

/*
 * Toggle link highlighting for the selected panel
 * 
 * Not very elegant but it gets the job done, would have preferred to use list indexes 
 * but the scrolling javascript documentation is a mess.
 */
function togglePanel(panel) {
    $('#navigation li').removeClass('current-panel');

/*
   switch (panel) {
       case 'about-puritas': $('#navigation li:eq(0)').addClass('current-panel'); break;
       case 'puritas-services': $('#navigation li:eq(1)').addClass('current-panel'); break;
       case 'pure-funds-software': $('#navigation li:eq(2)').addClass('current-panel'); break;
       case 'pure-funds-functionality': $('#navigation li:eq(3)').addClass('current-panel'); break;
       //case 'links': $('#navigation li:eq(4)').addClass('current-panel'); break;
       case 'who': $('#navigation li:eq(4)').addClass('current-panel'); break;
   }
*/

   switch (panel) {
       case 'section-1': $('#navigation li:eq(0)').addClass('current-panel'); break;
       case 'section-2': $('#navigation li:eq(1)').addClass('current-panel'); break;
       case 'section-3': $('#navigation li:eq(2)').addClass('current-panel'); break;
       case 'section-4': $('#navigation li:eq(3)').addClass('current-panel'); break;
       /*case 'links': $('#navigation li:eq(4)').addClass('current-panel'); break;*/
       case 'section-5': $('#navigation li:eq(4)').addClass('current-panel'); break;
       case 'section-6': $('#navigation li:eq(5)').addClass('current-panel'); break;
   }
}

function togglePopupPanel(dir) {
    switch (dir) {
        case 'in': $('#popup-panel').slideDown(1000, 'easeInOutQuart');

                    // fade in the close popup button and bind it
                    $('#popup-panel-close').fadeIn(function () {
                        $('#popup-panel-close').click(function () { togglePopupPanel('out'); });
                    });

                    // fade in the content
                    $('#popup-panel-contents').fadeIn();

                    // bind it for panels that contain popup-to-popup links (don't use .popup, it causes issues)
                    $("a.popup-to-popup").click(function () {
                        if ($('#popup-panel-container')) {
                            togglePopupPanel('out');
                        }
                        loadContent($(this).attr('href'));
                    })

                    break;

        case 'out': // fade out the contents (necessary to prevent popup-to-popup links 
                    // showing both content before the panel closes and reopens)
                    $('#popup-panel-contents').fadeOut();
                    
                     // fade out the close button
                    $('#popup-panel-close').fadeOut();
                    
                    $('#popup-panel').slideUp(1000, 'easeInOutQuart');
                    break;
    }
}

function loadContent(href) {
    $.ajax({
        url: 'xml/' + href.replace(/#\//i, '') + '.xml',
        type: "GET",
        cache: false,
        global: false,
        dataType: "xml",
        success: function (xml) {
            // insert popup panel html into the page
            $('#container').prepend($(popupPanelHtml2));
            // append content
            $('#popup-panel #popup-panel-contents').append($(xml).find('content').text());
            // display popup panel
            togglePopupPanel('in');
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('Error loading data, please try again.');
        }
    });

}
