//
// Copyright (c) 2002, 2004 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
// 
// Contributors:
//     IBM Corporation - initial API and implementation
//

function mouseover(img)
{
  img.className = "hover";
}

function mouseout(img)
{
  img.className = "normal";
}

function mousedown(img)
{
  img.className = "down";
}

function mouseup(img)
{
  return mouseout(img);
}