function confirmDelete(delUrl)
{
  if (confirm("Are you sure you want to permanently delete this record? \n\nDeleting this record may cause problems with referential integrity between database tables. If this record is currently being used by another database record, that record could become orphaned. \n\nIf you are in doubt, cancel this operation."))
  {
    document.location = delUrl;
  }
}

function deleteFailed()
{
  alert("The record could not be deleted because it is still linked to existing job posts.");
}

window.onload=function()
{
  // Convert all hyperlinks with class="external" to use target="_blank".
  // This technique fools HTML markup validators to validate as valid XHTML
  // yet allows links to be opened in a new page. By default XHTML does not
  // allow the target attribute.
  function extLinks(c)
  {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++)
    {
      var anchor = anchors[i];
      if (anchor.getAttribute("href") && anchor.className.indexOf(c) >= 0)
      {
        anchor.target = "_blank";
      }
    }
  }
  extLinks('external');
}

/*
Alternating row color script by Joost de Valk ( http://www.joostdevalk.nl/ ) to add alternating row classes to a table.
Copyright (c) 2006 Joost de Valk.
*/

addEvent(window, "load", alternate_init);

function alternate_init()
{
  // Find all tables with class sortable and make them sortable
  if (!document.getElementsByTagName) return;
  tbls = document.getElementsByTagName("table");
  for (ti=0;ti<tbls.length;ti++)
  {
    thisTbl = tbls[ti];
    if (((' '+thisTbl.className+' ').indexOf("alternate_rows") != -1) && (thisTbl.id))
    {
      alternate(thisTbl);
    }
  }
}

function addEvent(elm, evType, fn, useCapture)
// addEvent and removeEvent
// cross-browser event handling for IE5+, NS6 and Mozilla
// By Scott Andrew
{
  if (elm.addEventListener)
  {
    elm.addEventListener(evType, fn, useCapture);
    return true;
  }
  else if (elm.attachEvent)
  {
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  }
  else
  {
    alert("Handler could not be removed");
  }
}

function replace(s, t, u)
{
  /*
  **  Replace a token in a string
  **    s  string to be processed
  **    t  token to be found and removed
  **    u  token to be inserted
  **  returns new String
  */
  i = s.indexOf(t);
  r = "";
  if (i == -1) return s;
  r += s.substring(0,i) + u;
  if ( i + t.length < s.length)
    r += replace(s.substring(i + t.length, s.length), t, u);
  return r;
}

function alternate(table)
{
  // Take object table and get all it's tbodies.
  var tableBodies = table.getElementsByTagName("tbody");
  // Loop through these tbodies
  for (var i = 0; i < tableBodies.length; i++)
  {
    // Take the tbody, and get all it's rows
    var tableRows = tableBodies[i].getElementsByTagName("tr");
    // Loop through these rows
    for (var j = 0; j < tableRows.length; j++)
    {
      // Check if j is even, and apply classes for both possible results
      if ( (j % 2) == 0  )
      {
        if ( tableRows[j].className == 'odd' || !(tableRows[j].className.indexOf('odd') == -1) )
        {
          tableRows[j].className = replace(tableRows[j].className, 'odd', 'even');
        }
        else
        {
          tableRows[j].className += " even";
        }
      }
      else
      {
        if (tableRows[j].className == 'even' || !(tableRows[j].className.indexOf('even') == -1) )
        {
          tableRows[j].className = replace(tableRows[j].className, 'even', 'odd');
        }
        tableRows[j].className += " odd";
      }
    }
  }
}

function createXMLHttpRequest()
{
  if(typeof XMLHttpRequest != "undefined")
  {
    return new XMLHttpRequest();
  }
  else if (typeof ActiveXObject != "undefined")
  {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
  else
  {
    throw new Error("XMLHttpRequest not supported");
  }
}

function getUrl(url,obj,mode)
{
  if(mode == '' || (mode != 'append' && mode != 'write'))
  {
    mode = 'write';
  }
  var request = createXMLHttpRequest();
  request.open("GET", url);
  request.onreadystatechange = function()
  {
    if (request.readyState == 4)
    {
      if(mode == 'append')
      {
        document.getElementById(obj).appendChild(request.responseText);
      }
      else if (mode == 'write')
      {
        document.getElementById(obj).innerHTML = request.responseText;
      }
    }
  }
  request.send(null);
}

function deleteYesNo() {
  return ("Are you sure you want to permanently delete this record? Deleting this record may cause problems with referential integrity between database tables. If this record is currently being used by another database record, that record could become orphaned. If you are in doubt, answer No.");
}
