/*
 * Jquery AccordionImageMenu Plugin 0.4.
 * Examples and documentation at: http://web-argument.com/jquery-accordion-image-menu-plugin
 * By Alain Gonzalez (http://web-argument.com)
 * Copyright (c) 2011 Alain Gonzalez 
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
(function($){
	function accordionMenuSetting(obj,settings){
		this.menuSettings=settings;
		this.menuAnimate=animate;
		var _this=this;
		function animate(obj,i){
			$.each(obj,function(j){
			//	var otherDim=Math.round(((_this.menuSettings.closeDim*obj.length)-(_this.menuSettings.openDim))/(obj.length-1));
				var otherDim=_this.menuSettings.closeDim;
				var itemDim=otherDim;
				if(j==i){
					itemDim=_this.menuSettings.openDim;
				}
			if(typeof i=='undefined'){
				if(_this.menuSettings.openItem==null)itemDim=_this.menuSettings.closeDim;
				else if(_this.menuSettings.openItem==j)itemDim=_this.menuSettings.openDim;
				else itemDim=otherDim;
			}

			var title=$('span',this);
			title.stop(true,false);
			if(_this.menuSettings.fadeInTitle!=null&&title.length>0){
				if(itemDim==_this.menuSettings.openDim){
					if(_this.menuSettings.fadeInTitle)title.animate({'opacity':0.7});
					else title.animate({'opacity':0});
				}else{
						if(_this.menuSettings.fadeInTitle)title.animate({'opacity':0});
						else title.animate({'opacity':0.7});
				}
			}

			var boxtitle=$('div',this);
			boxtitle.stop(true,false);
			if(_this.menuSettings.fadeInTitle!=null&&boxtitle.length>0){
				if(itemDim==_this.menuSettings.openDim){
					if(_this.menuSettings.fadeInTitle)boxtitle.animate({'opacity':0});
					else boxtitle.animate({'opacity':0.7});
				}else{
						if(_this.menuSettings.fadeInTitle)boxtitle.animate({'opacity':0.7});
						else boxtitle.animate({'opacity':0});
				}
			}

			if(_this.menuSettings.position=='vertical')	$(this).animate({'height':itemDim},_this.menuSettings.duration,_this.menuSettings.effect);
			else $(this).animate({'width':itemDim},_this.menuSettings.duration,_this.menuSettings.effect);
		});
	}

	var $this=$('li',obj);_this.menuAnimate($this);
		
//	var maxDim=_this.menuSettings.closeDim*$this.length+_this.menuSettings.border*$this.length+10;
	var maxDim = _this.menuSettings.totalAncho;

	//var maxDim=((_this.menuSettings.closeDim+_this.menuSettings.border)*$this.length)+_this.menuSettings.openDim;
	if(_this.menuSettings.position=='vertical')	$(obj).css({'width':_this.menuSettings.width+'px','height':maxDim+'px'});
	else $(obj).css({'height':_this.menuSettings.height+'px','width':maxDim+'px'});

	$.each($this,function(i){
				ImgSrc=$('img',this).attr('src');
				$('img',this).hide();
				var borderBottomValue=0;
				var borderRightValue='solid '+_this.menuSettings.border+'px '+_this.menuSettings.color;
				var aWidth='auto';
				var aHeight=_this.menuSettings.height+'px';
				if(_this.menuSettings.position=='vertical'){
					borderBottomValue='solid '+_this.menuSettings.border+'px '+_this.menuSettings.color;
					borderRightValue=0;aWidth=_this.menuSettings.width+'px';aHeight='auto';
				}
				if(i==($this.length-1)){
					borderBottomValue=0;borderRightValue=0;
				}
				$(this).css({'width':aWidth,'height':aHeight,'background-image':'url('+ImgSrc+')','background-color':_this.menuSettings.color,'background-repeat':'no-repeat','border-bottom':borderBottomValue,'border-right':borderRightValue})
					.click(function(){$this.stop(true,false);_this.menuAnimate($this,i);});});
				//$(obj).mouseleave(function(){_this.menuAnimate($this);})
				;}

	$.fn.AccordionImageMenu=function(options){
		var settings={'closeDim':100,'openDim':200,'width':200,'height':200,'effect':'swing','duration':400,'openItem':null,'border':2,'color':'#000000','position':'horizontal','fadeInTitle':true, 'totalAncho':'500'};
		return this.each(function(){$(this).addClass("aim");
		$('br',this).remove();
		if(options)$.extend(settings,options);
		var menu=new accordionMenuSetting(this,settings);
		})
	;}
;})(jQuery);
