
/*
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);
}
*/


/**
 * Makes object rounded.
 * @param selector
 * @param bk
 * @param color
 * @param renderTop
 * @param renderBottom
 * @param renderLeft
 * @param renderRight
 */
function Rounded(selector, bk, color, renderTop, renderBottom, renderLeft, renderRight) {
    var i;
    var v = getElementsBySelector(selector);
//    alert(v.tagName + " " + v.length)
    var l = v.length;
    for (i = 0; i < l; i++) {
        if (!v[i].rounded) {
        if (renderTop) AddTop(v[i], bk, color, renderLeft, renderRight);
        if (renderBottom) AddBottom(v[i], bk, color, renderLeft, renderRight);
            v[i].rounded = true;
        }

    }
}

function Rounded2(selector, bk, color, renderTop, renderBottom, renderLeft, renderRight) {
    var i;
    var v = getElementsBySelector(selector);
//    alert(v.tagName + " " + v.length)
    var l = v.length;
    for (i = 0; i < l; i++) {
        if (!v[i].rounded) {
        if (renderTop) AddTop2(v[i], bk, color, renderLeft, renderRight);
        if (renderBottom) AddBottom2(v[i], bk, color, renderLeft, renderRight);
            v[i].rounded = true;
        }

    }
}


function TabRounded(selector, bk, color, renderTop, renderBottom, renderLeft, renderRight) {
    var i;
    var v = getElementsBySelector(selector);
//    alert(v.tagName + " " + v.length)
    var l = v.length;
    for (i = 0; i < l; i++) {
        if (!v[i].rounded) {
        if (renderTop) AddTop(v[i], bk, color, renderLeft, renderRight);
        if (renderBottom) AddInverseBottom(v[i], bk, color, renderLeft, renderRight);
            v[i].rounded = true;
        }
    }
}

function TabRounded2(selector, bk, color, renderTop, renderBottom, renderLeft, renderRight) {
    var i;
    var v = getElementsBySelector(selector);
//    alert(v.tagName + " " + v.length)
    var l = v.length;
    for (i = 0; i < l; i++) {
        if (!v[i].rounded) {
        if (renderTop) AddTop2(v[i], bk, color, renderLeft, renderRight);
        if (renderBottom) AddInverseBottom2(v[i], bk, color, renderLeft, renderRight);
            v[i].rounded = true;
        }
    }
}

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

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

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

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

function AddTop(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "r";

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }
    var lim = 4;

    d.className = "rtop";
    d.style.backgroundColor = bk;
    for (i = 1; i <= lim; i++) {
        var x = document.createElement("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        d.appendChild(x);
    }
    el.insertBefore(d, el.firstChild);
}

function AddBottom(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "r";
    var lim = 4;

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }

    d.className = "rbottom";
    d.style.backgroundColor = bk;
    for (i = lim; i > 0; i--) {
        var x = document.createElement("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        d.appendChild(x);
    }
    el.appendChild(d, el.firstChild);
}

function AddInverseTop(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "c";

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }
    var lim = 4;

    d.className = "rtop";
    d.style.backgroundColor = bk;
    for (i = 1; i <= lim; i++) {
        var x = document.createElement("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        d.appendChild(x);
    }
    el.insertBefore(d, el.firstChild);
}

function AddInverseBottom(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "c";
    var lim = 7;

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }

    d.className = "rbottom";
    d.style.backgroundColor = bk;
    for (i = 0; i < lim; i++) {
        var x = document.createElement("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        d.appendChild(x);
    }
    el.appendChild(d, el.firstChild);
}

function AddInverseBottom2(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "c";
    var lim = 7;

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }

    d.className = "rbottom " + bk;
    for (i = 0; i < lim; i++) {
        var x = document.createElement("b");
        x.className = cn + i + " " + color;
        d.appendChild(x);
    }
    el.appendChild(d, el.firstChild);
}

function getElementsBySelector2(selector) {
    return $(selector);
}
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 &&  v[i].className.startsWith(selclass)) {
            objlist.push(v[i]);
        }
    }
    return(objlist);
}


function AddTop2(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "r";

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }
    var lim = 4;

    d.className = "rtop " + bk;
    for (i = 1; i <= lim; i++) {
        var x = document.createElement("b");
        x.className = cn + i + " " + color;
        d.appendChild(x);
    }
    el.insertBefore(d, el.firstChild);
}

function AddBottom2(el, bk, color, renderLeft, renderRight) {
    var i;
    var d = document.createElement("b");
    var cn = "r";
    var lim = 4;

    if (!renderLeft) {
        cn += "nl";
    }
    if (!renderRight) {
        cn += "nr";
    }

    d.className = "rbottom " + bk;

    for (i = lim; i > 0; i--) {
        var x = document.createElement("b");
        x.className = cn + i + " " + color;
        d.appendChild(x);
    }
    el.appendChild(d, el.firstChild);
}

function roundSelectedTab() {
    TabRounded2("span.selectedHeaderTab", "headerColor", "headerSelectedTabColor", true, true, true, true);
    TabRounded2("span.unselectedHeaderTab", "headerColor", "headerUnselectedTabColor", true, false, true, true);
}

