﻿var gv_stockTakeAC=new Array();
var gv_stockTakeName=new Array();
//var gv_stockTakeFocusIndex=0;
var gv_scrollCurPage=0;
var gv_scrollTotPage=0;
var gv_stockTakeEditingData=0;
var gv_stockTakeRowH=20;
var gv_stockTakeEditedName=null;
var gv_stockTakeDataCategory=null; 
var gv_stockTakeEditedValue=null;
var gv_stockTakeCurPage=0;
var gv_stockTakeTotPage=0;
var gv_tempTable;
var gv_stockTakeNumPerPage=0;
var gv_stockTakeIndex=0;
var StockTakePartCode = 1;
var StockTakeiPage = 1;
var StockTakeTotalPage = 1;
var StockTakeListPD = 0;//pan duan showStockTakeList(1);
function doStockTakeList()
{
    if(document.getElementById('StockTake_Product_Code')){ StockTakePartCode = document.getElementById('StockTake_Product_Code').value;}
	var url = gv_rooturl+"?cmd=StockTakeList"+"&StockTakePartCode="+StockTakePartCode+"&StockTakeiPage="+StockTakeiPage;
	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 stocktaketotalpages=xmlhttp.responseXML.getElementsByTagName("StockTakeTotalPage");
                StockTakeTotalPage = parseInt(stocktaketotalpages[0].firstChild.nodeValue); 
			    renewStockTakeList(xmlhttp.responseXML);
			}
			document.getElementById('idloading').style.visibility='hidden';
			
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}

function renewStockTakeList(xmldoc)
{
	var stocks=xmldoc.getElementsByTagName("Product");
	var hidden=document.getElementById('popCmds');
	gv_stockTakeAC.length=gv_stockTakeName.length=0;
	gv_stockTakeIndex=0;
	
    for(var i=0; i<stocks.length; i++) {
		var curNode=stocks[i].firstChild;
		gv_stockTakeAC[i]=gv_stockTakeName[i]="";
		while( curNode ) 
		{
			switch(curNode.nodeName){
				case "ProductCode" : gv_stockTakeAC[i]=curNode.firstChild.nodeValue;  break;
				case "Name" : gv_stockTakeName[i]=curNode.firstChild.nodeValue;  break;
			}
			curNode=curNode.nextSibling;
			
		}
    }
    if(stocks.length==0) alert("No products found!");
    else {
		gv_stockTakeTotPage=0;
		//document.getElementById('proCmds').style.visibility='visible';
//					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';
		showStockTakeList(0);
		hidden.style.visibility='hidden';
		
	}
}

