/* $Date: 2009-04-17 23:12:31 +0200 (fr, 17 apr 2009) $    $Revision: 4820 $ */
function RollOverButton(targetimg, param) {

  this.param = param;

  this.setup = function() {
    if (typeof (targetimg) != "object")
      targetimg = document.getElementById(targetimg);
    if (!targetimg || targetimg.tagName != "IMG") return;

    if (this.param.imageurl == null) this.param.imageurl = targetimg.src;
    if (this.param.rolloverimageurl == null) this.param.rolloverimageurl = targetimg.src;
    if (this.param.clickimageurl == null) this.param.clickimageurl = targetimg.src;
    if (this.param.href == null) this.param.href = null;
    if (this.param.enabled == null) this.param.enabled = true;
    if (this.param.staydown == null) this.param.staydown = false;
    if (this.param.selected == null) this.param.selected = false;
    if (this.param.onclick == null) this.param.onclick = null;


    this.img = targetimg;
    if (this.param.staydown) this.img.src = this.param.clickimageurl;
    this.img.border = "0";

    this.anchor = document.createElement("A");
    this.anchor.href = (this.param.href ? this.param.href : "javascript:void(0)");
    this.anchor.onclick = this.param.onclick;
    this.anchor.onfocus = "this.blur()";

    this.img.parentNode.replaceChild(this.anchor, this.img);
    this.anchor.appendChild(this.img);
    this.setEvents();
  }

  this.select = function() {
    this.selected = !this.selected;
  }

  this.setEvents = function() {
    var thisref = this;

    if (this.staydown) {
      this.img.onmouseover = (this.selected ? null : function() { if (thisref.img.src != thisref.parem.clickimageurl) thisref.img.src = thisref.param.rolloverimageurl });
      this.img.onmouseout = (this.selected ? null : function() { if (thisref.img.src != thisref.parem.clickimageurl) thisref.img.src = thisref.param.imageurl });
      this.img.onmousedown = (this.selected ? null : function() { thisref.img.src = thisref.param.clickimageurl });
      this.img.onmouseup = (this.selected ? null : function() { if (thisref.img.src != thisref.parem.clickimageurl) thisref.img.src = thisref.param.rolloverimageurl });
    }
    else {
      this.img.onmouseover = function() { thisref.img.src = thisref.param.rolloverimageurl };
      this.img.onmouseout = function() { thisref.img.src = thisref.param.imageurl };
      this.img.onmousedown = function() { thisref.img.src = thisref.param.clickimageurl };
      this.img.onmouseup = function() { thisref.img.src = thisref.param.rolloverimageurl };
    }
  }
  this.setup();
}