﻿var gv_stockOutAC=new Array();
var gv_stockOutName=new Array();
var gv_stockOutIndex=0; 
var gv_stockOutFocusIndex=0; 
var gv_stockOutNumPerPage=0;
var gv_stockOutCurPage=0; 
var gv_stockOutTotPage=0;
var gv_stockOutEditingData=0;
var gv_stockOutDataCategory=null;
var gv_stockOutEditedName=null; 
var gv_stockOutEditedValue=null; 
var gv_tempTable;
var gv_stockOutRowH=20;
var gv_scrollCurPage=0;
var gv_scrollTotPage=0;
var StockOutPartCode = 1;
var StockOutiPage = 1;
var StockOutTotalPage = 1;
var StockOutListPD = 0;//pan duan showStockOutList(1);

function doStockOutList()
{
    if(document.getElementById('StockOut_Product_Code')){ StockOutPartCode = document.getElementById('StockOut_Product_Code').value;}
	var url = gv_rooturl+"?cmd=StockOutList"+"&StockOutPartCode="+StockOutPartCode+"&StockOutiPage="+StockOutiPage;
	var xmlhttp = newHttpRequest(url,true);
	if( xmlhttp==null ) return;
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4 ) {
			if( xmlhttp.status!=200 ) alert("Connection error");
			else 
			{
			    var stockouttotalpages=xmlhttp.responseXML.getElementsByTagName("StockOutTotalPage");
                StockOutTotalPage = parseInt(stockouttotalpages[0].firstChild.nodeValue);
			    renewStockOutList(xmlhttp.responseXML);
			}
			document.getElementById('idloading').style.visibility='hidden';
			
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}

function renewStockOutList(xmldoc)
{
	var stocks=xmldoc.getElementsByTagName("Product");
	var hidden=document.getElementById('popCmds');
	gv_stockOutAC.length=gv_stockOutName.length=0;
	gv_stockOutIndex=0;
	
    for(var i=0; i<stocks.length; i++) {
		var curNode=stocks[i].firstChild;
		gv_stockOutAC[i]=gv_stockOutName[i]="";
		while( curNode ) 
		{
			switch(curNode.nodeName){
				case "ProductCode" : gv_stockOutAC[i]=curNode.firstChild.nodeValue;  break;
				case "Name" : gv_stockOutName[i]=curNode.firstChild.nodeValue;  break;
			}
			curNode=curNode.nextSibling;
			
		}
    }
    if(stocks.length==0) alert("No products found!");
    else {
		gv_stockOutTotPage=0;
//					document.getElementById('pn_cur2').style.visibility = 'visible';
//					document.getElementById('img_mleft2').style.visibility = 'visible';
//					document.getElementById('img_mright2').style.visibility = 'visible';
//					document.getElementById('pn_left2').style.visibility = 'visible';
//					document.getElementById('pn_right2').style.visibility = 'visible';

		showStockOutList(0);
		hidden.style.visibility='hidden';
		
	}
}
function showStockOutList(StatusStockOut)
{
    if(StatusStockOut == 0)
    {
        gv_stockOutCurPage=0; 
        gv_stockOutTotPage=0;
    }
    else if(StatusStockOut == 1)
    {}
    if(StockOutListPD == 1)
    {
        gv_stockOutCurPage = StockOutListCurPage;
        gv_stockOutTotPage = StockOutListTotPage;
    }
    StockOutListPD = 0;
	if(gv_stockOutAC.length==0) return;
    gv_tempTable = document.getElementById('tempTable');
	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdstr="<td height='"+gv_stockOutRowH+"px'>";
	var tabstr="<table border='1' cellpadding='1' cellspacing='0' style='position:absolute;width:"+(gv_winw-4)+"px;left:2px;'>"; 
	//var ixs=gv_stockOutCurPage*gv_stockOutNumPerPage;
	var idx=0;
    for(var i=0; i<gv_stockOutAC.length; i++) {
		var imgName=idx==gv_stockOutIndex ? 'radon.png':'radoff.png';
		var trColor=idx==gv_stockOutIndex ? '#ffcc00':'#add8e6';
		var radstr="<td width='22px' height='"+gv_stockOutRowH+"px'><input type='image' src='img/"+imgName+
			"' id='pro_img"+idx+"' onclick='stockOutRowClicked(event);'";
		if(gv_device==Nokia) radstr+="onfocus='overStockOutItem(event);' onblur='leavStockOutItem(event);'></td>";
		else radstr+="onmouseover='overStockOutItem(event);' onmouseleave='leavStockOutItem(event);'></td>";
		tabstr+="<tr id='pro_row"+idx+"' onclick='stockOutRowClicked(event);' style='background-color:"+
			trColor+";'>"+radstr + tdstr+gv_stockOutAC[i]+"</td>"+tdstr+gv_stockOutName[i]+"</td></tr>";
		//ycur+=gv_stockOutRowH;
		//if(ycur+45>gv_winh) break; else 
		idx++;
    }
//    if(gv_stockOutTotPage==0) {
//		gv_scrollCurPage=gv_stockOutCurPage=0;
//		gv_stockOutNumPerPage=i;
//		var ntt=gv_stockOutAC.length;
//		gv_stockOutTotPage=0;
//		while(ntt>0) {gv_stockOutTotPage++; ntt-=gv_stockOutNumPerPage; }
		gv_scrollTotPage=StockOutTotalPage;
		if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockOutPageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockOutPageRight;
			mright.style.cursor='hand';
		}
    //}
    gv_tempTable.innerHTML=tabstr+"</table>";
    gv_tempTable.style.left='0px';
    gv_tempTable.style.visibility='visible';
    if(gv_device!=Nokia) {
		var btnBack=document.getElementById("back2submenu");
		btnBack.style.pixelTop=gv_winh-28;
		btnBack.style.visibility = "hidden";
	}
	gv_stockOutFocusIndex=gv_stockOutIndex;
	
    var stockoutcmd= document.getElementById('proCmds');
	stockoutcmd.style.pixelLeft=gv_winw-stockoutcmd .style.pixelWidth-1;
	stockoutcmd .style.pixelTop = gv_winh-29;
    stockoutcmd.style.visibility='visible';
    if(gv_device!=Nokia) {
		var btn1=document.getElementById('btnStockOutDetail');
		if(btn1==null) setStockOutPageScrollCommands(
			"<input type='button' id='btnStockOutDetail' value='OK' onclick='editStockOutDetail(0);' />",
			"<input type='button' id='btnStockOutEdit' value='OK' onclick='editStockOutDetail(0);' />");
			document.getElementById("btnStockOutEdit").style.visibility="hidden";
	     }
	setStockOutPageScroll();
	doNokiaMenuStockOutList();    
}

