// JavaScript Document


var MenuManager = new Class({

	initialize: function(ids, overImages, outImages, selectImages, pages, container){
		
		this.buttons = new Array();
		var aButton;

		
		for(i=0; i<ids.length; i++){
			aButton = new ButtonController(this, ids[i], overImages[i], outImages[i], selectImages[i], pages[i], container);
			this.buttons.push(aButton);
		}
		
		this.buttons[0].buttonSetSelected();
		this.currentlySelectedButton = this.buttons[0];
		
		//this.pBar = new ProgressBar(this, $('slideViewer'), images, this.loadSlideShow);	
		
	},
	buttonSelected: function(button){
                
                if(this.currentlySelectedButton != null)
		     this.currentlySelectedButton.buttonSetUnselected();

                this.currentlySelectedButton = null;
                       
                if(button != null){                
		     button.buttonSetSelected();
		     this.currentlySelectedButton = button;
                }
	},
        selectButton: function (id){
               for(var i=0;i<this.buttons.length;i++){
                   if(this.buttons[i].button == $(id)){
                        this.buttonSelected(this.buttons[i]);
                        return;
                   }
               }
               this.buttonSelected(null);
        }
});

var ButtonController = new Class({
	initialize: function(manager, id, overImage, outImage, selectImage, page, container){
		this.selected = false;
		this.mananger = manager;
		
		this.button = $(id);
		this.overImage = overImage;
		this.outImage = outImage;
		this.selectImage = selectImage;
		this.page = page;
		this.container = $(container);
		
		this.button.addEvent('mouseover', this.buttonRollOver.bind(this));
		this.button.addEvent('mouseout', this.buttonRollOut.bind(this));
		this.button.addEvent('mouseup', this.buttonClick.bind(this));
		
	},
	buttonRollOver: function (){
		//alert('rollover');
		if(this.selected == false)
			this.button.setStyle('background-image', 'url(' + this.overImage + ')');
	},
	buttonRollOut: function (){
		if(this.selected == false)
			this.button.setStyle('background-image', 'url(' + this.outImage + ')');
	},
	buttonClick: function (){

		if(this.selected == false){
			this.mananger.buttonSelected(this);
                        this.container.src = this.page;
			//this.container.load(this.page);
		}
		
	},
	buttonSetSelected: function(){
		this.selected = true;
		this.button.setStyle('background-image', 'url(' + this.overImage + ')');
	},
	buttonSetUnselected: function(){
		this.selected = false;
		this.button.setStyle('background-image', 'url(' + this.outImage + ')');
	}
});
