/**********************************************************
 *  Copyright iWeb Creative 2010
 *  
 *  Developer: HT
 *
 *********************************************************/	
 
 /*************************************
 * BEGIN SCRIPT FOR GRAY SCALE EFFECT *
 **************************************/
 	function gray_scale_effect()
	{	
		var imgObjS = document.getElementsByClassName('degrayzation');
		
        for (var i = 0; i < imgObjS.length; i++) 
        {
	    	if(Prototype.Browser.IE)
		    {
		        imgObjS[i].style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
		        
				imgObjS[i].onmouseover 	= function() { rolloverIE(this); };
				imgObjS[i].onmouseout 	= function() { rolloutIE(this);  };				
			} 
			else
			{
				imgObjS[i].atribut = imgObjS[i].src;
				imgObjS[i].src = grayscaleImage(imgObjS[i]);
				
				imgObjS[i].onmouseover 	= function() { rollover(this); };
				imgObjS[i].onmouseout 	= function() { rollout(this); };
			}           
		}
	}
	
	function rollover(o) 	{ o.src = o.atribut; }
	function rollout(o) 	{ o.src = grayscaleImage(o); }
	
	function rolloverIE(o) 	{ o.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=0)'; }
	function rolloutIE(o) 	{ o.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)'; }	
	
    function grayscaleImage(imgObj)
    {
        var canvas = document.createElement('canvas');
        var canvasContext = canvas.getContext('2d');
        
        var imgW = imgObj.width;
        var imgH = imgObj.height;
        canvas.width = imgW;
        canvas.height = imgH;
        
        canvasContext.drawImage(imgObj, 0, 0);
        var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
        
        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;
            }
        }
        
        canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
        return canvas.toDataURL();
    }
 /***********************************
 * END SCRIPT FOR GRAY SCALE EFFECT *
 ************************************/
 
 /****************
 * SCRIPT LOADER *
 *****************/
	 function start_iweb_script() 
	 {
	 	var variabila = navigator.userAgent;
	 	if ( variabila.indexOf('afari') == -1 )
	 	{
	 		gray_scale_effect();
	 	}
	 } 
 
	 var pageisloaded=0;
	 document.observe("dom:loaded", function() { pageisloaded=1; });

	 if ( pageisloaded ) { start_iweb_script(); }
	 else { document.observe("dom:loaded", start_iweb_script); }
 /***********************
 * END OF SCRIPT LOADER *
 ************************/ 