function stockOutRowClicked(ee)
{
	var srcele=getEventObject(ee);
	if(srcele.id.length<8) return;
	var newIndex=parseInt(srcele.id.substring(7));
	if(gv_stockOutIndex==newIndex) return;
	document.getElementById('pro_row'+gv_stockOutIndex).style.backgroundColor='#add8e6';
	document.getElementById('pro_img'+gv_stockOutIndex).src='img/radoff.png';
	document.getElementById('pro_row'+newIndex).style.backgroundColor='#ffcc00';
	document.getElementById('pro_img'+newIndex).src='img/radon.png';
	gv_stockOutIndex=newIndex;
}
function overStockOutItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockOutIndex) return; 
	srcobj.src="img/radover.png";
}
function leavStockOutItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockOutIndex) return; 
	srcobj.src="img/radoff.png";
}

function doNokiaMenuStockOutList()
{
	if(window.widget) {
		window.menu.clear();
		var mEdit = new MenuItem('OK',2102);
		mEdit.onSelect=editStockOutDetail;
		window.menu.append(mEdit);
//		var mBack = new MenuItem('Back',2103);
//		mBack.onSelect=backProducts;
//		window.menu.append(mBack);
	}
}
function getStockOutDetail()
{
	 var ACIndex=gv_stockOutCurPage*gv_stockOutNumPerPage+gv_stockOutIndex;
	var url = gv_rooturl+"?cmd=StockOutDetail&ProductCode="+gv_stockOutAC[ACIndex]+"&index="+ACIndex;
	var xmlhttp = newHttpRequest(url,true);
	if( xmlhttp==null ) return;
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4 ) {
			if( xmlhttp.status!=200 ) alert("Connection error");
			else {
				    gv_stockOutDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockOutDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockOutDataCategory.length;
//					document.getElementById('pn_cur2').style.visibility = 'hidden';
//					document.getElementById('img_mleft2').style.visibility = 'hidden';
//					document.getElementById('img_mright2').style.visibility = 'hidden';
//					document.getElementById('pn_left2').style.visibility = 'hidden';
//					document.getElementById('pn_right2').style.visibility = 'hidden';

					showStockOutDataPage("FirstLoad");
				}
			}
			    document.getElementById('idloading').style.visibility='hidden';
		}
	}     
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
	gv_stockOutEditedName=null;
	gv_stockOutEditedValue=null;
} 
function showStockOutDetail(cmdid)
{
	gv_stockOutEditingData=0;
	getStockOutDetail();

}
function editStockOutDetail(cmdid)
{
	gv_stockOutEditingData=1;
	getStockOutDetail();
}





