﻿// JScript File

var ie=document.all;
var nn6=document.getElementById&&!document.all;

var CsrAct=false;
var DrgAct=false;
var ErsAct=false;
var ImgDrg=false;
var ColDrg=false;
var TxtDrg=false;
var STxDrg=false;
var OvrAct=false;
var BSpSel=0;
var CurXPs
var CurYPs;
var MouXPs;
var MouYPs;
var DrgObj;
var MouTOt=null;
var MouStp=true;

document.onmousemove=MovMou;
document.onmousedown=SelMou;
document.onmouseup=  ClsMou;

function SetBSp(Sel)
{
	BSpSel=Sel;
	return false;
}

function HdlKey(Evt)
{
  var Ret=true;
  var Cod=0;
  var Ctl=null;
  var Fnd=false;
  var Pre;
  var Nam;
  var CIx;
  var Idx;
  var Nxt;
  if (!Evt) Evt=window.event;
	if (Evt.keyCode) 
	{
		Cod=Evt.keyCode; 
	}
	else
	{
		if (Evt.which) 
		{
			Cod=Evt.which;
		}
	}
	if (Evt.target) 
	{
		Ctl=Evt.target;
	}
	else 
	{
		if (Evt.srcElement) Ctl=Evt.srcElement;
		if (Ctl.nodeType==3) // defeat Safari bug
		{
			Ctl=Ctl.parentNode;
		}
	}
	if (Ctl!=null)
	{
	  for (CIx=0; CIx<4; CIx++)
	  {
	    if (CIx==0) Pre="txtCerNm";
	    if (CIx==1) Pre="txtCCrNm";
	    if (CIx==2) Pre="txtRCrNm";
	    if (CIx==3) Pre="txtROrCr";
			for (Idx=0; Idx<9; Idx++)
			{
				Nam=Pre + (Idx+1);
				if (Ctl.id==Nam) 
				{
					Fnd=true; 
					switch (Cod)
					{
					case 8:  // Backspace
		    		if (document.getElementById(Nam).value=="")
						{
							if (Idx>0)
							{
								Nxt=Pre + Idx;
								document.getElementById(Nxt).value="";
								document.getElementById(Nxt).focus();
							}
						}
						else document.getElementById(Nam).value="";
						break;
					case 13:
					  if (!document.getElementById("cmdCerNum").disabled) OpnCer();
					  break;
					case 46: // Delete
						document.getElementById(Nam).value="";				
						break;
					case 37: // Left Arrow
						if (Idx>0)
						{
							Nxt=Pre + Idx;
							document.getElementById(Nxt).focus();
						}
						break;
					case 39: // Right Arrow
						if (Idx<8)
						{
							Nxt=Pre + (Idx+2);
							document.getElementById(Nxt).focus();
						}
						break;
					default:
						if ((Cod>=48 && Cod<=59) || (Cod>=96 && Cod<=105))
						{
							if (Cod>59) Cod-=48;
							document.getElementById(Nam).value=String.fromCharCode(Cod);
							if (Idx<8) 
							{
								Nxt=Pre + (Idx+2);
								document.getElementById(Nxt).focus();
							}
							ChkCer(CIx);
						}
					}
					Ret=false;
				}
			}
		}
		if (!Fnd)
		{
		  if (Cod==8)
		  {
				Ret=false;
		    if (BSpSel==1)					 Ret=true;
				if (Ctl.id=="txtTxtLn1") Ret=true;
				if (Ctl.id=="txtTxtLn2") Ret=true;
				if (Ctl.id=="txtBrdLns") Ret=true;
				if (Ctl.id=="txtGftCrd") Ret=true;
				if (Ctl.id=="txtThwQty") Ret=true;
				if (Ctl.id=="txtTBgQty") Ret=true;
				if (Ctl.id=="txtPurQty") Ret=true;
				if (Ctl.id=="txtSPlQty") Ret=true;
				if (Ctl.id=="txtLPlQty") Ret=true;
				if (Ctl.id=="txtSWHQty") Ret=true;
				if (Ctl.id=="txtLWHQty") Ret=true;
				if (Ctl.id=="txtGWHQty") Ret=true;
				if (Ctl.id=="txtUsrNam") Ret=true;
				if (Ctl.id=="txtUsrPwd") Ret=true;
				if (Ctl.id=="txtBrdMgm") Ret=true;
				if (Ctl.id=="txtBbyNam") Ret=true;
				if (Ctl.id=="txtBbyLbs") Ret=true;
				if (Ctl.id=="txtBbyOzs") Ret=true;
				if (Ctl.id=="txtBbyBDt") Ret=true;
				if (Ctl.id=="txtBbyBTm") Ret=true;
				if (Ctl.id=="txtConFst") Ret=true;
				if (Ctl.id=="txtConLst") Ret=true;
				if (Ctl.id=="txtConPho") Ret=true;
				if (Ctl.id=="txtConEMl") Ret=true;
				if (Ctl.id=="txtConCEm") Ret=true;
				if (Ctl.id=="txtReqDte") Ret=true;
				if (Ctl.id=="txtROrCNm") Ret=true;
				if (Ctl.id=="txtROrCer") Ret=true;
				if (Ctl.id=="txtDisCod") Ret=true;
				if (Ctl.id=="txtOrdIDN") Ret=true;
				if (Ctl.id=="txtOrdQty") Ret=true;
				if (Ctl.id=="txtConUsr") Ret=true;
		  }
		  if (Cod==13)
		  {
				if (Ctl.id=="txtUsrNam") { Ret=false; }
				if (Ctl.id=="txtUsrPwd") { PrcSgn();			Ret=false; }
				if (Ctl.id=="txtFmtNam") { SelFNm();			Ret=false; }
				if (Ctl.id=="txtDupNam") { SelDNm();			Ret=false; }
				if (Ctl.id=="txtItmTxt") { SelTxt();			Ret=false; }
				if (Ctl.id=="txtOrdQty") { CalTot();      Ret=false; }
				if (Ctl.id=="txtAdjQty") { UpdQty();			Ret=false; }
				if (Ctl.id=="txtReqDte") { SelRDt(true);  Ret=false; }
				if (Ctl.id=="txtDisCod") { EvlDis();			Ret=false; }
			}
		}
	}
	else
  {
		if (Cod==8 || Cod==13) Ret=false;
	}
	return Ret;
}

