﻿var gv_popItemAC=new Array();
var gv_popItemName=new Array();
var gv_popItemIndex=0;
var gv_popItemFocusIndex=0; 
var gv_popItemNumPerPage=0;
var gv_popItemCurPage=0; 
var gv_popItemTotPage=0;
var gv_popItemEditingData=0;
var gv_popItemDataCategory=null;
var gv_popItemEditedName=null;  
var gv_popItemEditedValue=null; 
var gv_tempTable;
var gv_popItemRowH=20;
var gv_scrollCurPage=0;
var gv_scrollTotPage=0;
var curPageName=0;
var gv_orderNo=0;
//function popItemPageLeft()
//{
//	if(gv_scrollCurPage<=0) return;

//	var selitemcat=document.getElementById('selpopitemcat'); 
//	var divtab=document.getElementById('tempTable');
//	var tleft=divtab.style.pixelLeft;
//	if(tleft>=gv_winw-30) {	
//		gv_scrollCurPage--;
//		divtab.style.pixelLeft=0;
//		if(selitemcat) { 
//			if(gv_popItemEditingData==1) checkPopItemPageEdited(gv_scrollCurPage+1); 
//			selitemcat.selectedIndex=gv_scrollCurPage;
//			showPopItemDataPage();
//		}
//		else { 
//			gv_popItemCurPage=gv_scrollCurPage;		
//			gv_popItemIndex=0;
//			showPopList();
//		}
//	}
//	else {
//		divtab.style.pixelLeft=tleft+30;
//		setTimeout("popItemPageLeft();",75);
//	}
//}
//function popItemPageRight()
//{
//	
//	var selitemcat =document.getElementById('selpopitemcat');
//	var divtab=document.getElementById('tempTable');
//	
//	var tleft=divtab.style.pixelLeft;
//	if(tleft<30-gv_winw) {	
//		gv_scrollCurPage++;
//		divtab.style.pixelLeft=0;
//		if(selitemcat) { //Customer data
//			selitemcat.selectedIndex=gv_scrollCurPage;
//			if(gv_popItemEditingData==1) checkPopItemPageEdited(gv_scrollCurPage-1); //Save any edited data to memory
//			showPopItemDataPage();			
//		}
//		else { //customer list
//			gv_popItemCurPage=gv_scrollCurPage;		
//			gv_popItemIndex=0;
//			showPopList();
//		}
//	}
//	else {
//		divtab.style.pixelLeft=tleft-30;
//		setTimeout("popItemPageRight();",75);
//	}
//}

  function showPopItemDetail(cmdid)
{
	gv_popItemEditingData=0;
	getPopItemDetail();
}
function getPopItemDetail()
{
	var ACIndex=gv_popItemCurPage*gv_popItemNumPerPage+gv_popItemIndex;
	var url = gv_rooturl+"?cmd=PopItemDetail&OrderNo="+gv_orderNo+"&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_popItemDataCategory=xmlhttp.responseXML.getElementsByTagName("DataCategory");
				if(gv_popItemDataCategory.length==0) alert("Cannot load details!");
				else {
					gv_scrollCurPage=0;
					gv_scrollTotPage=gv_popItemDataCategory.length;
					showPopItemDataPage();
				}
			}
			document.getElementById('idloading').style.visibility='hidden';
		}
	}
	xmlhttp.send(null);
	document.getElementById('idloading').style.visibility='visible';
	gv_popItemEditedName=null;
	gv_popItemEditedValue=null;
}

function editPopItemDetail(cmdid)
{
	gv_popItemEditingData=1;
	getPopItemDetail();
}

