function getAnsaDetailHolder()
{
  var dh = $('#ansadetailholder');
  if (dh.length == 0) {
    var fr = $('.ansarow').filter(':first');
    if (fr.length > 0) {
      var parent = fr.parents('.element.list');
      parent.children('div').filter(':first').before('<div id="ansadetailholder"></div>');
      dh = $('#ansadetailholder');
    }
  }
  return dh;
}

function showAnsaArticle(articleId)
{
  $('#ansa_foreground_detail').remove();
  var dh = getAnsaDetailHolder();
  if (dh && dh.length > 0) {
    var copy = $(".id_detail_" + articleId).clone();
    copy.attr('id', 'ansa_foreground_detail');
    dh.append(copy);
    copy.show();
  }
  var row = $(".id_row_" + articleId);
  if (row && row.length > 0) {
    row.removeClass('ansarow');
    row.addClass('ansarowOn');
  }
}

function ansaShowDetail(articleId)
{
  function endsWith(s1, s2) {
    return (s1.match(s2+"$") == s2);
  }
  
  function focusOnDetail() {
    var url = window.location.toString();
    url = url.replace(/#row-.*/, "");
    url = url.replace(/#ansadetailholder.*/, "");
    location.replace(url + "#ansadetailholder");
  }
  
  $(".ansadetail").hide();
  //$(".ansarow").hide();
  //$(".ansarow:not(.id_row_" + articleId + ")").show();
  showAnsaArticle(articleId);
  focusOnDetail();
}

function ansaDetailClick()
{
  function getRowId(row)
  {
    var rowId = row.attr('id');
    rowId = rowId.replace(/^row-/g, '');
    return rowId;
  }

  function toggleClass(row)
  {
    if (!row || row.length == 0) {
      return;
    }
    var rowId = getRowId(row);
    if (row.hasClass('ansarow')) {
      row.removeClass('ansarow');
      row.addClass('ansarowOn');
      $('#detail-' + rowId).show();
      //$('#row-' + rowId).hide();
    } else {
      row.removeClass('ansarowOn');
      row.addClass('ansarow');
      $('#detail-' + rowId).hide();
      //$('#row-' + rowId).show();
    }
  }

  $(".ansarow, .ansarowOn").each(function(idx) {
    var row = $(this);
    row.find('a').click(function(){
      var activeRow = $('.ansarowOn');
      toggleClass(activeRow);
      var rowId = getRowId(row);
      ansaShowDetail(rowId);
    });
  });
}

