﻿
var gv_stockInAC=new Array();
var gv_stockInName=new Array();
var gv_stockInIndex=0;
var gv_stockInFocusIndex=0;
var gv_stockInNumPerPage=0;
var gv_scrollCurPage=0;
var gv_stockInEditingData=0;
var gv_stockInRowH=20;
var gv_stockInEditedName=null;
var gv_stockInCurPage=0;
var gv_scrollTotPage=0;
var gv_stockInTotPage = 0;
var gv_stockInNumPerPage=0;
var gv_stockInIndex=0;
var gv_stockInDataCategory=null
var gv_stockInEditedValue=null;
var gv_stockInFocusIndex=0;
var gv_tempTable;
var StockInPartCode = 1;
var StockIniPage = 1;
var StockInTotalPage = 1;
var StockInListPD = 0;//pan duan showStockInList(1);
function doStockInList()
{
    if(document.getElementById('StockIn_Product_Code')){ StockInPartCode = document.getElementById('StockIn_Product_Code').value;}
	var url = gv_rooturl+"?cmd=StockInList"+"&StockInPartCode="+StockInPartCode+"&StockIniPage="+StockIniPage;
	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 stockintotalpages=xmlhttp.responseXML.getElementsByTagName("StockInTotalPage");
                StockInTotalPage = parseInt(stockintotalpages[0].firstChild.nodeValue);
			    renewStockInList(xmlhttp.responseXML);
			}
			document.getElementById('idloading').style.visibility='hidden';
			
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}

function renewStockInList(xmldoc)
{
	var stocks=xmldoc.getElementsByTagName("Product");
	//var hidden=document.getElementById('popCmds');
	gv_stockInAC.length=gv_stockInName.length=0;
	gv_stockInIndex=0;
	
    for(var i=0; i<stocks.length; i++) {
		var curNode=stocks[i].firstChild;
		gv_stockInAC[i]=gv_stockInName[i]="";
		while( curNode ) 
		{
			switch(curNode.nodeName){
				case "ProductCode" : gv_stockInAC[i]=curNode.firstChild.nodeValue;  break;
				case "Name" : gv_stockInName[i]=curNode.firstChild.nodeValue;  break;
			}
			curNode=curNode.nextSibling;
			
		}
    }
    if(stocks.length==0) alert("No products found!");
    else {
		gv_stockInTotPage=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';

		showStockInList(0);
		//hidden.style.visibility='hidden';
		
	}
}
function showStockInList(StockInStatus)
{
    if(StockInStatus == 0)
    {
      gv_stockInCurPage = 0;
      gv_stockInTotPage = 0;
    }
    else if(StockInStatus == 1)
    {}
    if(StockInListPD == 1)
    {
        gv_stockInCurPage = StockInListCurPage;
        gv_stockInTotPage = StockInListTotPage;
    }
    StockInListPD = 0;
	if(gv_stockInAC.length==0) return;
    gv_tempTable = document.getElementById('tempTable');
	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdstr="<td height='"+gv_stockInRowH+"px'>";
	var tabstr="<table border='1' cellpadding='1' cellspacing='0' style='position:absolute;width:"+(gv_winw-4)+"px;left:2px;'>"; 
	//var ixs=gv_stockInCurPage*gv_stockInNumPerPage;
	var idx=0;
    for(var i=0; i<gv_stockInAC.length; i++) {
		var imgName=idx==gv_stockInIndex ? 'radon.png':'radoff.png';
		var trColor=idx==gv_stockInIndex ? '#ffcc00':'#add8e6';
		var radstr="<td width='22px' height='"+gv_stockInRowH+"px'><input type='image' src='img/"+imgName+
			"' id='pro_img"+idx+"' onclick='stockInRowClicked(event);'";
		if(gv_device==Nokia) radstr+="onfocus='overStockInItem(event);' onblur='leavStockInItem(event);'></td>";
		else radstr+="onmouseover='overStockInItem(event);' onmouseleave='leavStockInItem(event);'></td>";
		tabstr+="<tr id='pro_row"+idx+"' onclick='stockInRowClicked(event);' style='background-color:"+
			trColor+";'>"+radstr + tdstr+gv_stockInAC[i]+"</td>"+tdstr+gv_stockInName[i]+"</td></tr>";
		//ycur+=gv_stockInRowH;
//		if(ycur+45>gv_winh) break; else 
		idx++;
    }
//    if(gv_stockInTotPage==0) {
//		gv_scrollCurPage=gv_stockInCurPage=0;
//		gv_stockInNumPerPage=i;
//		var ntt=gv_stockInAC.length;
//		gv_stockInTotPage=0;
//		while(ntt>0) {gv_stockInTotPage++; ntt-=gv_stockInNumPerPage; }
		gv_scrollTotPage=StockInTotalPage;
		if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockInPageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockInPageRight;
			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_stockInFocusIndex=gv_stockInIndex;
	
    var stockincmd= document.getElementById('proCmds');
	stockincmd.style.pixelLeft=gv_winw-stockincmd .style.pixelWidth-1;
	stockincmd .style.pixelTop = gv_winh-29;
    stockincmd.style.visibility='visible';
    if(gv_device!=Nokia) {
		var btn1=document.getElementById('btnStockInDetail');
		if(btn1==null) setStockInPageScrollCommands(
			"<input type='button' id='btnStockInDetail' value='OK' onclick='editStockInDetail(0);' />",
			"<input type='button' id='btnStockInEdit' value='OK' onclick='editStockInDetail(0);' />");
			document.getElementById("btnStockInEdit").style.visibility="hidden";
	     }
	setStockInPageScroll();
	doNokiaMenuStockInList();    
}