function showStockTakeList(StockTakeStatus)
{ 
    if(StockTakeStatus == 0)
    {
      gv_stockTakeCurPage = 0;
      gv_stockTakeTotPage = 0;
    }
    else if(StockTakeStatus == 1)
    {}
    if(StockTakeListPD == 1)
    {
        gv_stockTakeCurPage = StockTakeListCurPage;
        gv_stockTakeTotPage = StockTakeListTotPage;
    }
    StockTakeListPD = 0;
	if(gv_stockTakeAC.length==0) return;
    gv_tempTable = document.getElementById('tempTable');
	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdstr="<td height='"+gv_stockTakeRowH+"px'>";
	var tabstr="<table border='1' cellpadding='1' cellspacing='0' style='position:absolute;width:"+(gv_winw-4)+"px;left:2px;'>"; 
	var ixs=gv_stockTakeCurPage*gv_stockTakeNumPerPage;
	var idx=0;
    for(var i=ixs; i<gv_stockTakeAC.length; i++) {
		var imgName=idx==gv_stockTakeIndex ? 'radon.png':'radoff.png';
		var trColor=idx==gv_stockTakeIndex ? '#ffcc00':'#add8e6';
		var radstr="<td width='22px' height='"+gv_stockTakeRowH+"px'><input type='image' src='img/"+imgName+
			"' id='pro_img"+idx+"' onclick='stockTakeRowClicked(event);'";
		if(gv_device==Nokia) radstr+="onfocus='overStockTakeItem(event);' onblur='leavStockTakeItem(event);'></td>";
		else radstr+="onmouseover='overStockTakeItem(event);' onmouseleave='leavStockTakeItem(event);'></td>";
		tabstr+="<tr id='pro_row"+idx+"' onclick='stockTakeRowClicked(event);' style='background-color:"+
			trColor+";'>"+radstr + tdstr+gv_stockTakeAC[i]+"</td>"+tdstr+gv_stockTakeName[i]+"</td></tr>";
		//ycur+=gv_stockTakeRowH;
		//if(ycur+45>gv_winh) break; else 
		idx++;
    }
//    if(gv_stockTakeTotPage==0) {
//		gv_scrollCurPage=gv_stockTakeCurPage=0;
//		gv_stockTakeNumPerPage=i;
//		var ntt=gv_stockTakeAC.length;
//		gv_stockTakeTotPage=0;
//		while(ntt>0) {gv_stockTakeTotPage++; ntt-=gv_stockTakeNumPerPage; }
		gv_scrollTotPage=StockTakeTotalPage;
		if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockTakePageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockTakePageRight;
			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_stockTakeFocusIndex=gv_stockTakeIndex;
	
    var stocktakecmd= document.getElementById('proCmds');
	stocktakecmd.style.pixelLeft=gv_winw-stocktakecmd .style.pixelWidth-1;
	stocktakecmd .style.pixelTop = gv_winh-29;
    stocktakecmd.style.visibility='visible';
    if(gv_device!=Nokia) {
		var btn1=document.getElementById('btnProDetail');
		if(btn1==null) setStockTakePageScrollCommands(
			"<input type='button' id='btnProDetail' value='OK' onclick='editStockTakeDetail(0);' />",
			"<input type='button' id='btnStockTakeEdit' value='OK' onclick='editStockTakeDetail(0);' />");
		
			document.getElementById("btnStockTakeEdit").style.visibility="hidden";
	     }
	setStockTakePageScroll();
	doNokiaMenuStockTakeList();    
}

function stockTakeRowClicked(ee)
{
	var srcele=getEventObject(ee);
	if(srcele.id.length<8) return;
	var newIndex=parseInt(srcele.id.substring(7));
	if(gv_stockTakeIndex==newIndex) return;
	document.getElementById('pro_row'+gv_stockTakeIndex).style.backgroundColor='#add8e6';
	document.getElementById('pro_img'+gv_stockTakeIndex).src='img/radoff.png';
	document.getElementById('pro_row'+newIndex).style.backgroundColor='#ffcc00';
	document.getElementById('pro_img'+newIndex).src='img/radon.png';
	gv_stockTakeIndex=newIndex;
}
function overStockTakeItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockTakeIndex) return; 
	srcobj.src="img/radover.png";
}
function leavStockTakeItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockTakeIndex) return;
	srcobj.src="img/radoff.png";
}

function doNokiaMenuStockTakeList()
{
	if(window.widget) {
		window.menu.clear();
		var mEdit = new MenuItem('OK',2102);
		mEdit.onSelect=editStockTakeDetail;
		window.menu.append(mEdit);
//		var mBack = new MenuItem('Back',2103);
//		mBack.onSelect=backProducts;
//		window.menu.append(mBack);
	}
}

function getStockTakeDetail()
{
	 var ACIndex=gv_stockTakeCurPage*gv_stockTakeNumPerPage+gv_stockTakeIndex;
	var url = gv_rooturl+"?cmd=StockTakeDetail&ProductCode="+gv_stockTakeAC[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_stockTakeDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockTakeDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockTakeDataCategory.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';
					showStockTakeDataPage("FirstLoad");
				}
			}
			    document.getElementById('idloading').style.visibility='hidden';
		}
	}     
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
	gv_stockTakeEditedName=null;
	gv_stockTakeEditedValue=null;
} 

