﻿function PrintDynamic(ctrlID)
 {
    //Creating new page
    var pp = window.open();
    //Adding HTML opening tag with <HEAD> … </HEAD> portion 
    pp.document.writeln('<HTML><HEAD><title>Print Preview</title>')
    pp.document.writeln('<LINK href=PrintStyleSheet.css type="text/css" rel="stylesheet">')
    pp.document.writeln('<LINK href=PrintStyleSheet.css ' +'type="text/css" rel="stylesheet" media="print">')
    pp.document.writeln('<base target="_self"></HEAD>')

    //Adding Body Tag
    pp.document.writeln('<body MS_POSITIONING="GridLayout" bottomMargin="0"');
    pp.document.writeln(' leftMargin="0" topMargin="0" rightMargin="0">');
    //Adding form Tag
    pp.document.writeln('<form method="post">');

    //Creating two buttons Print and Close within a HTML table
    pp.document.writeln('<TABLE width=100%><TR><TD></TD></TR><TR><TD align=right>');
    pp.document.writeln('<INPUT ID="PRINT" type="button" value="Print" ');
    pp.document.writeln('onclick="javascript:location.reload(true);window.print();">');
    pp.document.writeln('<INPUT ID="CLOSE" type="button" ' +'value="Close" onclick="window.close();">');
    pp.document.writeln('</TD></TR><TR><TD></TD></TR></TABLE>');

    //Writing print area of the calling page
    pp.document.writeln(document.getElementById(ctrlID).innerHTML);
    //Ending Tag of </form>, </body> and </HTML>
    pp.document.writeln('</form></body></HTML>');
}
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(selector, bk, color, size) {
    var i;
    var v = getElementsBySelector(selector);
    var l = v.length;
    for (i = 0; i < l; i++) {
        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("b");
    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("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        d.appendChild(x);
    }
    el.insertBefore(d, el.firstChild);
}

function AddBottom(el, bk, color, size) {
    var i;
    var d = document.createElement("b");
    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("b");
        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);
}

