/********************************************/
//  select控件内容填写以及相互关联的js脚本  //
//  参数：
//      arrContent：内容数组
//      sels：控件ID数组
/********************************************/
function AutoSelection(aryContent, sels)
{
  var me = this;
  this.self = function(obj)  // 根据ID取得自己的对象
  {
    return document.getElementById(obj);
  }

  this.subItems = function (i, pid)  // 根据序号和名称取得下面关联的子序列
  {
    for(j=i+1;j<sels.length;j++)  // 添加根节点
    {
      if(me.self==null)
        continue;
      me.self(sels[j]).length = 0;
      me.self(sels[j]).options[0] = new Option("==请选择==", "");  // 显示文字和Value
    }
    for(j=0;j<aryContent.length;j++)
    {
      if(aryContent[j][1]==pid)
      {
        me.self(sels[i+1]).options[me.self(sels[i+1]).length] = new Option(aryContent[j][0], aryContent[j][2]);
      }
    }
  }

  this.getValue = function(obj)
  {
    return me.self(obj).options.value;
  }

  this.setValue = function(obj, v)
  {
    s = me.self(obj);
    for(i=0;i<s.length;i++)
    {
      if(s.options[i].value.toLowerCase()==v.toLowerCase())
      {
        s.options[i].selected = true;
        break;
      }
    }
  }

  this.setByValue = function(obj, v)
  {
    s = me.self(obj);
    for(i=0;i<s.length;i++)
    {
      if(s.options[i].value.toLowerCase()==v.toLowerCase())
      {
        s.options[i].selected = true;
        break;
      }
    }
  }

  this.init = function()
  {
    me.subItems(-1, "root");
    for(i=0;i<sels.length;i++)
    {
      me.self(sels[i]).onchange = function()
      {
        var j;
        for(j=0;me.self(sels[j])!=this;j++);
        me.subItems(j, me.self(sels[j]).value);
      }
    }
  }

  this.init();
}