function MovMou(Evt)
{
  var XPs=MouXPs;
  var YPs=MouYPs;
  var Wid;
  var Hgt;
  var XOv;
  var YOv;
  var XMn;
  var XMx;
  var YMn;
  var YMx;
  var Scl=1;
  var Ovr=false;
  MouStp=false;
  if (!Evt) Evt=window.event;  
  if (MouTOt!=null) clearTimeout(MouTOt);
  if (window.pageXOffset)																										XOv=window.pageXOffset;
	else if (document.documentElement && document.documentElement.scrollLeft)	XOv=document.documentElement.scrollLeft;
	else if (document.body)																										XOv=document.body.scrollLeft;
	if (window.pageYOffset)																										YOv=window.pageYOffset;
	else if (document.documentElement && document.documentElement.scrollTop)	YOv=document.documentElement.scrollTop;
	else if (document.body)																										YOv=document.body.scrollTop;
  MouXPs=Evt.clientX;
  MouYPs=Evt.clientY;
  MouXPs+=XOv;
  MouYPs+=YOv;
  if (XPs!=MouXPs || YPs!=MouYPs) 
  {
		MouStp=false;
		if (MouTOt!=null) clearTimeout(MouTOt);
		MouTOt=setTimeout("SetStp()",500);
	}
	if (ImgDrg) Ovr=ChkCsr(0);
  if (ColDrg) Ovr=ChkCsr(0);
  if (TxtDrg) Ovr=ChkCsr(1);
  if (STxDrg) Ovr=ChkCsr(1);
  if (ErsAct) ChkTxt();
  if (DrgAct)
  {
		XPs=tx + Evt.clientX - CurXPs;
		YPs=ty + Evt.clientY - CurYPs;
		Wid=DrgObj.width;
		Hgt=DrgObj.height
		if (Ovr) OvrAct=true;
		if (OvrAct && (TxtDrg || STxDrg))
		{
			XMn=ImgXPs+DecLWd+MrgWid;
			XMx=ImgXPs+ActWid-DecRWd-MrgWid-Wid;
			YMn=ImgYPs+DecTWd+MrgWid;
			YMx=ImgYPs+ActHgt-DecBWd-MrgWid-Hgt;
			if (TxtTyp==3)
			{
				Scl=PrdWid/(DspWid-DecLWd-DecRWd);
				if (XMn<ImgXPs+DecLWd+BrdTLs[0].XP1/Scl)			XMn=ImgXPs+DecLWd+BrdTLs[0].XP1/Scl;
				if (XMx>ImgXPs+DecRWd+BrdTLs[0].XP2/Scl-Wid)	XMx=ImgXPs+DecRWd+BrdTLs[0].XP2/Scl-Wid;
				if (YMn<ImgYPs+DecTWd+BrdTLs[0].YP1/Scl)			YMn=ImgYPs+DecTWd+BrdTLs[0].YP1/Scl;
				if (YMx>ImgYPs+DecBWd+BrdTLs[0].YP2/Scl-Hgt)	YMx=ImgYPs+DecBWd+BrdTLs[0].YP2/Scl-Hgt;
			}
		  if (XPs<XMn)	XPs=XMn;
			if (XPs>XMx)	XPs=XMx;	
			if (YPs<YMn)	YPs=YMn;
			if (YPs>YMx)	YPs=YMx;
		}
	  DrgObj.style.left=XPs+"px";
		DrgObj.style.top =YPs+"px";
		if (DrgObj.id=="imgTx1Img")
		{
			TxtXPs[0]=XPs-ImgXPs-DecLWd;
			TxtYPs[0]=YPs-ImgYPs-DecTWd;
		}
		if (DrgObj.id=="imgTx2Img")
		{
			TxtXPs[1]=XPs-ImgXPs-DecLWd;
			TxtYPs[1]=YPs-ImgYPs-DecTWd;
		}
		if (DrgObj.id=="imgST1Img")
		{
			STxXPs[0]=XPs-ImgXPs-DecLWd; 
			STxYPs[0]=YPs-ImgYPs-DecTWd;
		}	
		if (DrgObj.id=="imgST2Img")
		{
			STxXPs[1]=XPs-ImgXPs-DecLWd; 
			STxYPs[1]=YPs-ImgYPs-DecTWd;
		}	
		return false;
  }
  if (ErsAct)
  {
		XPs=tx + Evt.clientX - CurXPs;
		YPs=ty + Evt.clientY - CurYPs;
		Wid=DrgObj.width;
		Hgt=DrgObj.height
	  DrgObj.style.left=XPs+"px";
		DrgObj.style.top =YPs+"px";
		return false;
  }
  if (CsrAct && !DrgAct && !ErsAct) ChkCsr(0);
}