function showStockTakeDetail(cmdid)
{
	gv_stockTakeEditingData=0;
	getStockTakeDetail();
}

function editStockTakeDetail(cmdid)
{
	gv_stockTakeEditingData=1;
	getStockTakeDetail();
}

                                                                                                            



function doStockTake()
{
   var url = gv_rooturl+"?cmd=StockTakeDetail";
	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_stockTakeDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockTakeDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockTakeDataCategory.length;
					gv_stockTakeEditingData=1;
//					document.getElementById('proCmds').style.visibility = "hidden";
//					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';
					showStockTakeDataPage("FirstLoad");
				}
			}
			document.getElementById('idloading').style.visibility='hidden';
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}
function getStockTakeSysTime()
{
  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 StockTake_Date=getStockTakeSysTime(); 
var StockTake_Product_Code = "",StockTake_Reference="STK Take",StockTake_Actual="0",StockTake_Adjustment = "0",StockTake_In_Stock = "0.00";
var oStockTake_Product_Code = "",oStockTake_Date="",oStockTake_Reference="",oStockTake_Actual="",oStockTake_Adjustment="";

function showStockTakeDataPage(status)
{
    gv_tempTable = document.getElementById('tempTable');

	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdh="height='"+gv_stockTakeRowH+"px'";  //height='24px'
	
	if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockTakePageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockTakePageRight;
			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_stockTakeFocusIndex=gv_stockTakeIndex;
	var stocktakecmd = document.getElementById('proCmds');
	stocktakecmd.style.pixelLeft=gv_winw-stocktakecmd.style.pixelWidth-1;
	stocktakecmd.style.pixelTop = gv_winh-29;
	
    stocktakecmd.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='selstocktakecat' onchange='jumpToStockTakeCat();'>";
    for(var ic=0; ic<gv_stockTakeDataCategory.length; ic++) {
		var attName0=gv_stockTakeDataCategory[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_stockTakeDataCategory.length; ic++) {
		var attName=gv_stockTakeDataCategory[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_stockTakeRowH;

		var curNode=gv_stockTakeDataCategory[ic].firstChild;
		while( curNode ) 
		{
			var itemName=curNode.nodeName;
			var itemId=itemName;
			var ndv=curNode.firstChild;
			var itemVal=getEditedStockTakeData(itemId);
			if(itemVal==null) itemVal=ndv?ndv.nodeValue:'';
           if(status == "FirstLoad")
           {
			     if(itemName=="Product_Code")
			     {
			       StockTake_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'  style='width:125px;height:20px;'value='"+StockTake_Product_Code+"' id='StockTake_Product_Code' onchange='showSaveStockTakeDataButton();'><input type='Button' id='GetStockListForStockTakePageBtn'  value='Get' name='StockTake' onclick='getStockListForStockTake()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td>";
				 }
				 else if(itemName=="Description")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'  "+widstyle+"value='"+itemVal+"' id='"+itemId+"'"+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="Cost_Price")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Cost Price &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'  "+widstyle+"value='"+itemVal+"' id='"+itemId+"'"+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="In_Stock")
				 {
				   StockTake_In_Stock = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">In Stock &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+ "value='"+StockTake_In_Stock+"' id='"+itemId+"'"+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="Adjustment")
				 {
				   StockTake_Adjustment = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">Adjustment &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Adjustment+"' id='StockTake_Adjustment' ReadOnly "+"></td></tr>";
				 }
				 else if(itemName=="Date")
				 {
				  // StockTake_Date = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">Date &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt' "+widstyle+"value='"+StockTake_Date+"' id='StockTake_Date' onchange='showSaveStockTakeDataButton();'"+"></td></tr>";
				 }
				 else if(itemName=="Reference")
				 {
				   StockTake_Reference = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Reference+"' id='StockTake_Reference'onchange='showSaveStockTakeDataButton();'"+"></td></tr>";
				 }
				 else if(itemName=="Actual")
				 {
				   StockTake_Actual = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">"+itemName.replace('_',' ')+"</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Actual+"' id='StockTake_Actual'onchange='GetQuantityChange();'"+"></td></tr>";
				 }
			 }
			else if(status == "SecondLoad")
			{
			   	 if(itemName=="Product_Code")
			     {
			       StockTake_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'  style='width:125px;height:20px;'value='"+StockTake_Product_Code+"' id='StockTake_Product_Code' onchange='showSaveStockTakeDataButton();'><input type='Button' id='GetStockListForStockTakePageBtn' value='Get' name='StockTake' onclick='getStockListForStockTake()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td>";
				 }
				 else if(itemName=="Description")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'  "+widstyle+
				   "value='"+itemVal+"' id='"+itemId+"'"+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="Cost_Price")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Cost Price &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt' "+widstyle+
				   "value='"+itemVal+"' id='"+itemId+"'"+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="In_Stock")
				 {
				   StockTake_In_Stock = itemVal;
				   rowtxt+="<tr><td align=right "+tdh+">In Stock &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt' "+widstyle+
				   "value='"+StockTake_In_Stock+"' id='"+itemId+"' "+" ReadOnly></td></tr>";
				 }
				 else if(itemName=="Adjustment")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Adjustment &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Adjustment+"' id='StockTake_Adjustment' ReadOnly "+"></td></tr>";
				 }
				 else if(itemName=="Date")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Date &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt' "+widstyle+
				   "value='"+StockTake_Date+"' id='StockTake_Date' onchange='showSaveStockTakeDataButton();'"+"></td></tr>";
				 }
				 else if(itemName=="Reference")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Reference+"' id='StockTake_Reference'onchange='showSaveStockTakeDataButton();'"+"></td></tr>";
				 }
				 else if(itemName=="Actual")
				 {
				   rowtxt+="<tr><td align=right "+tdh+">Actual &nbsp</td>";
			       rowtxt+="<td "+tdh+"><input type='text' class='edtxt'"+widstyle+
				   "value='"+StockTake_Actual+"' id='StockTake_Actual'onchange='GetQuantityChange();'"+"></td></tr>";
				 }
			}

			curNode=curNode.nextSibling;
			ycur+=gv_stockTakeRowH;
		}
		//if(ic==gv_scrollCurPage || ycur+45<gv_winh) tabstr+=rowtxt; else break;
		if(ic==gv_scrollCurPage) tabstr+=rowtxt;
    }
    tabstr += "</table>";
    gv_tempTable.innerHTML = tabstr;
    setStockTakePageScrollCommands("<input type='button' id='savestocktakedata' value='Save' onclick='saveStockTakeData();' />","");
   	if(document.getElementById('savestocktakedata')==null) setStockTakePageScrollCommands('','');
	setStockTakePageScroll();
	setTopTitle('Products -> Stock Take');
	doNokiaMenuStockTakePage();
}
function doNokiaMenuStockTakePage()
{
	if(window.widget) {
		window.menu.clear();
		var mBack = new MenuItem('Back',2102);
		mBack.onSelect=backProducts;
		window.menu.append(mBack);
	}
}


