/** ZOOM IMAGE */
zoomImage = Class.create();
zoomImage.prototype = {
	zoomPaths : [],
	initialize : function() {
		var zoomImg = document.getElementsByClassName("xm_zoom_overlay");
		var paths = '';
		if (zoomImg.length > 0) {
			for ( var i = 0; i < zoomImg.length; i++) {
				var obj = zoomImg[i];
				                  
				this.zoomPaths[i] = obj.href;
				obj.removeAttribute('href');
				obj.target = "_self";
				this.setEvent(zoomImg[i], i);
			}
		}
	},
	setEvent : function(item, i) {
		Event.observe(item, 'click', this.iZoom.bindAsEventListener(this, item,	i), false);
	},
	iZoom : function(obj, item, i) {
		var imgPath = this.zoomPaths[i];
		this.zoomPop(item, imgPath);
	},
	zoomPop : function(item, imgPath) {
		this.close(this);
		// mask
		var zBox = Builder.node('div', {
			'class' :'zoomPop'
		}, ' ');
		document.body.appendChild(zBox);
		// image
		var imgItem = Builder.node('img', {
			'src' :imgPath,
			'class' :'zoomImage'
		}, ''); // image
		// crop image if it is large
		Event.observe(imgItem, 'load', this.imageSize.bindAsEventListener(this,
				imgItem), false);
		// image Box
		var imgBox = Builder.node('div', {
			'class' :'zoomPopImg',
			'style' :' cursor: pointer; visibility: hidden; '
		}, imgItem); // image
		// close the overlay when clicked				
		Event.observe(imgBox, 'click', this.close.bindAsEventListener(this), false);
		document.body.appendChild(imgBox);
	},
	imageSize : function(obj, item) {
		var w = item.width;
		var h = item.height;
		if ((w > 800) || (h > 600)) {
			if (w > 800) {
				var nw = 800;
				var nh = (nw * h) / w;
			}
			if (nh > 600) {
				var nh = 600;
				var nw = (nh * w) / h;
			}
			item.width = nw;
			item.height = nh;
		}
		item.parentNode.style.visibility = 'visible';
	},
	zoomPlus : function(obj) {
		// alert('zoom Plus');
	},
	close : function(obj) {
		// closes open zoomPop windows
		var pw = document.getElementsByClassName('zoomPop');
		if (1 <= pw.length) { // window exist
			for ( var i = 0; i < pw.length; i++) {
				var myPar = pw[i].parentNode;
				$(myPar).removeChild(pw[i]);
			}
		}
		// closes open zoomPop windows
		var pw = document.getElementsByClassName('zoomPopImg');
		if (1 <= pw.length) { // window exist
			for ( var i = 0; i < pw.length; i++) {
				var myPar = pw[i].parentNode;
				$(myPar).removeChild(pw[i]);
			}
		}
	}
}