/** Generated by js.php */
// Get the computed css property
function getStyle( element, cssRule )
{
  /*if( document.defaultView && document.defaultView.getComputedStyle )
  {
    var value = document.defaultView.getComputedStyle( element, '' ).getPropertyValue( 
      cssRule.replace( /[A-Z]/g, function( match, char ) 
      { 
        return "-" + char.toLowerCase(); 
      } ) 
    );
  }
  else if ( element.currentStyle ) var value = element.currentStyle[ cssRule ];
  else                             var value = false;
  return value;*/
}

// Set a style property
function setStyle( element, cssRule, value )
{
  var original = getStyle( element, cssRule );
  if ( !element.styleHistory )            
    element.styleHistory = new Array();
  if ( !element.styleHistory[ cssRule ] ) 
    element.styleHistory[ cssRule ] = new Array();
  element.styleHistory[ cssRule ].push( original );
  element.style[ cssRule ] = value;
  return value;
}

// Undo a style property change
function undoSetStyle( element, cssRule )
{
  if ( 
    this.styleHistory && 
    this.styleHistory[ cssRule ] && this.styleHistory[ cssRule ].length 
  ) {
    var oldValue = this.styleHistory[ cssRule ].pop();
    this.style[ cssRule ] = oldValue;
  }
}

// Revert one or more style properties
function revertStyle( element, cssRules )
{
  var stylesChanged = 0;
  if( element.styleHistory )
  {
    if ( cssRules == '*' ) 
    { 
      cssRules = new Array(); 
      for( var a in element.styleHistory ) cssRules.push( a ); 
    }
    else if ( typeof cssRules != "Array" ) cssRules = Array( cssRules );

    for( var a = 0; a < cssRules.length; a++ )
    {
      var cssRule = cssRules[a];
      if ( 
        element.styleHistory[ cssRules[a] ] && 
        element.styleHistory[ cssRules[a] ][0] 
      ) {
        element.style[ cssRules[a] ] = element.styleHistory[ cssRules[a] ][0];
        element.styleHistory[ cssRules[a] ] = new Array();
        stylesChanged++;
      }
    }
  }
  return stylesChanged;
}

// Add push() and pop() if necessary
if( typeof Array.prototype.push == 'undefined' )
{
  Array.prototype.push = function( element ) { this[this.length] = element; }
}
if( typeof Array.prototype.pop == 'undefined' )
{
  Array.prototype.pop = function () 
  { 
    var last = this[ this.length - 1 ]; this.length--; return last; 
  }
}


