function ReturnFalse () { return(false); }
function MyMoveStart() { addHandler(gamefrm.document,'mouseup',SetMUp,false); addHandler(gamefrm.document,'mousemove',SetMMove,false); addHandler(gamefrm.document,'selectstart',ReturnFalse,false); addHandler(gamefrm.document,'dragstart',ReturnFalse,false); addHandler(gamefrm.document,'drag',ReturnFalse,false); }
function MyMoveEnd() { removeHandler(gamefrm.document,'mouseup',SetMUp,false); removeHandler(gamefrm.document,'mousemove',SetMMove,false); removeHandler(gamefrm.document,'selectstart',ReturnFalse,false); removeHandler(gamefrm.document,'dragstart',ReturnFalse,false); removeHandler(gamefrm.document,'drag',ReturnFalse,false); }
function MyResizeStart() { addHandler(document,'mouseup',SetRUp,false); addHandler(document,'mousemove',SetRMove,false); addHandler(document,'selectstart',ReturnFalse,false); addHandler(document,'dragstart',ReturnFalse,false); addHandler(document,'drag',ReturnFalse,false); }
function MyResizeEnd() { removeHandler(document,'mouseup',SetRUp,false); removeHandler(document,'mousemove',SetRMove,false); removeHandler(document,'selectstart',ReturnFalse,false); removeHandler(document,'dragstart',ReturnFalse,false); removeHandler(document,'drag',ReturnFalse,false); }
function addHandler(e,event,action,param){if(e.addEventListener){e.addEventListener(event,action,param);}else if(e.attachEvent){e.attachEvent('on'+event,action);}else{e['on'+event]=action;}}
function removeHandler(e,event,action,param){if(e.addEventListener){e.removeEventListener(event,action,param);}else if(e.attachEvent){e.detachEvent('on'+event,action);}else{e['on'+event]=action;}}
function cancelEvent(e) {if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}}

var mCurX=-99999;
var mCurY=-99999;
var mCurLeft=0;
var mCurTop=0;
var mObjLeft=0;
var mObjTop=0;
var mCurObj=null;
var mHasMoved=0;
var mCurFrm=370;
var mCurCode="";

function GetMScrollTop() {
  return ((gamefrm.document.documentElement && gamefrm.document.documentElement.scrollTop) || (gamefrm.document.body && gamefrm.document.body.scrollTop));
}

function SetObjMXY(e) {
   mCurLeft=e.x; mCurTop=e.y;
   if (isNaN(mCurLeft)) { mCurLeft=e.pageX; mCurTop=e.pageY; }
   mCurLeft=mCurLeft - 49;
   //mCurTop=mCurTop - 49;
   if (e.layerX) { mCurTop=mCurTop - GetMScrollTop(); }
   mCurTop=mCurTop + GetMScrollTop();
}

function ShowMObj(AX, AY, AImgID, AElID) {
   var xEl=gamefrm.document.getElementById(AElID);
   if (xEl!=null) {
      xEl.style.left=AX + "px";
      xEl.style.top=AY + "px";
      xEl.innerHTML="<img src=\""+ImgDir+"o/" + AImgID + ".jpg\" border=\"0\" width=\"98\" height=\"98\" alt=\"\" />";
      xEl.style.display="block";
   }
}

function SetMBounds(AX, AY) {
   mObjLeft=mCurLeft + AX - mCurX;
   mObjTop=mCurTop + AY - mCurY;
   mCurObj.style.left=mObjLeft + "px";
   mCurObj.style.top=mObjTop + "px";
}


function SetMMove(e) {
   if (((e.screenX!=mCurX) && (mCurX!=-99999)) || ((e.screenY!=mCurY) && (mCurY!=-99999))) {
      if (mCurObj!=null) {
         mHasMoved=1;
         SetMBounds(e.screenX, e.screenY);
      }
   }
}

function SetMDown(e, AImgID, ALID, AID, ACode) {
   gamefrm.SelectObj(ALID, AID, ACode, AImgID);
   mHasMoved=0;
   DisableHint();
   MyMoveStart();
   cancelEvent(e);
   mCurObj=gamefrm.document.getElementById("movobj");
   if (mCurObj!=null) {
      mCurX=e.screenX;
      mCurY=e.screenY;
      mCurCode=ACode;
      SetObjMXY(e);
      ShowMObj(mCurLeft, mCurTop, AImgID, "movobj");
   }
}


function SetMUp(e) {
   MyMoveEnd();
   if ((mCurX!=-99999) && (mHasMoved==1)) {
      if (mCurCode=="bag") {
         if (((mObjLeft<400) && (gamefrm.curScreen=="bag")) || (mObjLeft<350)) {
            if (gamefrm.curScreen=="bag") { gamefrm.PutOn(); }
            else if (gamefrm.curScreen=="market") { gamefrm.MarketSell(); }
            else if (gamefrm.curScreen=="house") { gamefrm.HouseBuild(); }
            else { gamefrm.ShopSell(); }
         }
      } else if (mCurCode=="hero") {
         if (mObjLeft>500) {
            gamefrm.PutOff("");
         } else if (mObjLeft<5) { gamefrm.PutMove(0); }
           else if (mObjLeft<310) { gamefrm.PutMove(1); }
           else if (mObjLeft<360) { gamefrm.PutMove(2); }
           else if (mObjLeft<410) { gamefrm.PutMove(3); }
      } else if (mCurCode=="market") {
         if (mObjLeft>500) {
            gamefrm.MarketBuy();
         }
      } else {
         if (mObjLeft>500) {
            gamefrm.ShopBuy();
         }
      }
      //alert(gamefrm.curScreen + " : " + mCurCode + " : " + mObjLeft + " : " + mObjTop);
   }
   if (mCurObj!=null) { mCurObj.style.display="none"; }
   mHasMoved=0;
   mCurObj=null;
   mCurX=-99999;
   EnableHint();
}


function SetRMove(e) {
   if (((e.screenX!=mCurX) && (mCurX!=-99999)) || ((e.screenY!=mCurY) && (mCurY!=-99999))){
      if (mCurObj!=null) {
         mHasMoved=1;
         mCurLeft=e.screenX;
         mCurTop=e.screenY;
      }
   }
}

function SetRDown(e) {
   mHasMoved=0;
   DisableHint();
   MyResizeStart();
   cancelEvent(e);
   mCurObj=document.getElementById("gamefrm");
   if (mCurObj!=null) {
      //mCurObj.style.display="none";
      var xEl=document.getElementById("enabler");
      xEl.style.display="block";
      xEl.style.left="0px";
      xEl.style.top="0px";
      xEl.style.width=document.body.clientWidth + "px";
      xEl.style.height=document.body.clientHeight + "px";


      mCurX=e.screenX;
      mCurY=e.screenY;
      mCurLeft=mCurX;
      mCurTop=mCurY;
   }
}


function SetRUp(e) {
   MyResizeEnd();

   var xEl=document.getElementById("enabler");
   xEl.style.display="none";

   if ((mCurX!=-99999) && (mHasMoved==1)) {
      if (mCurY!=mCurTop) {
         mCurFrm=mCurFrm + (mCurTop - mCurY);
         if (mCurFrm<330) { mCurFrm=330; }
         if (mCurObj!="") {
            mCurObj.style.height=mCurFrm + "px";
            var xEl=document.getElementById("gamefri");
            xEl.style.height=(eval(mCurFrm) + 10) + "px";
            setDesign();
         }
      }
   }
   if (mCurObj!="") { mCurObj.style.display="block"; }
   mHasMoved=0;
   mCurObj=null;
   mCurX=-99999;
   EnableHint();
}