function SelMou(Evt) 
{
  var fobj       = nn6 ? Evt.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";
	if (!Evt) Evt=window.event;  
  if (fobj!=null)
  {
    while (fobj!=null && fobj.tagName!=topelement && fobj.className!="DrgImg" && fobj.className!="DrgCol" && fobj.className!="DrgTxt" && fobj.className!="DrgErs" && fobj.className!="DrgZom")
		{
			fobj = nn6 ? fobj.parentNode : fobj.parentElement;
		}
		if (fobj!=null)
		{
			if (fobj.className!="DrgTxt" && fobj.className!="DrgErs"  && (ImgDrg || ColDrg || STxDrg))
			{
				if (Evt.preventDefault) Evt.preventDefault(); 
			  if (ImgDrg) fobj=document.getElementById("divDrgImg"); 
			  if (ColDrg) fobj=document.getElementById("divDrgCol"); 
			  if (STxDrg) 
			  {
					if (STxIdx==0) fobj=document.getElementById("imgST1Img"); 
					if (STxIdx==1) fobj=document.getElementById("imgST2Img"); 
				}
			}
			if (fobj.className=="DrgImg" || fobj.className=="DrgCol")
			{
				if (Evt.preventDefault) Evt.preventDefault(); 
			  DrgAct=true;
				DrgObj = fobj;
				tx = parseInt(DrgObj.style.left+0);
				ty = parseInt(DrgObj.style.top+0);
				CurXPs = Evt.clientX;
				CurYPs = Evt.clientY;
			}
			if (fobj.className=="DrgTxt")
			{
				if (Evt.preventDefault) Evt.preventDefault(); 
				if (fobj.id=="imgTx1Img") { SelTxt(0); TxtDrg=true; }
				if (fobj.id=="imgTx2Img") { SelTxt(1); TxtDrg=true; }
				if (fobj.id=="imgST1Img") { SetSTx(0); STxDrg=true; }
				if (fobj.id=="imgST2Img") { SetSTx(1); STxDrg=true; }
				DrgAct = true;
				DrgObj = fobj;
				tx = parseInt(DrgObj.style.left+0);
				ty = parseInt(DrgObj.style.top+0);
				CurXPs = Evt.clientX;
				CurYPs = Evt.clientY;
				return false;
			}
			if (fobj.className=="DrgErs")
			{
				if (Evt.preventDefault) Evt.preventDefault(); 
				ErsAct = true;
				DrgObj = fobj;
				tx = parseInt(DrgObj.style.left+0);
				ty = parseInt(DrgObj.style.top+0);
				CurXPs = Evt.clientX;
				CurYPs = Evt.clientY;
				return false;
			}
			if (fobj.className=="DrgZom")
			{
				if (Evt.preventDefault) Evt.preventDefault(); 
			  DrgAct=true;
				DrgObj = fobj;
				tx = parseInt(DrgObj.style.left+0);
				ty = parseInt(DrgObj.style.top+0);
				CurXPs = Evt.clientX;
				CurYPs = Evt.clientY;
			}
		}
	}
}

