// absinthe.js

if (document.getElementsByTagName)
{
  replaceWithImages( document.getElementsByTagName( "H1"));
  replaceWithImages( document.getElementsByTagName( "H2"));
}

/* ******************************************************************* */

function replaceWithImages( elements)
{
  if ( (elements != null) && (elements.length > 0) )
  {
    var elementHtml;
    var pos;
    var imgPart;
    var txtPart;
    
    for( var i=0; i < elements.length; i++)
    {
      elementHtml= elements[i].innerHTML;
      pos= elementHtml.indexOf( ">"); // <--we're just checking for ">" to see if there is an <IMG> tag inside,
                                      //    so no <BR> or anything like that inside H1/H2 please!!!

      if( pos == -1) // E.g. "<h1>This is Absinthe</h1>"
      {
        imgPart= "";          // no image
        txtPart= elementHtml; // "This is Absinthe"
      }
      else // E.g. "<h2><img src="/img/aeroplane.gif">A Modern Absinthe</h2>"
      {
        imgPart= elementHtml.substring( 0, pos+1); // "<img src="/img/aeroplane.gif">"
        txtPart= elementHtml.substring( pos+1);    // "A Modern Absinthe"
      }

      elements[i].innerHTML=    imgPart + '<img src="/img/h2/' + tidyUp( txtPart) + '.gif" style="margin: 0px; float: none">';
      elements[i].style.border= "0px solid #fff";
    }
  }
}

/* ******************************************************************* */

function tidyUp( text)
{
  var regex;
  // Remove any &amp; and similar entities
  regex= new RegExp( "&[^;]+", "ig");
  text= text.replace( regex, "");
  // Remove any non-alphanumeric chars and lowercase
  regex= new RegExp( "[^a-zA-Z0-9]", "ig");
  text= text.replace( regex, "").toLowerCase();
  
  return( text);
}

