/*
  rwExt.js - copyright 2010, Redmond Web
  http://www.opensource.org/licenses/mit-license.php
*/
var _browser;
$.extend({
    browserDetect: function () {
        var pBody = $("body");
        var userAgent = navigator.userAgent.toLowerCase();
        $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
        if ($.browser.msie) {
            pBody.addClass("IE");
            _browser = "IE" + $.browser.version.substring(0, 1)
        }
        if ($.browser.chrome) {
            pBody.addClass("Chrome");
            userAgent = userAgent.substring(userAgent.indexOf("chrome/") + 7);
            userAgent = userAgent.substring(0, 1);
            _browser = "Chrome" + userAgent;
            $.browser.safari = false
        }
        if ($.browser.safari) {
            pBody.addClass("Safari");
            userAgent = userAgent.substring(userAgent.indexOf("version/") + 8);
            userAgent = userAgent.substring(0, 1);
            _browser = "Safari" + userAgent
        }
        if ($.browser.mozilla) {
            if (navigator.userAgent.toLowerCase().indexOf("firefox") != -1) {
                pBody.addClass('Firefox');
                userAgent = userAgent.substring(userAgent.indexOf("firefox/") + 8);
                userAgent = userAgent.substring(0, 1);
                _browser = "Firefox" + userAgent
            } else {
                _browser = "Mozilla"
            }
        }
        pBody.addClass(_browser)
    }
});
$.fn.extend({
    defaultText: function () {
        $(this).each(function () {
            var _this = $(this);
            var _text = _this.attr("value");
            _this.bind("focus", function (e) {
                var focus = $(e.target);
                if (focus.attr("value") == _text) {
                    focus.attr("value", "")
                }
            });
            _this.bind("blur", function (e) {
                var blur = $(e.target);
                if (blur.attr("value") == "") {
                    blur.attr("value", _text)
                }
            })
        })
    }
});
$(function () {
    $.browserDetect()
});

