function NiftyCheck(){
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(element, outerColor, borderColor, topLeft, topRight, bottomRight, bottomLeft) {
	var styleBorder = "solid " + borderColor + " 1px";
	var elementsArray = getElementsBySelector(element);	
	for( i=0 ; i < elementsArray.length ; i++ ) {
		var v = elementsArray[i];
		var x = document.createElement("b");
		x.id = element + "content";
		x.style.display = "block";
		if ( (topLeft >= 0) || (bottomLeft >= 0) ) x.style.borderLeft = styleBorder;
		if ( (topRight >= 0) || (bottomRight >= 0) ) x.style.borderRight = styleBorder;
		while (v.firstChild) {
			x.appendChild(v.firstChild);
		}
		v.appendChild(x);

		if ( (topLeft > 0) || (topRight > 0) ) AddTop2(v, outerColor, borderColor, topLeft, topRight);
			else if ( (topLeft == 0) || (topRight == 0) ) x.style.borderTop = styleBorder;
		if ( (bottomLeft > 0) || (bottomRight > 0) ) AddBottom2(v, outerColor, borderColor, bottomLeft, bottomRight);
			else if ( (bottomLeft == 0) || (bottomRight == 0) ) x.style.borderBottom = styleBorder;
	}
}

function AddTop2(el, outerColor, borderColor, topLeft, topRight ){
	var styleBorder = "solid " + borderColor + " 1px";
	var dtop = document.createElement("b");
	dtop.className = "top";
	for ( var i = 1 ; i <= 4 ; i++ ) {
		var d = document.createElement("b");
		d.className = "top"+i;
		
		var x=document.createElement("b");
		x.className = "middle" + i;
		if (i == 1) x.style.borderColor = borderColor;
		d.appendChild(x);

		if (topLeft > 0) {
			var x=document.createElement("b");
			x.className = "left" + i;
			x.style.borderRightColor = borderColor;
			x.style.backgroundColor = outerColor;
			d.appendChild(x);
		} else if (topLeft == 0) dtop.style.borderLeft = styleBorder;
		
		if (topRight > 0) {
			var x=document.createElement("b");
			x.className = "right" + i;
			x.style.backgroundColor = outerColor;
			x.style.borderLeftColor = borderColor;
			d.appendChild(x);
		} else if (topRight == 0) dtop.style.borderRight = styleBorder;

		dtop.appendChild(d);
	}
	el.insertBefore(dtop,el.firstChild);
}

function AddBottom2(el, outerColor, borderColor, bottomLeft, bottomRight){
	var styleBorder = "solid " + borderColor + " 1px";
	var dtop = document.createElement("b");
	dtop.className = "bottom";
	for ( var i = 4 ; i >= 1 ; i-- ) {
		var d = document.createElement("b");
		d.className = "bottom"+i;

		var x=document.createElement("b");
		x.className = "middle" + i;
		if (i == 1) x.style.borderColor = borderColor;
		d.appendChild(x);
		
		if (bottomLeft > 0) {
			var x=document.createElement("b");
			x.className = "left" + i;
			x.style.borderRightColor = borderColor;
			x.style.backgroundColor = outerColor;
			d.appendChild(x);
		} else if (bottomLeft == 0) dtop.style.borderLeft = styleBorder;

		if (bottomRight > 0) {
			var x=document.createElement("b");
			x.className = "right" + i;
			x.style.backgroundColor = outerColor;
			x.style.borderLeftColor = borderColor;
			d.appendChild(x);
		} else if (bottomRight == 0) dtop.style.borderRight = styleBorder;

		dtop.appendChild(d);
	}
	el.appendChild(dtop);
}

function getElementsBySelector(selector){
var j;
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%id". This will return all elements of type "tag" and id's starting with string given by "id"
    s = selector.split("%");
    tag = s[0];
    selid = s[1];
	var v = document.getElementsByTagName(tag);
	for( j = 0 ; j < v.length ; j++ ){
		if( v[j].id.indexOf(selid) == 0 ){
			objlist.push(v[j]);
			}
		}
	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( j = 0 ; j < v.length ; j++ ){
	if( v[j].className == selclass ){
        objlist.push(v[j]);
        }
    }
return(objlist);
}