groups=new Object();

function buttonGroupSet(groupID){
 groups[groupID]=new Object();
 groups[groupID].buttons=new Array();
 groups[groupID].alwaysClicked=true;}

function buttonClick(){
 var group=this.group;
 if(!group.clicked){
  group.clicked=this;}
 if(group.alwaysClicked||!group.pressed){
  this.onmousedown();}
 this.onmouseup();}

function buttonUp(){
 var group=this.group;
 if(!group.pressed||this!=group.pressed){
  return false;}
 var returnValue=this.clickAction();
 group.clicked=this;
 if(!group.alwaysClicked){
  setTimeout("document.all('"+this.id+"').all('img').src=document.all('"+this.id+"').upImage.src;document.all('"+this.id+"').group.pressed=null",100);}
 return returnValue;}

function buttonDown(){
 var group=this.group;
 group.pressed=this;
 this.all('img').src=this.downImage.src;
 if(group.clicked){
  if(group.pressed!=group.clicked){
   group.clicked.all('img').src=group.clicked.upImage.src;}}
 return this.downAction();}

function buttonOver(){
 var group=this.group;
 if(!group.pressed||this!=group.pressed){
  this.all('img').src=this.overImage.src;}
 this.overAction();
 return false;}

function buttonOut(){
 var group=this.group;
 if(!group.pressed||!group.clicked||this!=group.pressed){
  this.all('img').src=this.upImage.src;
  this.outAction();
  return false;}
 if(!group.alwaysClicked){
  this.all('img').src=this.upImage.src;}
 if(group.clicked&&this!=group.clicked){
  this.all('img').src=this.upImage.src;
  group.pressed=group.clicked;
  if(group.alwaysClicked){
   group.clicked.all('img').src=group.clicked.downImage.src;}}
 this.outAction();
 return false;}

function buttonSet(layerID,downImageSRC,upImageSRC,overImageSRC,groupID){
 var button=document.all(layerID);
 if(!groupID){
  groupID='defaultGroup';}
 if(groups[groupID]==null){
  buttonGroupSet(groupID);}
 button.group=groups[groupID];
 button.buttonID=groups[groupID].buttons.length;
 groups[groupID].buttons[button.buttonID]=button;
 if(document.layers){
  button.captureEvents(Event.MOUSEDOWN|Event.MOUSEOVER|Event.MOUSEOUT|Event.MOUSEUP);}
 button.downImage=new Image();
 button.downImage.src=downImageSRC;
 button.upImage=new Image();
 if(upImageSRC==''){
  upImageSRC=button.all('img').src;}
 else{
  button.all('img').src=upImageSRC;}
 button.upImage.src=upImageSRC;
 button.overImage=new Image();
 button.overImage.src=overImageSRC;
 button.onmousedown=buttonDown;
 button.onmouseover=buttonOver;
 button.onmouseout=buttonOut;
 button.onmouseup=buttonUp;
 button.buttonClick=buttonClick;
 button.downAction=function(){return true;}
 button.clickAction=function(){return true;}
 button.overAction=function(){}
 button.outAction=function(){}}
