function Portfolio() {
	 	/********* EDIT THESE ***************************************************/
		
	this.show_box_id = "show_box"; 			 /* ID OF DIV TO SHOW BIG PICTURE */
	this.thumbs_class = "thumb";  /* THUMBNAIL CLASS */
	this.image_folder = "./images/portfolio/"; /* RELATIVE PATH TO IMAGES */
	
	/****** STOP EDITING ***************************************************/	
	
	this.thumbs_array = $$("."+this.thumbs_class);
	this.show_box = $(this.show_box_id);	
	
	this.locked = false;	 

	this.thumbs = new Array(this.thumbs_array.length);
	
	this.i = 0;
	
	 for(i = 0; i < this.thumbs_array.length; i++){
	 	this.thumbs[i] = new Thumbnail(this.thumbs_array[i],this);
		var doIt = new EventAdder(this.thumbs[i], this);			 
	 }
	 
	 function reset() {
		var i = 0;
		this.unlock();	 	
	 	for(i=0;i<this.thumbs.length;i++){
			this.thumbs[i].deactivate();	 	
	 	}
	 }
	 
	 this.reset = reset;	 
	 
	 function isLocked() {
	 	return this.locked;
	 }
	 
	 this.isLocked = isLocked;
	 
	 function lock() {
	 	this.locked = true;
	 }
			 
	 this.lock = lock;
	 
	 function unlock() {
	 	this.locked = false;
	 }
			 
	 this.unlock = unlock;
}



function EventAdder(thumb, portfolio){
 	this.thumb = thumb;
	this.portfolio = portfolio;
	
	thumb.set({
		'events':{
			'click':function(){
			   if(thumb.isActive()) {
					thumb.deactivate();
				} else if(portfolio.isLocked()) {
					portfolio.reset();
					thumb.activate();
					portfolio.lock();
				} else {
				   thumb.activate();
				    portfolio.lock();
				}
			},
			'mouseover':function() {
					thumb.pushDown();
				
			},
			'mouseout' :function() {
				if(!thumb.isActive()){
					thumb.comeUp();	
				}
			}
				
												
		}				
	}); /* END OF ADDING EVENTS */			 

}

 function Thumbnail(thumb, portfolio) {
	 this.portfolio = portfolio;	 
	 this.show_box = portfolio.show_box;		 
	 this.thumb = thumb;
     this.filename = portfolio.image_folder+this.thumb.getProperty('id');
	 this.fileExt;
	 if(this.filename.match('_jpg') == null) {
		this.fileExt = ".gif" 
	 } else {
		this.fileExt = ".jpg";	 
	 }
	
	 this.big_image_src = this.filename+this.fileExt;
    
     this.temp_big_image = new Image();
	 this.temp_big_image.src = this.big_image_src;
	 this.big_image_width = this.temp_big_image.width;		
	 this.big_image_height = this.temp_big_image.height;
    	 
	 this.active = false;		 


	 function isActive(){
	 	return this.active;		
	 }		 		 
	 this.isActive = isActive;
	 
	 function pushDown() {
	 	this.thumb.setStyles({
		"background-color":"#0F64B8",
		color:"white"
			});
	 }
	 this.pushDown = pushDown;
	 
	 function comeUp() {
	 	   this.thumb.setStyles({		 	   
		"background-color":"white",
		color:"#0F64B8"
			});


	 }
	 this.comeUp = comeUp;
	 
    function activate() {
			$('holding_text').set('opacity', 0);
        	this.active = true;
        	this.pushDown();
			this.show_box.set('opacity',0);
			this.show_box.setStyle('background-image',"url("+this.big_image_src+")");
			this.show_box.fade('in');
    }
    
    this.activate = activate;
    
    function deactivate() {
    		this.active = false;
    		this.comeUp();
			this.show_box.fade('out');
    }
    
 	this.deactivate = deactivate;
 	
 	function set(args) {
 		this.thumb.set(args);
 	}
	
	this.set = set;
}