function stockInRowClicked(ee)
{
	var srcele=getEventObject(ee);
	if(srcele.id.length<8) return;
	var newIndex=parseInt(srcele.id.substring(7));
	if(gv_stockInIndex==newIndex) return;
	document.getElementById('pro_row'+gv_stockInIndex).style.backgroundColor='#add8e6';
	document.getElementById('pro_img'+gv_stockInIndex).src='img/radoff.png';
	document.getElementById('pro_row'+newIndex).style.backgroundColor='#ffcc00';
	document.getElementById('pro_img'+newIndex).src='img/radon.png';
	gv_stockInIndex=newIndex;
}
function overStockInItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockInIndex) return; 
	srcobj.src="img/radover.png";
}
function leavStockInItem(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id=='pro_img'+gv_stockInIndex) return; 
	srcobj.src="img/radoff.png";
}

function doNokiaMenuStockInList()
{
	if(window.widget) {
		window.menu.clear();
		var mEdit = new MenuItem('OK',2102);
		mEdit.onSelect=editStockInDetail;
		window.menu.append(mEdit);
//		var mBack = new MenuItem('Back',2103);
//		mBack.onSelect=backProducts;
//		window.menu.append(mBack);
	}
}
function getStockInDetail()
{
	 var ACIndex=gv_stockInCurPage*gv_stockInNumPerPage+gv_stockInIndex;
	var url = gv_rooturl+"?cmd=StockInDetail&ProductCode="+gv_stockInAC[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_stockInDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockInDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockInDataCategory.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';

					showStockInDataPage("FirstLoad");
				}
			}
			    document.getElementById('idloading').style.visibility='hidden';
		}
	}     
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
	gv_stockInEditedName=null;
	gv_stockInEditedValue=null;
} 
function showStockInDetail(cmdid)
{
	gv_stockInEditingData=0;
	getStockInDetail();
}
function editStockInDetail(cmdid)
{
	gv_stockInEditingData=1;
	getStockInDetail();
}






function doStockIn()
{
   var url = gv_rooturl+"?cmd=StockInDetail";
	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_stockInDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_stockInDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_stockInDataCategory.length;
					gv_stockInEditingData=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';

					showStockInDataPage("FirstLoad");
				}
			}
			document.getElementById('idloading').style.visibility='hidden';
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
}