function doStockOut()
{
   var url = gv_rooturl+"?cmd=StockOutDetail";
	var xmlhttp = newHttpRequest(url,true);
	if( xmlhttp==null ) return;
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4 ) {
			if( xmlhttp.status!=200 ) alert("Connection error");
			else {
			gv_stockOutDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockOutDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockOutDataCategory.length;
					gv_stockOutEditingData=1;
//					document.getElementById('pn_cur2').style.visibility = 'hidden';
//					document.getElementById('img_mleft2').style.visibility = 'hidden';
//					document.getElementById('img_mright2').style.visibility = 'hidden';
//					document.getElementById('pn_left2').style.visibility = 'hidden';
//					document.getElementById('pn_right2').style.visibility = 'hidden';
					showStockOutDataPage("FirstLoad");
				}
			}
			document.getElementById('idloading').style.visibility='hidden';
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}


function getStockOutSysTime()
{
  var myDate,s = "";
  myDate = new Date();
  var Day = (myDate.getDate() > 9) ? myDate.getDate() : "0" + myDate.getDate();
  var Month = (myDate.getMonth() + 1) > 9 ? (myDate.getMonth() + 1) : "0" + (myDate.getMonth() + 1);
  s += Day + "/" + Month + "/" + myDate.getFullYear();
  return s;
}
var StockOut_Date=getStockOutSysTime(); 
var StockOut_Product_Code="",StockOut_Description="",StockOut_Reference="",StockOut_Quantity="";
var oStockOut_Date="",oStockOut_Product_Code="",oStockOut_Description="",oStockOut_Reference="",oStockOut_Quantity="";


