window.GET = function() {
    var array = window.location.search.substring(1).split(/&;/);
        /* URLs can be like either
        "sample.html?test1=hi&test2=bye" or
        "sample.html?test1=hi;test2=bye" */
    window._GET = {};
    for(var i = 0; i < array.length; i++) {
        var assign = array[i].indexOf('=');
        if(assign == -1) {
            window._GET[array[i]] = true; //if no value, treat as boolean
        } else {
            window._GET[array[i].substring(0, assign)] = array[i].substring(assign + 1);
        }
    }
};

var windowCount = 0;
function newWindowId() {
    return windowCount++;
}

function showNote(text) {
    var id = "note"+newWindowId();
    var div = createDivNode(id, 'note', text);
    div.style.display = 'block';
    div.setAttribute('onclick', 'removeNodeById(\''+id+'\');');
    document.body.appendChild(div);
}

function showLoader(loaderId) {
    var div = createDivNode(loaderId, 'loader');
    div.style.display = 'block';
    document.body.appendChild(div);
    return false;
}

function hideLoader(loaderId) {
    var loader = document.getElementById(loaderId);
    if (loader)
        document.body.removeChild(loader);
    return false;
}

function is_numeric(mixed_var) {
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
}

function removeNodeById(elementId) {
    var node = document.getElementById(elementId);
    if (node) {
        node.style.display = 'none';
        while (node.hasChildNodes()) {
            node.removeChild(node.lastChild);
        }
        // removeNodeByNode(node);
        // if (node) document.removeChild(node);
    }
}

function removeNodeByNode(node) {
    while (node.hasChildNodes()) {
        removeNodeByNode(node.lastChild);
    }
}

function createDivNode(_id, _class, _text) {
    var node = document.createElement('DIV');
    if (_class) node.setAttribute('class', _class);
    if (_id) node.setAttribute('id', _id);
    if (_text) node.innerHTML = _text;
    return node;
}

function createSelectNode(_name, _class) {
    var node = document.createElement('SELECT');
    if (_name) node.setAttribute('name', _name);
    if (_class) node.setAttribute('class', _class);
    return node;
}

function createOptionNode(_value, _text) {
    var node = document.createElement('OPTION');
    if (_value) node.setAttribute('value', _value);
    if (_text) node.appendChild(document.createTextNode(_text));
    return node;
}

function createInputNode(_name, _type, _value, _class, _id) {
    var node = document.createElement('INPUT');
    if (_id) {
        node.setAttribute('id', _id);
    }
    if (_name) {
        node.setAttribute('name', _name);
    }
    if (_type) node.setAttribute('type', _type);
    if (_class) node.setAttribute('class', _class);
    if (_value) {
        node.setAttribute('value', _value);
        if (_type == 'text' || _type == 'password') {
            node.setAttribute('type', 'text');
            node.setAttribute('onfocus', 'if (!this.hasAttribute(\'puke\') || this.getAttribute(\'puke\') == \'0\') { this.setAttribute(\'puke\', \'1\'); this.type=\''+_type+'\'; this.value=\'\'; }');
            node.setAttribute('onblur', 'if (this.value == \'\') { this.setAttribute(\'puke\', \'0\'); this.type=\'text\'; this.value=\''+_value+'\'; }');
        }
    }
    return node;
}

function createTextareaNode(_name, _class, _value) {
    var node = document.createElement('TEXTAREA');
    if (_name) node.setAttribute('name', _name);
    if (_class) node.setAttribute('class', _class);
    if (_value) node.innerHTML = _value;
    return node;
}

function createElementNode(_element, _class, _id) {
    var node = document.createElement(_element);
    if (_id) node.setAttribute('id', _id);
    if (_class) node.setAttribute('class', _class);
    return node;
}

