/*
jQuery.imageMenu
http://www.phatfusion.net/imagemenu/index.htm
*/
(function($) {
jQuery.fn.ImageMenu = function(options) {
	var options = $.extend({
		'menu' : $(this),
		'items': 'li' ,
		'extendBy': 50,
		'init' : -1,
		'keepOpen' : false,
		'saveOnClick' : false,
		'mouseover' : function(){},
		'mouseout' : function(){},
		'click' : function(){}
	}, options || {});
	var menu = $(this);
	var elems = $(options.items,menu);
	elems.bind('mouseover',options, ImageMenu.mouseover);
	if(options.keepOpen==false)
	elems.bind('mouseout',options, ImageMenu.mouseout);
	elems.bind('click',options, ImageMenu.click);
	menu.attr('ImageMenu_Default', options.init);
	menu.css('position','relative');
	menu.append('<div style="position:absolute;height:'+menu.height()+'px;width:'+(menu.width()*2)+'px;clip: rect(0px '+menu.width()+'px '+menu.height()+'px 0px);" class="imageMenuContainer"></div>');
	elems.appendTo($('.imageMenuContainer',menu));
	elems.eq(elems.length-1).width(menu.width());
	options.mouseout(elems,options);
	if(options.init>=0)
		elems.eq(options.init).trigger('mouseover');
};
})(jQuery);
var ImageMenu = {
	mouseover : function(e){
		var options = e.data;
		var menu = $(options.menu);
		var elems = $(options.items,menu);
		var menuWidth = menu.width();
		var singleWidth = Math.floor(menuWidth/(elems.length));
		var outWidth = Math.floor((menuWidth-(singleWidth+options.extendBy))/(elems.length-1));
		var hoverWidth = Math.ceil(menuWidth - outWidth * (elems.length-1));
		$(this).removeClass('out');
		elems.stop();
		elems.animate({'width':outWidth},'fast');
		$(this).stop();
		$(this).animate({'width':hoverWidth},'fast');
		options.mouseout(elems,options);
		options.mouseover(this,options);
	},
	mouseout : function(e){
		var options = e.data;
		var menu = $(options.menu);
		var elems = $(options.items,menu);
		var menuWidth = menu.width();
		var singleWidth = Math.floor(menuWidth/(elems.length));
		$(this).addClass('out');
		elems.stop();
		elems.animate({'width':singleWidth},'fast');
		options.mouseout(this,options);
		if(menu.attr('ImageMenu_default')>=0)
			elems.eq(1*menu.attr('ImageMenu_default')).trigger('mouseover');
	},
	click : function(e){
		var options = e.data;
		var menu = $(options.menu);
		var elems = $(options.items,menu);
		menu.attr('ImageMenu_default',elems.index(this));
		options.click(this,options);
	}
}
