/**	
 * Inserts new row in the (last-1) position.
 */
function addComboBoxesRow(btnAdd, selectId) {
    var table = btnAdd.parentNode.parentNode.parentNode;
    var btnAddRowIndex = btnAdd.parentNode.parentNode.rowIndex;
    var newRow = table.insertRow(btnAddRowIndex);
    var cellPos = 0

    // Insert text field
    var firstCell = newRow.insertCell(cellPos);
    cellPos = 1;
    var selectCell = newRow.insertCell(cellPos);
    var select = createComboBoxesSelect(selectId);
    selectCell.innerHTML = '&nbsp;<select id=\"' + selectId + '\" name=\"' + selectId + '\">' + select.innerHTML + '</select>&nbsp;&nbsp;<input class=\"btn\" type=\"button\" value=\"Eemalda\" onClick=\"JavaScript: removeComboBoxesRow( this );\">';
}

/**
 * Removes the row.
 */
function removeComboBoxesRow(btnDelete) {
    // Remove entire row
    var row = btnDelete.parentNode.parentNode;
    var table = row.parentNode;

    table.deleteRow(row.rowIndex);
}

/**
 * Creates HTML select object from data copies from cell.
 */
function createComboBoxesSelect(selectId) {
    var select = document.createElement('select');
    var templateSelect = document.getElementById('js_helper_select');
    if (templateSelect != null) {
        select.name = selectId;
        for ( var i = 0; i < templateSelect.options.length; i++) {
            var option = templateSelect.options[i];
            select.options[i] = new Option(option.text, option.value);
        }
    }
    return select;
}

var catNames;

function addTextInputRow(btnAdd, startRow) {
    var table = btnAdd.parentNode.parentNode.parentNode;
    var btnAddRowIndex = btnAdd.parentNode.parentNode.rowIndex;
    var newRow = table.insertRow(btnAddRowIndex);

    var cellPos = 0;
    var firstCell = newRow.insertCell(cellPos);
    firstCell.id = 'cellToModify';
    firstCell.className = "name";

    cellPos = 1;
    var selectCell = newRow.insertCell(cellPos);
    selectCell.className = "inpt";

    var textInput = document.createElement('<input class=\"norm\" type=\"text\" value=\"Otsi...\" onkeypress=\"javascript:nameTextInput(this)\" onkeyup=\"javascript:composeDropMenu(this)\"/>');

    selectCell.innerHTML = textInput.outerHTML + '</select>&nbsp;&nbsp;<input class=\"btn\" type=\"button\" value=\"Eemalda\" onClick=\"JavaScript: removeTextInputRow( this, ' + startRow + ');\">';
}

function composeDropMenu(o) {
    if (o.value.length < 2) {
        document.getElementById('dropMenu').style.display = 'none';
        return;
    }

    var templateSelect = document.getElementById('js_helper_select');
    if (templateSelect != null) {
        catNames = new Array();
        var catRefNums = new Array();
        for ( var i = 0; i < templateSelect.options.length; i++) {
            catNames[i] = templateSelect.options[i].text;
            catRefNums[i] = templateSelect.options[i].value;
        }
    }

    var d = document.getElementById('dropMenu');
    d.innerHTML = '<ul onmouseout=\"javascript:hideDropMenu()\">';

    var itemsExist = 'false';
    for (i = 0; i < catNames.length; i++) {
        if (catNames[i].toUpperCase().indexOf(o.value.toUpperCase()) != -1) {
            d.innerHTML += '<li><a href=\"#\" onclick = \"javascript:rrr(' + catRefNums[i] + ',' + i + ' ); \">' + catNames[i] + '</a></li>';
            itemsExist = 'true';
        }
    }
    d.innerHTML += '</ul>';
    if (itemsExist == 'true') {
        d.style.display = 'block';
    } else {
        d.style.display = 'none';
    }

}

function nameTextInput(txt) {
    txt.id = 'txtInputToModify';
}

function rrr(r, nam) {
    var cell = document.getElementById('cellToModify');
    cell.innerHTML = '<input type=\"hidden\" name=\"categories\" value=\"' + r + '\"/>';
    cell.id = '';

    var txt = document.getElementById('txtInputToModify');
    txt.id = '';
    txt.value = catNames[nam];
    txt.readOnly = 'true';
    hideDropMenu();
}

function hideDropMenu() {
    document.getElementById('dropMenu').style.display = 'none';
    return;
}

function removeTextInputRow(btnDelete, startRow) {
    var row = btnDelete.parentNode.parentNode;
    var table = row.parentNode;
    table.deleteRow(row.rowIndex);
}

