
function polaroidize() {
	$("img.polaroid").each( function(i) {

		var old_padding = $(this).css('padding') || 0;
		$(this).css('padding', 0);
		
		var img_width = parseInt($(this).width(), 10) || 0;
		var img_height = parseInt($(this).height(), 10) || 0;
		
		if(img_width > 0 && img_height > 0) {
			$(this).wrap('<div class="canvas-wrapper"><\/div>');
			
			var canvas = document.createElement("canvas");
			$(this).parent().append(canvas); // attach new canvas
			
			if($.browser.msie) {
				canvas = G_vmlCanvasManager.initElement(canvas);
			}
			
			canvas.width = img_width * 1.25;
			canvas.height = img_height * 1.25;
			
			var ctx = canvas.getContext('2d');
			
			var line_width = 10.0;
			
			if(i % 2 == 0) {
				ctx.rotate((Math.PI / 180) * 1);
				ctx.translate(line_width*2, line_width);
			} else {
				ctx.rotate((Math.PI / 180) * -1);
				ctx.translate(line_width*1.5, line_width*1.5);
			}
			
			// left drop shadow
			var lingrad = ctx.createLinearGradient(-line_width*1.5, 1, -line_width, 1);
			lingrad.addColorStop(0, 'rgba(200,200,200,0)');
			lingrad.addColorStop(1, 'rgba(80,80,80,0.8)');
			
			ctx.fillStyle = lingrad;
			ctx.fillRect(-line_width*1.3, -line_width, line_width/2, line_width*2 + img_height);
			
			// bottom drop shadow
			var lingrad2 = ctx.createLinearGradient(1, line_width + img_height, 1, line_width*1.3 + img_height);
			lingrad2.addColorStop(0, 'rgba(80,80,80,0.8)');
			lingrad2.addColorStop(1, 'rgba(200,200,200,0)');
			
			ctx.fillStyle = lingrad2;
			ctx.fillRect(-line_width*1.1, line_width + img_height, line_width*2 + img_width, line_width*0.4);
			
			// border
			ctx.fillStyle = '#f9faff';
			ctx.fillRect(-line_width, -line_width, line_width*2 + img_width, line_width*2 + img_height);
			
			ctx.drawImage($(this)[0], 0, 0);
			
			$(this).hide();
		} else {
			$(this).css('padding', old_padding);
		}
	});
}


