
jQuery.fn.shadow = function(o) {
    var ht1 = "<div class='shadow-wrap' style='background:yellow;position:absolute'></div>";
    var ht = "<div class='shadow shadow-n'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-s'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-e'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-w'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-nw'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-ne'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-sw'>&nbsp;</div>";
    ht+= "<div class='shadow shadow-se'>&nbsp;</div>";
    this.wrap(ht1).parent().append(ht);
    var _left = this.position().left;
    var _right = _left + this.outerWidth();
    var _top = this.position().top;
    var _bottom = _top + this.outerHeight();
    var _width = this.width();
    var _height = this.height();
    
    this.css({
        position:"relative",
        left:this.parent(".shadow-wrap").children(".shadow-e").width(),
        top:this.parent(".shadow-wrap").children(".shadow-s").height(),
        zIndex : 10
        });
    this.parent(".shadow-wrap").css({
            width:_width+this.parent(".shadow-wrap").children(".shadow-e").width()+this.parent(".shadow-wrap").children(".shadow-w").width(),
            height:_height+this.parent(".shadow-wrap").children(".shadow-n").height()+this.parent(".shadow-wrap").children(".shadow-s").height()
        });
    
        
    this.parent(".shadow-wrap").children(".shadow-n").css({
            width:_width,
            top : 0, //_top - this.children(".shadow-s").height(),
            left : this.parent(".shadow-wrap").children(".shadow-e").width(),
            zIndex : 11
        });
    this.parent(".shadow-wrap").children(".shadow-s").css({
            width:_width,
            bottom :0,
            left : this.parent(".shadow-wrap").children(".shadow-e").width(),
            zIndex : 12
        });
    this.parent(".shadow-wrap").children(".shadow-e").css({
            height:_height,
            top :this.parent(".shadow-wrap").children(".shadow-n").height(),
            left : 0,
            zIndex : 13
        });
    this.parent(".shadow-wrap").children(".shadow-w").css({
            height:_height,
            top :this.parent(".shadow-wrap").children(".shadow-n").height(),
            left : _right
        });
    

    this.parent(".shadow-wrap").children(".shadow-ne").css({
            left : _left - this.parent(".shadow-wrap").children(".shadow-ne").width(),
            top : _top - this.parent(".shadow-wrap").children(".shadow-ne").height()
        });
    this.parent(".shadow-wrap").children(".shadow-nw").css({
            left : _right,
            top : _top - this.parent(".shadow-wrap").children(".shadow-nw").height()
        });
    this.parent(".shadow-wrap").children(".shadow-sw").css({
            left : _right,
            top : _bottom
        });
    this.parent(".shadow-wrap").children(".shadow-se").css({
            left : _left - this.parent(".shadow-wrap").children(".shadow-se").width(),
            top : _bottom
        });
}