﻿function TABLE(classname) {
    var table = $("<table></table>");

    if (classname != null) {
        table.addClass(classname);
    }

    return table;
}

function THEAD() {
    return $("<thead></thead>");
}

function THEAD2(columns) {
    var row = TR();
    $.each(columns, function () {
        var th = TDL(this);
        row.append(th);
    });
    var head = THEAD().append(row);
    return head;
}

function TBODY() {
    return $("<tbody></tbody>");
}

function TFOOT() {
    return $("<tfoot></tfoot>");
}

function TR(dataid) {
    var row = $("<tr></tr>");

    if (dataid != null) {
        row.attr("data-id", dataid);
    }

    return row;
}

function TR2(dataid, columns) {
    var row = TR(dataid);

    $.each(columns, function () {
        row.append(this);
    });
    return row;
}

function TDL(content) {
    return $("<td></td>").html(content);
}

function TDR(content) {
    return $("<td></td>").addClass("right").html(content);
}

function TDM(content) {
    return $("<td></td>").addClass("middle").html(content);
}


function THL(content) {
    return $("<th></th>").addClass("left").html(content);
}

function THR(content) {
    return $("<th></th>").addClass("right").html(content);
}

function THM(content) {
    return $("<th></th>").addClass("middle").html(content);
}


function SPAN(classname, content, dataid) {
    var div = $("<span></span>");
    if (classname != null) {
        div.addClass(classname);
    }
    if (content != null) {
        div.html(content);
    }
    if (dataid != null) {
        div.attr("data-id", dataid);
    }
    return div;
}

function DIV(classname, content, dataid) {
    var div = $("<div></div>");
    if (classname != null) {
        div.addClass(classname);
    }
    if (content != null) {
        div.html(content);
    }
    if (dataid != null) {
        div.attr("data-id", dataid);
    }
    return div;
}

function TEXTBOX(classname, value) {
    var textbox = $('<input type="text" />');

    if (classname != null) {
        textbox.addClass(classname);
    }
    if (value != null) {
        textbox.val(value);
    }
    return textbox;
}

function TEXTCELL(classname, value, cellClass) {
    var text = TEXTBOX(classname, value);
    var td = TDL().addClass(cellClass).append(text);
    return td;
}

function TEXTAREA(classname, value) {
    var textarea = $("<textarea ></textarea>");

    if (classname != null) {
        textarea.addClass(classname);
    }
    if (value != null) {
        textarea.val(value);
    }
    return textarea;
}

function CHECKBOX(classname, value, checked) {
    var textbox = $('<input type="checkbox" />');

    if (classname != null) {
        textbox.addClass(classname);
    }
    if (value != null) {
        textbox.val(value);
    }

    if (checked != null && checked === true) {
        textbox.attr("checked", "checked");
    }

    return textbox;
}

function UL() {
    var ul = $("<ul></ul>");
    return ul;
}

function LI(content, dataid, classname) {
    var li = $("<li></li>");

    if (content != null) {
        li.html(content);
    }

    if (dataid != null) {
        li.attr("data-id", dataid);
    }
    if (classname != null) {
        li.addClass(classname);
    }

    return li;
}

function ANCHOR(url, text, target) {
    var anchor = $("<a></a>");
    anchor.attr("href", url);
    anchor.text(text);
    if (target != null) {
        anchor.attr("target", target);
    }
    return anchor;
}

function IMG(src) {
    var img = $("<img></img>");
    img.attr("src", src);
    return img;
}

function PRE(content) {
    var pre = $("<pre>" + content + "</pre>");
    return pre;
}


function OPTION(content, value) {
    var option = $("<option></option>");
    option.text(content);
    option.val(value);
    return option;
}

function SELECT(classname) {
    var select = $("<select></select>");

    if (classname != null) {
        select.addClass(classname);
    }

    return select;
}

function FIELDSET(classname, content, dataid) {
    var fieldset = $("<fieldset></fieldset>");

    if (classname != null) {
        fieldset.addClass(classname);
    }
    if (content != null) {
        fieldset.html(content);
    }
    if (dataid != null) {
        fieldset.attr("data-id", dataid);
    }
    return fieldset;
}


function LABEL(classname, content, dataid) {
    var label = $("<label></label>");

    if (classname != null) {
        label.addClass(classname);
    }
    if (content != null) {
        label.html(content);
    }
    if (dataid != null) {
        label.attr("data-id", dataid);
    }
    return label;
}


function HEADING1(content) {
    var h1 = $("<h1></h1>");

    if (content != null) {
        h1.html(content);
    }

    return h1;
}
