
// Controls the Button that Opens/Closes Page Browser
var ii = null;
PageBrowserButton = function(target, checkedHandler, uncheckedHandler) {
    this.target = target;
    this.checkedHandler = checkedHandler;
    this.uncheckedHandler = uncheckedHandler;
    ii = this;
    this.pageBrowserButtonCurrentState = "unchecked";
    this.isMouseOver = false;
    this.isMouseDown = false;
    
    // Register eventhandlers
	target.addEventListener("mouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
	target.addEventListener("mouseLeave", Silverlight.createDelegate(this, this.handleMouseLeave));
    target.addEventListener("mouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
    target.addEventListener("mouseLeftButtonUp", Silverlight.createDelegate(this, this.handleMouseUp));
}

PageBrowserButton.prototype.handleMouseEnter = function(s,e)
{
    var normal = this.target.findName(this.pageBrowserButtonCurrentState + "_normal");
    this.isMouseOver = true;
}

PageBrowserButton.prototype.handleMouseLeave = function(s,e) {
    this.isMouseOver = false;
}

PageBrowserButton.prototype.handleMouseDown = function(s,e) {
    this.isMouseDown = true;
    this.target.captureMouse();
}
var _gSender = null;
var _geventArgs = null;
PageBrowserButton.prototype.handleMouseUp = function(sender, eventArgs) {
    var normal = this.target.findName(this.pageBrowserButtonCurrentState + "_normal");
    
    if (this.isMouseOver == true)
    {
      // change button state
      if (this.pageBrowserButtonCurrentState == "unchecked")
      {
        this.pageBrowserButtonCurrentState = "checked";
        
        if (this.checkedHandler) {
            this.checkedHandler(sender, eventArgs);
        }
      }
      else
      {
        this.pageBrowserButtonCurrentState = "unchecked";
        _gSender = sender;
        _geventArgs = eventArgs;
        if (this.uncheckedHandler) {
            this.uncheckedHandler(sender, eventArgs);
        }
      }
    }
    
    
    this.target.findName("pageBrowserWindowRect")["Rect"] = "0,-300, 550, 500";
    this.target.findName("pageBrowserWindow")["canvas.left"] = 220;
        
    
    this.isMouseDown = false;
    this.target.releaseMouseCapture();
}
