﻿/*
 * 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
*/
// Basado de
// http://webdesignerwall.com/tutorials/html5-grayscale-image-hover

var grayImages = new Array();
var imgSrcColorFirst = "";

 function grayscale(src){

		var canvas = document.createElement('canvas');
		var ctx = canvas.getContext('2d');
		var imgObj = new Image();
		imgObj.src = src;
		canvas.width = imgObj.width;
	
		canvas.height = imgObj.height; 
		ctx.drawImage(imgObj, 0, 0); 
		var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
		for(var y = 0; y < imgPixels.height; y++){
			for(var x = 0; x < imgPixels.width; x++){
				var i = (y * 4) * imgPixels.width + x * 4;
				var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
				imgPixels.data[i] = avg; 
				imgPixels.data[i + 1] = avg; 
				imgPixels.data[i + 2] = avg;
			}
		}
		ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
		
		
		return canvas.toDataURL();
		
    }

(function($){


/* $('.item img').each(function(){
			
	
}) */

function accordionMenuSetting(obj,settings){

this.menuSettings=settings;
this.menuAnimate=animate;
var _this=this;
function animate(obj,i){


////EACH sobre item de lista :D
$.each(obj,function(j){
	
	var otherDim=Math.round(((_this.menuSettings.closeDim*obj.length)-(_this.menuSettings.openDim))/(obj.length-1));
	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;
	    }
	////titulos opcional	
    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.0});
		
		}
		else{ 
		       title.animate({'opacity':0});
		
		    }
		}
		else{
			if(_this.menuSettings.fadeInTitle){
				title.animate({'opacity':0});
				}
			else{ 
			title.animate({'opacity':0.7});
			    }
	        }
        }
    
	    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=$('a',obj);
_this.menuAnimate($this);
var maxDim=_this.menuSettings.closeDim*$this.length+_this.menuSettings.border*$this.length+10;
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'});

}

//IMAGES MANIPULAtIONS 
$.each($this,function(i){
/*
if(i==0){

ImgSrc=$('img',this).attr('src');
tit=$('img',this).attr('title');
desc=$('img',this).attr('desc');
$('img',this).hide();

}else{*/
tit=$('img',this).attr('title');
desc=$('img',this).attr('desc');
ImgSr=$('img',this).attr('src');
var ImgSrColor = String($('img',this).attr('src'));
if (i==0) {
	imgSrcColorFirst = ImgSrColor;
}
//alert ("XXXXX: " + ImgSrColor);
	if (!$.browser.msie){
		var img = $('img',this).attr('src');
//		var img = $('img',$this).attr('src');
		$('img',this).attr('src', grayscale(img));
		ImgSrc = $('img',this).attr('src');
		$('img',this).hide();
		grayImages[i] = ImgSrc;
	}else{
		ImgSrc=$('img',this).attr('src');
		$('img',this).hide();
		$(this).css('filter', 'gray()');
		
		$(this).mouseover(function(){
			$('#pep a').css('filter', 'gray()');
			$(this).css('filter', '');      
		}).mouseleave(function(){   
			$(this).css('filter', 'gray()');
		});
		$('#pep a').css('filter', '');
	}
//}

 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;
}
 $('#descR em').text(tit)
 $('#descR p').text(desc) 
$(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

})
.mouseenter(function(){

	$this.stop(true,false);
	_this.menuAnimate($this,i)
	
	 $('#descR em').text($(this).find('img').attr('title'))
	 $('#descR p').text($(this).find('img').attr('desc'))
	 
	if (!$.browser.msie){
		$('#pep a').css({'background-image':'url("'+grayImages[0]+'")'});
		$(this).css({'background-image':'url("'+ImgSrColor+'")'});
	}

//    $('#pep img').hide();
 
    })
.mouseleave(function(){
	if (!$.browser.msie){	
		$(this).css({'background-image':'url('+grayImages[i]+')'});
	} else {
	}
});
	
	function chec(i,img){
	if(i==0){
	 $(this).css({'background-image':'url('+img+')'}); 
            }
	}
	
if (i==0 && !$.browser.msie) {
	$('#pep a').css({'background-image':'url("'+imgSrcColorFirst+'")'});
}
if (i==0 && $.browser.msie) {
	$('#pep a').css('filter', '');
}
	
})

$(obj).mouseleave(function(){
//	$('#pep img').css({'width':241,'height':90}).show();	
	_this.menuAnimate($this);
	$('#descR em').text(tit);
	$('#descR p').text(desc);
	if (!$.browser.msie){
		$('#pep a').css({'background-image':'url("'+imgSrcColorFirst+'")'});
//		alert("Aqui");
	} else {
		$('#pep a').css('filter', '');
	}

	});
}
$.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
	};
	return this.each(function(){$(this).addClass("aim");
	 $('br',this).remove();

if(options)$.extend(settings,options);

var menu=new accordionMenuSetting(this,settings);});
	};
	})(jQuery);
	
//////////////////Mod by Okebonne - okebonnebone@gmail.com :P	
