﻿// JScript File
// Copyright(C) K&G Software Ltd. 2008
// run jspack
//

var gv_winw=320;//iPhone 320x368
var gv_winh=240;//Nokia 240x320
var gv_device=0;
var Nokia=0;
var iPhone=1;
var Desktop=2;
var gv_timeLastKey=0;
var gv_rooturl = "http://www.ex4e.co.uk/widget/Services.aspx";
//var gv_rooturl="http://www.ex4e.co.uk/widget/Services.aspx";//$DEBUG

var gv_maintop=0; //Top/left of divMain
var gv_mainleft=0;
var gv_curMainCmdid="";
var gv_cmdNames=new Array("Products","Customers","Suppliers","Sop","Pop");
var gv_mainBtnH=26;
var gv_subCmdName='';
var arrItemData;
var NewPopItemTurnPage=0;
var NewSopItemTurnPage=0;
var NewInvItemTurnPage=0;
var NewQuoItemTurnPage=0;
var SupListForStockListTurn = 0;
var CusTurnPage = 0;
var SupTurnPage = 0;
var ProTurnPage = 0;
function initPage( )
{
	var divMain=document.getElementById('divMain');
	gv_winw=window.screen.width;
	gv_winh=window.screen.height;
	if(gv_winw>600) { //PC, make it the size of iPhone
		gv_winw=320;
		gv_winh=240;
		gv_device=Desktop;
	}
	if(window.widget) { //Nokia only
		gv_device=Nokia;
		gv_rooturl="http://www.ex4e.co.uk/widget/Services.aspx";//$DEBUG
		widget.setNavigationEnabled(false);
	}
//gv_device=Nokia;
//if(gv_device==Nokia) {
//gv_winw=240;
//gv_winh=320;
//}	
	if(gv_device==Desktop) {
		gv_maintop=149;
		gv_mainleft=33;
		addPhoneImage();
	}
	var dvmain=document.getElementById('divMain').style;
	dvmain.pixelWidth=gv_winw;
	dvmain.pixelHeight=gv_winh;
	dvmain.pixelLeft=gv_mainleft;
	dvmain.pixelTop=gv_maintop;

	for(var i=1; i<7; i++) document.getElementById('dumimg'+i).style.visibility='hidden';
	var divsave=document.getElementById('idSaving');
	divsave.style.pixelLeft=(gv_winw-divsave.style.pixelWidth)/2;
//Nokia Menu
	doNokiaMenuMain();
	showCaption();
	
	//	var url=gv_rooturl+"?cmd=SaveNewPopData&OrderNo="+gv_newPopAC[ACIndex]+"&index="+ACIndex;
   document.getElementById("divMain").innerHTML +=SopHiddenField;
   document.getElementById("divMain").innerHTML +=PopHiddenField;
   document.getElementById("divMain").innerHTML +=InvHiddenField;
   document.getElementById("divMain").innerHTML +=QuoHiddenField;
//  if(document.getElementById('HiddenField1'))
//  {
//    alert("ok");
//  }
}
function doKeydown(e)
{
	var tmm=new Date();
	if(tmm.getTime()-gv_timeLastKey<750) return;
	gv_timeLastKey=tmm.getTime();		
//	
	var keynum;
	if(window.event) keynum = e.keyCode;//IE
	else if(e.which) keynum = e.which;//Others
	else return;
	var srcobj=window.event.srcElement;
	switch(keynum) {
		case 37://left
			if(gv_subCmdName=="Amend Customer") 
			{
			    if(CusTurnPage == 0)
			    {
			        initCusPageLeft();
			    }
			    else { customerPageLeft(); }
			}
			if(gv_subCmdName=="New Customer") newCusPageLeft();
			if(gv_subCmdName=="Amend Supplier") 
			{
			    if(SupTurnPage == 0){ initSupPageLeft();}
			    else { supplierPageLeft(); }
			}
			if(gv_subCmdName=="New Supplier") newSupplierPageLeft();
			if(gv_subCmdName=="New Product") 
			{
			    if(srcobj.id == 'GetSupListForNewStock'){ return; }
			    newStockPageLeft();
			}
			if(gv_subCmdName=="Edit Product") 
			{
			    if(SupListForStockListTurn == 1){ supForStockPageLeft();}
			    else if(ProTurnPage == 0)
			    { 
			        if(srcobj.id == 'GetProListForInitPageBtn'){ return; }
			        else if(srcobj.id == 'getSupListForInitStockPageBtn'){ return; }
			        initProPageLeft();
			    }
			    else
			    { 
			        if(srcobj.id == 'GetProListForProPageBtn'){ return; }
			        else if(srcobj.id == 'GetSupListForStockPageBtn'){ return; }			       
			        productPageLeft();
			    }
			}
			if(gv_subCmdName=="Record Adjustments In") 
			{
			    if(srcobj.id == 'GetStockListForStockInPageBtn'){ return; }
			    stockInPageLeft();
			}
			if(gv_subCmdName=="Record Adjustments Out") 
			{
			    if(srcobj.id == 'GetStockListForStockOutPageBtn'){ return; }
			    stockOutPageLeft();
			}
			if(gv_subCmdName=="Record Stock Take") 
			{
			    if(srcobj.id == 'GetStockListForStockTakePageBtn'){ return; }
			    stockTakePageLeft();
			}
			if(gv_subCmdName=="Pop List") popPageLeft();
			if(gv_subCmdName=="New Pop") 
			{
			    if(NewPopItemTurnPage == 1){ newPopItemPageLeft();}
			    else if(NewPopItemTurnPage == 2){ editNewPopItemPageLeft();}
			    else 
			    {
			    	if(srcobj.id == 'editnewpopitemturnbtn'){ return;}		        
			        newPopPageLeft();
			    }
			}
			if(gv_subCmdName=="Sop List") sopPageLeft();
			if(gv_subCmdName=="New Sop") 
			{
			    if(NewSopItemTurnPage == 1){ newSopItemPageLeft();}
			    else if(NewSopItemTurnPage == 2){ editNewSopItemPageLeft();}
			    else 
			    { 
			    	if(srcobj.id == 'editnewsopitemturnbtn'){ return;}
			    	else if(srcobj.id == 'GetCusListForSopPageBtn'){ return;}
			        newSopPageLeft();		        
			    }
			}
			if(gv_subCmdName=="Amend Invoice") invPageLeft();
			if(gv_subCmdName=="Create New Invoice")
			{
			    if(NewInvItemTurnPage == 1){ newInvItemPageLeft();}
			    else if(NewInvItemTurnPage == 2){ editNewInvItemPageLeft();}
			    else 
			    { 
			    	if(srcobj.id == 'editnewinvitemturnbtn'){ return;}
			        newInvPageLeft();
			    }
			
			}
			if(gv_subCmdName=="New Quotation")
		    {
			    if(NewQuoItemTurnPage == 1){ newQuoItemPageLeft();}
			    else if(NewQuoItemTurnPage == 2){ editNewQuoItemPageLeft();}
			    else
			    { 
			    	if(srcobj.id == 'editnewquoitemturnbtn'){ return;}
			        newQuoPageLeft();
			    }
			}		
			break;
		case 38: keynum=2; break;;//up
		case 39://right
			if(gv_subCmdName=="Amend Customer") 
			{
			    if(CusTurnPage == 0) 
			    {
			        if(srcobj.id == 'InitCus_AC_Ref'){ return; } 
			        initCusPageRight();
			    }
			    else 
			    {
			        if(srcobj.id == '0_AC_Ref'){ return; } 
			        customerPageRight();
			    }
			}
			if(gv_subCmdName=="New Customer") newCusPageRight();
			if(gv_subCmdName=="Amend Supplier") 
			{
			    if(SupTurnPage == 0) 
			    {
			        if(srcobj.id == 'InitSup_AC_Ref'){ return; } 
			        initSupPageRight();
			    }
			    else 
			    { 
			        if(srcobj.id == '0_AC_Ref'){ return; } 
			        supplierPageRight(); 
			    }
			}
			if(gv_subCmdName=="New Supplier") newSupplierPageRight();
			if(gv_subCmdName=="New Product")
			{
			    if(srcobj.id == 'NewStock_Supplier_AC'){ return; }	
			    newStockPageRight();
			}
			if(gv_subCmdName=="Edit Product") 
			{
			    if(SupListForStockListTurn == 1){ supForStockPageRight();}
			    else if(ProTurnPage == 0)
			    { 
			        if(srcobj.id == 'InitPro_Product_Code'){ return; }
			        else if(srcobj.id == 'InitPro_Supplier_AC'){ return; }
			        initProPageRight();
			    }
			    else 
			    {
			        if(srcobj.id == 'Pro_Product_Code'){ return; }
			        else if(srcobj.id == 'Pro_Supplier_AC'){ return; }			        
			        productPageRight(); 
			    }
			}
			if(gv_subCmdName=="Record Adjustments In") 
			{
			    if(srcobj.id == 'StockIn_Product_Code'){ return; }
			    stockInPageRight();
			}
			if(gv_subCmdName=="Record Adjustments Out") 
			{
			    if(srcobj.id == 'StockOut_Product_Code'){ return; }
			    stockOutPageRight();
			}
			if(gv_subCmdName=="Record Stock Take") 
			{
			    if(srcobj.id == 'StockTake_Product_Code'){ return; }
			    stockTakePageRight();
			}
			if(gv_subCmdName=="Pop List") popPageRight();
			if(gv_subCmdName=="New Pop")
			{
			    if(NewPopItemTurnPage == 1)
			    { 
			        if(srcobj.id == 'NewPopItemProduct_Code'){ return; }
			        newPopItemPageRight();
			    }
			    else if(NewPopItemTurnPage == 2){ editNewPopItemPageRight();}
			    else 
			    { 
			    	if(srcobj.id == 'addnewpopitemturnbtn'){ return; }
			    	else if(srcobj.id == 'NewPopSupplier_ACRef'){ return; }		
			        newPopPageRight();
			    }
			}
			if(gv_subCmdName=="Sop List") sopPageRight();
			if(gv_subCmdName=="New Sop") 
			{
			    if(NewSopItemTurnPage == 1)
			    { 
			        if(srcobj.id == 'NewSopItemProduct_Code'){ return; }
			        newSopItemPageRight();
			    }
			    else if(NewSopItemTurnPage == 2){ editNewSopItemPageRight(); }
			    else 
			    {
			    	if(srcobj.id == 'addnewsopitemturnbtn'){ return; }
			    	else if(srcobj.id == 'NewSopCustomer_ACRef'){ return; }		        
			        newSopPageRight();
			    }
			}
			if(gv_subCmdName=="Amend Invoice") invPageRight();
			if(gv_subCmdName=="Create New Invoice")
			{
			    if(NewInvItemTurnPage == 1)
			    { 
			        if(srcobj.id == 'NewInvItemProduct_Code'){ return; }
			        newInvItemPageRight();
			    }
			    else if(NewInvItemTurnPage == 2){ editNewInvItemPageRight();}
			    else 
			    { 
			    	if(srcobj.id == 'addnewinvitemturnbtn'){ return; }	
			    	else if(srcobj.id == 'NewInvCustomer_ACRef'){ return; }		   	
			        newInvPageRight();
			    }
			}			
			if(gv_subCmdName=="New Quotation") 
			{
			    if(NewQuoItemTurnPage == 1)
			    {
			        if(srcobj.id == 'NewQuoItemProduct_Code'){ return; }	 
			        newQuoItemPageRight();
			    }
			    else if(NewQuoItemTurnPage == 2){ editNewQuoItemPageRight();}
			    else 
			    {
			    	if(srcobj.id == 'addnewquoitemturnbtn'){ return; }
			    	else if(srcobj.id == 'NewQuoCustomer_ACRef'){ return; }			
			        newQuoPageRight();
			    }
			}			
			break;
		case 40: keynum=2; break;// down
		default: return;
	}
}
//Animate Ex4e logo and title
var gv_capTime=0;
function showCaption()
{
	if(gv_capTime>1000) return; //Some sort of error

	var logoLeft=document.getElementById('ex4eleft').style;
	var logoRight=document.getElementById('ex4eright').style;
	var logoTitle=document.getElementById('ex4etitle').style;
	if(gv_capTime>500) {//End of animation
		gv_capTime=1001;
		showMainMenu();
		return;
	}
	if(gv_capTime==0) {
		logoLeft.pixelTop=logoRight.pixelTop=gv_maintop+gv_winh/2-40;
		logoLeft.pixelLeft=gv_mainleft+gv_winw/2-118;
		logoRight.pixelLeft=gv_mainleft+gv_winw/2+40;
		logoTitle.pixelTop=gv_maintop+gv_winh/2+45;
		logoTitle.pixelLeft=gv_mainleft+logoTitle.pixelLeft;
		logoTitle.color='#ffffff';
		logoTitle.visibility='visible';
		logoTitle.pixelWidth=gv_winw-5;
	}
	else if(gv_capTime<45) {
		logoLeft.pixelLeft=logoLeft.pixelLeft+1;
		logoRight.pixelLeft=logoRight.pixelLeft-1;		
	}
	else { // Animate text
		if(gv_device==Nokia){
			gv_capTime=500;
			logoTitle.color='#0000ff';
		}
		else {
			var c1=parseInt(logoTitle.color.substring(1,3),16);
			c1-=16;
			if(c1<=0) gv_capTime=500;
			else {
				var tc=c1.toString(16);
				if(tc.length<2) tc='0'+tc;
				logoTitle.color='#'+tc+tc+'ff';
			}
		}		
	}
	gv_capTime++;
	var tmout=(gv_capTime==45 || gv_capTime==1) ? 500 : (gv_capTime<45 ? 110-2*gv_capTime:100);
	if(gv_capTime>500) tmout=2000;
	if(gv_device==Nokia && tmout<50) tmout=50;
	setTimeout('showCaption();',tmout);
}
function showTestInfo(tinfo)
{
	document.getElementById('divtest').innerHTML=tinfo;
}
function endPage()
{
}
function addPhoneImage()
{
//	var xl=new Array("0","0","0","353");
//	var yt=new Array("0","513","149","149");
	var xl=new Array("0","0","0","353");
	var yt=new Array("0","385","149","149");

	for(var i=1; i<5; i++) {
		var imgEle=document.createElement("img");
		imgEle.src="img/ipn"+i+".png";
		imgEle.style.left=xl[i-1]+'px';
		imgEle.style.top=yt[i-1]+'px';
		imgEle.style.position="absolute";
		//imgEle.alt="iPhone image";
		imgEle.alt="Nokia image";
		document.body.appendChild(imgEle);
	}
}
function getEventObject(e_event)
{
	if(e_event==null) {
		var e_event=window.event;
	}
	var srcele=e_event.target;
	if( !srcele ) srcele=e_event.srcElement;
	return srcele;
}
function overMenuButton(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id==gv_curMainCmdid) return;
	srcobj.src="img/biover.png";
	var mti=document.getElementById(srcobj.id.replace('mm_','mt_'));
	mti.style.color="Black";
}
function leavMenuButton(e_event)
{
	var srcobj=getEventObject(e_event);
	if(srcobj.id==gv_curMainCmdid) return;
	srcobj.src="img/binormal.png";
	var mti=document.getElementById(srcobj.id.replace('mm_','mt_'));
	mti.style.color="White";
}
function showMainMenu()
{
	if(document.getElementById('divMain').style.visibility=='hidden') {
		document.getElementById('divMain').style.visibility='visible';
		document.getElementById('ex4eleft').style.visibility='hidden';
		document.getElementById('ex4eright').style.visibility='hidden';
		document.getElementById('ex4etitle').style.visibility='hidden';
	}
	var menuTitle=document.getElementById('menu_title');
	var yh=gv_mainBtnH+8;
	var ytop=Math.round((gv_winh-yh*gv_cmdNames.length)/2)+10;

	gv_curMainCmdid="";
	if( document.getElementById("mm_"+gv_cmdNames[1])==null ) {
		if(gv_device==Nokia) {
			var divopt=document.getElementById('optNokia').style;
			divopt.visibility='visible';
			divopt.pixelTop=gv_winh-15;
			document.getElementById('back2submenu').style.visibility='hidden';
		}
		menuTitle.style.pixelTop=ytop-20;
		menuTitle.style.pixelLeft=(gv_winw-64)/2;
		var divMain=document.getElementById('divMain');
		for(var i=0; i<gv_cmdNames.length; i++) {
			var nodeI=document.createElement("input");
			nodeI.type='image';
			nodeI.name=gv_cmdNames[i];
			divMain.appendChild(nodeI);
			nodeI.id="mm_"+gv_cmdNames[i];
		    nodeI.className='menubtn';
		    nodeI.style.position='absolute';
			nodeI.style.zIndex=101;
//			nodeI.pixelHeight=gv_mainBtnH;
			var mti=document.createElement("div");
			mti.id="mt_"+gv_cmdNames[i];
		    mti.style.position='absolute';
			mti.style.zIndex=201;
			divMain.appendChild(mti);
		}
		for(var i=0; i<gv_cmdNames.length; i++) {
			var nodeI=document.getElementById("mm_"+gv_cmdNames[i]);
			nodeI.onclick=clickMenuButton;
			if(gv_device==Nokia) {
				nodeI.onfocus=overMenuButton;
				nodeI.onblur=leavMenuButton;
			}
			else {
				nodeI.onmouseover=overMenuButton;
				nodeI.onmouseleave=leavMenuButton;
			}
			if(gv_device==Nokia) {
				nodeI.style.left="3px";
				nodeI.style.pixelWidth=gv_winw-8;
			}
			else {
				nodeI.style.left="1px";
				nodeI.style.pixelWidth=gv_winw-2;
			}
			var mti=document.getElementById("mt_"+gv_cmdNames[i]);
			mti.style.pixelLeft=(gv_winw-6*gv_cmdNames[i].length)/2;
			mti.style.fontWeight='bold';
			mti.innerHTML=gv_cmdNames[i];
		}
	}
	document.getElementById('submenu').style.visibility='hidden';
	menuTitle.style.visibility='visible';
	for(var i=0; i<gv_cmdNames.length; i++) {
		var nodeI=document.getElementById("mm_"+gv_cmdNames[i]);
		nodeI.style.pixelTop=ytop+yh*i;
		nodeI.style.visibility='visible';
		nodeI.src="img/binormal.png";
		var mti=document.getElementById("mt_"+gv_cmdNames[i]);
		mti.style.visibility='visible';
		mti.style.color='White';
		mti.style.pixelTop=ytop+5+yh*i;
	}
}
function clickMenuButton(e_event)
{
	if(gv_curMainCmdid.indexOf('mm_')>=0) return; // Already clicked
	var srcobj=getEventObject(e_event);
	if( !srcobj) return;
	gv_curMainCmdid=srcobj.id;
	if(gv_curMainCmdid.indexOf('mm_')<0) return;
	killMainMenu(0);
}

