Button = function(control, name, clickScope, clickFunction) 
{
    this.control = control;
    this.name = name;
    
	this.target = control.content.findName(this.name);
	this.target.AddEventListener("MouseEnter", Silverlight.createDelegate(this, this.mouseEnter));
	this.target.AddEventListener("MouseLeave", Silverlight.createDelegate(this, this.mouseLeave));
	this.target.AddEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.mouseDown));
	this.target.AddEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.mouseUp));
	this.target.AddEventListener("MouseLeftButtonUp", Silverlight.createDelegate(clickScope, clickFunction));
}

Button.prototype =
{

    mouseEnter: function(sender, e)
    {
     	
     	var enter = sender.findName(sender.name+"_enter");
     	var down = sender.findName(sender.name+"_down");
        var normal = sender.findName(sender.name+"_normal");
        
        enter.Opacity = 1;
        enter.visibility = "Visible"
        
       
        normal.Opacity = 0;
        normal.visibility = "Collapsed"
        
	down.Opacity = 0;
        down.visibility = "Collapsed"        
    },
    
    mouseLeave: function(sender, e)
    {
        var enter = sender.findName(sender.name+"_enter");
        var down = sender.findName(sender.name+"_down");
        var normal = sender.findName(sender.name+"_normal");
        
        enter.Opacity = 0;
        enter.visibility = "Collapsed"
        
        down.Opacity = 0;
        down.visibility = "Collapsed"
        
        normal.Opacity = 1;
        normal.visibility = "Visible"
        
        
        var tmpLength = gTotalPages
        
       
        if(pageCnt >= tmpLength-1){
        	//disable next
        	var NextDisable = sender.findName("Next_disable");
		var NextNormal = sender.findName("Next_normal");

		NextDisable.visibility = "Visible"
		NextDisable.Opacity = 1;

		NextNormal.visibility = "Collapsed"
		NextNormal.Opacity = 0;

        }
        
        if(pageCnt <=0){
        	//disable back
        	var backDisable = sender.findName("Back_disable");
		var backNormal = sender.findName("Back_normal");
		


		backDisable.visibility = "Visible"
		backDisable.Opacity = 1;

		backNormal.visibility = "Collapsed"
		backNormal.Opacity = 0;
        }
        
        var tmpLength = Course.Section.length
        
        if(gCurrSectionNum <=0){
        	var SectionbackDisable = sender.findName("Section_Back_disable");
		var SectionbackNormal = sender.findName("Section_Back_normal");

		SectionbackDisable.visibility = "Visible"
		SectionbackDisable.Opacity = 1;

		SectionbackNormal.visibility = "Collapsed"
		SectionbackNormal.Opacity = 0;        	
        }
        if(gCurrSectionNum >= tmpLength-1){
        
		var SectionNextDisable = sender.findName("Section_Next_disable");
		var SectionNextNormal = sender.findName("Section_Next_normal");

		SectionNextDisable.visibility = "Visible"
		SectionNextDisable.Opacity = 1;

		SectionNextNormal.visibility = "Collapsed"
		SectionNextNormal.Opacity = 0;
        
        }
    	if(sender.name.indexOf("Section") != -1){
    		//fCheckState(sender)
    	}
    },
    
    mouseDown: function(sender, e)
    {
       
        var enter = sender.findName(sender.name+"_enter");
        var down = sender.findName(sender.name+"_down");
        
        enter.Opacity = 0;
        enter.visibility = "Collapsed"
        
        down.Opacity = 1;
        down.visibility = "Visible"
    },
    
    mouseUp: function(sender, e)
    {
        var enter = sender.findName(sender.name+"_enter");
        var down = sender.findName(sender.name+"_down");
        
        enter.Opacity = 1;
        enter.visibility = "Visible"
        
        down.Opacity = 0;     
        down.visibility = "Collapsed"
             
    }

}
