
/**
 * Clears predefined contents of an input field
 */
function clearContent(O,content)
{
  if (O.value == content)
  { 
    O.value = "";
  }
}

/**
 * Restore predefined contents of an input field
 */
function restoreContent(O,content)
{
  if (O.value == "")
  {
    O.value=content;
  }
}

function showUpload(elementID)
{
  var myDivElement = document.getElementById(elementID);
  if (HasClassName(myDivElement, "hidden"))
  {
    RemoveClassName(myDivElement, "hidden");
  }
}


/* ************************************************************************* */
/* CLASS MANIPULATION FUNCTIONS FROM                                         */
/*   http://snippets.dzone.com/posts/show/2630                               */ 
/* ************************************************************************* */

// ----------------------------------------------------------------------------
// HasClassName
//
// Description : returns boolean indicating whether the object has the class name
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    objElement              - element to manipulate
//    strClass                - class name to add
//
function HasClassName(objElement, strClass)
{
  // if there is a class
  if ( objElement.className )
  {
    // the classes are just a space separated list, so first get the list
    var arrList = objElement.className.split(' ');

    // get uppercase class for comparison purposes
    var strClassUpper = strClass.toUpperCase();

    // find all instances and remove them
    for ( var i = 0; i < arrList.length; i++ )
    {
      // if class found
      if ( arrList[i].toUpperCase() == strClassUpper )
      {
        // we found it
        return true;
      }
    }
  }
  // if we got here then the class name is not there
  return false;
}
// 
// HasClassName
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// AddClassName
//
// Description : adds a class to the class attribute of a DOM element
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    objElement              - element to manipulate
//    strClass                - class name to add
//
function AddClassName(objElement, strClass, blnMayAlreadyExist)
{
  // if there is a class
  if ( objElement.className )
  {
    // the classes are just a space separated list, so first get the list
    var arrList = objElement.className.split(' ');

    // if the new class name may already exist in list
    if ( blnMayAlreadyExist )
    {
      // get uppercase class for comparison purposes
      var strClassUpper = strClass.toUpperCase();

      // find all instances and remove them
      for ( var i = 0; i < arrList.length; i++ )
      {
        // if class found
        if ( arrList[i].toUpperCase() == strClassUpper )
        {
          // remove array item
          arrList.splice(i, 1);

          // decrement loop counter as we have adjusted the array's contents
          i--;
        }
      }
    }
    // add the new class to end of list
    arrList[arrList.length] = strClass;

    // add the new class to beginning of list
    //arrList.splice(0, 0, strClass);
    
    // assign modified class name attribute
    objElement.className = arrList.join(' ');
  }
  // if there was no class
  else
  {
    // assign modified class name attribute
    objElement.className = strClass;
  }
}
// 
// AddClassName
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// RemoveClassName
//
// Description : removes a class from the class attribute of a DOM element
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    objElement              - element to manipulate
//    strClass                - class name to remove
//
function RemoveClassName(objElement, strClass)
{
  // if there is a class
  if ( objElement.className )
  {
    // the classes are just a space separated list, so first get the list
    var arrList = objElement.className.split(' ');

    // get uppercase class for comparison purposes
    var strClassUpper = strClass.toUpperCase();

    // find all instances and remove them
    for ( var i = 0; i < arrList.length; i++ )
    {
      // if class found
      if ( arrList[i].toUpperCase() == strClassUpper )
      {
        // remove array item
        arrList.splice(i, 1);

        // decrement loop counter as we have adjusted the array's contents
        i--;
        }
    }

    // assign modified class name attribute
    objElement.className = arrList.join(' ');
  }
  // if there was no class
  // there is nothing to remove
}
// 
// RemoveClassName
// ----------------------------------------------------------------------------

