function MorphineZoom() {
	this.instances = new Array();
	this.layerZoom = null ;
	morphine_base.addEvent(document, "click", MorphineZoom.prototype.masquer);
}
/*
MorphineZoom.prototype.init = function(settings) {
	morphine_base.addEvent(window, "load", MorphineZoom.prototype.onLoad);
}
MorphineZoom.prototype.onLoad = function() {
}
*/
MorphineZoom.prototype.addItem = function(objImage, srcImageZoom, moveX) {
	if (!objImage) return ;
	if (MorphineZoom.prototype.addItem.arguments.length<2) srcImageZoom="" ;
	if (MorphineZoom.prototype.addItem.arguments.length<3) moveX=0 ;
	if (MorphineZoom.prototype.addItem.arguments.length<4) width=250 ;
	numTab = this.instances.length ;
	this.instances[numTab] = new Array() ;
	this.instances[numTab]['objImage'] = objImage ;
	this.instances[numTab]['srcImageZoom'] = srcImageZoom ;
	this.instances[numTab]['moveX'] = moveX ;
	morphine_base.addEvent(objImage, "click", MorphineZoom.prototype.clickSur);
	objImage.style.cursor = "pointer" ;
	objImage.style.border = "1px solid black" ;
	//morphine_base.insertHtmlAfter(objImage,"<br>Click image to zoom") ;
}
MorphineZoom.prototype.searchNumInstanceFromObj = function(objTemp) {
	for (var idInstance in morphine_zoom.instances) {
		if (objTemp==morphine_zoom.instances[idInstance]['objImage']) return idInstance ;
	}
	return -1 ;
}
MorphineZoom.prototype.masquer = function(e) {
	target = morphine_base.getTargetEvent(e) ;
	target = morphine_base.getParent(target,"img") ;
	numTemp = morphine_zoom.searchNumInstanceFromObj(target) ;
	if (numTemp==-1 && morphine_zoom.layerZoom!=null) {
		morphine_zoom.layerZoom.style.left = -10000 ;
		morphine_zoom.layerZoom.style.top = -10000 ;
	}
}
MorphineZoom.prototype.clickSur = function(e) {
	target = morphine_base.getTargetEvent(e) ;
	target = morphine_base.getParent(target,"img") ;
	numTemp = morphine_zoom.searchNumInstanceFromObj(target) ;
	srcImageZoom = morphine_zoom.instances[numTemp]['srcImageZoom'] ;
	moveX = morphine_zoom.instances[numTemp]['moveX'] ;
	if (morphine_zoom.layerZoom==null) {
		morphine_zoom.layerZoom = document.createElement("div") ;
		morphine_zoom.layerZoom.id = "layerzoom" ;
		/*
		.layerHelp { font-size: 11px; font-family: Arial; background-color: #f7f5ce; position: absolute; width: 250px; overflow: visible; margin: 0; padding: 5px; border: solid 1px black; }
		.layerHelp p {margin: 0; padding: 0;}
		*/
		morphine_zoom.layerZoom.style.position = "absolute" ;
		//morphine_zoom.layerZoom.style.width = "250px" ;
		//layerHelp.style.height = 50 ;
		morphine_zoom.layerZoom.style.border = "solid 1px black" ;
		//layerHelp.style.borderWidth = "1px" ;
		//layerHelp.style.borderStyle = "solid" ;
		morphine_zoom.layerZoom.style.backgroundColor = "#F7F5CE" ;
		morphine_zoom.layerZoom.style.overflow = "visible" ;
		morphine_zoom.layerZoom.style.padding = "5px 5px 5px 5px" ;
		morphine_zoom.layerZoom.style.overflow = "visible" ;
		morphine_zoom.layerZoom.style.margin = "0" ;
		morphine_zoom.layerZoom.style.fontSize = "11px" ;
		morphine_zoom.layerZoom.style.fontFamily = "Arial" ;
		morphine_zoom.layerZoom.style.cursor = "pointer" ;
		//layerHelp.className = "layerHelp" ;
		document.body.appendChild(morphine_zoom.layerZoom) ;
	} 
	var txtCloseWindow = "<a href='javascript:void(0);' onclick='morphine_zoom.masquer();'>Close window</a><br>" ;
	if (srcImageZoom!="") srcImageZoom = srcImageZoom ;
	else {
		srcImageZoom = target.src ;
		pos = srcImageZoom.lastIndexOf(".") ;
		nom = srcImageZoom.substring(0,pos) ;
		extension = srcImageZoom.substring(pos,srcImageZoom.length) ;
		srcImageZoom = nom+"2"+extension ;
	}
	/*
	var objImg = new Image() ;
	objImg.src = srcImageZoom ;
	w = objImg.width ; h = objImg.height ;
	if (objImg.width>640) {
		h = 640*h/w ;
		w = 640 ;
	}
	*/
	morphine_zoom.layerZoom.innerHTML = txtCloseWindow+"<img src='"+srcImageZoom+"'  onload=\"morphine_zoom.charge(this);\">" ;//width='"+w+"' height='"+h+"'
	
	var scw = (document.all) ? document.body.offsetWidth : window.innerWidth ;
	var decalage = Math.ceil((scw-750)/2) ;
	morphine_zoom.layerZoom.style.left = (morphine_base.getAbsX(target)+15+moveX)+"px" ;//+"px" ;//"helpIcon_"+source))+15
	morphine_zoom.layerZoom.style.top = (morphine_base.getAbsY(target)+15)+"px" ;//"helpIcon_"+source
	
}
MorphineZoom.prototype.charge = function(objImg) {
	var scw = (document.all) ? document.body.offsetWidth : window.innerWidth ;
	var sch = (document.all) ? document.body.offsetHeight : window.innerHeight ;
	var scrollw = (document.all) ? document.body.scrollLeft : window.pageXOffset;
  	var scrollh = (document.all) ? document.body.scrollTop : window.pageYOffset;
  	w = objImg.width ; h = objImg.height ;
	if (objImg.width>640) {
		h = 640*h/w ;
		w = 640 ;
	}
	objImg.width=w ; objImg.height=h ;
	//var monDiv = morphine_base.getParent(objImg,"div") ;
	morphine_zoom.layerZoom.style.left = Math.ceil(((scw-w)/2)+scrollw)+"px" ;//+"px" ;//"helpIcon_"+source))+15
	morphine_zoom.layerZoom.style.top = Math.ceil(((sch-h)/2)+scrollh)+"px" ;//"helpIcon_"+source
}
var morphine_zoom = new MorphineZoom();
