	var mssImgEnlarge = new Class({
		initialize: function(options) {
			this.options = Object.extend({bImgs: '.mssBigCont img',sImgs: '.mssSmlCont img'}, options || {});
			this.index = 0;
			this.sImgs = $$(this.options.sImgs);
			this.bImgs = $$(this.options.bImgs);
			this.multipleImgs = this.options.multipleImgs || false;
			this.ratio = 1.5;
			this.smlWidth = new Array();
			this.smlHeight = new Array();
			this.bigWidth = new Array();
			this.bigHeight = new Array();
			this.sImgs.each(function(item, index){
            this.smlWidth[index] = item.getProperty('width');
            this.smlHeight[index] = item.getProperty('height');
         },this);
         this.bImgs.each(function(item, index){
            this.bigWidth[index] = item.getProperty('width');
            this.bigHeight[index] = item.getProperty('height');;
         },this);
			this.init();
		},
		init: function(){
			this.sImgs.each(function(s,i){s.addEvent('click', this.enlarge.bind(this));},this);
			this.bImgs.each(function(b,i){b.addEvent('click', this.reduce.bind(this));b.setStyle('display','none');}, this);
			// Doesn't work
			/*$$('.mssReducedText').each(function(s,i){s.addEvent('click', function(){this.sImgs[i].fireEvent('click')})},this);
			$$('.mssEnlargedText').each(function(b,i){b.addEvent('click', function(){this.bImgs[i].fireEvent('click')})}, this);*/
		},
		enlarge: function(e){ 
		   $$('.mssEnlargedText').each(function(item){item.setStyle('visibility','visible')})
		   $$('.mssReducedText').each(function(item){item.setStyle('visibility','hidden')})
			var simg = (e.target) ? e.target : ((e.srcElement) ? e.srcElement : null);
			this.index = this.sImgs.indexOf(simg);
			var bimg = $(this.bImgs[this.index]);
			bimg.setStyle('display','block');
			var smlWidth = this.smlWidth[this.index];
			var smlHeight = this.smlHeight[this.index];
			var ratio = this.bigHeight[this.index] / smlHeight;
			bimg.style.width=this.smlWidth[this.index] + "px";
			bimg.style.height=this.smlHeight[this.index] + "px";
			simg.parentNode.style.zIndex=1;
			bimg.parentNode.style.zIndex=1000;
			simg.set('morph',{duration: 1000});
			bimg.set('morph',{duration: 1000});
			simg.morph({'width':[smlWidth * ratio],'height':[smlHeight * ratio],'opacity':[0]});					
			bimg.morph({'width':[smlWidth * ratio],'height':[smlHeight * ratio],'opacity':[1]});		
		},
		reduce: function(e){
		   $$('.mssEnlargedText').each(function(item){item.setStyle('visibility','hidden')})
		   $$('.mssReducedText').each(function(item){item.setStyle('visibility','visible')})
			var bimg = (e.target) ? e.target : ((e.srcElement) ? e.srcElement : null);
			this.index = this.bImgs.indexOf(bimg);
			var simg = $(this.sImgs[this.index]);
			var bigHeight = this.bigHeight[this.index];
			var bigWidth = this.bigWidth[this.index];
			var smlHeight = this.smlHeight[this.index];
			var smlWidth = this.smlWidth[this.index];
			var ratio = bigHeight / smlHeight;
			simg.parentNode.style.zIndex=1000;
			bimg.parentNode.style.zIndex=1;
			simg.set('morph',{duration: 1000});
			var bimgFx = new Fx.Morph(bimg, {duration: 1000});
			bimgFx.start({'width':[smlWidth],'height':[smlHeight],'opacity':[0]}).chain(function(){bimg.setStyle('display','none');bimg.style.width=bigWidth + "px";  bimg.style.height=bigHeight + "px";});			
			simg.morph({'width':[smlWidth * ratio, smlWidth],'height':[smlHeight * ratio, smlHeight],'opacity':[0,1]});
         
		}
	});
	window.addEvent('domready',function(){ if(Browser.Engine.trident&&Browser.Engine.version<5){return} else{var myImg=new mssImgEnlarge()}});
