jQuery.fn.format = function(options) {
    var options = jQuery.extend({
        controller: "",
        action: "",
        provinceName:"",
        cityName:"",
        districtName:"",
        province:"",
        city:"",
        district:""
    }, options);
     $.province(options.controller,options.action,options.provinceName,
               options.cityName,options.districtName,options.province,
               options.city,options.district);

     $("#"+options.provinceName).change(function(evt){
          var provinceId = evt.target.value;
          $("#"+options.cityName).find("option[value!='']").remove();
          $("#"+options.districtName).find("option[value!='']").remove();
          $.city(options.controller,options.action,provinceId,
                 options.cityName,'',options.districtName,options.district);
     });

    $("#"+options.cityName).change(function(evt){
        var cityId = evt.target.value;
        $("#"+options.districtName).find("option[value!='0']").remove();
        $.district(options.controller,options.action,cityId,options.districtName);
    })
};

jQuery.province = function(controller,action,provinceName,cityName,districtName,province,city,district) {
      var provinceList = [{"name":"北京","code":"2"},{"name":"安徽","code":"3"},{"name":"福建","code":"4"},{"name":"甘肃","code":"5"},{"name":"广东","code":"6"},
      						  {"name":"广西","code":"7"},{"name":"贵州","code":"8"},{"name":"海南","code":"9"},{"name":"河北","code":"10"},{"name":"河南","code":"11"},
      						  {"name":"黑龙江","code":"12"},{"name":"湖北","code":"13"},{"name":"湖南","code":"14"},{"name":"吉林","code":"15"},{"name":"江苏","code":"16"},
      						  {"name":"江西","code":"17"},{"name":"辽宁","code":"18"},{"name":"内蒙古","code":"19"},{"name":"宁夏","code":"20"},{"name":"青海","code":"21"},
      						  {"name":"山东","code":"22"},{"name":"山西","code":"23"},{"name":"陕西","code":"24"},{"name":"上海","code":"25"},{"name":"四川","code":"26"},
      						  {"name":"天津","code":"27"},{"name":"西藏","code":"28"},{"name":"新疆","code":"29"},{"name":"云南","code":"30"},{"name":"浙江","code":"31"},
      						  {"name":"重庆","code":"32"},{"name":"香港","code":"33"},{"name":"澳门","code":"34"},{"name":"台湾","code":"35"}];
          var selected = '';
          $("#"+cityName).empty();  
          $("#"+districtName).empty();  
          $("#"+cityName).append("<option value=''>请选择城市</option>");
          $("#"+districtName).append("<option value=''>选择区／县</option>");
          $(provinceList).each(function(key,value){
            if(province == value['code']){
                selected = 'selected';
                $.city(controller,action,value['code'],cityName,city,districtName,district);
            }else{
                selected = '';
            }
            
            $("#"+provinceName).append("<option value='"+value['code']+"'"+selected+">"+value['name']+"</option>");
          })
 };

jQuery.city = function(controller,action,provinceId,cityName,city,districtName,district){
    var cityList;
    $.ajax({
        type: "GET",
        url:makeurl(controller,action,{'parentId':provinceId}),
        dataType:"json",
        success: function(result){
            var selected = '';
            $(result).each(function(key,value){
            if(city == value['code']){
                selected = 'selected';
                $.district(controller,action,city,districtName,district);
            }else{
                selected = '';
            }
            $("#"+cityName).append("<option value='"+value['code']+"'"+selected+">"+value['name']+"</option>");
          })
        }
    });
}

jQuery.district = function(controller,action,cityId,districtName,district){
    var selected = '';
    $.ajax({
        type: "GET",
        url:makeurl(controller,action,{'parentId':cityId}),
        dataType:"json",
        success: function(result){
            $(result).each(function(key,value){
                if(district == value['code']){
                    selected = 'selected';
                }else{
                    selected = '';
                }
                $("#"+districtName).append("<option value='"+value['code']+"'"+selected+">"+value['name']+"</option>");
            })
        }
    });
}