function getStockListForStockTake()
{
    StockTakeiPage = 1;
    document.getElementById('savestocktakedata').style.visibility = "hidden";
    doStockTakeList();
}

function GetQuantityChange()
{
   StockTake_Actual = document.getElementById('StockTake_Actual').value;
   if(StockTake_Actual == "") { StockTake_Actual = 0.00;}
   StockTake_Adjustment = parseInt(StockTake_Actual) - parseInt(StockTake_In_Stock);
   if(StockTake_Adjustment < 0)
   StockTake_Adjustment = 0 - StockTake_Adjustment;
   oStockTake_Adjustment = "ok";
//   StockTake_Date = document.getElementById('StockTake_Date').value;
//   StockTake_Reference = document.getElementById('StockTake_Reference').value;
   showStockTakeDataPage("SecondLoad");
   if(document.getElementById('savestocktakedata')) 	return;
   setStockTakePageScrollCommands("<input type='button' id='savestocktakedata' value='Save' onclick='saveStockTakeData();' />","");

}
function setStockTakePageScroll()
{
    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 stockTakePageLeft()
{
	if(gv_scrollCurPage<=0) return;

	var selcat=document.getElementById('selstocktakecat'); //If null, then in Customer List.
	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_stockTakeEditingData==1) checkStockTakePageEdited(gv_scrollCurPage+1); //Save any edited data to memory
			selcat.selectedIndex=gv_scrollCurPage;
			if(document.getElementById('StockTake_Product_Code')) { StockTake_Product_Code=document.getElementById('StockTake_Product_Code').value; }
			if(document.getElementById('StockTake_Date')) { StockTake_Date=document.getElementById('StockTake_Date').value; }
			if(document.getElementById('StockTake_Reference')) { StockTake_Reference=document.getElementById('StockTake_Reference').value; }
			if(document.getElementById('StockTake_Actual')) { StockTake_Actual=document.getElementById('StockTake_Actual').value; }

			showStockTakeDataPage("SecondLoad");
		}
		else { 
			gv_stockTakeCurPage=gv_scrollCurPage;		
			gv_stockTakeIndex=0;
			StockTakeiPage--;
			if(StockTakeiPage < 1)
			{
			    StockTakeiPage = 1;
			    return;
			}
			StockTakeListPD = 1;
			StockTakeListCurPage = gv_stockTakeCurPage;
            StockTakeListTotPage = gv_stockTakeTotPage;
			doStockTakeList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft+30;
		setTimeout("stockTakePageLeft();",75);
	}
}
function stockTakePageRight()
{
	if(gv_scrollCurPage>=gv_scrollTotPage-1) return;
	
	var selcat=document.getElementById('selstocktakecat'); 
	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_stockTakeEditingData==1) checkStockTakePageEdited(gv_scrollCurPage-1); 
			if(document.getElementById('StockTake_Product_Code')) { StockTake_Product_Code=document.getElementById('StockTake_Product_Code').value; }
			if(document.getElementById('StockTake_Date')) { StockTake_Date=document.getElementById('StockTake_Date').value; }
			if(document.getElementById('StockTake_Reference')) { StockTake_Reference=document.getElementById('StockTake_Reference').value; }
			if(document.getElementById('StockTake_Actual')) { StockTake_Actual=document.getElementById('StockTake_Actual').value; }

			showStockTakeDataPage("SecondLoad");			
		}
		else {
			gv_stockTakeCurPage=gv_scrollCurPage;		
			gv_stockTakeIndex=0;
			StockTakeiPage++;
			if(StockTakeiPage > StockTakeTotalPage)
			{
			    StockTakeiPage = StockTakeTotalPage;
			    return;
			}
			StockTakeListPD = 1;
			StockTakeListCurPage = gv_stockTakeCurPage;
            StockTakeListTotPage = gv_stockTakeTotPage;
			doStockTakeList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft-30;
		setTimeout("stockTakePageRight();",75);
	}
}
function jumpToStockTakeCat()
{
  var selcat = document.getElementById('selstocktakecat');
	if(gv_stockTakeEditingData==1) checkStockTakePageEdited(gv_scrollCurPage); 
	gv_scrollCurPage=selcat.selectedIndex;	
	showStockTakeDataPage("SecondLoad");
}

