﻿//Copyright DotControl 2011
var settings = null;

var settings1 = {
    wrapper_expanded_width: "520px",
    wrapper_collapsed_width: "0px",
    wrapper_margin: "0",

    content_item_wrapper_class: ".ContentItemWrapper"
};

var settings2 = {
    wrapper_expanded_width: "520px",
    wrapper_collapsed_width: "0px",
    wrapper_margin: "-520px",

    content_item_wrapper_class: ".ContentItemWrapper"
};


function CollapsePanelBars() {
    var otherPanelBar = $find("rpbMenu");
    settings = settings2;
    
    if (otherPanelBar != null) {
        var item = otherPanelBar.get_expandedItem();
        if (item != null) {
            CollapseInnerPanel(item, null);
            item.collapse();
        }
    }

    otherPanelBar = $find("rpbMenu2");
    settings = settings1;
    
    if (otherPanelBar != null) {
        var item = otherPanelBar.get_expandedItem();
        if (item != null) {
            CollapseInnerPanel(item, null);
            item.collapse();
        }
    }
}

function BootstrapHandler(sender, eventArgs) {
    //Collapse other PanelBar
    var otherPanelBar = null;
    if (sender.get_id() == "rpbMenu") {
        settings = settings1;
        otherPanelBar = $find("rpbMenu2");
    }
    else {
        settings = settings2;
        otherPanelBar = $find("rpbMenu");
    }
    if (otherPanelBar != null) {
        var item = otherPanelBar.get_expandedItem();
        if (item != null) {
            CollapseInnerPanel(item, null);
            item.collapse();
        }
    }

    // cancel default event
    eventArgs.set_cancel(true);

    // get the item
    var item = eventArgs.get_item();

    // do some magic
    if (item) {

        // ensure wrapper dimensions
        EnsureWrapperDimensions(item);

        if (sender.get_expandedItem() == item) {

            // If this is the previously opened item
            // 1) collapse its inner panel
            // 2) collapse the item
            CollapseInnerPanel(item, function () {
                item.collapse();
            });

        } else if (sender.get_expandedItem()) {

            // if there is a previous item
            // 1) collapse its inner panel
            // 2) expand this item
            CollapseInnerPanel(sender.get_expandedItem(), function () {
                item.expand();
            });

        } else {

            // in any other case
            // expand this item
            item.expand();
        }

    }

}


function PostAnimationCallback(sender, eventArgs) {

    // get the item
    var item = eventArgs.get_item();

    if (item.get_expanded()) {
        // If this is the expanded item
        // expand the inner panel
        ExpandInnerPanel(item);
    }

    $('.Menu1').vAlign();
    $('.Menu2').vAlign();

}

function ExpandInnerPanel(item, callback) {
    var callback = callback || function () { };

    $(item._element)

    // get the wrapper
		.find(settings.content_item_wrapper_class)

    // animate
	    .animate({ width: settings.wrapper_expanded_width, marginLeft: settings.wrapper_margin }, 300, callback);
       
}

function CollapseInnerPanel(item, callback) {
    var callback = callback || function () { };

    $(item._element)

    // get the wrapper			
		.find(settings.content_item_wrapper_class)

    // animate
		.animate({ width: settings.wrapper_collapsed_width, marginLeft: 0 }, 300, callback);
}


function EnsureWrapperDimensions(item) {

    $(item._element)

    // get the wrapper
	    .find(settings.content_item_wrapper_class)
    // set width
	    .width(
		    item.get_expanded()
			    ? settings.wrapper_expanded_width
			    : settings.wrapper_collapsed_width
	    );

}
/*
function CloseAllItems() {
    var otherPanelBar = $find("rpbMenu");
    var item = otherPanelBar.get_expandedItem();
    if (item != null) {
        CollapseInnerPanel(item, null);
        item.collapse();
    }

    otherPanelBar = $find("rpbMenu2");
    item = otherPanelBar.get_expandedItem();
    if (item != null) {
        CollapseInnerPanel(item, null);
        item.collapse();
    }
}
*/
//DC vAlign
(function ($) {
    // VERTICALLY ALIGN FUNCTION
    $.fn.vAlign = function () {
        return this.each(function (i) {
            var ah = $(this).height();
            var ph = $(this).parent().height();
            var mh = Math.ceil((ph - ah) / 2);

            $(this).animate({marginTop: mh},200);
        });
    };
})(jQuery);

$(document).ready(function (e) {
    $('.Menu1').vAlign();
    $('.Menu2').vAlign();
});

//Cufon
//Aurora-Bold-Condensed-BT
Cufon.replace('h1, h2, .ContentText, .MainButton span', { 
    hover: true, 
    fontFamily: 'Aurora-Bold-Condensed-BT' 
    });

/*
if ($.browser.msie && $.browser.version != "8.0" && $.browser.msie && $.browser.version != "7.0" && $.browser.msie && $.browser.version != "6.0") {
    //Helvetica Neue LT Pro
    Cufon.replace('.MenuItemText, .ContentItem, .UtilitiesHeader, .SubText', {
        hover: true,
        hover: { color: '#FF0000' },
        fontFamily: 'Helvetica Neue LT Pro'
    });

}
*/
