/*
* Treasurej Menu Slider v1.0
* http://www.xecameron.com
* Copyright 2012, Jinhwa Ko
*/
(function($) {
var sliderCount = 1;
$.fn.menuSlider = function(settings) {
settings = $.extend({
autoHeight: true,
autoHeightEaseDuration: 500,
autoHeightEaseFunction: "easeOutQuad",
crossLinking: false,
firstPanelToLoad: 1,
slideEaseDuration: 500,
slideEaseFunction: "easeInOutExpo",
slideDirection: "vertical"
}, settings);
return this.each(function(){
var slider = $(this);
var panelHeights = slider.find(".panel").height();
var panelCount = slider.find(".panel").size();
var panelContainerHeight = panelHeights*panelCount;
var navClicks = 0;
$('.panel', slider).wrapAll('
');
$('.panel-container', slider).css({ height: panelContainerHeight });
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
var currentPanel = parseInt(location.hash.slice(1));
var offset = - (panelHeights*(currentPanel - 1));
$('.panel-container', slider).css({ marginTop: offset });
} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) {
var currentPanel = settings.firstPanelToLoad;
var offset = - (panelHeights*(currentPanel - 1));
$('.panel-container', slider).css({ marginTop: offset });
} else {
var currentPanel = 1;
};
$('#mm_tabs' + sliderCount + ' a').each(function(z) {
$(this).bind("mouseover || focus", function() {
$(".main_menu_container").delay(400).slideDown();
navClicks++;
$(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
offset = - (panelHeights*z);
alterPanelHeight(z);
currentPanel = z + 1;
$('.panel-container', slider).stop().animate({ marginTop: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
$("#open_link .close_link").removeClass("close_link");
if (!settings.crossLinking) { return false };
});
});
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
$("#mm_tabs" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current");
} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) {
$("#mm_tabs" + sliderCount + " a:eq(" + (settings.firstPanelToLoad - 1) + ")").addClass("current");
} else {
$("#mm_tabs" + sliderCount + " a:eq(0)").addClass("current");
};
if (settings.autoHeight) {
panelHeight = $('.main_menu:eq(' + (currentPanel - 1) + ')', slider).height();
slider.css({ height: panelHeight });
};
function alterPanelHeight(x) {
if (settings.autoHeight) {
panelHeight = $('.main_menu:eq(' + x + ')', slider).height()
slider.stop().animate({ height: panelHeight }, settings.autoHeightEaseDuration, settings.autoHeightEaseFunction);
};
};
sliderCount++;
});
};
})(jQuery);