function checkStockTakePageEdited(pagenum)
{
	var itemEle=null;
    for(var ic=pagenum; ic<gv_stockTakeDataCategory.length; ic++) {
		var attName=gv_stockTakeDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var curNode=gv_stockTakeDataCategory[ic].firstChild;
		while( curNode ) 
		{
			var ndv=curNode.firstChild;
			var oldv=ndv?ndv.nodeValue:''
			var itemId=curNode.nodeName;
			itemEle=document.getElementById(itemId);
			if(itemEle==null) break;
			var newv=itemEle.value;
			if(oldv!=newv) setEditStockTakeData(itemId,newv); 
			curNode=curNode.nextSibling;
		}
		if(itemEle==null) break;
    }
}
function setEditStockTakeData(itemName,edValue)
{
	if(!gv_stockTakeEditedName) {
		gv_stockTakeEditedName=new Array();
		gv_stockTakeEditedValue=new Array();
	}
	for(var i=0; i<gv_stockTakeEditedName.length; i++){
		if(gv_stockTakeEditedName[i]==itemName) {	gv_stockTakeEditedValue[i]=edValue; return; }
	}
	gv_stockTakeEditedValue[gv_stockTakeEditedName.length]=edValue;	
	gv_stockTakeEditedName[gv_stockTakeEditedName.length]=itemName;
}


