 Object.prototype.getValues = function() 
 { 
     var v = new Array(); 
     for (var t in this) { 
         if (typeof this[t] == 'function') continue; 
         v.push(this[t]); 
     } 
     return v; 
 };

Array.prototype.inArray = function()
{
    for (var i = 0, ic = this.length; i < ic; i++) {
        for (var a = 0, ac = arguments.length; a < ac; a++) {
            if (arguments[a] === this[i]) return true;
        }
    }
    return false;
};

document.getElementsByClassName = function(cls)
{
    var kids = document.getElementsByTagName('*')
    var objs = new Array();

    kids = kids.length ? kids : document.all;
    cls = (typeof cls == 'string') ? [cls] : cls.getValues();

    for (var k = 0, kc = kids.length; k < kc; k++) {
        var classes = kids[k].className.split(/\s+/);
        for (var c = 0, cc = cls.length; c < cc; c++) {
            if (classes.inArray(cls[c])) {
                objs.push(kids[k]);
                break;
            }
        }
    }

    return objs;

};

function RoundedCorners(cls)
{
    var classes = [];

    if (typeof cls != 'undefined') {
        classes.push(cls);
    }

    function load(obj)
    {
        var divClr,				// clearing div
			divContent,			// main content div
			divTop,				// top curves div
			divBottom,			// bottom curves div
			spanTopLeft,		// top left curve
			spanTopRight,		// top right curve
			spanBottomLeft,		// bottom left curve
			spanBottomRight;	// bottom right curve

        divContent = document.createElement('DIV');
        divContent.className = 'rc-content';

        try {
            while (obj.firstChild) {
                var o = obj.removeChild(obj.firstChild);
                divContent.appendChild(o);
            }
        }
        catch (e) {}

        obj.appendChild(divContent);

        divClr = document.createElement('DIV');
        divClr.className = 'rc-clr';
        
        divTop = document.createElement('DIV');
        divTop.className = 'rc-top';

        spanTopLeft = document.createElement('SPAN');
        spanTopLeft.appendChild(document.createTextNode('\u00A0'));
        spanTopLeft.className = 'rc-tl';
        divTop.appendChild(spanTopLeft);

        spanTopRight = document.createElement('SPAN');
        spanTopRight.appendChild(document.createTextNode('\u00A0'));
        spanTopRight.className = 'rc-tr';
        divTop.appendChild(spanTopRight);
        
        obj.insertBefore(divTop, divContent);
        obj.insertBefore(divClr, divContent);

        divClr = document.createElement('DIV');
        divClr.className = 'rc-clr';

        divBottom = document.createElement('DIV');
        divBottom.className = 'rc-bot';

        spanBottomLeft = document.createElement('SPAN');
        spanBottomLeft.appendChild(document.createTextNode('\u00A0'));
        spanBottomLeft.className = 'rc-bl';
        divBottom.appendChild(spanBottomLeft);

        spanBottomRight = document.createElement('SPAN');
        spanBottomRight.appendChild(document.createTextNode('\u00A0'));
        spanBottomRight.className = 'rc-br';
        divBottom.appendChild(spanBottomRight);

        obj.insertBefore(divBottom, divContent.nextSibling);
        obj.insertBefore(divClr, divBottom.nextSibling);

    };

    this.addClass = function(cls)
    {
        classes.push(cls);
    };

    this.load = function()
    {
        var objs = document.getElementsByClassName(classes);
        for (var o = 0, c = objs.length; o < c; o++) {
            load(objs[o]);
        }
    };
};