function showStockOutDataPage(status)
{
    gv_tempTable = document.getElementById('tempTable');

	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdh="height='"+gv_stockOutRowH+"px'";  //height='24px'
	
	if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockOutPageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockOutPageRight;
			mright.style.cursor='hand';
		}
		
    gv_tempTable.style.left='0px';
    gv_tempTable.style.visibility='visible';
    if(gv_device!=Nokia) {
		var btnBack=document.getElementById("back2submenu");
		btnBack.style.pixelTop=gv_winh-28;
		btnBack.style.visibility = "visible";
	}
	
	gv_stockOutFocusIndex=gv_stockOutIndex;
	var stockoutcmd = document.getElementById('proCmds');
	stockoutcmd.style.pixelLeft=gv_winw-stockoutcmd.style.pixelWidth-1;
	stockoutcmd.style.pixelTop = gv_winh-29;
	
    stockoutcmd.style.visibility='visible';
    
     gv_tempTable = document.getElementById('tempTable');
	
    var widstyle="style='width:"+Math.round(gv_winw/2).toString()+"px' ";
	var tabstr="<table cellpadding='1' cellspacing='0' style='position:absolute;background-color:#98F898;width:"+(gv_winw-4)+"px;left:2px;'>"; 	
	var rowJump="<tr><td align=right "+tdh+">Jump to Page</td><td><select class='edtxt' "+widstyle+" id='selstockoutcat' onchange='jumpToStockOutCat();'>";
    for(var ic=0; ic<gv_stockOutDataCategory.length; ic++) {
		var attName0=gv_stockOutDataCategory[ic].attributes.getNamedItem("title");
		if(attName0) {
			var tname=attName0.value.replace('_',' ');
			rowJump+="<option label='"+tname+"'";
			if(ic==gv_scrollCurPage) rowJump+=" selected=true";
			rowJump+=">"+tname+"</option>";
		}
	}
	rowJump+="</select></td></tr>"
    for(var ic=gv_scrollCurPage; ic<gv_stockOutDataCategory.length; ic++) {
		var attName=gv_stockOutDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var rowtxt=ic==gv_scrollCurPage ? rowJump:'';
		rowtxt += "<tr><td colspan=2 align=center "+tdh+" style='color:blue;font-weight:bold;text-decoration:underline;'>"
			+attName.value+"</td></tr>";
		ycur+=gv_stockOutRowH;
//        var rowtxt = "";
		var curNode=gv_stockOutDataCategory[ic].firstChild;
		var end_tdr = "></td></tr>";
		while( curNode ) 
		{
			var itemName=curNode.nodeName;
			var itemId=ic.toString()+"_"+itemName;
			var ndv=curNode.firstChild;
			var itemVal=getEditedStockOutData(itemId);
			if(itemVal==null) itemVal=ndv?ndv.nodeValue:'';
      if(status=="FirstLoad")
      {
			if(itemName=="Product_Code")
			{
			    StockOut_Product_Code = itemVal;
			    rowtxt+="<tr><td align=right "+tdh+">Product Code <span style='color:red'>*</span></td>";
				rowtxt+="<td align=center"+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' style='width:125px;height:20px;'value='"+StockOut_Product_Code+"' id='StockOut_Product_Code'><input type='Button' id='GetStockListForStockOutPageBtn' value='Get' onclick='getStockListForStockOut()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td>";
			}
            else if(itemName=="Description")
            {
               // StockOut_Description = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Description+"' id='StockOut_Description'"+end_tdr;
            }
            else if(itemName=="Date")
            {
                StockOut_Date = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Date &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Date+"' id='StockOut_Date'"+end_tdr;
            }
            else if(itemName=="Reference")
            {
                StockOut_Reference = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Reference+"' id='StockOut_Reference'"+end_tdr;
            }
            else if(itemName=="Cost_Code")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Cost Code &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Quantity")
            {
                StockOut_Quantity = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Quantity &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Quantity+"' id='StockOut_Quantity'"+end_tdr;
            }
            else if(itemName=="In_Stock")
            {
               	rowtxt+="<tr><td align=right "+tdh+">In Stock &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"' ReadOnly"+end_tdr;
            }
            else if(itemName=="Sales_Price")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Sales Price &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly "+end_tdr;
            }
            else if(itemName=="On_Order")
            {
               	rowtxt+="<tr><td align=right "+tdh+">On Order &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Allocated")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Allocated &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }

			curNode=curNode.nextSibling;
			ycur+=gv_stockOutRowH;
			}
			else if(status == "OtherLoad")
			{
			  if(itemName=="Product_Code")
			{
			    StockOut_Product_Code = itemVal;
			    rowtxt+="<tr><td align=right "+tdh+">Product Code <span style='color:red'>*</span></td>";
				rowtxt+="<td align=center"+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' style='width:125px;height:20px;'value='"+StockOut_Product_Code+"' id='StockOut_Product_Code'><input type='Button' id='GetStockListForStockOutPageBtn' value='Get' onclick='getStockListForStockOut()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td>";
			}
            else if(itemName=="Description")
            {
//               StockOut_Description = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Description+"' id='StockOut_Description'"+end_tdr;
            }
            else if(itemName=="Date")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Date &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Date+"' id='StockOut_Date'"+end_tdr;
            }
            else if(itemName=="Reference")
            {
               // StockOut_Reference = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Reference+"' id='StockOut_Reference'"+end_tdr;
            }
            else if(itemName=="Cost_Code")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Cost Code &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Quantity")
            {
               // StockOut_Quantity = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Quantity &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+StockOut_Quantity+"' id='StockOut_Quantity'"+end_tdr;
            }
            else if(itemName=="In_Stock")
            {
               	rowtxt+="<tr><td align=right "+tdh+">In Stock &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"' ReadOnly"+end_tdr;
            }
            else if(itemName=="Sales_Price")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Sales Price &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly "+end_tdr;
            }
            else if(itemName=="On_Order")
            {
               	rowtxt+="<tr><td align=right "+tdh+">On Order &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"' ReadOnly"+end_tdr;
            }
            else if(itemName=="Allocated")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Allocated &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockOutDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }

			curNode=curNode.nextSibling;
			ycur+=gv_stockOutRowH;
			}
		}
		//if(ic==gv_scrollCurPage || ycur+45<gv_winh) tabstr+=rowtxt; else break;
		if(ic==gv_scrollCurPage) tabstr+=rowtxt;
    }
    tabstr += "</table>";
    gv_tempTable.innerHTML = tabstr;
	setStockOutPageScrollCommands("<input type='button' id='savestockoutdata' value='Save' onclick='saveStockOutData();' />","");	
   	if(document.getElementById('savestockoutdata')==null) setStockOutPageScrollCommands('','');
	setStockOutPageScroll();
	setTopTitle('Products -> Stock Out');
	doNokiaMenuStockOutPage();
}
function doNokiaMenuStockOutPage()
{
	if(window.widget) {
		window.menu.clear();
		var mBack = new MenuItem('Back',2102);
		mBack.onSelect=backProducts;
		window.menu.append(mBack);
	}
}