function getEditedStockTakeData(itemName)
{
	if(!gv_stockTakeEditedName) return null;	
	for(var i=0; i<gv_stockTakeEditedName.length; i++) {
		if(gv_stockTakeEditedName[i]==itemName) return gv_stockTakeEditedValue[i];
	}
}

function setStockTakePageScrollCommands(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 showSaveStockTakeDataButton()
{
    if(document.getElementById('StockTake_Product_Code'))
    {
       StockTake_Product_Code = document.getElementById('StockTake_Product_Code').value;
       oStockTake_Product_Code = 'ok';
    }
    if(document.getElementById('StockTake_Date'))
    {
       StockTake_Date = document.getElementById('StockTake_Date').value;
       oStockTake_Date = 'ok';
    }
    if(document.getElementById('StockTake_Reference'))
    {
       StockTake_Reference = document.getElementById('StockTake_Reference').value;
       oStockTake_Reference = 'ok';
    }
    if(document.getElementById('StockTake_Actual'))
    {
       StockTake_Actual = document.getElementById('StockTake_Actual').value;
       oStockTake_Actual = 'ok';
    }

	if(document.getElementById('savestocktakedata')) 	return;
	setStockTakePageScrollCommands("<input type='button' id='savestocktakedata' value='Save' onclick='saveStockTakeData();' />","");
	//document.getElementById('savestocktakedata').style.visibility = "visible";
}

function saveStockTakeData()
{
    if(StockTake_Product_Code == "")
    {
        alert("Please Select A Product!");
        //showStockTakeDataPage("FirstLoad");
        return;
    }
//	checkStockTakePageEdited(gv_scrollCurPage);
//	if(gv_stockTakeEditedName==null) return;
	var ACIndex=gv_stockTakeCurPage*10+gv_stockTakeIndex;
	var url=gv_rooturl+"?cmd=SaveStockTakeData&ProductCode="+gv_stockTakeAC[ACIndex]+"&index="+ACIndex;
//	if( oStockTake_Product_Code == 'ok')
//	{
//	    url+="&Product_Code="+StockTake_Product_Code;
//	}
	if( oStockTake_Date == 'ok')
	{
	    url+="&Date="+StockTake_Date;
	}
	if( oStockTake_Reference == 'ok')
	{
	    url+="&Reference="+StockTake_Reference;
	}
	if( oStockTake_Actual == 'ok')
	{
	    url+="&Actual="+StockTake_Actual;
	}
    if(oStockTake_Adjustment =='ok')
    {
        url+="&Adjustment="+StockTake_Adjustment;
    }
//	for(var i=0; i<gv_stockTakeEditedName.length; i++) 
//		url += "&"+gv_stockTakeEditedName[i]+"="+gv_stockTakeEditedValue[i];	
	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_stockTakeEditedName=null;
				gv_stockTakeEditedValue=null;
				document.getElementById('savestocktakedata').style.visibility = "hidden";
                StockTake_Date=getStockTakeSysTime(); 
                StockTake_Product_Code = "",StockTake_Reference="",StockTake_Actual="",StockTake_Adjustment = "",StockTake_In_Stock;
                oStockTake_Product_Code = "",oStockTake_Date="",oStockTake_Reference="",oStockTake_Actual="",oStockTake_Adjustment="";
				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';
}