function showPopItemDataPage()
{ 
 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 ycur=gv_tempTable.style.pixelTop=gv_device==Nokia ? 28:26;
 var tdh="height='"+gv_popItemRowH+"px'";  //height='24px'
 var rowJump="<tr><td align=right "+tdh+">Jump to Page</td><td><select class='edtxt' "+widstyle+" id='selpopitemcat' onchange='jumpToPopItemCat();'>";
    for(var ic=0; ic<gv_popItemDataCategory.length; ic++) {
  var attName0=gv_popItemDataCategory[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_popItemDataCategory.length; ic++) {
  var attName=gv_popItemDataCategory[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_popItemRowH;
 var curNode=gv_popItemDataCategory[ic].firstChild;
  var end_tdr = gv_popItemEditingData==1 ? "></td></tr>":" ReadOnly></td></tr>"; 

   while( curNode ) 
  {
   var itemName=curNode.nodeName;
   var itemId=ic.toString()+"_"+itemName;
              var ndv=curNode.firstChild;
           var itemVal=getEditedPopItemData(itemId);
             if(itemVal==null) itemVal=ndv?ndv.nodeValue:'';
             if(itemName=="Comment1")
             {
                 rowtxt+="<tr><td align=right "+tdh+">Comment 1 &nbsp</td>";
               rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSavePopItemDataButton();' "+widstyle+
            "value='"+itemVal+"' id='"+itemId+"'"+end_tdr;
        
             }
             else if(itemName=="Comment2")
             {
                 rowtxt+="<tr><td align=right "+tdh+">Comment 2 &nbsp</td>";
               rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSavePopItemDataButton();' "+widstyle+
            "value='"+itemVal+"' id='"+itemId+"'"+end_tdr;
        
             }
              else if(itemName=="Unit_Price_GBP")
             {
                 rowtxt+="<tr><td align=right "+tdh+">Unit Price GBP &nbsp</td>";
               rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSavePopItemDataButton();' "+widstyle+
            "value='"+itemVal+"' id='"+itemId+"'"+end_tdr;
        
             }
               else if(itemName=="Discount")
             {
                 rowtxt+="<tr><td align=right "+tdh+">Discount % &nbsp</td>";
               rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSavePopItemDataButton();' "+widstyle+
            "value='"+itemVal+"' id='"+itemId+"'"+end_tdr;
        
             }
 
          else{
               rowtxt+="<tr><td align=right "+tdh+">"+itemName.replace('_',' ')+"&nbsp&nbsp"+"</td>";
               rowtxt+="<td "+tdh+"><input type='text' class='edtxt' onchange='showSavePopItemDataButton();' "+widstyle+
            "value='"+itemVal+"' id='"+itemId+"'"+end_tdr;
              }
   curNode=curNode.nextSibling;
   ycur+=gv_popItemRowH;
   }
  
  if(ic==gv_scrollCurPage) tabstr+=rowtxt;
  //if(ic==gv_scrollCurPage || ycur+45<gv_winh) tabstr+=rowtxt; else break;
   }
    tabstr += "</table>";
    gv_tempTable.innerHTML = tabstr;
    if(document.getElementById('savepopitemdata')==null) 
    setPopItemPageScrollCommands('','');
    setPopItemPageScroll();
    setTopTitle('Pop -> PopItem Data');
    doNokiaMenuPopItemPage();
}
function doNokiaMenuPopItemPage()
{
	if(window.widget) {
		window.menu.clear();
		var mBack = new MenuItem('Back',2102);
		mBack.onSelect = backPops;
		window.menu.append(mBack);
	}
}
function setPopItemPageScroll()
{

    var pncur1=document.getElementById('pn_cur4');
    pncur1.innerHTML='Page '+(gv_scrollCurPage+1)+' of '+gv_scrollTotPage;
    var pnleft1=document.getElementById('pn_left4');
    pnleft1.innerHTML=gv_scrollCurPage>0 ? gv_scrollCurPage.toString():'';
    var pnright1=document.getElementById('pn_right4');
    pnright1.innerHTML=gv_scrollCurPage<gv_scrollTotPage-1 ? (gv_scrollCurPage+2).toString():'';    
}
//function popItemRowClicked(ee)
//{
//	var srcele=getEventObject(ee);
//	if(srcele.id.length<8) return;
//	var newIndex=parseInt(srcele.id.substring(7));
//	if(gv_popItemIndex==newIndex) return;
//	document.getElementById('popitem_row'+gv_popItemIndex).style.backgroundColor='#add8e6';
//	document.getElementById('popitem_img'+gv_popItemIndex).src='img/radoff.png';
//	document.getElementById('popitem_row'+newIndex).style.backgroundColor='#ffcc00';
//	document.getElementById('popitem_img'+newIndex).src='img/radon.png';
//	gv_popItemIndex=newIndex;
//}
//function overPopItem(e_event)
//{
//	var srcobj=getEventObject(e_event);
//	if(srcobj.id=='popitem_img'+gv_popItemIndex) return; 
//	srcobj.src="img/radover.png";
//}
//function leavPopItem(e_event)
//{
//	var srcobj=getEventObject(e_event);
//	if(srcobj.id=='popitem_img'+gv_popItemIndex) return;
//	srcobj.src="img/radoff.png";
//}


function setPopItemPageScrollCommands(cmd1,cmd2)
{
	document.getElementById('popitembtn1').innerHTML=cmd1;
	document.getElementById('popitembtn2').innerHTML=cmd2;
	var popitemcmd=document.getElementById('popItemCmds').style;
	var ncmds=cmd1.length<5 ? 0:1;
	if(cmd2.length>5) ncmds++;
	popitemcmd.pixelWidth=150+50*ncmds;
	popitemcmd.pixelLeft=gv_winw-popitemcmd.pixelWidth-1;
}
function jumpToPopItemCat()
{
	var selitemcat = document.getElementById('selpopitemcat');
	if(gv_popItemEditingData==1) checkPopItemPageEdited(gv_scrollCurPage); //Save any edited data to memory
	gv_scrollCurPage=selitemcat.selectedIndex;	
	curPageName="PopItemDetails";
	showPopItemDataPage();
}

function checkPopItemPageEdited(pagenum)
{
	var itemEle=null;
    for(var ic=pagenum; ic<gv_popItemDataCategory.length; ic++) 
    {
		var attName=gv_popItemDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var curNode=gv_popItemDataCategory[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) setEditPopItemData(itemId,newv);
			curNode=curNode.nextSibling;
		}
		if(itemEle==null) break;
    }
}
function getEditedPopItemData(itemName)
{
	if(!gv_popItemEditedName) return null;	
	for(var i=0; i<gv_popItemEditedName.length; i++) {
		if(gv_popItemEditedName[i]==itemName) return gv_popItemEditedValue[i];
	}
}
function setEditPopData(itemName,edValue)
{
	if(!gv_popEditedName) {
		gv_popEditedName=new Array();
		gv_popEditedValue=new Array();
	}
	for(var i=0; i<gv_popEditedName.length; i++){
		if(gv_popEditedName[i]==itemName) {	gv_popEditedValue[i]=edValue; return; }
	}
	gv_popEditedValue[gv_popEditedName.length]=edValue;	
	gv_popEditedName[gv_popEditedName.length]=itemName;
}
function getEditedPopData(itemName)
{
	if(!gv_popEditedName) return null;	
	for(var i=0; i<gv_popEditedName.length; i++) {
		if(gv_popEditedName[i]==itemName) return gv_popEditedValue[i];
	}
}

function backPopItems()
{
	var selitemcat=document.getElementById('selpopitemcat'); 
	if(selitemcat==null) return 0;
	gv_scrollCurPage=gv_popCurPage;
	gv_scrollTotPage=gv_popItemTotPage
	setTopTitle('Pop -> '+gv_subCmdName);
	showPopList();
}
function showSavePopItemDataButton()
{
	if(document.getElementById('saveitempopdata')) return;
	setPopItemPageScrollCommands("<input type='button' id='saveitempopdata' value='Save' onclick='savePopItemData(0);' />","");
	document.getElementById('saveitempopdata').style.visibility = "hidden";
}
function checkPopItemPageEdited(pagenum)
{
	var itemEle=null;
    for(var ic=pagenum; ic<gv_popItemDataCategory.length; ic++) {
		var attName=gv_popItemDataCategory[ic].attributes.getNamedItem("title");	
		if(attName==null) continue;
		var curNode=gv_popItemDataCategory[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) setEditPopItemData(itemId,newv);
			curNode=curNode.nextSibling;
		}
		if(itemEle==null) break;
    }
}
function savePopItemData(cmdid)
{
	checkPopItemPageEdited(gv_scrollCurPage);
	if(gv_popItemEditedName==null) return;
	var ACIndex=gv_popItemCurPage*gv_popItemNumPerPage+gv_popItemIndex;
	var url=gv_rooturl+"?cmd=SavePopItemData&OrderNo="+gv_popItemAC[ACIndex]+"&index="+ACIndex;
	for(var i=0; i<gv_popItemEditedName.length; i++) 
		url += "&"+gv_popItemEditedName[i]+"="+gv_popItemEditedValue[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_popItemEditedName=null;
				gv_popItemEditedValue=null;
				backPopItems();
			}
			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';
}