﻿
function DoubleCombo( masterId, slaveId, thirdId, msgId, url ) {
   this.master     = $(masterId);
   this.slave      = $(slaveId);
   this.thirdId    = thirdId;
   this.msg        = $(msgId); 
   this.url        = url;
   this.initializeBehavior();
}

DoubleCombo.prototype = {
   initializeBehavior: function() {
      var oThis = this;      
      this.master.onchange = function() { oThis.masterComboChanged(); };
   },
   

   masterComboChanged: function() {  
       if ( this.thirdId != '')  $(this.thirdId).length = 0;  // 清空后一个下拉框                     
       var strParams = 'pid=' + this.master.options[this.master.selectedIndex].value;                                             
       var oThis = this;
       var oMsg = this.msg;
       var oSlave = this.slave;
       var oThirdId = this.thirdId;
       var myAjax = new Ajax.Request( this.url ,{method: 'post', 
       parameters: strParams, 
         onSuccess: function(transport) {
                 oSlave.length = 0;                                      
                 var optionsObj = oSlave.options;
                 var slaveOptions = oThis.createOptions( transport.responseXML.documentElement); 
                 for ( var i = 0 ; i < slaveOptions.length ; i++ )
                        optionsObj.add( slaveOptions[i] );                                    
                 oSlave.options.add( option, oSlave.options.length); 
                 oMsg.innerHTML = '';                 
           },
          onFailure: function() {
            oThis.msg.innerHTML = '...';
          }
        }) ;  
   },

   createOptions: function(ajaxResponse) {
      var newOptions = [];
      var entrys = ajaxResponse.getElementsByTagName('Region_Main');                               
        for( i=0; i< entrys.length; i++){                                   
          var theValue = entrys[i].childNodes[0].firstChild.nodeValue;                      
          var theText = entrys[i].childNodes[1].firstChild.nodeValue;                      
          var option = new Option(theText,theValue);                           
          newOptions.push( new Option(theText, theValue) );                    
        } 
      return newOptions;
   }
};
                                                                          


