
function RoundedCheck(){
if(!document.getElementById || !document.createElement)
    return(false);
var b=navigator.userAgent.toLowerCase();
if(b.indexOf("msie 5")>0 && b.indexOf("opera")==-1)
    return(false);
return(true);
}

function Rounded(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
var l=v.length;
for(i=0;i<l;i++){
	// if this element has any child node
	element = v[i];
	if ( element.hasChildNodes ) {
		var children = element.childNodes;
		// remove any tag who's class is one of ---
		for(j=children.length-1;j>=0;j--){
			var child = children[j];
//			
//			// fix for IE
//			//var b=navigator.userAgent.toLowerCase();
//			//if(b.indexOf("msie")>0){
//				if ( child.hasChildNodes ) {
//					var x = child.childNodes.length - 1;
//					if ( x > 1 ) {
//						for(k=x;k>0;k--){
//							child.removeChild(child.childNodes[0]);
//						}
//					}
//				}
//			//}
			// --- ".rtop", ".rbottom"
			if ( child.className != null && ( child.className == "rtop" || child.className == "rbottom" ) ) {
			     element.removeChild(child);
			}
		}
	}
	
    AddTop(v[i],bk,color,size);
    AddBottom(v[i],bk,color,size);
    }
}

function RoundedTop(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
    AddTop(v[i],bk,color,size);
}

function RoundedBottom(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
    AddBottom(v[i],bk,color,size);
}

function AddTop(el,bk,color,size){
var i;
var d=document.createElement("span");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rtop";
d.style.backgroundColor=bk;
for(i=1;i<=lim;i++){
    var x=document.createElement("span");
    x.className=cn + i;
    x.style.backgroundColor=color;
    d.appendChild(x);
    }
var b=navigator.userAgent.toLowerCase();
// for some reason, this "fixes" the way IE displays the rounded buttons (it needs a broken webpage?)
if(b.indexOf("msie")>0){
	el.firstChild.innerHTML = "<b>" + el.firstChild.innerHTML + "</b>";
}
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,size){
var i;
var d=document.createElement("span");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rbottom";
d.style.backgroundColor=bk;
for(i=lim;i>0;i--){
    var x=document.createElement("span");
    x.className=cn + i;
    x.style.backgroundColor=color;
    d.appendChild(x);
    }
el.appendChild(d,el.firstChild);
}

function getElementsBySelector(selector){
var i;
var s=[];
var selid="";
var selclass="";
var tag=selector;
var objlist=[];
if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
    s=selector.split(" ");
    var fs=s[0].split("#");
    if(fs.length==1) return(objlist);
    return(document.getElementById(fs[1]).getElementsByTagName(s[1]));
    }
if(selector.indexOf("#")>0){ //id selector like "tag#id"
    s=selector.split("#");
    tag=s[0];
    selid=s[1];
    }
if(selid!=""){
    objlist.push(document.getElementById(selid));
    return(objlist);
    }
if(selector.indexOf(".")>0){  //class selector like "tag.class"
    s=selector.split(".");
    tag=s[0];
    selclass=s[1];
    }
var v=document.getElementsByTagName(tag);  // tag selector like "tag"
if(selclass=="")
    return(v);
for(i=0;i<v.length;i++){
    if(v[i].className==selclass){
        objlist.push(v[i]);
        }
    }
return(objlist);
}