/**Province list plugins
*Sample: jQuery('#province').setProvinceList(jQuery('#city'), '上海', '闵行') ;
*Author: Shi Yaxiong
*Date: 2010-6-1
*/

jQuery.fn.setProvinceList = function(city_obj, default_province, default_city)
{
	var province= ['北京','上海','重庆','天津','浙江','安徽','福建','甘肃','广东','广西','贵州','海南','河北','河南','黑龙江','湖南','湖北','江苏','江西','吉林','辽宁','内蒙古','宁夏','青海','山东','山西','陕西','新疆','西藏','云南','香港','澳门'];
	
	var beijing = ['东城','西城','崇文','宣武','朝阳','丰台','石景山','海淀','门头沟','房山','通州','顺义','昌平','大兴','平谷','怀柔','密云','延庆'];
	var shanghai= ['崇明','黄浦','卢湾','徐汇','长宁','静安','普陀','闸北','虹口','杨浦','闵行','宝山','嘉定','浦东','金山','松江','青浦','南汇','奉贤'];
	var chongqing=['万州','涪陵','渝中','大渡口','江北','沙坪坝','九龙坡','南岸','北陪','万盛','双桥','渝北','巴南','黔江','长寿','綦江','潼南','铜梁','大足','璧山','梁平','城口','丰都','垫江','武隆','安县','开县','云阳','奉节','巫山','巫溪','石柱','秀山','酉阳','彭水','江津','合川','永川','南川'];
	var tianjin = ['天津','和平','东丽','河东','西青','河西','津南','南开','北辰','河北','武清','红桥','塘沽','大港','宁河','静海','宝坻','蓟县'];
	var zhejiang= ['杭州','安吉','慈溪','定海','奉化','海盐','黄岩','湖州','嘉兴','金华','临安','临海','丽水','宁波','瓯海','平湖','千岛湖','衢州','江山','瑞安','绍兴','嵊州','台州','温岭','余姚','舟山'];
	var anhui   = ['合肥','安庆','蚌埠','毫州','巢湖','滁州','阜阳','贵池','淮北','淮化','淮南','黄山','九华山','六安','马鞍山','宿州','铜陵','屯溪','芜湖','宣城'];
	var fujian  = ['福州','福安','龙岩','南平','宁德','莆田','泉州','三明','邵武','石师','永安','武夷山','厦门','漳州'];
	var gansu   = ['兰州','白银','定西','敦煌','甘南','金昌','酒泉','临夏','平凉','天水','武都','武威','西峰','张掖'];
	var guangdong=['广州','潮阳','潮州','澄海','东莞','佛山','河源','惠州','江门','揭阳','开平','茂名','梅州','清远','汕头','汕尾','韶关','深圳','顺德','阳江','英德','云浮','增城','湛江','肇庆','中山','珠海'];
	var guangxi = ['南宁','百色','北海','桂林','防城港','河池','贺州','柳州','钦州','梧州','玉林'];
	var guizhou = ['贵阳','安顺','毕节','都匀','凯里','六盘水','铜仁','兴义','玉屏','遵义'];
	var hainan  = ['海口','瞻县','陵水','琼海','三亚','通什','万宁'];
	var hebei   = ['石家庄','保定','北戴河','沧州','承德','丰润','邯郸','衡水','廊坊','南戴河','秦皇岛','唐山','新城','邢台','张家口'];
	var henan   = ['郑州','安阳','鹤壁','潢州','焦作','济源','开封','缧河','洛阳','南阳','平顶山','濮阳','三门峡','商丘','新县','信阳','许昌','周口','驻马店'];
	var heilongjiang=['哈尔滨','北安','大庆','大兴安岭','鹤岗','黑河','佳木斯','鸡西','牡丹江','齐齐哈尔','七台河','双鸭山','绥化','伊春'];
	var hunan   = ['长沙','常德','郴州','衡阳','怀化','吉首','娄底','邵阳','湘潭','益阳','岳阳','永州','张家界','株洲'];
	var hubei   = ['武汉','恩施','鄂州','黄冈','黄石','荆门','荆州','潜江','十堰','随州','武安','仙桃','咸宁','襄阳','襄樊','孝感','宜昌'];
	var jiangsu = ['南京','常熟','常州','海门','淮安','江都','江阴','昆山','连云港','南通','宿迁','苏州','太仓','泰州','同里','无锡','徐州','盐城','扬州','宜兴','仪征','张家界','镇江','周庄'];
	var jiangxi = ['南昌','抚州','赣州','吉安','景德镇','井冈山','九江','庐山','萍山','上饶','新余','宜春','鹰潭'];
	var jilin   = ['长春','白城','通化','白山','延边','四平','松原','辽源','延吉','梅河','珲春'];
	var liaoning= ['沈阳','鞍山','本溪','朝阳','大连','丹东','抚顺','阜新','铁岭','营口','葫芦岛','辽阳','盘锦'];
	var neimeng = ['呼和浩特','阿拉善盟','包头','赤峰','集宁','东胜','临江','通辽','乌海','乌兰浩特','锡林浩特'];
	var nixia   = ['银川','固源','石嘴山','吴忠'];
	var qinhai  = ['西宁','德令哈','格尔木','共和','东海','海晏','玛沁','同仁','玉树'];
	var shandong= ['济南','滨州','兖州','德州','东营','菏泽','济宁','莱芜','聊城','临沂','蓬莱','青岛','曲阜','日照','泰安','潍坊','威海','烟台','枣庄','淄博'];
	var shanxi_1= ['太原','长治','大同','侯马','晋城','离石','临汾','宁武','朔州','忻州','阳泉','榆次','运城'];
	var shanxi_2= ['西安','安康','宝鸡','汉中','渭南','商州','绥德','铜川','咸阳','延安','榆林'];
	var xinjiang= ['乌鲁木齐','阿克苏','阿勒泰','阿图什','博乐','昌吉','东山','哈密','和田','喀什','克拉玛依','库车','库尔勒','奎屯','石河子','塔城','吐鲁番','伊宁'];
	var xizang  = ['拉萨','阿里','昌都','林芝','那曲','日喀则','山南'];
	var yunan   = ['昆明','大理','保山','楚雄','东川','个旧','景洪','开远','临沧','丽江','六库','普洱','玉溪','曲靖','西双版纳','昭通','怒江','德宏','迪庆','中甸','文山','潞西'];
	var hangkang= ['香港','九龙','新界'];
	var aomen   = ['澳门'];
		
	var province_obj = jQuery(this) ;
	
	//列出所有省份
    appendOptions(province_obj, province, default_province);
	if(jQuery.inArray(default_province, province) > -1){
		listCitys(default_province, default_city) ;
	}
	
	//省份改变事件
	province_obj.change(function(){
		listCitys(jQuery(this).val());
	});
	
	//根据省份名称列出城市
	function listCitys(province_name, default_value){
	   switch(province_name)
	   {
		case "北京":appendOptions(city_obj, beijing, default_value);break;   
		case "上海":appendOptions(city_obj, shanghai, default_value);break;  
		case "重庆":appendOptions(city_obj, chongqing, default_value);break;
		case "天津":appendOptions(city_obj, tianjin, default_value);break;
		case "浙江":appendOptions(city_obj, zhejiang, default_value);break;
		case "安徽":appendOptions(city_obj, anhui, default_value);break;
		case "福建":appendOptions(city_obj, fujian, default_value);break;
		case "甘肃":appendOptions(city_obj, gansu, default_value);break;
		case "广东":appendOptions(city_obj, guangdong, default_value);break;
		case "广西":appendOptions(city_obj, guangxi, default_value);break;
		case "贵州":appendOptions(city_obj, guizhou, default_value);break;
		case "海南":appendOptions(city_obj, hainan, default_value);break;
		case "河北":appendOptions(city_obj, hebei, default_value);break;
		case "河南":appendOptions(city_obj, henan, default_value);break;
		case "黑龙江":appendOptions(city_obj, heilongjiang, default_value);break;
		case "湖南":appendOptions(city_obj, hunan, default_value);break;
		case "湖北":appendOptions(city_obj, hubei, default_value);break;
		case "江苏":appendOptions(city_obj, jiangsu, default_value);break;
		case "江西":appendOptions(city_obj, jiangxi, default_value);break;
		case "吉林":appendOptions(city_obj, jilin, default_value);break;
		case "辽宁":appendOptions(city_obj, liaoning, default_value);break;
		case "内蒙古":appendOptions(city_obj, neimeng, default_value);break;
		case "宁夏":appendOptions(city_obj, nixia, default_value);break;
		case "青海":appendOptions(city_obj, qinhai, default_value);break;
		case "山东":appendOptions(city_obj, shandong, default_value);break;
		case "山西":appendOptions(city_obj, shanxi_1, default_value);break;
		case "陕西":appendOptions(city_obj, shanxi_2, default_value);break;
		case "新疆":appendOptions(city_obj, xinjiang, default_value);break;
		case "西藏":appendOptions(city_obj, xizang, default_value);break;
		case "云南":appendOptions(city_obj, yunan, default_value);break;
		case "香港":appendOptions(city_obj, hangkang, default_value);break;
		case "澳门":appendOptions(city_obj, aomen, default_value);break;
		default:
			city_obj.empty() ;
			addOption(city_obj, '0', '请选择...') ;
	   }
	}
	
	function addOption(obj, value, text, selected){
		if(selected){
			jQuery("<option selected='selected'></option>").val(value).text(text).appendTo(obj) ;
		}else{
			jQuery("<option></option>").val(value).text(text).appendTo(obj) ;
		}
	}
	
	function appendOptions(obj, array, default_value){
		//清空下拉框
		obj.empty() ;
		addOption(obj, '0', '请选择...') ;
		
		//循环列出所有选项
		for(var i=0;i<array.length;i++)
		{
			if(default_value == array[i]){
				addOption(obj, array[i], array[i], true) ;
			}else{
				addOption(obj, array[i], array[i], false) ;
			}
		}
	}
}
