/* contains functions for adding common DOM elements to tree */
var isIE5Mac = (navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1);

function createFormInput (container, id, spanClass, labelTxt, type, name, value, size, maxLength) {
    var div = container.appendChild (document.createElement ('div'));
        div.className = 'row';
    var label = div.appendChild (document.createElement ('label'));
        label.htmlFor = id;
        label.appendChild (document.createTextNode (labelTxt));
    div.appendChild (document.createElement ('br'));

    var input = document.createElement ('input');

    input.id        = id;
    input.className = 'mqInput';
    input.type      = type;
    input.name      = name;

    if (size != "") {
        input.size      = size;
    }
    if (!isNaN(parseInt(maxLength))) {
        input.maxLength = parseInt(maxLength);
    }
    if (value != "") {
        input.value = value;
    }

    if (spanClass != "") {
        var span = div.appendChild (document.createElement ('span'));
            span.className = spanClass;
            span.appendChild (input);
    } else {
        div.appendChild (input);
    }
}

function createInput (container, id, type, name, value, size, maxLength) {
    var input = document.createElement ('input');
        input.id        = id;
        input.className = 'mqInput';
        input.type      = type;
        input.name      = name;

    if (size != "") {
        input.size      = size;
    }
    if (!isNaN(parseInt(maxLength))) {
        input.maxLength = parseInt(maxLength);
    }
    if (value != "") {
        input.value = value;
    }
    container.appendChild (input);
}

function createHiddenInput (form, id, name, value) {
    var input;
    if (isIE5Mac) {
        input = document.createElement ('input type=hidden');
    } else {
        input = document.createElement ('input');
        input.type  = 'hidden';
    }
    input.name  = name;
    if (id != '') {
        input.id    = id;
    }
    if (value != '') {
        input.value = value;
    }
    form.appendChild (input);
}

function createFormSelect (container, id, spanClass, labelTxt, name, elements, node) {
    var div = container.appendChild (document.createElement ('div'));
        div.className = 'row';
    var label = div.appendChild (document.createElement ('label'));
        label.htmlFor = id;
        label.appendChild (document.createTextNode (labelTxt));
    div.appendChild (document.createElement ('br'));

    if (spanClass != "") {
        var span = div.appendChild (document.createElement ('span'));
            span.className = spanClass;
        var select = span.appendChild (document.createElement ('select'));
    } else {
        var select = div.appendChild (document.createElement ('select'));
    }

    select.id = id;
    select.name = name;
    for (x=0; x<elements.length; x++) {
        var option = select.appendChild (document.createElement ('option'));
            eval ("option.value = elements[x]." + node);
            eval ("option.appendChild (document.createTextNode (elements[x]." + node + "))");
    }
    return select;
}

function createDiv (container, className, id) {
    var div = container.appendChild (document.createElement ('div'));

    if (className != "") {
        div.className = className;
    }
    if (id != "") {
        div.id = id;
    }
    return div;
}

function createA (container, href, title) {
    var a = container.appendChild (document.createElement ('a'));
        a.href = href;

    if (title != "") {
        a.title = title;
    }
    return a;
}

function createSpan (container, className, id) {
    var span = container.appendChild (document.createElement ('span'));

    if (className != "") {
        span.className = className;
    }
    if (id != "") {
        span.id = id;
    }
    return span;
}

function createImg (container, src, width, height, id, name, alt) {
    var img = container.appendChild (document.createElement ('img'));
        img.src = src;

    if (!isNaN(parseInt(width))) {
        img.width = parseInt(width);
    }
    if (!isNaN(parseInt(height))) {
        img.height = parseInt(height);
    }
    if (id != "") {
        img.id = id;
    }
    if (name != "") {
        img.name = name;
    }
    if (alt != "") {
        img.alt = alt;
    }
    return img;
}
