(function($) {
  $.fn.GlobalProvincesModule = function(options) {
    var defaults = {
      provId: 'User_Shen',
      townId: 'User_Town',
      cityId: 'User_City',
      defProv: '0',
      defTown: '0',
      defCity: '0'
    };
    var settings = $.extend({}, defaults, options);
    var $Proy = $('#' + settings.provId);
    if (settings.townId.length > 0)
      var $Town = $('#' + settings.townId);
    if (settings.cityId.length > 0)
      var $City = $('#' + settings.cityId);

    initProvince(settings.defProv);
    if (settings.townId.length > 0)
      initTown(settings.defTown);
    if (settings.cityId.length > 0)
      initCity(settings.defCity);
    //    $Proy.bind('change', initTown());
    //    $Town.bind('change',initCity());
    if (settings.defTown.length > 0)
      $Proy.change(function() {
        if (settings.townId.length > 0)
          initTown('0');
        if (settings.cityId.length > 0)
          initCity('0');
      });
    if (settings.cityId.length > 0)
      $Town.change(function() { initCity('0'); });



    function initProvince(v) {
      var domProv = $Proy.get(0);
      domProv.options.length = 0;
      domProv.options.add(new Option('省/市', '0'));
      
      loadDLL(domProv, province);
      $Proy.val(v);
    };

    function initTown(v) {
      var domTown = $Town.get(0);
      domTown.options.length = 0;
      domTown.options.add(new Option('市/地区', '0'));
      var _prov = $Proy.val();
      if (_prov != '0') {
        eval('if(typeof(town' + _prov + ')+""!="undefined") {loadDLL(domTown, town' + _prov + ')}');

        //        if (typeof (towm6) + '' == 'undefined') {
        //          alert("undefined");
        //        } else {
        //          loadDLL(domTown, towm6);
        //        }

        $Town.val(v);
      }
    }

    function initCity(v) {
      var domCity = $City.get(0);
      domCity.options.length = 0;
      domCity.options.add(new Option('县/市', '0'));
      var _town = $Town.val();
      if (_town != '0')
        eval('if(typeof(city' + _town + ')+""!= "undefined"){ loadDLL(domCity, city' + _town + ')}');
      $City.val(v);
    }




  }
})(jQuery);



function loadDLL(dll, data) {
  if (data) {
    for (var k in data) {

      dll.options.add(new Option(data[k], k));

    }
  }
}

