// MMAX IMAGE VIEWER

// DRAGGER
// CROSS-BROWSER COMPATIBILE
var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isBrowOK = (isDOM || isIE4);

// PANEL DRAGGING EVENT HANDLERS
// ==== onMouseDown ========
function imgPanelDown(evt) {
	activePanel = this;
	if (document.all) {
		imgOffsetY = window.event.y - parseInt(document.getElementById('panel').style.top);
		imgOffsetX = window.event.x - parseInt(document.getElementById('panel').style.left);
	}
	else {
		imgOffsetY = evt.layerY;
		imgOffsetX = evt.layerX;
	}
	return false;
}
// ==== onMouseMove ========
function imgPanelMove(evt) {
// return true if no panel is dragged, or...
	if (!activePanel) {return true;}
	else {
		with (activePanel) {
			// ****** diferrence between MSIE & MOZZ
			if (document.all) {
				newTop = event.y  - imgOffsetY;
				newLeft = event.x - imgOffsetX;
			}
			else {
				newTop = evt.pageY - imgOffsetY;
				newLeft = evt.pageX - imgOffsetX;
			}
			panelSty.top = newTop;
			panelSty.left = newLeft;
			return false;
		}
	}
}
// ==== onMouseUp ========
function imgPanelUp(evt) {
	activePanel = null;
}
// ==== CAPTURE EVENTS ON LOAD ====
function docSetup() {
	with (this) {
		if (!isBrowOK) return;
		panelSty = document.getElementById('panel').style;
		panelRef = document.getElementById('panel');
	// Pass events to specific panel
		panelRef.onmousedown = new Function('evt', 'return mainFrame.panelDown(evt)');
	// mouseMove & mouseUp are global
		document.onmousemove = imgPanelMove;
		document.onmouseup = imgPanelUp;
	// stops selections when dragging
		if (document.all) {document.onselectstart = new Function('if (activePanel) return false');}
		else if (isDOM) {document.onselect = new Function('if (activePanel) return false');}
	}
}
// ==== Main object =====
function DOM_Panel() {
// references for speed
	this.panelSty = null;
	this.panelDown = imgPanelDown;
	this.setup = docSetup;
}
// ==== Global ====
var activePanel = null;
var mainFrame;
// ==== Frame SETUP ====
mainFrame = new DOM_Panel();


// PANEL SHOW-HIDE and WAIT Message
// ========== DO HIDE Menu==============
function doHide() {
document.getElementById('panel').style.left = -2000;
document.getElementById('panel').style.visibility='hidden';
if (isOPR) {document.getElementById('i5').style.visibility = 'visible';}
return false;
}

// ========== DO SHOW url==============
function doShow(url) {
	if (document.getElementById('wait').style.visibility == 'visible') {
		return;
	}
	document.getElementById('wait').style.left = 10 + 'px';
	if (document.all) {document.getElementById('wait').style.top = document.body.scrollTop + 10 + 'px';}
	else {document.getElementById('wait').style.top = pageYOffset + 10 + 'px';}
	document.getElementById('wait').style.visibility = 'visible';
	doWriteSource(url);
}
// ========== DO FILL==============
function doWriteSource(url) {
desc = "<center><table cellpadding=0 cellspacing=2><tr><td valign=top align=center><IMG id='foto' SRC='" + url + "' border=0 onLoad='doWait()'></td></tr></table></center>";
document.getElementById('foto_scr').innerHTML = desc;
if (isOPR) {setTimeout('doWait()',300);}
}
// ========== DO WAIT==============
function doWait() {
	//imageA = document.getElementById('foto');
	//if (imageA.complete) {
	//	clearInterval(drawWait);
		//alert("x");
		document.getElementById('wait').style.left = -1000 + "px";
		document.getElementById('wait').style.visibility = 'hidden';
		doResizeFoto();
	//	}
}
// ========== DO RESIZE==============
function doResizeFoto() {
	document.getElementById('panel').style.top = document.body.scrollTop + 30 + 'px';
	document.getElementById('panel').style.width = document.getElementById('foto').width + 'px';
	if (!document.all) {
		document.getElementById('panel').style.top = pageYOffset + 30 + 'px';
		}
	if (document.getElementById('panel').style.visibility == 'visible') {
		if ( parseInt(document.getElementById('panel').style.left) > 0 ) {
			return;
			}
		}
	document.getElementById('panel').style.left = 10 + 'px';
	if (isOPR) {document.getElementById('i5').style.visibility = 'hidden';}
	document.getElementById('panel').style.visibility = 'visible';
}

