
function TC (sCatName) 
{
	this.CatName = sCatName;
	this.pML = new Array();
}

function TM (sManuName) 
{
	this.ManuName = sManuName;
	this.pIL = new Array();
}

function TI (sCode, sItemDesc) 
{
	this.Code = sCode;
	this.ItemDesc = sItemDesc;
}

var ddlCat;
var ddlManu;
var ddlItem;

function UpdateCat (form) 
{	
	ddlCat = GetObjRef(form, "$ddlCat");
	ddlManu = GetObjRef(form, "$ddlManu");
	ddlItem = GetObjRef(form, "$ddlItem");

	var i=1;
	for (var nCatId in arrCat) 
		ddlCat.options[i++] = new Option (arrCat[nCatId].CatName, nCatId);
	
	OnChangeCat (form);     
}

function OnChangeCat (form) 
{
    if (ddlCat.selectedIndex != -1 && ddlCat.options[ddlCat.selectedIndex].value == '') 
    {
        ddlCat.selectedIndex = 0;
	    for (var i = ddlManu.length - 1; i > 0; i--)
	        ddlManu.options[i] = null;           
	        
        OnChangeManu (form);
        return;
    }        
             
	var nCatId = ddlCat.options[ddlCat.selectedIndex].value;
	
	var nManuCount = 1;	
	for (var nManuId in arrCat[nCatId].pML) 
	     ddlManu.options[nManuCount++] = new Option (arrCat[nCatId].pML[nManuId].ManuName, nManuId);
     
	for (var i = ddlManu.length - 1; i >= nManuCount; i--)
	    ddlManu.options[i] = null;   
	    
	OnChangeManu (form);         
} 

function OnChangeManu (form) 
{    
    if (ddlManu.selectedIndex != -1 && ddlManu.options[ddlManu.selectedIndex].value == '') 
    {
        ddlManu.selectedIndex = 0;
	    for (var i = ddlItem.length - 1; i > 0; i--)
	        ddlItem.options[i] = null;           
	    ddlItem.selectedIndex = 0;    
        return;
    }
    
    if (ddlCat.options[ddlCat.selectedIndex].value == '') 
    {
        ddlManu.selectedIndex = 0;
        return;
    }    	

    var nCatId  = ddlCat.options[ddlCat.selectedIndex].value;
    var nManuId = ddlManu.options[ddlManu.selectedIndex].value;
    
    var nItemCount = 1;
	for (var nItemId in arrCat[nCatId].pML[nManuId].pIL) 
	    ddlItem.options[nItemCount++] = new Option (arrCat[nCatId].pML[nManuId].pIL[nItemId].ItemDesc, nItemId);
		
	for (var i = ddlItem.length - 1; i >= nItemCount; i--)
	    ddlItem.options[i] = null;            
} 