function rounded() {
    try {
        var tagName = this.tagName.toLowerCase();
        var innerHTML = "";
        var defaultState = eleStyles($(this));
        $(this).addClass("hover");
        var hoverState = eleStyles($(this));
        $(this).removeClass("hover");
        if (tagName == "img") {
            defaultState.backgroundImage = $(this).attr("src");
            var divWrapper = document.createElement($(this).outerHTML().toString().replace(/^<img/i, "<div"))
        } else {
            $(this).css({
                "background": "transparent",
                "border": "none",
                "padding": "0",
                "margin": defaultState.margin,
                "width": (defaultState.width + 1) + "px",
                "height": (defaultState.height + 1) + "px"
            });
            innerHTML = $(this).html()
        }
        var newHTML = '<div style="position:relative"><v:shape coordorigin="0 0" coordsize="' + defaultState.width + ' ' + defaultState.height + '" path="m ' + defaultState.borderRadiusTL + ',0 l ' + (defaultState.width - defaultState.borderRadiusTR) + ',0 qx ' + defaultState.width + ',' + defaultState.borderRadiusTR + ' l ' + defaultState.width + ',' + (defaultState.height - defaultState.borderRadiusBR) + ' qy ' + (defaultState.width - defaultState.borderRadiusBR) + ',' + defaultState.height + ' l ' + defaultState.borderRadiusBL + ',' + defaultState.height + ' qx 0,' + (defaultState.height - defaultState.borderRadiusBL) + ' l 0,' + defaultState.borderRadiusTL + ' qy ' + defaultState.borderRadiusTL + ',0 x e" strokecolor="' + defaultState.borderColor + '" strokeweight="' + defaultState.borderWidth + '" style="behavior:url(#default#VML); display:block; position:absolute; top:0; left:0; antialias:true; width:' + defaultState.width + 'px; height:' + defaultState.height + 'px;"><v:fill color="' + defaultState.backgroundColor + '"';
        newHTML += (defaultState.backgroundImage == "") ? "" : ' src="' + defaultState.backgroundImage + '" type="tile" position="' + (parseInt(defaultState.backgroundPositionX) / defaultState.width) + ", " + (parseInt(defaultState.backgroundPositionY) / defaultState.height) + '"';
        newHTML += ' style="behavior:url(#default#VML);"/>';
        if (tagName == "img") {
            divWrapper.innerHTML = newHTML + '</v:shape></div>';
            $(this).replaceWith(divWrapper);
            $(divWrapper).css({
                "border": "none",
                "padding": defaultState.padding,
                "margin": defaultState.margin,
                "width": (defaultState.width + 1) + "px",
                "height": (defaultState.height + 1) + "px",
                "float": defaultState.float,
                "clear": defaultState.clear,
                "display": (defaultState.display == "inline") ? "inline-block" : display,
                "position": defaultState.position,
                "top": defaultState.top,
                "right": defaultState.right,
                "bottom": defaultState.bottom,
                "left": defaultState.left
            })
        } else {
            newHTML += '</v:shape><v:shape coordorigin="0 0" coordsize="' + hoverState.width + ' ' + hoverState.height + '" path="m ' + hoverState.borderRadiusTL + ',0 l ' + (hoverState.width - hoverState.borderRadiusTR) + ',0 qx ' + hoverState.width + ',' + hoverState.borderRadiusTR + ' l ' + hoverState.width + ',' + (hoverState.height - hoverState.borderRadiusBR) + ' qy ' + (hoverState.width - hoverState.borderRadiusBR) + ',' + hoverState.height + ' l ' + hoverState.borderRadiusBL + ',' + hoverState.height + ' qx 0,' + (hoverState.height - hoverState.borderRadiusBL) + ' l 0,' + hoverState.borderRadiusTL + ' qy ' + hoverState.borderRadiusTL + ',0 x e" strokecolor="' + hoverState.borderColor + '" strokeweight="' + hoverState.borderWidth + '" style="behavior:url(#default#VML); display:none; position:absolute; top:0; left:0; antialias:true; width:' + hoverState.width + 'px; height:' + hoverState.height + 'px;"><v:fill color="' + hoverState.backgroundColor + '"';
            newHTML += (hoverState.backgroundImage == "") ? "" : ' src="' + hoverState.backgroundImage + '" type="tile" position="' + (parseInt(hoverState.backgroundPositionX) / hoverState.width) + ", " + (parseInt(hoverState.backgroundPositionY) / hoverState.height) + '"';
            newHTML += 'style="behavior:url(#default#VML);"/></v:shape><div style="position:absolute; top:0; left:0; width:' + defaultState.innerWidth + 'px; height:' + defaultState.innerHeight + 'px; margin:' + defaultState.padding + ';">' + innerHTML + '</div></div>';
            this.innerHTML = newHTML
        }
    } catch (err) {}
}
function roundedHover() {
    try {
        $(this).hover(function () {
            $(this).find("shape").eq(0).css("display", "none");
            $(this).find("shape").eq(1).css("display", "block")
        }, function () {
            $(this).find("shape").eq(1).css("display", "none");
            $(this).find("shape").eq(0).css("display", "block")
        })
    } catch (err) {}
}
function roundedImg() {
    var backgroundImage = $(this).attr("src");
    var display = $(this).css("display");
    $(this).css({
        "background-image": "url(" + backgroundImage + ")",
        "display": (display == "inline") ? "inline-block" : display
    });
    var innerHTML = $(this).outerHTML().toString().replace(/^<img/i, "<div");
    $(this).replaceWith(innerHTML)
}
function eleStyles(obj) {
    try {
        var eleStyles = new Object();
        eleStyles.backgroundColor = ($(obj).css("background-color") == "transparent") ? "#fff" : $(obj).css("background-color");
        eleStyles.backgroundImage = $(obj).css("background-image").replace(/^url\("(.+)"\)$/, '$1');
        if (eleStyles.backgroundImage.toLowerCase() == "none") {
            eleStyles.backgroundImage = ""
        }
        eleStyles.backgroundPositionX = $(obj).css("background-position-x");
        eleStyles.backgroundPositionY = $(obj).css("background-position-y");
        eleStyles.backgroundPosition = eleStyles.backgroundPositionX + " " + eleStyles.backgroundPositionY;
        eleStyles.borderColor = $(obj).css("border-color");
        eleStyles.borderWidth = parseInt($(obj).css("border-width"));
        eleStyles.borderRadius = parseInt($(obj).css("border-radius"));
        eleStyles.borderRadiusTL = 0;
        eleStyles.borderRadiusTR = 0;
        eleStyles.borderRadiusBL = 0;
        eleStyles.borderRadiusBR = 0;
        if (isNaN(eleStyles.borderRadius)) {
            eleStyles.borderRadiusTL = parseInt($(obj).css("border-top-left-radius"));
            eleStyles.borderRadiusTR = parseInt($(obj).css("border-top-right-radius"));
            eleStyles.borderRadiusBL = parseInt($(obj).css("border-bottom-left-radius"));
            eleStyles.borderRadiusBR = parseInt($(obj).css("border-bottom-right-radius"))
        } else {
            eleStyles.borderRadiusTL = eleStyles.borderRadiusTR = eleStyles.borderRadiusBL = eleStyles.borderRadiusBR = eleStyles.borderRadius
        }
        eleStyles.display = $(obj).css("display");
        eleStyles.float = $(obj).css("float");
        eleStyles.clear = $(obj).css("clear");
        eleStyles.position = $(obj).css("position");
        eleStyles.top = $(obj).css("top");
        eleStyles.right = $(obj).css("right");
        eleStyles.bottom = $(obj).css("bottom");
        eleStyles.left = $(obj).css("left");
        eleStyles.margin = $(obj).css("margin-top") + " " + $(obj).css("margin-right") + " " + $(obj).css("margin-bottom") + " " + $(obj).css("margin-left") + ";";
        eleStyles.paddingTop = parseInt($(obj).css("padding-top"));
        eleStyles.paddingRight = parseInt($(obj).css("padding-right"));
        eleStyles.paddingBottom = parseInt($(obj).css("padding-bottom"));
        eleStyles.paddingLeft = parseInt($(obj).css("padding-left"));
        eleStyles.padding = (eleStyles.paddingTop + eleStyles.borderWidth) + "px " + (eleStyles.paddingRight + eleStyles.borderWidth) + "px " + (eleStyles.paddingBottom + eleStyles.borderWidth) + "px " + (eleStyles.paddingLeft + eleStyles.borderWidth) + "px;";
        eleStyles.innerHeight = $(obj).height();
        eleStyles.innerWidth = $(obj).width();
        eleStyles.height = eleStyles.innerHeight + eleStyles.paddingTop + eleStyles.paddingBottom + (eleStyles.borderWidth * 2) - 1;
        eleStyles.width = eleStyles.innerWidth + eleStyles.paddingRight + eleStyles.paddingLeft + (eleStyles.borderWidth * 2) - 1;
        return eleStyles
    } catch (err) {}
}
