window.onload = function()
{
   /* automatically give all <dd>'s the class name of .hide onload */
   var answers = document.getElementsByTagName('dd');
   for ( var i = 0; i < answers.length; i++ )
      answers[i].className = 'hide';

   /* prepare FAQ's for hide/show's */
   prepareFaq();
}

function prepareFaq()
{
   if ( !document.getElementsByTagName )
      return false;
      
   if ( !document.getElementById )
      return false;
      
   if ( !document.getElementById('faqs') )
      return false;

   var questions = getElementsByClassName(document.getElementById('faqs'),'a','sh');
   var answers = document.getElementsByTagName('dd');
   for ( var i = 0; i < questions.length; i++ )
   {
      questions[i].onclick = function()
      {
         var j = questions.findIndex(this);
         swapState(answers[j]);
         return false;
      };
   }
}

function swapState(answer)
{   if ( answer.className == 'hide' )      answer.className = 'show';   else      answer.className = 'hide';
}
/*	Written by Jonathan Snook, http://www.snook.ca/jonathan	Add-ons by Robert Nyman, http://www.robertnyman.com
   URL: http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/*/function getElementsByClassName(oElm, strTagName, strClassName)
{   var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);   var arrReturnElements = new Array();   strClassName = strClassName.replace(/-/g, "\-");   var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");   var oElement;   for ( var i = 0; i < arrElements.length; i++ )
   {   oElement = arrElements[i];      if ( oRegExp.test(oElement.className) )         arrReturnElements.push(oElement);   }   return (arrReturnElements)}

/*
   Find the Index/Position of an element in an array.
   URL: http://www.guyfromchennai.com/?p=26
*/
Array.prototype.findIndex = function(value)
{   var ctr;   for ( var i=0; i < this.length; i++ )
   {
      if ( this[i] == value )
         return i;   }   return ctr;};