﻿  //=========================================================================================================
  // select Combobox1 item change Combox2 item
  //=========================================================================================================
  function aClass(aData, aValue, aText) {
    if (aClass.arguments.length < 3)
      alert("Error! aClass(aData, aValue, aText) arguments count error.")
    else {
      this.Data  = aData;
      this.Value = aValue;
      this.Text  = aText;
    }
  }
  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  function chgDnCombobox(aSrc, aDes, aClass, aRemain){
    if (chgDnCombobox.arguments.length < 3)
		alert("Error! chgDnCombobox(aSrc, aDes, aClass, aRemain) arguments count error.")
    else if (aSrc.type != "select-one")
      alert("Error! chgDnCombobox(aSrc, aDes, aClass, aRemain) arguments error, aSrc control type is not <select ...><option value=x></select>.")
    else if (aClass == null)
      alert("Error! chgDnCombobox(aSrc, aDes, aClass, aRemain) aClass is not defined.")
    else {
      if (aRemain==null)
        aRemain = 1;
      chgDnComboboxItem(aSrc.options[aSrc.selectedIndex].value, aDes, aClass, aRemain);
    }
  }
  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  function chgDnComboboxItem(aValue, aDes, aClass, aRemain){
    if (chgDnComboboxItem.arguments.length<3)
      alert("Error! chgDnComboboxItem(aValue, aDes, aClass, aRemain) arguments count error.")
    else if (aClass==null)
      alert("Error! chgDnComboboxItem(aValue, aDes, aClass, aRemain) aClass is not defined.")
    else{
      if (aRemain==null)
        aRemain = 1;
      deleteAllComboboxItem(aDes, aRemain);
      for (var i=0; i<aClass.length; i++)
        if (aClass[i].Data==aValue)  /* check aClass[i].Data */
          if (aClass[i].Data!="")
            addComboboxItem(aDes, aClass[i].Text, aClass[i].Value);
    }
  }
  //---------------------------------------------------------------------------------------------------------
  function deleteAllComboboxItem(aList, aRemain) {
    for (var i=aList.options.length; i > aRemain-1; i--)
      aList.options[i] = null;
  }    
  //---------------------------------------------------------------------------------------------------------
  function addComboboxItem(aList, aText, aValue) {
    var aOption = new Option(aText, aValue);
    eval("aList.options[aList.options.length]=aOption");
  }
  
  function chgDnComboxCategory(aSrc, aDes, aClass, aValue, bValue) {
    chgDnCombobox(aSrc, aDes, aClass, 0);
    
    var count = 0;
    for (var i=0; i<aClass.length; i++) {
      if (aClass[i].Data == aValue) {
        if (aClass[i].Data!="") {
          if (aClass[i].Value == bValue) {
            aDes.options[count].selected = true;
          }

          count++;
        }
      }
    }

  }

  function createobj(aDes, aClass) {
      for (var i=0; i<aClass.length; i++)
        if (aClass[i].Data=="")
          addComboboxItem(aDes, aClass[i].Text, aClass[i].Value);
  }

  function chgComboxSelect(aDes, aClass, aValue) {
    var count = 0;
    for (var i=0; i<aClass.length; i++)
      if (aClass[i].Value == aValue)
        aDes.options[i].selected = true;
  }



	function createlist(aClass, aSrc, aValue, words, class_name, status, change) {
		html = '<select name=' + aSrc + ' class=' + class_name + ' ' + change + '>';

		for (i=0 ; i<aClass.length-1 ; i++) {
			if (aClass[i].Value == aValue) html = html + '<option value=' + aClass[i].Value + ' selected>' + aClass[i].Text + '</optoin>';
			else html = html + '<option value=' + aClass[i].Value + '>' + aClass[i].Text + '</optoin>';
		}

		html = html + '</select>';

		if (status == "return") return html;
		else document.write (html + ' ' + words);
	}
