
// ********************************************** //
// * Majestic - Content management for everyone * //
// * Copyright (c) 2008 Injader                 * //
// * More information at http://www.injader.com * //
// ********************************************** //

  var strTableRowPrefix = "mRow";

  function libGetNextRowID(intTableID) {
    tbl = document.getElementById(intTableID);
    tblRows = tbl.rows;
    intNextRowID = tblRows.length - 1;
    return intNextRowID;
  }
  
  function libReplaceField(varField, varNewValue) {
    while (varField.firstChild) {
      varField.removeChild (varField.firstChild);
    }
    varField.appendChild(varNewValue);
  }
  
  function libAjaxMsg(varField, varType, strMsg) {
    el = document.getElementById(varField);
    if (varType == "error") {
      el.innerHTML = "<span style=\"color: #f00; display: block;\">" + strMsg  + "</" + "span>";
    } else if (varType == "info") {
      el.innerHTML = "<span style=\"display: block;\">" + strMsg  + "</" + "span>";
    }
  }

  function libAddTableRow(intTableID, arrData) {
    tbl = document.getElementById(intTableID);
    tblRows = tbl.rows;
    var newRow = tbl.insertRow(tblRows.length);
    intRowID = libGetNextRowID(intTableID);
    // Row IDs start at 0, and the first row is the system group, so subtract 2.
    newRow.setAttribute('id', strTableRowPrefix + intRowID);
    var newCell = new Array(arrData.length);
    var newElem = new Array(arrData.length);
    for (i=0; i<arrData.length; i++) {
      newCell[i] = newRow.insertCell(i);
      newElem[i] = arrData[i];
    }
    for (j=0; j<newCell.length; j++) {
      newCell[j].appendChild(newElem[j]);
    }
  }
  
  function libEditTableRow(intTableID, intRowID, arrData) {
    tbl = document.getElementById(intTableID);
    tblRows = tbl.rows;
    tblData = new Array(arrData.length);
    for (i=0; i<arrData.length; i++) {
      tblData[i] = tblRows[intRowID].cells[i];
      libReplaceField(tblData[i], arrData[i]);
    }
  }
  
  function libDeleteTableRow(intTableID, intRowID) {
    tbl = document.getElementById(intTableID);
    tbl.deleteRow(intRowID);
    libRenumberTableRows(intTableID);
  }

  function libRenumberTableRows(intTableID) {
    tbl = document.getElementById(intTableID);
    tblRows = tbl.rows;
    strAlert = "";
    if (!tblRows.length) {
      setTimeout("reloadPage()", 1000);
    } else {
      for (i=0; i<tblRows.length; i++) {
        strRowID = strTableRowPrefix + i;
        tblRows[i].setAttribute('id', strRowID);
      }
    }
  }

  function libEditTableCol(intTableID, intColID, arrData) {
    tbl = document.getElementById(intTableID);
    tblRows = tbl.rows;
    tblData = new Array(arrData.length);
    for (i=0; i<arrData.length; i++) {
      tblData[i] = tblRows[i].cells[intColID];
      libReplaceField(tblData[i], arrData[i]);
    }
  }

