/*!
 * jQuery Plugin: jPaKCorner
 * 
 * Copyright © 2009 Hamid_PaK [PRAISER]
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Date: 2009-12-06 (Sun, 6 Dec 2009)
 * Version: 0.1.2
 */
(function($){

    $.fn.jPaKCorner = function(settings){
        settings = $.extend({
            className: 'jPaKCorner',
            cornersImg: '/images/corners.jpg',
            useClass: true,
            useSimpleClass: false,
            direction: 'ltr',
            contentPad: 0,
            expand: 10
        }, settings);

        return this.each(function(){
            var
            me = $(this),
            content = me.html(),
            itemClass = '-item',
            baseStyle = {
                'background-image': 'url('+ settings.cornersImg +')',
                'background-repeat': 'no-repeat'
            },
            cornerItems = ['right', 'bottom', 'bottom-right'],
            cornersStyle = [{
                top: 0,
                right: 0,
                bottom: 0,
                width: settings.expand,
                'background-position': '0 -'+ settings.expand +'px'
            },{
                left: 0,
                right: 0,
                bottom: 0,
                height: settings.expand,
                'background-position': '-'+ settings.expand +'px 0'
            },{
                right: 0,
                bottom: 0,
                width: settings.expand,
                height: settings.expand,
                'background-position': '0 0'
            }],

            wrapperClass = '-wrapper',
            wrapper = $('<div></div>');

            if (settings.useSimpleClass) {
                wrapperClass = '-w';
                itemClass = '-i';
                cornerItems = ['r', 'b', 'br'];
            }

            me
            .html('');

            if (settings.useClass) {
                me.addClass(settings.className);
                wrapper.addClass(settings.className +wrapperClass);
            } else {
                me
                .css($.extend({
                    'position': 'relative',
                    'background-position': '-'+ settings.expand +'px -'+ settings.expand +'px'
                }, baseStyle));
                wrapper
                .css({
                    'padding': settings.expand +settings.contentPad,
                    'direction': settings.direction
                });
                baseStyle = $.extend({
                    'position': 'absolute'
                }, baseStyle);
            }

            wrapper
            .appendTo(me)
            .html(content);

            for (var i in cornerItems){
                var
                curCorner = $('<div></div>');

                if (settings.useClass) {
                    curCorner
                    .addClass(settings.className +itemClass)
                    .addClass(settings.className +'-'+ cornerItems[i]);
                } else {
                    curCorner
                    .css($.extend(cornersStyle[i], baseStyle));
                }
                curCorner
                .appendTo(me);
            }
        });
    }
})(jQuery);
