function ivInit() {
	var viewer = document.getElement('.i-viewer');
	if($defined(viewer)) {
		var imgs = viewer.getElements('img');
		var height = 0;
		viewer.setStyle('position', 'relative');
		imgs.each(function(img,nr) {
			if(img.get('height')>height) {
				height = img.get('height');
			}
			img.setStyles({
						  'position': 'absolute',
						  'top': '0px',
						  'left': '0px'
						 });
			if(nr!=0) {
				img.setOpacity('0');
			} else {
				resize(imgs[0], viewer, 1);
			}
		});
	}
	
	var control = document.getElement('.i-control');
	if($defined(control) && $defined(viewer)) {
		var imgsS = viewer.getElements('img');
		var imgs = control.getElements('img');
		imgs.each(function(img,inr) {
			img.setStyle('cursor', 'pointer');
			img.addEvent('mouseover', function() {
				if($defined(imgsS[inr])) {
					imgsS.each(function(img2) {
						img2.fade(0);
					});
					resize(imgsS[inr], viewer, 0);
					imgsS[inr].fade(1);
				}
			});
		});
	}
}

function resize(img, viewer, start) {
	var width = img.get('width').toInt();
	var height = img.get('height').toInt();
	if(width > 480) {
		var dist = 480 / width;
		height = height * dist;
		img.setStyles({'width': '480px', 'height': height+'px'});
		viewer.setStyles({'width': '480px', 'height': height+'px'});
	} else {
		img.setStyles({'width':  width+'px', 'height': height+'px'});
		viewer.setStyles({'width': '480px', 'height': height+'px'});
	}
}

window.addEvent('domready', function() {
	var hide = $$('div.cehidden');
	if($defined(hide)) {
		hide.each(function(el) {
			var newClass = el.get('class') + ' ' + el.getStyle('height');
			el.set('class', newClass);
			el.setStyle('display', 'none');
			el.setStyle('height', '0px');
			el.setStyle('overflow', 'hidden');
			el.setStyle('visibility', 'visible');
		});
	}
	var expand = $('content');
	expand = $$('div.ceexpands');
	if($type(expand)) {
		expand.each(function(el) {
			el.addEvent('click', function(e) {
				e.stop();
				var next = el.getNext('div');
				if($type(next)) {
					var isHidden = next.get('class').split(' ');
					if(isHidden[0] == 'cehidden') {
						next.setStyle('display', 'block');
						var clas = next.get('class').split(' ');
						var myEffect = new Fx.Morph(next, {duration: 'long', transition: Fx.Transitions.Sine.easeIn});
						myEffect.start({
							'height': clas[1] //Morphs the 'height' style from 10px to 100px.
						});

					} else {
						var divCeHidden = next.getNext();
						if($type(divCeHidden)) {
							var isHidden = divCeHidden.get('class');
							if(isHidden == 'cehidden') {
								divCeHidden.setStyle('display', 'block');
							}
						}
					}
				}
			});
		});
	}	
	
	
	ivInit();
	
});
