function addLinkRow(tableId, rowStr, itemId, rowCountArr) {
  var linksTable = document.getElementById(tableId);
  var numRows = linksTable.rows.length;
  var newRow = linksTable.insertRow(numRows);
  newRow.setAttribute("id", rowStr+rowCountArr[0]);
  var cellA = newRow.insertCell(0);
  cellA.align = "left";
  cellA.innerHTML = '<input type="text" name="link_text['+itemId+']['+rowCountArr[0]+']" value="" />';
  var cellB = newRow.insertCell(1);
  cellB.align = "left";
  cellB.innerHTML = '<input type="text" name="link_href['+itemId+']['+rowCountArr[0]+']" value="" /><input type="hidden" name="link_id['+itemId+']['+rowCountArr[0]+']" value="0" />';
  var cellC = newRow.insertCell(2);
  cellC.align = "left";
  cellC.style.width = "25px";
  cellC.innerHTML = '<a href="javascript: removeLinkRow(\'gallery_multi_link_table'+itemId+'\', \''+rowStr+rowCountArr[0]+'\');" title="Remove"><img src="images/gallery/link_delete.gif" style="border: none;"></a>';
  rowCountArr[0] += 1;
}

function removeLinkRow(tableId, rowId) {
  var linksTable = document.getElementById(tableId);
  var aRow = document.getElementById(rowId);
  linksTable.deleteRow(aRow.rowIndex);
}

function showHideHelp(helpDivId) {
  if(document.getElementById(helpDivId).style.display == 'none') {
    new Effect.BlindDown(document.getElementById(helpDivId));
  } else {
    new Effect.BlindUp(document.getElementById(helpDivId));
  }
}

function showHideDiv(divId) {
  if(document.getElementById(divId).style.display == 'none') {
    new Effect.BlindDown(document.getElementById(divId));
  } else {
    new Effect.BlindUp(document.getElementById(divId));
  }
}

function showHideDivNoScroll(divId) {
  if(document.getElementById(divId).style.display == 'none') {
    document.getElementById(divId).style.display = 'block';
  } else {
    document.getElementById(divId).style.display = 'none';
  }
}

function addCategoryElementToDiv(elementId) {
  var aElement = document.getElementById(elementId);
  //var origElement = document.getElementById('newImages');
  //origElement.innerHTML += aElement.innerHTML;
  //aElement.innerHTML = '';
  var galleryItemContainer = document.getElementById('miniGalleryItemContainer');
  var selectedItemContainer = document.getElementById('selectedGalleryItemContainer');
  selectedItemContainer.appendChild(aElement);
  galleryItemContainer.removeChild(aElement);
}

/*
The following functions are used for gallery integration. They were designed when the forums were constructed,
but can be used for integration with other components, such as the classifieds.
*/

function activateImageSelection(selectedItemsSectionId, itemsSelectSectionId) {
  showHideDivNoScroll(selectedItemsSectionId);
  showHideDivNoScroll(itemsSelectSectionId);
}

function addGalleryItemToDiv(divId, galleryItemId, title, imgSrc, width, height) {
  var aDiv = document.getElementById(divId);
  var mainNode = document.createElement("div");
  mainNode.id = 'galIntASelItemDiv_' + galleryItemId;
  mainNode.className = 'galIntASelItemContainer';
  //var selItemStr = '<div class="" id="galIntASelItemDiv_' + galleryItemId + '">';
  var selItemStr = '';
  selItemStr += '<div class="galIntASelItemRemove">';
  selItemStr += '  <a href="javascript: removeGalleryItemFromDiv(\''+divId+'\', '+galleryItemId+');"><img src="images/gallery/delete_cross.gif"></a>';
  selItemStr += '</div>';
  selItemStr += '<div class="galIntASelItemTitle">';
  selItemStr += title;
  selItemStr += '</div>';
  selItemStr += '<div class="galIntASelItemImg">';
  selItemStr += '  <img src="' + imgSrc + '" style="width: '+width+'px; height: '+height+'px;">';
  selItemStr += '</div>';
  selItemStr += '<div class="galIntASelItemPositionContainer">';
  selItemStr += '  <div class="galIntASelItemPositionTitle">';
  selItemStr += '    Position';
  selItemStr += '  </div>';
  selItemStr += '  <div class="galIntASelItemPositionSelect">';
  selItemStr += '    <select name="galIntASelItemPosition_' + galleryItemId + '">';
  selItemStr += '      <option value="bottom">Bottom Row</option>';
  selItemStr += '      <option value="topleft">Top Left</option>';
  selItemStr += '      <option value="topright">Top Right</option>';
  selItemStr += '    </select>';
  selItemStr += '  </div>';
  selItemStr += '</div>';
  //selItemStr += '</div>';

  mainNode.innerHTML = selItemStr;
  aDiv.appendChild(mainNode);
}

function removeGalleryItemFromDiv(divId, galleryItemId) {
  var aDiv = document.getElementById(divId);
  var mainNode = document.getElementById('galIntASelItemDiv_' + galleryItemId);
  aDiv.removeChild(mainNode);
}

function openWindowWithoutReturn(windowUrl, windowName, optionStr) {
  var windowRef = window.open(windowUrl, windowName, optionStr);
}


function moveNodeBetweenContainers(elementId, containerOneId, containerTwoId) {
  //containerOneId is miniGalleryItemContainer
  //containerTwoId is selectedGalleryItemContainer

  var aElement = document.getElementById(elementId);
  var oneToTwo = false;
  var containerOne = document.getElementById(containerOneId);
  var containerTwo = document.getElementById(containerTwoId);
  if(containerOne.hasChildNodes()) {
    var numChildNodesOne = containerOne.childNodes.length;
    for(i=0;i<numChildNodesOne;i++) {
      if(containerOne.childNodes[i].id == elementId) {
        oneToTwo = true;
      }
    }
  }

  if(oneToTwo) {
    //var newChild = aElement.cloneNode(true);
    //containerTwo.appendChild(newChild);
    containerTwo.appendChild(aElement);
  } else {
    //var newChild = aElement.cloneNode(true);
    //containerOne.appendChild(newChild);
    containerOne.appendChild(aElement);
  }
}
