var iMousePosX=0;
var iMousePosY=0;
var iOrigObjTop;
var iOrigObjLeft;
var iDragObjTopDiff=0;
var iDragObjLeftDiff=0;
var rightclick=false;
var oDragObj=null;
var zoomIn=false;
var zoomOut=false;
var StartX=0;
var StartY=0;
function dragPiece(sourceObject){
	sourceObject.style.cursor="all-scroll";
	iOrigObjTop=parseInt(sourceObject.offsetTop);
	iOrigObjLeft=parseInt(sourceObject.offsetLeft);
	iDragObjTopDiff=iMousePosY-iOrigObjTop;
	iDragObjLeftDiff=iMousePosX-iOrigObjLeft;
	oDragObj=sourceObject;
	try{
	    if(parent.document.getElementById('ratioBox')) 
	        parent.vwr.viewIdx = parent.document.getElementById('ratioBox').value;
	}catch(E){}
}
function rePaint(){
	var table=document.getElementById('tablePage');
	if (table){
		tbody=table.getElementsByTagName("tbody")[0];cells=tbody.getElementsByTagName("td").length;
		for(i=0;i<cells;i++) {
			cell=tbody.getElementsByTagName("td")[i];
			if(cell.innerHTML=="&nbsp;"){
				mytop=parseInt(table.style.top.substring(0, table.style.top.length-2));
				if(isNaN(mytop))
				    mytop=0;
				myscroll=mytop;
				if (cell.offsetTop <= myscroll) cell.innerHTML="<img src='editions/"+cell.id+"'></img>";
			}
		}
	}
}
function drop(){if(oDragObj){document.getElementById('tablePage').style.cursor="pointer";oDragObj=null;}}
function mouseDown(e){
	clearDrawing();
	if (!e) 
	    var e=window.event;
	StartX=e.clientX;
	StartY=e.clientY;
	if (e.which) rightclick=(e.which==3);else if (e.button) rightclick=(e.button==2);
	if (rightclick) {bMouseRightKeyDown=true;}else{bMouseLeftKeyDown=true;}
	return false;
}
function mouseUp(e){
	if (!e) var e=window.event;
	if (e.which) rightclick=(e.which==3);else if (e.button) rightclick=(e.button==2);
	drop();
	if (rightclick) {bMouseRightKeyDown=false;}else{bMouseLeftKeyDown=false;}
	StartX=0;
	StartY=0;
	return false;
}
function getMouseXY(posX, posY){
	iMousePosX=posX;
	iMousePosY=posY;
	if(oDragObj!=null){
	
//		var nt=iMousePosY-(iDragObjTopDiff+50);
//		var nw=iMousePosX-(iDragObjLeftDiff+50);
//		var pg=parent.document.getElementById('page');
//		var tb=document.getElementById("tablePage");
//		var fh=parseInt(pg.offsetHeight);
//		var ph=parseInt(tb.offsetHeight);
//		var mt=fh-ph;
//		var fw=parseInt(pg.offsetWidth);
//		var pw=parseInt(tb.offsetWidth);
//		var mw=fw-pw;
//		if(nt>0) nt=0;
//		if(nt<mt) nt=mt;
//		if(nw>0) nw=0;
//		if(nw<mw) nw=mw;
//		try{
//			var t=fh;if(t<0) oDragObj.style.top=nt+"px";
//			var l=fw;
//			if (l<0) oDragObj.style.left=nw+"px";
//			rePaint();
//		}catch(E){}
        //window.status="SCROLL: StartX="+StartX+" and StartY="+StartX+" Current X: "+posX+"  Current Y: "+posY;
        var dx = (posX-StartX)*-1;
        var dy = (posY-StartY)*-1;
        window.scrollBy(dx,dy);
        StartX=posX;
        StartY=posY;
	}
	return true;
}
function getMouseXYPos(e){
	if (!e) var e=window.event;
	//getMouseXY(e.clientX+document.body.scrollLeft,e.clientY+document.body.scrollTop);
	getMouseXY(e.clientX,e.clientY);
	return false;
}
function handle(delta){
	var pg=parent.document.getElementById('page');
	var tp=document.getElementById("tablePage");
	var nt=tp.offsetTop+delta;
	var fh=parseInt(pg.offsetHeight);
	var ph=parseInt(tp.offsetHeight);
	var mt=fh-ph;
	if (tp) {
		if (delta<0){if (nt-20>0) nt=0;else nt=nt-20;}
		else{if (nt+20>0) nt=0;else nt=nt+20;}
		if (nt<mt) nt=mt;
		tp.style.top=nt+"px";
		clearDrawing();
		rePaint();
	}
}
function clearDrawing(){
//	var cv = document.getElementById('drawCanvas');
//	cv.style.height='0px';
//	cv.style.Width='0px';
//	cv.innerHTML = '';
}
function wheel(event){
	var delta=0;
	if (!event) event=window.event;
	if (event.wheelDelta) {
		delta=event.wheelDelta/120;
		if(window.opera) delta=-delta;
	} else if (event.detail) {delta=-event.detail/3;}
	if (delta) handle(delta);
	if (event.preventDefault) event.preventDefault();
	event.returnValue=false;
}
document.onmousedown=mouseDown;
document.onmouseup=mouseUp;
document.onmousemove=getMouseXYPos;
//if (window.addEventListener) window.addEventListener('DOMMouseScroll',wheel,false);
//document.onmousewheel=wheel;