function getStockInSysTime()
{
  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 StockIn_Date=getStockInSysTime(); 
var StockIn_Product_Code="",StockIn_Description="",StockIn_Reference="",StockIn_Quantity="",StockIn_Cost_Price="";
var oStockIn_Date="",oStockIn_Product_Code="",oStockIn_Description="",oStockIn_Reference="",oStockIn_Quantity="",oStockIn_Cost_Price="";

function showStockInDataPage(status)
{
    gv_tempTable = document.getElementById('tempTable');

	var ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
	var tdh="height='"+gv_stockInRowH+"px'";  //height='24px'
	
	if(gv_device!=Nokia) {
			var mleft=document.getElementById('img_mleft2');
			mleft.onclick=stockInPageLeft;
			mleft.style.cursor='hand';
			var mright=document.getElementById('img_mright2');
			mright.onclick=stockInPageRight;
			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_stockInFocusIndex=gv_stockInIndex;
	var stockincmd = document.getElementById('proCmds');
	stockincmd.style.pixelLeft=gv_winw-stockincmd.style.pixelWidth-1;
	stockincmd.style.pixelTop = gv_winh-29;
	
    stockincmd.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='selstockincat' onchange='jumpToStockInCat();'>";
    for(var ic=0; ic<gv_stockInDataCategory.length; ic++) {
		var attName0=gv_stockInDataCategory[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_stockInDataCategory.length; ic++) {
		var attName=gv_stockInDataCategory[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_stockInRowH;
//        var rowtxt = "";
		var curNode=gv_stockInDataCategory[ic].firstChild;
		var end_tdr = "></td></tr>";
		while( curNode ) 
		{
			var itemName=curNode.nodeName;
			var itemId=ic.toString()+"_"+itemName;
			var ndv=curNode.firstChild;
			var itemVal=getEditedStockInData(itemId);
			if(itemVal==null) itemVal=ndv?ndv.nodeValue:'';
        if(status=="FirstLoad")
        {
			if(itemName=="Product_Code")
			{
			    StockIn_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='"+StockIn_Product_Code+"' id='StockIn_Product_Code'><input type='Button' id='GetStockListForStockInPageBtn' value='Get' onclick='getStockListForStockIn()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td></tr>";
            }
            else if(itemName=="Description")
            {
                StockIn_Description = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Description+"' id='StockIn_Description'"+end_tdr;
            }
            else if(itemName=="Date")
            {
               // StockIn_Date = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Date &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Date+"' id='StockIn_Date'"+end_tdr;
            }
            else if(itemName=="Reference")
            {
                StockIn_Reference = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Reference+"' id='StockIn_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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Quantity")
            {
                StockIn_Quantity = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Quantity &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Quantity+"' id='StockIn_Quantity'"+end_tdr;
            }
            else if(itemName=="Cost_Price")
            {
                StockIn_Cost_Price = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Cost Price &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Cost_Price+"'  id = 'StockIn_Cost_Price'"+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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Free_Stock")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Free Stock &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }

			curNode=curNode.nextSibling;
			ycur+=gv_stockInRowH;
			}
			else if(status=="OtherLoad")
			{
			if(itemName=="Product_Code")
			{
			    StockIn_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='showStockInList();' style='width:125px;height:20px;'value='"+StockIn_Product_Code+"' id='StockIn_Product_Code'><input type='Button' id='GetStockListForStockInPageBtn' value='Get' onclick='getStockListForStockIn()' runat='server' style='color: blue; width: 35px;height: 20px; font-weight: bold; text-decoration: underline;' /></td>";
            }
            else if(itemName=="Description")
            {
//                StockIn_Description = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Description &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Description+"' id='StockIn_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='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Date+"' id='StockIn_Date'"+end_tdr;
            }
            else if(itemName=="Reference")
            {
//                StockIn_Reference = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Reference &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Reference+"' id='StockIn_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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"' ReadOnly"+end_tdr;
            }
            else if(itemName=="Quantity")
            {
//                StockIn_Quantity = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Quantity &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Quantity+"' id='StockIn_Quantity'"+end_tdr;
            }
            else if(itemName=="Cost_Price")
            {
//                StockIn_Cost_Price = itemVal;
               	rowtxt+="<tr><td align=right "+tdh+">Cost Price &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+widstyle+
				"value='"+StockIn_Cost_Price+"'  id = 'StockIn_Cost_Price'"+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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"'  ReadOnly"+end_tdr;
            }
            else if(itemName=="Free_Stock")
            {
               	rowtxt+="<tr><td align=right "+tdh+">Free Stock &nbsp</td>";
			    rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSaveStockInDataButton();' "+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='showSaveStockInDataButton();' "+widstyle+
				"value='"+itemVal+"'  disabled = 'false'"+end_tdr;
            }

			curNode=curNode.nextSibling;
			ycur+=gv_stockInRowH;
			}
		}
		//if(ic==gv_scrollCurPage || ycur+45<gv_winh) tabstr+=rowtxt; else break;
		if(ic==gv_scrollCurPage) tabstr+=rowtxt;
    }
    tabstr += "</table>";
    gv_tempTable.innerHTML = tabstr;
	setStockInPageScrollCommands("<input type='button' id='savestockindata' value='Save' onclick='saveStockInData(0);' />","");
   	if(document.getElementById('savestockindata')==null) setStockInPageScrollCommands('','');
	setStockInPageScroll();
	setTopTitle('Products -> Stock In');
	doNokiaMenuStockInPage();
}
function doNokiaMenuStockInPage()
{
	if(window.widget) {
		window.menu.clear();
		var mBack = new MenuItem('Back',2102);
		mBack.onSelect=backProducts;
		window.menu.append(mBack);
	}
}

function getStockListForStockIn()
{
    StockIniPage = 1;
    document.getElementById('savestockindata').style.visibility = "hidden";
    doStockInList();
}

function setStockInPageScroll()
{
    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 stockInPageLeft()
{
	if(gv_scrollCurPage<=0) return;

	var selcat=document.getElementById('selstockincat'); 
	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_stockInEditingData==1) checkStockInPageEdited(gv_scrollCurPage+1); 
			selcat.selectedIndex=gv_scrollCurPage;
			showStockInDataPage("OtherLoad");
		}
		else { 
			gv_stockInCurPage=gv_scrollCurPage;		
			gv_stockInIndex=0;
			StockIniPage--;
			if(StockIniPage < 1)
			{
			    StockIniPage = 1;
			    return;
			}
			StockInListPD = 1;
			StockInListCurPage = gv_stockInCurPage;
            StockInListTotPage = gv_stockInTotPage;
			doStockInList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft+30;
		setTimeout("stockInPageLeft();",75);
	}
}
function stockInPageRight()
{
	if(gv_scrollCurPage>=gv_scrollTotPage-1) return;
	
	var selcat=document.getElementById('selstockincat'); 
	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_stockInEditingData==1) checkStockInPageEdited(gv_scrollCurPage-1); 
			showStockInDataPage("OtherLoad");			
		}
		else { 
			gv_stockInCurPage=gv_scrollCurPage;		
			gv_stockInIndex=0;
			StockIniPage++;
			if(StockIniPage > StockInTotalPage)
			{
			    StockIniPage = StockInTotalPage;
			    return;
			}
			StockInListPD = 1;
			StockInListCurPage = gv_stockInCurPage;
            StockInListTotPage = gv_stockInTotPage;
			doStockInList();
		}
	}
	else {
		divtab.style.pixelLeft=tleft-30;
		setTimeout("stockInPageRight();",75);
	}
}
function jumpToStockInCat()
{
  var selcat = document.getElementById('selstockincat');
	if(gv_stockInEditingData==1) checkStockInPageEdited(gv_scrollCurPage); 
	gv_scrollCurPage=selcat.selectedIndex;	
	showStockInDataPage("OtherLoad");
}

function checkStockInPageEdited(pagenum)
{
	var itemEle=null;
    for(var ic=pagenum; ic<gv_stockInDataCategory.length; ic++) {
		var attName=gv_stockInDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var curNode=gv_stockInDataCategory[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) setEditStockInData(itemId,newv); 
			curNode=curNode.nextSibling;
		}
		if(itemEle==null) break;
    }
}
function setEditStockInData(itemName,edValue)
{
	if(!gv_stockInEditedName) {
		gv_stockInEditedName=new Array();
		gv_stockInEditedValue=new Array();
	}
	for(var i=0; i<gv_stockInEditedName.length; i++){
		if(gv_stockInEditedName[i]==itemName) {	gv_stockInEditedValue[i]=edValue; return; }
	}
	gv_stockInEditedValue[gv_stockInEditedName.length]=edValue;	
	gv_stockInEditedName[gv_stockInEditedName.length]=itemName;
}