function addTextInputRowForAreas(btnAdd, startRow) {
    var table = btnAdd.parentNode.parentNode.parentNode;
    var btnAddRowIndex = btnAdd.parentNode.parentNode.rowIndex;
    var newRow = table.insertRow(btnAddRowIndex);
    var cellPos = 0;
    var firstCell = newRow.insertCell(cellPos);
    firstCell.id = 'cellToModify';
    firstCell.className = "name";
    cellPos = 1;
    var selectCell = newRow.insertCell(cellPos);
    selectCell.className = "inpt";
    var textInput = document.createElement('<input class=\"norm\" name=\"addArea\" type=\"text\" value=\"Est\"/>');
    var textInput2 = document.createElement('<input class=\"norm\" name=\"addArea\" type=\"text\" value=\"Eng\"/>');
    var textInput3 = document.createElement('<input class=\"norm\" name=\"addArea\" type=\"text\" value=\"Rus\"/>');
    selectCell.innerHTML = textInput.outerHTML + textInput2.outerHTML + textInput3.outerHTML + '</select>&nbsp;&nbsp;<input class=\"btn\" type=\"button\" value=\"Eemalda\" onClick=\"JavaScript: removeTextInputRow( this, ' + startRow + ');\">';
}

function addTextInputRowForWSms(btnAdd, startRow) {
    var table = btnAdd.parentNode.parentNode.parentNode;
    var btnAddRowIndex = btnAdd.parentNode.parentNode.rowIndex;
    var newRow = table.insertRow(btnAddRowIndex);

    var cellPos = 0;
    var firstCell = newRow.insertCell(cellPos);
    firstCell.id = 'cellToModify';
    firstCell.className = "name";

    cellPos = 1;
    var selectCell = newRow.insertCell(cellPos);
    selectCell.className = "inpt";

    var textInput = document.createElement('<input class=\"norm\" name=\"addWSms\" type=\"text\" value=\"Welcome SMS message\"/>');

    var clone = btnAdd.parentNode.childNodes[3].cloneNode(true);
    clone.style.visibility = "visible";
    clone.setAttribute('name', 'addWSms');

    var selectInput3 = document.createElement('<select name=\"addWSms\" class=\"norm\" />');
    selectInput3.options[0] = new Option("EST", "EST");
    selectInput3.options[1] = new Option("ENG", "ENG");
    selectInput3.options[2] = new Option("RUS", "RUS");
    selectCell.innerHTML = textInput.outerHTML + clone.outerHTML + selectInput3.outerHTML + '</select>&nbsp;&nbsp;<input class=\"btn\" type=\"button\" value=\"Eemalda\" onClick=\"JavaScript: removeTextInputRow( this, ' + startRow + ');\">';
}

function addWSMSInput(comboAdd) {
    var row = comboAdd.parentNode.parentNode;
    var table = row.parentNode;

    var selectedText = "";
    var selectedValue = "";
    for (i = 0; i < comboAdd.options.length; i++) {
        if (comboAdd.options[i].selected == true) {
            selectedText = comboAdd.options[i].text;
            selectedValue = comboAdd.options[i].value;
            comboAdd.options[i] = null;
            break;
        }
    }
    if (comboAdd.options.length == 1) {
        comboAdd.disabled = true;
    }

    var combo = row.cells[0].innerHTML;
    row.cells[0].innerHTML = selectedText;

    var cell = row.insertCell(1);
    cell.className = "hor";
    cell.innerHTML = '<input type="hidden" name="addWSms" value="' + selectedValue + '"><textarea cols="25" maxlength="160" name="addWSms" rows="4" wrap="VIRTUAL"></textarea><input class="btn" onClick="JavaScript: removeWSMSInputRow( this, 1 );" type="button" value="Eemalda"><input type="hidden" name="addWSms" value="EST">';

    var newRow = table.insertRow(-1);
    cell = newRow.insertCell(0);
    cell.className = 'hor';
    cell.innerHTML = combo;
}

function removeWSMSInputRow(btnDelete, startRow) {
    var row = btnDelete.parentNode.parentNode;
    var table = row.parentNode;
    var col = row.cells;
    var text = col[0].innerHTML;
    var value = col[1].childNodes[0].value;

    table.deleteRow(row.rowIndex);

    var combo = document.getElementById('wsmssegmentlist');

    combo.options[combo.options.length] = new Option(text, value);
    combo.disabled = false;
}
function disableParameterField(tmp) {
    var table = tmp.parentNode.parentNode.parentNode.parentNode;
    var re = new RegExp("\\{1\\}");
    var row;
    var firstCell;
    var secondCell;
    if (tmp.options[tmp.selectedIndex].innerHTML.match(re)) {
        if (table.rows.length == 5) {
            row = table.insertRow(1);
            firstCell = row.insertCell(0);
            secondCell = row.insertCell(1);
            firstCell.className = "name";
            firstCell.innerHTML = "<label label=\"M&#228;rkuse parameeter\" mandatory=\"false\">M&#228;rkuse parameeter&nbsp;:</label>";
            secondCell.classNmae = "input";
            secondCell.innerHTML = "<input class=\"norm\" maxlength=\"50\" name=\"noteParam\" value=\"0\" type=\"text\">";
        }
    } else {
        if (table.rows.length == 6) {
            table.deleteRow(1);
        }
    }
}