function SetStp()
{
	clearTimeout(MouTOt);
	MouStp=true;
}

function ClsMou(Evt)
{
	if (DrgAct) EndDrg();
	if (ErsAct) EndErs();
	DrgAct=false;
	ErsAct=false;
	OvrAct=false;
	TxtDrg=false;
	STxDrg=false;
	return false;
}

function ChkCsr(Sel)
{
	var XPs=0;
	var YPs=0;
	var Wid=0;
	var Hgt=0;
	var CIx=0;
	var RIx=0;
	var PIx=0;
	var XP1=0;
	var YP1=0;
	var XP2=0;
	var YP2=0;
	var Ovr=false;
	if (Sel==0)
	{
		XPs=GetXPs("tblMltImg");
		YPs=GetYPs("tblMltImg");
		PanOvr=99;
		for (RIx=0; RIx<NumRow; RIx++)
		{
			for (CIx=0; CIx<NumCol; CIx++)
			{
				if (PanLst[PIx].OWd && PanLst[PIx].OHt)
				{
				  XP1=parseInt(XPs+CIx*PanLst[PIx].OWd);
				  XP2=parseInt(XPs+(CIx+1)*PanLst[PIx].OWd);
				  YP1=parseInt(YPs+RIx*PanLst[PIx].OHt);
				  YP2=parseInt(YPs+(RIx+1)*PanLst[PIx].OHt);
				  if (MouXPs>=XP1 && MouXPs<XP2 && MouYPs>=YP1 && MouYPs<YP2)
					{
						PanOvr=PIx; Ovr=true;
					}
				}
				PIx++;
			}
		}			
	}
	if (Sel==1)
	{
		XPs=GetXPs("imgDspImg");
		YPs=GetYPs("imgDspImg");
		Wid=document.getElementById("imgDspImg").width;
		Hgt=document.getElementById("imgDspImg").height;
		if (MouXPs>=XPs && MouXPs<(XPs+Wid) && MouYPs>=YPs && MouYPs<(YPs+Hgt)) Ovr=true;
	}
	return Ovr;
}

function GetXPs(Nam)
{
	var Ctl=document.getElementById(Nam);
	var Pos=0;
	while (Ctl)
	{
		Pos+=Ctl.offsetLeft;
		Ctl=Ctl.offsetParent;
	}
	return Pos;
}

function GetYPs(Nam)
{
	var Ctl=document.getElementById(Nam);
	var Pos=0;
	while (Ctl)
	{
		Pos+=Ctl.offsetTop;
		Ctl=Ctl.offsetParent;
	}
	return Pos;
}

function trim(str, chars) 
{
  return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) 
{
  chars = chars || "\\s";
  return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) 
{
  chars = chars || "\\s";
  return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function AbtLod() 
{
  var Ret=false;
  var Agt=navigator.userAgent.toLowerCase(); 
  var Obj=null;
  var Idx=0;
  // NS3+, Opera3+, IE5+ Mac, Safari (support plugin array):  check for Acrobat plugin in plugin array
  if (navigator.plugins != null && navigator.plugins.length > 0) 
  {
    for (Idx=0; Idx<navigator.plugins.length; Idx++ ) 
    {
       var plugin = navigator.plugins[Idx];
       if (plugin.name.indexOf("Adobe Acrobat")>-1) 
       {
         Ret=true;
       }
     }
  }
  // IE4+ Win32
  else 
  {
		if (Agt.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && Agt.indexOf("win")!=-1 && Agt.indexOf("16bit")==-1) 
		{
			Ret=true;
		}
	}
  return Ret;
}



