window.onload = function()
{
   InitializeDropdownChecklists();
}

document.onclick = DocumentClickHandler;



document.getElementsByClassName = function( clsName )
{
    var retVal = new Array();
    var elements = document.getElementsByTagName( "*" );
    for( var i = 0; i < elements.length; i++ )
    {
        if( elements[ i ].className.indexOf( " " ) >= 0 )
        {
            var classes = elements[ i ].className.split( " " );
            for( var j = 0; j < classes.length; j++ )
            {
                if ( classes[ j ] == clsName )
                    retVal.push( elements[ i ] );
            }
        }
        else if( elements[ i ].className == clsName )
            retVal.push( elements[ i ] );
    }
    return retVal;
}

function DocumentClickHandler( e )
{
   // Check if a list is active
   if ( eActiveDropDownChecklist == null )
      return;

   // Get event
   if ( e == null )
      var e = event;

   // Get target element
   var eTargetElement = e.target;
   if ( eTargetElement == null )
      eTargetElement = e.srcElement;

   var eTargetElementParent = eTargetElement;

   // Check if target element is within active dropdownchecklist
   while ( eTargetElementParent != null )
   {
      // Element
      if ( eTargetElementParent == eActiveDropDownChecklist )
         return;
      
      eTargetElementParent = eTargetElementParent.parentNode;
   }

   // Hide list
   HideActiveDropDownChecklist();
}



/* Search box functions */
function FocusInputField( eInput, sLabel )
{
   if ( eInput.value == sLabel ) 
   {
      eInput.value = '';
      eInput.style.color = '#000';
   }
}

function BlurInputField( eInput, sLabel )
{
   if ( eInput.value == '' )
   {
      eInput.value = sLabel;
      eInput.style.color = '';
   }
}