/** 
 *  project.js
 *  upwall.dev
 *
 *  Created by JCSiegrist on 2006-01-21.
 *  Copyright (c) 2006 mertes & siegrist. All rights reserved.
 *
 */

var myrules = {
	'#projectImages li a' : function(element){
		
		element.onclick = function(){
			imageViewer.showImage(this);
			return false;
		}
		
		element.onkeypress = function(){
			imageViewer.showImage(this);
			return false;
		}
	}
};

Behaviour.register(myrules);

imageViewer = {
	imgOnloadAttached: false,
	currentImage: '',
		
	showImage: function(el) {		
		theImageView = document.getElementsBySelector('#projectImage img')[0];
		theNewImg = el.getElementsByTagName('img')[0];
		subURL = theNewImg.src.split('projects');
		aURL = subURL[1].split('/');
		imgFileName = aURL[aURL.length-1];
		if (imageViewer.currentImage == imgFileName) return;
		imageViewer.currentImage = imgFileName;
		projectDirName = aURL[aURL.length-3];
		imgURL = projectDirName+'/medium_images/'+imgFileName;
		Effect.Fade(theImageView,{afterFinish: function(){imageViewer.loadImage(theImageView, imgURL)}});
		Element.addClassName('projectImage','progress-indicator');		
	},
	
	loadImage: function(theImageView, imgURL){
		if (!imageViewer.imgOnloadAttached) {
			Event.observe(theImageView, 'load', function(){imageViewer.displayNewImage(theImageView)});
			imageViewer.imgOnloadAttached = true;
		}
		theImageView.src=imgURL;

	},
	
	displayNewImage: function(e){
		Element.removeClassName('projectImage', 'progress-indicator');
		theImageView.style.marginTop = '-' + Math.round(Element.getDimensions(theImageView)['height'] / 2)+'px';
		theImageView.style.marginLeft = '-' + Math.round(Element.getDimensions(theImageView)['width'] / 2)+'px';
		Effect.Appear(document.getElementsBySelector('#projectImage img')[0]);
	}
}



function trace( msg ){
  if( typeof( jsTrace ) != 'undefined' ){
    jsTrace.send( msg );
  }
}