function killMainMenu(im)
{
	if(im==gv_cmdNames.length) showSubMenu();
	else {
		document.getElementById("mm_"+gv_cmdNames[im]).style.visibility='hidden';
		document.getElementById("mt_"+gv_cmdNames[im]).style.visibility='hidden';
		setTimeout("killMainMenu("+(im+1)+")",50);
	}	
}

function showSubMenu()
{
	document.getElementById('menu_title').style.visibility='hidden';
	var cmdNames=new Array();
	var cmdImgs=new Array();
	switch(gv_curMainCmdid.substring(3)) {
//		case "Users": cmdNames=new Array("User Login","Admin");
//			cmdImgs=new Array("MenuIcon","MenuIcon");
//			break;
//		case "Products" :
//			cmdNames=new Array("Edit Product","New Product","Record Adjustments In","Record Adjustments Out","Record Stock Take");
//			cmdImgs=new Array("ProductEdit","ProductNew","ProductAdjustIn","ProductAdjustOut","ProductStockTake");
//			break;
		case "Products" :
			cmdNames=new Array("New Product","Edit Product","Record Adjustments In","Record Adjustments Out","Record Stock Take");
			cmdImgs=new Array("ProductNew","ProductEdit","ProductAdjustIn","ProductAdjustOut","ProductStockTake");
			break;			
//		case "Customers" :
//			cmdNames=new Array("Customer List","Edit Customer","New Customer","New Sales Order","Amend Sales Order","Sales Order Allocation","Create New Invoice","Amend Invoice","Post Invoice","New Quotation","Receive Payment","Customer Refund","Invoicde List","Batch Credit","Batch Invoice","Sales Order List","Sales Aged Balance");
//			cmdImgs=new Array("CustomerNew","CustomerEdit","CustomerNew","SOP","SOP","ProductAllocate","Invoice","Invoice","Invoice","SOP","BankPayCustomer","BankPayCustomer","FinancialsAudit","Batch","Batch","Invoice","Batch");
//			break;
//		case "Customers" :
//			cmdNames=new Array("Customer List","New Customer");
//			cmdImgs=new Array("CustomerNew","CustomerNew");
//			break;
		case "Customers" :
			cmdNames=new Array("New Customer","Amend Customer");
			cmdImgs=new Array("CustomerNew","CustomerNew");
			break;			
			
//		case "Suppliers" :
//			cmdNames=new Array("Supplier List","Edit Supplier","New Supplier","New Sales Order","Amend Sales Order","Sales Order Allocation","Create New Invoice","Amend Invoice","Post Invoice","New Quotation","Receive Payment","Customer Refund","Invoicde List","Batch Credit","Batch Invoice","Sales Order List","Sales Aged Balance");
//			cmdImgs=new Array("CustomerNew","CustomerEdit","CustomerNew","SOP","SOP","ProductAllocate","Invoice","Invoice","Invoice","SOP","BankPayCustomer","BankPayCustomer","FinancialsAudit","Batch","Batch","Invoice","Batch");
//			break;
				
//		case "Suppliers" :
//			cmdNames=new Array("Supplier List","New Supplier");
//			cmdImgs=new Array("CustomerNew","CustomerNew");
//			break;
		case "Suppliers" :
			cmdNames=new Array("New Supplier","Amend Supplier");
			cmdImgs=new Array("CustomerNew","CustomerNew");
			break;        
//        case "Sops" :
//			cmdNames=new Array("Sop List","Edit Sop","New Sop","New Sales Order","Amend Sales Order","Sales Order Allocation","Create New Invoice","Amend Invoice","Post Invoice","New Quotation","Receive Payment","Customer Refund","Invoicde List","Batch Credit","Batch Invoice","Sales Order List","Sales Aged Balance");
//			cmdImgs=new Array("CustomerNew","CustomerEdit","CustomerNew","SOP","SOP","ProductAllocate","Invoice","Invoice","Invoice","SOP","BankPayCustomer","BankPayCustomer","FinancialsAudit","Batch","Batch","Invoice","Batch");
//			break;
	    case "Sop" :
			cmdNames=new Array("Sop List","New Sop","Create New Invoice","Amend Invoice","New Quotation");
			cmdImgs=new Array("CustomerNew","CustomerEdit","CustomerNew","Invoice","SOP");
			break;
//     	case "Pops" :
//			cmdNames=new Array("Pop List","Edit Pop","New Pop","New Sales Order","Amend Sales Order","Sales Order Allocation","Create New Invoice","Amend Invoice","Post Invoice","New Quotation","Receive Payment","Customer Refund","Invoicde List","Batch Credit","Batch Invoice","Sales Order List","Sales Aged Balance");
//			cmdImgs=new Array("CustomerNew","CustomerEdit","CustomerNew","SOP","SOP","ProductAllocate","Invoice","Invoice","Invoice","SOP","BankPayCustomer","BankPayCustomer","FinancialsAudit","Batch","Batch","Invoice","Batch");
//			break;
		case "Pop" :
			cmdNames=new Array("Pop List","New Pop");
			cmdImgs=new Array("CustomerNew","CustomerNew");
			break;
	}
	cmdNames[cmdNames.length]="Back to Main Menu";
	cmdImgs[cmdImgs.length]="back";
	if(cmdNames.length!=cmdImgs.length) alert("Check array cmdNames,cmdImages");
	var mcmd=document.getElementById(gv_curMainCmdid);
	mcmd.style.visibility="visible";
	mcmd.style.pixelTop=0;
	mcmd.src='img/bicur.png';
	var mti=document.getElementById(gv_curMainCmdid.replace('mm_','mt_'));
	mti.style.color="White";
	mti.style.pixelTop=4;
	mti.style.visibility="visible";
	var cmt = mti.innerHTML;
	var km=cmt.indexOf('-&gt');
	if(km>0){
		mti.innerHTML=cmt.substring(0,km);
		mti.style.pixelLeft=(gv_winw-mti.innerHTML.length*6)/2;
	}

//Create submenu	
	var submenu=document.getElementById('submenu');
	submenu.style.pixelTop=gv_mainBtnH;
	var htmstr="<table>";//row height=30. if cannot fit on screen, use 2 columns
	var nclms=cmdNames.length>gv_winh/gv_mainBtnH ? 2 : 1;
	var tdw="";
	if(nclms==2) tdw=" width='"+Math.round((gv_winw-48)/2)+"px'";
	var i=0;
	while(i<cmdNames.length) {
		var td1str="<input type='image' src='img/"+cmdImgs[i]+".png' name='"+cmdNames[i]+
			"' style='cursor:hand' onclick='clickSubmenu();' /></td><td"+tdw+">"+cmdNames[i]+"</td>";
		var td2str="";
		if(nclms==2){
			i++;
			td2str="<td width='24px'><input type='image' src='img/"+cmdImgs[i]+".png' name='"+cmdNames[i]+
			"' style='cursor:hand' onclick='clickSubmenu();' /></td><td "+tdw+">"+cmdNames[i]+"</td>";
		}
		htmstr += "<tr valign=middle><td width='24px'>"+td1str+td2str+"</tr>";
		i++;
	}
	submenu.innerHTML=htmstr+"</table>";
	submenu.style.visibility='visible';	
}
function setTopTitle(strTitle)
{
	var mti=document.getElementById(gv_curMainCmdid.replace('mm_','mt_'));
	mti.innerHTML = strTitle;
	mti.style.pixelLeft=(gv_winw-strTitle.length*6)/2;
}
function clickSubmenu()
{
	var srcele=getEventObject(null);
	if(srcele.name=="Back to Main Menu") { showMainMenu(); return; }

	var mti=document.getElementById(gv_curMainCmdid.replace('mm_','mt_'));
	var old_title=mti.innerHTML;
	if(old_title.indexOf('->')<1) setTopTitle(old_title+" -> "+srcele.name);
	if(gv_device!=Nokia) document.getElementById('back2submenu').style.visibility='visible';
	document.getElementById('submenu').style.visibility='hidden';
	gv_subCmdName=srcele.name;
    switch(srcele.name){
		case "Amend Customer" : doInitCusPage(); break;
		//case "Edit Customer" : doCustomerList(); break;
		case "Amend Supplier" : doInitSupPage(); break;
		case "Edit Supplier" : doSupplierList(); break;
		case "Edit Product" :  doInitProPage(); break;
		case "Sop List" :      doSopList();     break;
		case "New Sop" :        doNewSop();  break;
		case "Pop List" :      doPopList();     break;
		case "New Pop" :       doNewPop();      break;
	    case "New Product" :   doNewStock();    break;
	    case "Record Stock Take":doStockTake(); break;
	    case "Record Adjustments In":doStockIn(); break;
	    case "Record Adjustments Out":doStockOut(); break;
	    case "Amend Invoice":doInvList();  break;
	    case "New Customer" :  doNewCustomer();    break;
	    case "New Supplier":   doNewSupplier(); break;
	    case "Create New Invoice":     doNewInvoice();break;
	    case "New Quotation":     doNewQuotation();break;
		default : alert(srcele.name); break;
	}
}
function finishCommand()
{
	var idone=0;
	switch( gv_curMainCmdid ) {
		case "mm_Customers" : idone=backCustomers();  
	
//	if(idone==0) {
//	    document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('cusCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
	    break;
	case "mm_Suppliers" : idone=backSuppliers();  
//    if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('supCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
		break;
		case "mm_Products" : idone=backProducts();  
//    if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('proCmds').style.visibility='hidden';

//	    doNokiaMenuMain();
//		showSubMenu();
//		}
		break;  
		
		case "mm_Sop" : idone=backSops();  
	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('sopCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
	    break;
	    	 
//	    case "mm_Invoices" : idone=backInvoices();  
//	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('sopCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;	  
// 
//	  	case "mm_NewSops" : idone=backNewSops();  
//	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('sopCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;	
//	    case "mm_SopItems" : idone=backSopItems();  
//	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('sopItemCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;	  
//	    
//	    
//	    
//	       case "mm_NewSopItems" : idone=backNewSopItems();  
//	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('newsopItemCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;	  
//	    
//	    
	    case "mm_Pop" : idone=backPops();  
	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('popCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
	    break;	  
//	    case "mm_PopItems" : idone=backPopItems();  
//	
//	if(idone==0) {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('popItemCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;	  

//	 case "mm_NewPops" : idone=backNewPops();  
//	
//	if(idone==0)
//	   {
//		document.getElementById('back2submenu').style.visibility='hidden';
//		document.getElementById('tempTable').style.visibility='hidden';
//	    document.getElementById('popCmds').style.visibility='hidden';
//	    doNokiaMenuMain();
//		showSubMenu();
//		}
//	    break;
	 }	
		
	   
	   
	
	
}
//value-name cannpot include ';'
function createCookie(name,value,days)
{
	if(window.widget) {
		widget.setPreferenceForKey(value,name);
	}
	else {
		var expires = "";
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		document.cookie = name+"="+value+expires+"; path=/";
	}
}
function readCookie(name) {
	if(window.widget) {
		var value=widget.preferenceForKey(name);
		if(value=='undefined') return null; else return value;
	}
	else {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0; i<ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}
function eraseCookie(name) {
	if(window.widget) widget.setPreferenceForKey(null,name); else createCookie(name,"",-1);
}

function newHttpRequest(url,bAsync)
{		
	var xmlhttp = getXMLHttpObj();
	if( xmlhttp==null ) return null;
	xmlhttp.open('GET',url,bAsync);
	xmlhttp.setRequestHeader("Cache-Control", "no-cache");
	return xmlhttp;
}
function getXMLHttpObj()// Get the XMLHttpRequest object
{
	if(window.widget) return new XMLHttpRequest();

    var xmlhttp=null;
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
		try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
          xmlhttp = null;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  	  try {
		xmlhttp = new XMLHttpRequest();
	  } catch (e) {
        xmlhttp=null;
	  }
	}
	return xmlhttp;
}
function doNokiaMenuMain()
{
	if(window.widget) {
		window.menu.clear();
		var mKg = new MenuItem('More Widgets',2002);
		mKg.onSelect=function(){ widget.open("http://www.ex4e.co.uk"); };
		window.menu.append(mKg);
		var mfaq = new MenuItem('FAQ',2003);
		mfaq.onSelect=function(){ widget.open("http://www.ex4e.co.uk"); };
		window.menu.append(mfaq);
	}
}	

