(function($){  
 $.fn.deWave = function() {  
  
  
    return this.each(function() {  
  
  
  		var canvas = "";
	  	var waves = ["rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)",
	       "rgba(255, 255, 255, 0.1)"]
       	var i = 0;
       
  
  
    	canvas = $(this);
    	canvas = canvas[0];
    	
    	if (typeof window.G_vmlCanvasManager!="undefined") { 
    		canvas=window.G_vmlCanvasManager.initElement(canvas); 
    	} 
    	
    	ctx = canvas.getContext('2d');
    	
    	
    	var isTouch = (/iphone|ipod|ipad|android/i).test(navigator.userAgent);
    	
    	if(!isTouch){
  			setInterval("$.fn.deWave.draw()",50);	
		}
		
		
        $.fn.deWave.draw = function() {

		canvas.width  = $(window).width();
//        canvas.width = canvas.width;
  
          for(var j = waves.length - 1; j >= 0; j--) {
            var offset = i + j * 5;
            ctx.fillStyle = (waves[j]);
  		    ctx.lineWidth = 2;
  		    ctx.strokeStyle = waves[j];
  
			var randomLeft = Math.abs(Math.pow( Math.sin((50) + 10), 2 )) * 20 + 20; //Math.abs(Math.pow( Math.sin((offset/100) + 10), 2 )) * 200
            var randomRight = Math.abs(Math.pow( Math.sin((100) + 10), 2 )) * 150 + 50;
            var randomLeftConstraint = Math.abs(Math.pow( Math.sin((offset/90)+2), 2 )) * 300;
            var randomRightConstraint = Math.abs(Math.pow( Math.sin((offset/90)+1), 2)) * 300;
  
            ctx.beginPath();
            ctx.moveTo(-200, randomLeft + 10);

            ctx.bezierCurveTo(canvas.width / 3, randomLeftConstraint, canvas.width / 3 * 2, randomRightConstraint, canvas.width+200, randomRight + 10);  
            ctx.stroke();
          }
  
          i++;
        }  
    });  
 };

})(jQuery);  

