var breadCrumbElementSeparator = "&gt;";
var overrideCaseWords = new Array();
overrideCaseWords[0] = "DNA";
overrideCaseWords[1] = "ID";
function GetBreadCrumbFromLocation()
{
  var thisUrl = window.location + "";
  var index = thisUrl.indexOf("//", 0);
  if (index == -1)
  {
    return "";
  }
  var urlProtocol = thisUrl.substring(0, index);
  var urlElements = thisUrl.substring(index + 2).split("/");
  if (urlElements.length == 0)
  {
    return "";
  }
  var breadcrumbHtml = "";
  while (urlElements.length > 0)
  {
    var urlElement = urlElements.pop();
    if ((urlElement != "") &&
        (urlElement != "site"))
    {
      if (urlElement.indexOf("?") != -1)
      {
        urlElement = urlElement.substring(0, urlElement.indexOf("?"));
      }
      else if (urlElement.indexOf("#") != -1)
      {
        urlElement = urlElement.substring(0, urlElement.indexOf("#"));
      }
      if (breadcrumbHtml == "")
      {
        if (urlElements.length == 0)
        {
          breadcrumbHtml = "Home";
        }
        else
        {
          breadcrumbHtml = UpperCaseBreadCrumbElement(urlElement);
        }
      }
      else
      {
        var urlString = ConstructBreadCrumbUrl(urlProtocol, urlElement, urlElements);
        if (urlElements.length == 0)
        {
          breadcrumbHtml = '<li><a href="' + urlString + '">Home</a></li><li><span class="breadcrumb_sep">' + breadCrumbElementSeparator + '</span></li><li>' + breadcrumbHtml + '</li>';
        }
        else
        {
          breadcrumbHtml = '<li><a href="' + urlString + '">' + UpperCaseBreadCrumbElement(urlElement) + '</a><li><span class="breadcrumb_sep">' + breadCrumbElementSeparator + '</span></li><li>' + breadcrumbHtml + '</li>';
        }
      }
    }
  }
  return breadcrumbHtml;
}

function GetBreadCrumbFromLocationNoHome()
{
  var thisUrl = window.location + "";
  var index = thisUrl.indexOf("//", 0);
  if (index == -1)
  {
    return "";
  }
  var urlProtocol = thisUrl.substring(0, index);
  var urlElements = thisUrl.substring(index + 2).split("/");
  if (urlElements.length == 0)
  {
    return "";
  }
  var breadcrumbHtml = "";
  while (urlElements.length > 0)
  {
    var urlElement = urlElements.pop();
    if ((urlElement != "") &&
        (urlElement != "site"))
    {
      if (urlElement.indexOf("?") != -1)
      {
        urlElement = urlElement.substring(0, urlElement.indexOf("?"));
      }
      else if (urlElement.indexOf("#") != -1)
      {
        urlElement = urlElement.substring(0, urlElement.indexOf("#"));
      }
      if (breadcrumbHtml == "")
      {
        if (urlElements.length == 0)
        {
          breadcrumbHtml = "Home";
        }
        else
        {
          breadcrumbHtml = UpperCaseBreadCrumbElement(urlElement);
        }
      }
      else
      {
        var urlString = ConstructBreadCrumbUrl(urlProtocol, urlElement, urlElements);
        if (urlElements.length == 0)
        {
          breadcrumbHtml = '<li>' + breadcrumbHtml + '</li>';
        }
        else
        {
          breadcrumbHtml = '<li><a href="' + urlString + '">' + UpperCaseBreadCrumbElement(urlElement) + '</a><li><span class="breadcrumb_sep">' + breadCrumbElementSeparator + '</span></li><li>' + breadcrumbHtml + '</li>';
        }
      }
    }
  }
  return breadcrumbHtml;
}

function ConstructBreadCrumbUrl(protocol, currentElement, urlArray)
{
  var urlString = protocol + "//";
  for (i = 0; i < urlArray.length; i++)
  {
    urlString = urlString + "" + urlArray[i] + "/";
  }
  urlString = urlString + "" + currentElement + "/";
  return urlString;
}
function UpperCaseBreadCrumbElement(currentElement)
{
  if (currentElement.lastIndexOf(".html") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".html"));
  }
  else if (currentElement.lastIndexOf(".shtml") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".shtml"));
  }
  else if (currentElement.lastIndexOf(".htm") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".htm"));
  }
  else if (currentElement.lastIndexOf(".php") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".php"));
  }
  else if (currentElement.lastIndexOf(".jsp") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".jsp"));
  }
  else if (currentElement.lastIndexOf(".aspx") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".aspx"));
  }
  else if (currentElement.lastIndexOf(".asp") != -1)
  {
    currentElement = currentElement.substring(0, currentElement.lastIndexOf(".asp"));
  }
  currentElement = currentElement.replace(/_/g, " ");
  currentElement = currentElement.replace(/-/g, " ");
  var words = currentElement.split(" ");
  for (i = 0; i < words.length; i++)
  {
    words[i] = HandleWordCasing(words[i]);
  }
  return words.join(" ");
}
function HandleWordCasing(word)
{
  word = decodeURI(word);
  for (x in overrideCaseWords)
  {
    if (overrideCaseWords[x].toLowerCase() == word)
    {
      return overrideCaseWords[x];
    }
  }
  var tempWord = word.substring(0,1);
  tempWord = tempWord.toUpperCase();
  return tempWord + "" + word.substring(1);
}
