function toggleClass(element, className)
{
  if( !element )
    return;

  if( hasClass(element, className) )
    removeClass(element, className);
  else
    addClass(element, className);
}

function hasClass(element, _className)
{
  if( !element )
    return false;

  var upperClass = _className.toUpperCase();
  if( element.className )
  {
    var classes = element.className.split(' ');
    for(var i=0; i<classes.length; i++)
    {
      if ( classes[i].toUpperCase() == upperClass )
        return true;
    }
  }
  return false;
}

function addClass(element, _class)
{
  if( !hasClass(element, _class) )
    element.className += element.className ? (" " + _class) : _class;
}

function removeClass(element,_class)
{
  var upperClass=_class.toUpperCase();
  var remainingClasses=[];
  if(element.className)
  {
    var classes=element.className.split(' ');
    for( var i=0; i<classes.length; i++)
    {
      if( classes[i].toUpperCase() != upperClass )
        remainingClasses[remainingClasses.length] = classes[i];
    }
    element.className=remainingClasses.join(' ');
  }
}