//----------------------------------------------------------------------------
//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
//----------------------------------------------------------------------------


function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}


function getKey(e) {
	var keynum;

	if(window.event){ // IE
	  keynum = e.keyCode;
	}else if(e.which){ // Netscape/Firefox/Opera
	  keynum = e.which;
	}
	return keynum;
}

	
	
