// PRETTY BORDERS...

function TryParseInt(str){

    var retValue = parseInt(str);   
    if(isNaN(retValue)) retValue = 0;  
    return retValue;
}
 
(function($) {

    $.fn.bgBorderImg = function(options, i, p){  
        return this.each(function(){
            $(this).css("background", "url(" + options.bgImagePre + i + "." + options.bgImageExt + ") " + p);
        });
    };
})(jQuery);
        
(function($) {
    $.fn.prettyBorders = function(options) {
        var defaults = {
            top: 10,
            bottom: 10,
            left: 10,
            right: 10,
            bgImagePre: "borders",
            bgImageExt: "jpg",
            borderClass: "pBorder",
            innerClass: "pInner",
            titleTag: "*:first",
            titleClass: "title",
            addTitle: true
        };

        var options = $.extend(defaults, options);

        return this.each(function() {
            $(this).addClass(options.borderClass);
            if (options.addTitle) {
                var titleNode = $(this).find(options.titleTag).eq(0);
                var title = titleNode.clone();
                titleNode.remove();
            }

            var origAttr = {
                top: $(this).css("padding-top"),
                right: $(this).css("padding-right"),
                bottom: $(this).css("padding-bottom"),
                left: $(this).css("padding-left"),
                height: $(this).height(),
                width: $(this).width()
            };

            $(this).css("padding", 0);

            $(this).children().wrapAll("<div/>");
            $(this).children(':first').addClass(options.innerClass);

            $(this).children(':first').wrap("<div/>");
            var inner = $(this).children(':first');
            $(this).children(':first')
            .bgBorderImg(options, 4, "top right  repeat-y")
            .css("padding-top", origAttr.top)
            .css("padding-right", parseInt(inner.css("padding-right")) + options.right)
            .css("padding-bottom", origAttr.bottom)
            .css("padding-left", origAttr.left);

            $(this).children(':first').wrap("<div/>");
            $(this).children(':first')
            .bgBorderImg(options, 3, "top left repeat-y")
            .css("padding-left", options.left);

            $(this).prepend("<div/>");
            var t = $(this).children(':first');
            t.bgBorderImg(options, 2, "top right  no-repeat")
            .css("margin-left", options.left);

            var ti = $("<div/>")
            .appendTo(t)
            .bgBorderImg(options, 1, "top left  no-repeat")
            .css("overflow", "hidden")
            .height(options.top)
            .css("margin-left", -options.left);

            if (options.addTitle) {
                title
            .appendTo(ti)
            .css("display", "inline")
            .addClass(options.titleClass);
            }

            $(this).append("<div/>");
            var b = $(this).children(':last');
            b.bgBorderImg(options, 6, "top right  no-repeat")
            .css("margin-left", options.left);
            
            $("<div/>")
            .appendTo(b)
            .bgBorderImg(options, 5, "top left  no-repeat")
            .height(options.bottom)
            .css("margin-left", -options.left)
            .css("overflow", "hidden");
        });
    };
})(jQuery);

// END PRETTY BORDERS

// PRETTY BUTTONS...

(function($) {
    $.fn.prettyButton = function(options) {
        var defaults = {
            top: 10,
            bottom: 10,
            left: 10,
            right: 10,
            bgImagePre: "",
            bgImageOverPre: "",
            bgImageExt: "jpg",
            buttonClass: "pButton",
            addPointer: true,
            pointerClass: "pointer"
        };

        var options = $.extend(defaults, options);

        return this.each(function() {

            var origHtml = $(this).html();

            var origAttr = {
                top: $(this).css("padding-top"),
                right: $(this).css("padding-right"),
                bottom: $(this).css("padding-bottom"),
                left: $(this).css("padding-left")
            };

            $(this)
            .addClass(options.buttonClass)
            .css("cursor", "pointer")
            .empty();

            var m = $("<div/>").appendTo(this)
            .css("background", "top left no-repeat")
            .css("padding-left", options.left);

            var inner = $("<div/>").appendTo(m)
            .css("background", "top right no-repeat")
            .css("padding-right", options.right)
            .css("height", options.top + options.bottom)
            .append(origHtml);

            var a = m.find("a");

            if (options.bgImageOverPre.length > 0) {
                $(this).hover(over, out);
            }

            function over() {
                m.css("background-image", "url(" + options.bgImageOverPre + "1." + options.bgImageExt + ")");
                inner.css("background-image", "url(" + options.bgImageOverPre + "2." + options.bgImageExt + ")");
            }

            function out() {
                m.css("background-image", "url(" + options.bgImagePre + "1." + options.bgImageExt + ")");
                inner.css("background-image", "url(" + options.bgImagePre + "2." + options.bgImageExt + ")");
            }

            $(this).click(function() {
                if (a.attr("href") != undefined)
                    window.location.href = a.attr("href");
            });

            if (jQuery.browser.msie) inner.css("white-space", "nowrap")

            out();
        });
    };
})(jQuery);

// END PRETTY BUTTONS
