﻿$.fn.shadify = function () {
	$(this).wrap('<span class="shadow1" style="border:solid 1px #eee"><span class="shadow2" style="border:solid 1px #ddd"><span class="shadow3" style="border:solid 1px #bbb"></span></span></span>');

	var margin = new Array();
	var padding = new Array();
	var radius = new Array();

	margin['l'] = $(this).css('margin-left');
	margin['t'] = $(this).css('margin-top');
	margin['r'] = $(this).css('margin-right');
	margin['b'] = $(this).css('margin-bottom');

	padding['l'] = $(this).css('padding-left').replace('px', '');
	padding['t'] = $(this).css('padding-top').replace('px', '');
	padding['r'] = $(this).css('padding-right').replace('px', '');
	padding['b'] = $(this).css('padding-bottom').replace('px', '');
	if ($(this).css('border-top-left-radius')) {
		radius['1'] = parseInt($(this).css('border-top-left-radius').replace('px', ''));
		radius['2'] = parseInt($(this).css('border-top-right-radius').replace('px', ''));
		radius['3'] = parseInt($(this).css('border-bottom-right-radius').replace('px', ''));
		radius['4'] = parseInt($(this).css('border-bottom-left-radius').replace('px', ''));
	}

	$(this).css('margin', '0px');

	var width = $(this).width();
	var height = $(this).height();
	var float = $(this).css('float');

	$(this).parents('.shadow1').first().css('margin-left', margin['l']);
	$(this).parents('.shadow1').first().css('margin-top', margin['t']);
	$(this).parents('.shadow1').first().css('margin-right', margin['r']);
	$(this).parents('.shadow1').first().css('margin-bottom', margin['b']);

	$(this).parents('.shadow1').first().width(width + 4 + parseInt(padding['l']) + parseInt(padding['r']));
	$(this).parents('.shadow2').first().width(width + 2 + parseInt(padding['l']) + parseInt(padding['r']));
	$(this).parents('.shadow3').first().width(width + 0 + parseInt(padding['l']) + parseInt(padding['r']));

	$(this).parents('.shadow1').first().height(height + 4 + parseInt(padding['t']) + parseInt(padding['b']));
	$(this).parents('.shadow2').first().height(height + 2 + parseInt(padding['t']) + parseInt(padding['b']));
	$(this).parents('.shadow3').first().height(height + 0 + parseInt(padding['t']) + parseInt(padding['b']));

	$(this).parents('.shadow1').first().css('float', float);
	$(this).parents('.shadow2').first().css('float', float);
	$(this).parents('.shadow3').first().css('float', float);

	$(this).parents('.shadow1').first().css('display', 'block');
	$(this).parents('.shadow2').first().css('display', 'block');
	$(this).parents('.shadow3').first().css('display', 'block');

	if ($(this).css('border-top-left-radius')) {
		$(this).parents('.shadow1').first().css('border-top-left-radius', radius['1'] + 'px');
		$(this).parents('.shadow1').first().css('border-top-right-radius', radius['2'] + 'px');
		$(this).parents('.shadow1').first().css('border-bottom-right-radius', radius['3'] + 'px');
		$(this).parents('.shadow1').first().css('border-bottom-left-radius', radius['4'] + 'px');
		$(this).parents('.shadow2').first().css('border-top-left-radius', (radius['1']) + 'px');
		$(this).parents('.shadow2').first().css('border-top-right-radius', (radius['2']) + 'px');
		$(this).parents('.shadow2').first().css('border-bottom-right-radius', (radius['3']) + 'px');
		$(this).parents('.shadow2').first().css('border-bottom-left-radius', (radius['4']) + 'px');
		$(this).parents('.shadow3').first().css('border-top-left-radius', (radius['1']) + 'px');
		$(this).parents('.shadow3').first().css('border-top-right-radius', (radius['2']) + 'px');
		$(this).parents('.shadow3').first().css('border-bottom-right-radius', (radius['3']) + 'px');
		$(this).parents('.shadow3').first().css('border-bottom-left-radius', (radius['4']) + 'px');
	}
}

$(document).ready(function () {
	if ($('.shadify')) {
		$('.shadify').each(function () {
			$(this).shadify();
		});
	}
});