function getStockListForStockOut()
{
    StockOutiPage = 1;
    document.getElementById('savestockoutdata').style.visibility = "hidden";
    doStockOutList();
}
//function StockOutProductCode()
//{
// doProductList1();
// gv_pageName="StockOut";
//}
function setStockOutPageScroll()
{
    var pncur=document.getElementById('pn_cur2');
    pncur.innerHTML='Page '+(gv_scrollCurPage+1)+' of '+gv_scrollTotPage;
    var pnleft=document.getElementById('pn_left2');
    pnleft.innerHTML=gv_scrollCurPage>0 ? gv_scrollCurPage.toString():'';
    var pnright=document.getElementById('pn_right2');
    pnright.innerHTML=gv_scrollCurPage<gv_scrollTotPage-1 ? (gv_scrollCurPage+2).toString():'';    
}
function stockOutPageLeft()
{
	if(gv_scrollCurPage<=0) return;

	var selcat=document.getElementById('selstockoutcat'); 
	var divtab=document.getElementById('tempTable');
	var tleft=divtab.style.pixelLeft;
	if(tleft>=gv_winw-30) {	
		gv_scrollCurPage--;
		divtab.style.pixelLeft=0;
		if(selcat) { 
			if(gv_stockOutEditingData==1) checkStockOutPageEdited(gv_scrollCurPage+1); 
			selcat.selectedIndex=gv_scrollCurPage;
			showStockOutDataPage("OtherLoad");
		}
		else { 
			gv_stockOutCurPage=gv_scrollCurPage;		
			gv_stockOutIndex=0;
			StockOutiPage--;
			if(StockOutiPage < 1)
			{
			    StockOutiPage = 1;
			    return;
			}
			StockOutListPD = 1;
			StockOutListCurPage = gv_stockOutCurPage;
            StockOutListTotPage = gv_stockOutTotPage;
			doStockOutList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft+30;
		setTimeout("stockOutPageLeft();",75);
	}
}
function stockOutPageRight()
{
	if(gv_scrollCurPage>=gv_scrollTotPage-1) return;
	
	var selcat=document.getElementById('selstockoutcat');
	var divtab=document.getElementById('tempTable');
	var tleft=divtab.style.pixelLeft;
	if(tleft<30-gv_winw) {	
		gv_scrollCurPage++;
		divtab.style.pixelLeft=0;
		if(selcat) {
			selcat.selectedIndex=gv_scrollCurPage;
			if(gv_stockOutEditingData==1) checkStockOutPageEdited(gv_scrollCurPage-1); 
			showStockOutDataPage("OtherLoad");			
		}
		else { 
			gv_stockOutCurPage=gv_scrollCurPage;		
			gv_stockOutIndex=0;
			StockOutiPage++;
			if(StockOutiPage > StockOutTotalPage)
			{
			    StockOutiPage = StockOutTotalPage;
			    return;
			}
			StockOutListPD = 1;
			StockOutListCurPage = gv_stockOutCurPage;
            StockOutListTotPage = gv_stockOutTotPage;
			doStockOutList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft-30;
		setTimeout("stockOutPageRight();",75);
	}
}
function jumpToStockOutCat()
{
  var selcat = document.getElementById('selstockoutcat');
	if(gv_stockOutEditingData==1) checkStockOutPageEdited(gv_scrollCurPage); 
	gv_scrollCurPage=selcat.selectedIndex;	
	showStockOutDataPage("OtherLoad");
}

function checkStockOutPageEdited(pagenum)
{
	var itemEle=null;
    for(var ic=pagenum; ic<gv_stockOutDataCategory.length; ic++) {
		var attName=gv_stockOutDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var curNode=gv_stockOutDataCategory[ic].firstChild;
		while( curNode ) 
		{
			var ndv=curNode.firstChild;
			var oldv=ndv?ndv.nodeValue:''
			var itemId=ic.toString()+"_"+curNode.nodeName;
			itemEle=document.getElementById(itemId);
			if(itemEle==null) break;
			var newv=itemEle.value;
			if(oldv!=newv) setEditStockOutData(itemId,newv); 
			curNode=curNode.nextSibling;
		}
		if(itemEle==null) break;
    }
}
function setEditStockOutData(itemName,edValue)
{
	if(!gv_stockOutEditedName) {
		gv_stockOutEditedName=new Array();
		gv_stockOutEditedValue=new Array();
	}
	for(var i=0; i<gv_stockOutEditedName.length; i++){
		if(gv_stockOutEditedName[i]==itemName) {	gv_stockOutEditedValue[i]=edValue; return; }
	}
	gv_stockOutEditedValue[gv_stockOutEditedName.length]=edValue;	
	gv_stockOutEditedName[gv_stockOutEditedName.length]=itemName;
}

function getEditedStockOutData(itemName)
{
  if(!gv_stockOutEditedName) return null;	
	for(var i=0; i<gv_stockOutEditedName.length; i++) {
		if(gv_stockOutEditedName[i]==itemName) return gv_stockOutEditedValue[i];
	}

}

function setStockOutPageScrollCommands(cmd1,cmd2)
{
	document.getElementById('probtn1').innerHTML=cmd1;
	document.getElementById('probtn2').innerHTML=cmd2;
	var procmd =document.getElementById('proCmds').style;
	var ncmds=cmd1.length<5 ? 0:1;
	if(cmd2.length>5) 
    ncmds++;
	procmd .pixelWidth=150+50*ncmds;
	procmd .pixelLeft=gv_winw-procmd .pixelWidth-1;
}
function showSaveStockOutDataButton()
{
    if(document.getElementById('StockOut_Product_Code'))
    {
        StockOut_Product_Code = document.getElementById('StockOut_Product_Code').value;
        oStockOut_Product_Code = "ok";
    }
    if(document.getElementById('StockOut_Description'))
    {
        StockOut_Description = document.getElementById('StockOut_Description').value;
        oStockOut_Description = "ok";
    }
    if(document.getElementById('StockOut_Date'))
    {
        StockOut_Date = document.getElementById('StockOut_Date').value;
        oStockOut_Date = "ok";
    }
    if(document.getElementById('StockOut_Reference'))
    {
        StockOut_Reference = document.getElementById('StockOut_Reference').value;
        oStockOut_Reference = "ok";
    }
    if(document.getElementById('StockOut_Quantity'))
    {
        StockOut_Quantity = document.getElementById('StockOut_Quantity').value;
        oStockOut_Quantity = "ok";
    }

	if(document.getElementById('savestockoutdata')) return;
	setStockOutPageScrollCommands("<input type='button' id='savestockoutdata' value='Save' onclick='saveStockOutData();' />","");
	//document.getElementById('savestockoutdata').style.visibility = "visible";
}


function saveStockOutData()
{
    if(StockOut_Product_Code == "")
    {
        alert("Please Select A Product!");
        //showStockOutDataPage("FirstLoad");
        return;
    }
    var ACIndex=gv_stockOutCurPage*10+gv_stockOutIndex;
	var url=gv_rooturl+"?cmd=SaveStockOutData&ProductCode="+gv_stockOutAC[gv_stockOutIndex]+"&index="+ACIndex;

//	if(oStockOut_Product_Code == "ok") { url+="&Product_Code="+StockOut_Product_Code;}
	if(oStockOut_Description == "ok") { url+="&Description="+StockOut_Description;}
	if(oStockOut_Date == "ok") { url+="&Date="+StockOut_Date;}
	if(oStockOut_Reference == "ok") { url+="&Reference="+StockOut_Reference;}
	if(oStockOut_Quantity == "ok") { url+="&Quantity="+StockOut_Quantity;}

	
	var xmlhttp = newHttpRequest(url,true);
	if( xmlhttp==null ) return;
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4 ) {
			if( xmlhttp.status!=200 ) alert("Connection error");
			else if(xmlhttp.responseText=='1') {
				alert("Data saved OK.");
				gv_stockOutEditedName=null;
				gv_stockOutEditedValue=null;
				document.getElementById('savestockoutdata').style.visibility = "hidden";
                StockOut_Date=getStockOutSysTime(); 
                StockOut_Product_Code="",StockOut_Description="",StockOut_Reference="",StockOut_Quantity="";
                oStockOut_Date="",oStockOut_Product_Code="",oStockOut_Description="",oStockOut_Reference="",oStockOut_Quantity="";
				backProducts();
			}
			else alert("Server error!");
			document.getElementById('idloading').style.visibility='hidden';
			document.getElementById('idSaving').style.visibility='hidden';
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
	document.getElementById('idSaving').style.visibility='visible';
}