function getEditedStockInData(itemName)
{
  if(!gv_stockInEditedName) return null;	
	for(var i=0; i<gv_stockInEditedName.length; i++) {
		if(gv_stockInEditedName[i]==itemName) return gv_stockInEditedValue[i];
	}

}

function setStockInPageScrollCommands(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 showSaveStockInDataButton()
{
    if(document.getElementById('StockIn_Product_Code'))
    {
        StockIn_Product_Code = document.getElementById('StockIn_Product_Code').value;
        oStockIn_Product_Code = "ok";
    }
    if(document.getElementById('StockIn_Description'))
    {
        StockIn_Description = document.getElementById('StockIn_Description').value;
        oStockIn_Description = "ok";
    }
    if(document.getElementById('StockIn_Date'))
    {
        StockIn_Date = document.getElementById('StockIn_Date').value;
        oStockIn_Date = "ok";
    }
    if(document.getElementById('StockIn_Reference'))
    {
        StockIn_Reference = document.getElementById('StockIn_Reference').value;
        oStockIn_Reference = "ok";
    }
    if(document.getElementById('StockIn_Quantity'))
    {
        StockIn_Quantity = document.getElementById('StockIn_Quantity').value;
        oStockIn_Quantity = "ok";
    }
    if(document.getElementById('StockIn_Cost_Price'))
    {
        StockIn_Cost_Price = document.getElementById('StockIn_Cost_Price').value;
        oStockIn_Cost_Price = "ok";
    }

	if(document.getElementById('savestockindata')) return;
	setStockInPageScrollCommands("<input type='button' id='savestockindata' value='Save' onclick='saveStockInData(0);' />","");
	//document.getElementById('probtn1').style.visibility = "visible";
}

function saveStockInData(cmdid)
{	
    if(StockIn_Product_Code == "")
    {
        alert("Please Select A Product!");
        //showStockInDataPage("FirstLoad");
        return;
    }
    var ACIndex=gv_stockInCurPage*10+gv_stockInIndex;
	var url=gv_rooturl+"?cmd=SaveStockInData&ProductCode="+gv_stockInAC[gv_stockInIndex]+"&index="+ACIndex;
//	if(oStockIn_Product_Code == "ok") { url+="&Product_Code="+StockIn_Product_Code;}
	if(oStockIn_Description == "ok") { url+="&Description="+StockIn_Description;}
	if(oStockIn_Date == "ok") { url+="&Date="+StockIn_Date;}
	if(oStockIn_Reference == "ok") { url+="&Reference="+StockIn_Reference;}
	if(oStockIn_Quantity == "ok") { url+="&Quantity="+StockIn_Quantity;}
	if(oStockIn_Cost_Price == "ok") { url+="&Cost_Price="+StockIn_Cost_Price;}

	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_stockInEditedName=null;
				gv_stockInEditedValue=null;
				document.getElementById('savestockindata').style.visibility = "hidden";
                StockIn_Date=getStockInSysTime(); 
                StockIn_Product_Code="",StockIn_Description="",StockIn_Reference="",StockIn_Quantity="",StockIn_Cost_Price="";
                oStockIn_Date="",oStockIn_Product_Code="",oStockIn_Description="",oStockIn_Reference="",oStockIn_Quantity="",oStockIn_Cost_Price="";
				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';
}


