/*
驗證id   20060530  by tony
*/
function checkID(idName){   
	var myobj = document.getElementById(idName);
	var val = myobj.value;
	var myRE1 = /^[a-zA-Z]/; //驗證第一個字母為英文
	var myRE2 = /^\w{6,20}$/; //驗證6-20字元,[a-zA-Z0-9_]
	var msg = 0;
	if(val==""){
		msg = 1;
		msgAlert = "請填寫帳號!";
	}else if(!myRE1.test(val) || !myRE2.test(val)){
		msg = 2;
		msgAlert = "請填寫合法帳號.\n字首必須為字母,長度6-20,不可為空白";
	}
	if(msg > 0){
		alert(msgAlert);
		myobj.focus();
		return false;
	}else{
//		alert("GET VALUE:"+val+"----"+"ok!!");
		val = val.toLowerCase();
		return true;
	}
}
/*
驗證password   20060530  by tony
*/
function checkPWD(pwdName){
	var myobj = document.getElementById(pwdName);
	var val = myobj.value;
	var myRE1 = /[a-zA-Z]+/; //驗證至少有一個英文跟數字
	var myRE2 = /[0-9]+/;
	var myRE3 = /^[a-zA-Z0-9]{6,20}$/;  //驗證6-20字元,[a-zA-Z0-9]
	var msg = 0;
	if(val==""){
		msg = 1;
		msgAlert = "請填寫密碼!";
	}else if(!myRE1.test(val) || !myRE2.test(val) || !myRE3.test(val)){
		msg = 2;
		msgAlert = "請填寫合法密碼.\n至少有英文字母與數字各一個,不可全數字或全英文字母,長度6-20,不可為空白";
	}
	if(msg > 0){
		alert(msgAlert);
		myobj.focus();
		return false;
	}else{
//		alert("GET VALUE:"+val+"----"+"ok!!");
		return true;
	}
}
/*
驗證id或認證密碼是否相同   20060530  by tony
*/
function checkVALUE(name1,name2,mytype){
	var myobj1 = document.getElementById(name1);
	var myobj2 = document.getElementById(name2);
	var val1 = myobj1.value;
	var val2 = myobj2.value;
	var msg = 0;
	if(checkNoVALUE(name1) || checkNoVALUE(name2)){  //不能為空值
		msg = 1;
	}else if(mytype==1 && val1!=val2){ //密碼與認證密碼要一致
		msg = 2;
	}else if(mytype==2 && val1==val2){ //帳號與密碼不能相同
		msg = 3;
	}
	if(msg > 0){
		return false;
	}else{
		return true;
	}
}
/*
驗證是否為空值   20060530  by tony
*/
function checkNoVALUE(myName){  //檢查是否為空值  是 true  否 false
	val = document.getElementById(myName).value;
	return (val=="")?true:false;
}
/*
驗證身分證號碼   20060601  by tony
*/
function checkPersonID(pidName){
/*
			 A=10  台北市       J=18 新竹縣         S=26  高雄縣
       B=11  台中市       K=19 苗栗縣         T=27  屏東縣
       C=12  基隆市       L=20 台中縣         U=28  花蓮縣
       D=13  台南市       M=21 南投縣         V=29  台東縣
       E=14  高雄市       N=22 彰化縣         W=32  金門縣
       F=15  台北縣       O=35 新竹市         X=30  澎湖縣
       G=16  宜蘭縣       P=23 雲林縣         Y=31  陽明山
       H=17  桃園縣       Q=24 嘉義縣         Z=33  連江縣
       I=34  嘉義市       R=25 台南縣
*/
	charArray = new Array();
	numArray = new Array();
	i=0; j=0;
	charArray[i++] = "A"; numArray[j++] = 10;
	charArray[i++] = "B"; numArray[j++] = 11;
	charArray[i++] = "C"; numArray[j++] = 12;
	charArray[i++] = "D"; numArray[j++] = 13;
	charArray[i++] = "E"; numArray[j++] = 14;
	charArray[i++] = "F"; numArray[j++] = 15;
	charArray[i++] = "G"; numArray[j++] = 16;
	charArray[i++] = "H"; numArray[j++] = 17;
	charArray[i++] = "I"; numArray[j++] = 34;
	charArray[i++] = "J"; numArray[j++] = 18;
	charArray[i++] = "K"; numArray[j++] = 19;
	charArray[i++] = "L"; numArray[j++] = 20;
	charArray[i++] = "M"; numArray[j++] = 21;
	charArray[i++] = "N"; numArray[j++] = 22;
	charArray[i++] = "O"; numArray[j++] = 35;
	charArray[i++] = "P"; numArray[j++] = 23;
	charArray[i++] = "Q"; numArray[j++] = 24;
	charArray[i++] = "R"; numArray[j++] = 25;
	charArray[i++] = "S"; numArray[j++] = 26;
	charArray[i++] = "T"; numArray[j++] = 27;
	charArray[i++] = "U"; numArray[j++] = 28;
	charArray[i++] = "V"; numArray[j++] = 29;
	charArray[i++] = "W"; numArray[j++] = 32;
	charArray[i++] = "X"; numArray[j++] = 30;
	charArray[i++] = "Y"; numArray[j++] = 31;
	charArray[i++] = "Z"; numArray[j++] = 33;
	
	var myobj = document.getElementById(pidName);
	var val = myobj.value;
	var first = val.charAt(0).toUpperCase();
	var myRE = /[A-Z0-9]/;
	if(!myRE.test(val)){
		return false;
	}
//	if(val.length != 10 && document.getElementById("_national").checked == false){
	if(val.length != 10){
		return false;
	}
	for(i=0;i<charArray.length;i++){
		if(charArray[i]==first) break;
	}
	num = parseInt(numArray[i].toString().charAt(0))+parseInt(numArray[i].toString().charAt(1))*9;
	for(i=1;i<9;i++){
		num += parseInt(val.charAt(i))*(9-i);
	}
	num += parseInt(val.charAt(9));
	if(num%10 != 0){
		return false;
	}else{
		val = val.toUpperCase();
		return true;
	}
}
/*
驗證Email   20060601  by tony
*/
function checkEMAIL(emailName){
	var myobj = document.getElementById(emailName);
	var val = myobj.value;
	var myRE = /^[a-zA-Z\'0-9]+([._-][a-zA-Z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$/;
	var msg = 0;
	if(val==""){
		msg = 1;
		msgAlert = "請填寫EMAIL!";
	}else if(!myRE.test(val)){
		msg = 2;
		msgAlert = "請填寫合法EMAIL.";
	}
	if(msg > 0){
		alert(msgAlert);
		myobj.focus();
		return false;
	}else{
//		alert("GET VALUE:"+val+"----"+"ok!!");
		val = val.toLowerCase();
		return true;
	}
}
/*
驗證電話區碼與電話號碼位數   20060530  by tony
*/
function checkPhoneNumber(phoneName1,phoneName2){
/*
			 02=10  台北市       J=18 新竹縣         S=26  高雄縣
       B=11  台中市       K=19 苗栗縣         T=27  屏東縣
       C=12  基隆市       L=20 台中縣         U=28  花蓮縣
       D=13  台南市       M=21 南投縣         V=29  台東縣
       E=14  高雄市       N=035 彰化縣         W=32  金門縣
       02=15  台北縣       O=35 新竹市         X=30  澎湖縣
       G=16  宜蘭縣       P=23 雲林縣         Y=31  陽明山
       03=17  桃園縣       Q=24 嘉義縣         Z=33  連江縣
       I=34  嘉義市       R=25 台南縣
*/
	charArray = new Array();
	numArray = new Array();
	i=0; j=0;
	charArray[i++] = "02"; numArray[j++] = 8;
	charArray[i++] = "03"; numArray[j++] = 8;
	charArray[i++] = "035"; numArray[j++] = 7;
	
	
	var myobj1 = document.getElementById(phoneName1);
	var val1 = myobj1.value;
	var myobj2 = document.getElementById(phoneName2);
	var val2 = myobj2.value;
	var len = val2.length;
	for(i=0;i<charArray.length;i++){
		if(charArray[i]==val1) break;
	}
	if(numArray[i] != len || i>=charArray.length){
//		alert("false");
		return false;
	}else{
//		alert("true");
		return true;
	}
}
/*
驗證手機   20060601  by tony
*/
function checkCellPHONE(cellphoneName){
	var myobj = document.getElementById(cellphoneName);
	var val = myobj.value;
	var myRE1 = /^09/;
	var myRE2 = /^[0-9]{10}$/;
	var msg = 0;
	if(val==""){
		msg = 1;
		msgAlert = "請填寫行動電話號碼!";
	}else if(!myRE1.test(val) || !myRE2.test(val)){
		msg = 2;
		msgAlert = "請填寫合法行動電話號碼.";
	}
	if(msg > 0){
		alert(msgAlert);
		myobj.focus();
		return false;
	}else{
//		alert("GET VALUE:"+val+"----"+"ok!!");
		return true;
	}
}
function checkVarLength(varName,len1,len2){
	var myobj = document.getElementById(varName);
	var val = myobj.value;
	if(val.length < len1 || val.length > len2){
		return false;
	}
	return true;
}
function checkAddress(addressName){
	var myobj = document.getElementById(addressName);
	var val = myobj.value;
	var isEnglish=true;
	if(val.length < 3 || val.length > 128){
		return false;
	}
/*	str = val.substring(0,3);
	for(i=0; i<str.length; i++){
	  if((str.charCodeAt(i)>>8)!=0){
			isEnglish=false;
	  }else{
	  	isEnglish=true;
	  }
	}
	if(isEnglish==true){
		return false;
	}*/
	if(val.indexOf("路")<1 && val.indexOf("街")<1 && val.indexOf("號")<1){
		return false;
	}
	if(val.indexOf("信箱") > 0 || val.indexOf("郵局") > 0){
	 return false;
	}
	return true;
}

function check_data(){
  var alertStr="";
  var checkflag = true;
  idArray = new Array();
	i=0;
	idArray[i++] = "chtname";     //0
	idArray[i++] = "personid";		//1
	idArray[i++] = "gender";			//2
	idArray[i++] = "email";				//3
	idArray[i++] = "cellphone";		//4
	idArray[i++] = "phone_x";			//5
	idArray[i++] = "phone_y";			//6
	idArray[i++] = "zip";					//7
	idArray[i++] = "city";	//8
	idArray[i++] = "area";	//9
	idArray[i++] = "address";			//10
	idArray[i++] = "birth_year";	//11
	idArray[i++] = "birth_mon";		//12
	idArray[i++] = "birth_day";		//13	
	idArray[i++] = "userid";			//14	
	idArray[i++] = "nickname";	  //15
	idArray[i++] = "password";		//16
	idArray[i++] = "repassword";	//17
	idArray[i++] = "phone_z";			//18
	idArray[i++] = "homephone";		//19
	idArray[i++] = "birthday";		//20
	idArray[i++] = "oldpassword";		//21
  var nonchecklimit = 4;
  if(typeof(document.getElementById(idArray[21])) != undefined){
  	nonchecklimit = 6;
  }
  for(i=0;i<idArray.length-nonchecklimit;i++){
  	if(checkNoVALUE(idArray[i])){
//  			alert(idArray[i]);
  	    alertStr="您還有必填資料空白！";
  	    checkflag = false;
  	    break;
  	}		
	}
	
	if(checkflag){
			if(!checkID(idArray[14])){
				alertStr="帳號不合規定";
			}else if(!checkPWD(idArray[16]) && typeof(document.getElementById(idArray[21])) == undefined){
				alertStr="密碼不合規定";
			}else if(!checkVALUE(idArray[16],idArray[17],1) && typeof(document.getElementById(idArray[21])) == undefined){
				alertStr="密碼不相同";
			}else if(!checkVALUE(idArray[14],idArray[16],2) && typeof(document.getElementById(idArray[21])) == undefined){
				alertStr="帳號密碼不能相同";
			}
		}

	if(checkflag){
    if(!checkVarLength(idArray[0],2,32)){
       alertStr="請輸入正確的真實姓名！";
       checkflag = false;    
    }
  }
  
  if(checkflag){
    if(!checkPersonID(idArray[1])){
      alertStr="請輸入正確的身份字號！";
      checkflag = false; 
    }
  }
  
  if(checkflag){
  	var myobj = document.getElementById(idArray[0]);
		var val = myobj.value;
  	var isEnglish=true;
  	for(i=0; i<val.length; i++){
		  if((val.charCodeAt(i)>>8)!=0){
				isEnglish=false;
		  }else{
		  	isEnglish=true;
		  }
		}
    if(isEnglish){
      alertStr="請輸入正確的真實姓名！";
      checkflag = false; 
    }
  }
  
  if(checkflag){
    if(!checkEMAIL(idArray[3])){
       alertStr="請輸入正確的信箱！";
       checkflag = false;    
    }
  } 
   
  if(checkflag){
    if(!checkCellPHONE(idArray[4])){
      alertStr="請輸入正確行動電話！";
      checkflag = false;  
    }
  }
  
  if(checkflag){
    if(!checkAddress(idArray[10])){
      alertStr="請輸入正確的聯絡地址！";
      checkflag = false;  
    }
  }
  
/*  if(checkflag){
    if(!checkPhoneNumber(idArray[5],idArray[6])){
      alertStr="請輸入正確的電話號碼！";
      checkflag = false;  
    }
  }*/
  if(checkflag){
  	phone_x = document.getElementById(idArray[5]).value;
  	phone_y = document.getElementById(idArray[6]).value;
  	phone_z = '';
  	if(document.getElementById(idArray[18]).value!=''){
  		phone_z = '#'+document.getElementById(idArray[18]).value;
  	}
  	document.getElementById(idArray[19]).value = phone_x+'-'+phone_y+phone_z;
  }
  
  if(checkflag){
   var bir_yyyy =document.getElementById(idArray[11]).value;
   var bir_mm =document.getElementById(idArray[12]).value;
   if(bir_mm < 10){ bir_mm="0"+bir_mm; }
   var bir_dd =document.getElementById(idArray[13]).value;
   if(bir_dd < 10){ bir_dd="0"+bir_dd; }
   var dttoday = new Date();
   var today_yyyy=dttoday.getFullYear();
   var today_mm=dttoday.getMonth()+1;
   if(today_mm < 10){ today_mm="0"+today_mm; }
   var today_dd=dttoday.getDate();
   if(today_dd < 10){ today_dd="0"+today_dd; }   
   var today=today_yyyy+""+today_mm+""+today_dd;
   var birthday=bir_yyyy+bir_mm+bir_dd;
    if(birthday > today){      
      alertStr="請輸入正確的生日！";
      checkflag = false;  
    }else{
    	document.getElementById(idArray[20]).value = bir_yyyy+"-"+bir_mm+"-"+bir_dd;
    }
  } 
   if(alertStr!=""){
    alert(alertStr);
    return false;
   }else{
   	return true; 
   }
}	

function initPhone(fieldname,fieldvalue){
	arrayphone = new Array();
	i=0;
	arrayphone[i++] = "02";
	arrayphone[i++] = "03";
	arrayphone[i++] = "037";
	arrayphone[i++] = "04";
	arrayphone[i++] = "049";
	arrayphone[i++] = "05";
	arrayphone[i++] = "06";
	arrayphone[i++] = "07";
	arrayphone[i++] = "08";
	arrayphone[i++] = "082";
	arrayphone[i++] = "0836";
	arrayphone[i++] = "089";
	phone = document.getElementById(fieldname);
	phone.options[0]=new Option("請選擇","");
	for(i=0,j=1;i<arrayphone.length;i++,j++){
		phone.options[j]=new Option(arrayphone[i],arrayphone[i]); //改這應該會影響輸入值
		if(arrayphone[i]==fieldvalue){
		  phone.options[j].selected=true;
		}
	}
}

function initBriefYear(fieldname,start,limit,fieldvalue){
	year = document.getElementById(fieldname);
	year.options[0]=new Option("請選擇","");
	for(i=start,j=1;j<=limit;i++,j++){
		year.options[j]=new Option(i,i); //改這應該會影響輸入值
		if(i==fieldvalue){
		  year.options[j].selected=true;
		}
	}
}

function initYear(fieldname,fieldvalue,start,range){
	var  actual = arguments.length;
  var  expected = arguments.callee.length;
	if(actual < expected && actual==2){
		var start = 1911;
		var range = 100;
	}
	year = document.getElementById(fieldname);
	year.options[0]=new Option("請選擇","");
	for(i=start,j=1;j<=range;i++,j++){
		year.options[j]=new Option(i,i); //改這應該會影響輸入值
		if(i==fieldvalue){
		  year.options[j].selected=true;
		}
	}
}

function initMon(fieldname,fieldvalue){
	mon = document.getElementById(fieldname);
	mon.options[0]=new Option("請選擇","");
	for(i=1,j=1;i<=12;i++,j++){
		mon.options[j]=new Option(i,i); //改這應該會影響輸入值
		if(i==fieldvalue){
		  mon.options[j].selected=true;
		}
	}
}

function initDay(fieldname,fieldvalue){
	day = document.getElementById(fieldname);
	day.options[0]=new Option("請選擇","");
	for(i=1,j=1;i<=31;i++,j++){
		day.options[j]=new Option(i,i); //改這應該會影響輸入值
		if(i==fieldvalue){
		  day.options[j].selected=true;
		}
	}
}

function initCardYear(fieldname,fieldvalue,start,range){
	var  actual = arguments.length;
    var  expected = arguments.callee.length;
	if(actual < expected && actual==2){
		var start = 2008;
		var range = 10;
	}
	year = document.getElementById(fieldname);
	year.options[0]=new Option("請選擇","");
	for(i=start,j=1;j<=range;i++,j++){
	  yy = i.toString().substr(2,2);
		year.options[j]=new Option(i,yy); //改這應該會影響輸入值
		if(i==fieldvalue){
		  year.options[j].selected=true;
		}
	}
}

function initCardMon(fieldname,fieldvalue){
	mon = document.getElementById(fieldname);
	mon.options[0]=new Option("請選擇","");
	for(i=1,j=1;i<=12;i++,j++){
	    if(i < 10){  mm="0"+i; }
	    else{ mm=i; }
		mon.options[j]=new Option(i,mm); //改這應該會影響輸入值
		if(i==fieldvalue){
		  mon.options[j].selected=true;
		}
	}
}

function initCity(fieldname,fieldvalue){
	city = document.getElementById(fieldname);
//	cityhidden = document.getElementById(fieldname+"_hidden");
	city.options[0]=new Option("請選擇","");
	for(i=0,j=1;i<arraycity1.length;i++,j++){
		txtarr = arraycity1[i].split(":");
		city.options[j]=new Option(txtarr[1],txtarr[0]); //改這應該會影響輸入值
		if(txtarr[0].substr(0,3)==fieldvalue.substr(0,3)){
		  city.options[j].selected=true;
//		  cityhidden.value = txtarr[0];
		}
	}
}
function initArea(fieldname1,fieldname2,fieldvalue,check){
	city = document.getElementById(fieldname1);
	cityarea = document.getElementById(fieldname2);
//	cityareahidden = document.getElementById(fieldname2+"_hidden");
    var  actual = arguments.length;
    var  expected = arguments.callee.length;
	if(actual < expected && actual==3){
		var check = false;
	}
	if(check){
	 checkZip(city.value,fieldname1,fieldname2);
	 checkZip(cityarea.value,fieldname1,fieldname2);
	}
	xindex = city.selectedIndex;
	if(xindex>0){
		x = xindex-1;
	  start = arraycity1flag[x];
	  end = (typeof(arraycity1flag[x+1]) == typeof(1))?arraycity1flag[x+1]:arraycity2.length;
	  cityarea.options[0]=new Option("請選擇","");

	  for(i=start,j=1;i<end;i++,j++){
	  	txtarr = arraycity2[i].split(":");	
	    cityarea.options[j]=new Option(txtarr[1],txtarr[0]);
	    
	    if(txtarr[0]==fieldvalue){
	      cityarea.options[j].selected=true;
//	      cityareahidden.value = txtarr[0];
		  }
	  }
	}else{
		cityarea.length = 0;
	}
}
function initCityToTXT(fieldvalue){
	brflag = false;
	for(i=0;i<arraycity1.length;i++){
		txtarr1 = arraycity1[i].split(":");
		if(txtarr1[0].substr(0,3)==fieldvalue.substr(0,3)){
			startindex = arraycity1flag[i];
			endindex = arraycity1flag[i+1];
			for(j=startindex;j<endindex;j++){
				txtarr2 = arraycity2[j].split(":");
				if(txtarr2[0]==fieldvalue){
					document.write(txtarr1[1]);
					brflag = true;
					break;
				}
			}
			if(brflag) break;
		}
	}
}
function initAreaToTXT(fieldvalue){
	brflag = false;
	for(i=0;i<arraycity1.length;i++){
		txtarr1 = arraycity1[i].split(":");
		if(txtarr1[0].substr(0,3)==fieldvalue.substr(0,3)){
			startindex = arraycity1flag[i];
			endindex = arraycity1flag[i+1];
			for(j=startindex;j<endindex;j++){
				txtarr2 = arraycity2[j].split(":");
				if(txtarr2[0]==fieldvalue){
					document.write(txtarr2[1]);
					brflag = true;
					break;
				}
			}
			if(brflag) break;
		}
	}
}
function changeCity(fieldname1,fieldname2,fieldname3,check){ //city,area,zip
	city = document.getElementById(fieldname1);
	cityarea = document.getElementById(fieldname2);
	var  actual = arguments.length;
    var  expected = arguments.callee.length;
	if(actual < expected && actual==3){
		var check = false;
	}
	if(check){
	 checkZip(city.value,fieldname1,fieldname2);
	}
	xindex = city.selectedIndex;
  x = xindex-1;
//  document.getElementById(fieldname1+"_hidden").value = city.options[xindex].text;
  start = arraycity1flag[x];
  end = (typeof(arraycity1flag[x+1]) == typeof(1))?arraycity1flag[x+1]:arraycity2.length;
  cityarea.options[0]=new Option("請選擇","");
  cityarea.length = end-start;
  for(i=start,j=1;i<end;i++,j++){
  	txtarr = arraycity2[i].split(":");	
    cityarea.options[j]=new Option(txtarr[1],txtarr[0]);
  }
//  document.getElementById(fieldname2+"_hidden").value = "";
	document.getElementById(fieldname1+"_hidden").value = city.value;
  document.getElementById(fieldname3).value = "";
  copyaddress();
}
function changeArea(fieldname1,fieldname2,fieldname3,check){
	city = document.getElementById(fieldname1);
	xindex = city.selectedIndex;
	cityarea = document.getElementById(fieldname2);
	zip = document.getElementById(fieldname3);
	var  actual = arguments.length;
    var  expected = arguments.callee.length;
	if(actual < expected && actual==3){
		var check = false;
	}
	if(check){
	 checkZip(cityarea.value,fieldname1,fieldname2);
	}
	yindex = cityarea.selectedIndex;
//	document.getElementById(fieldname2+"_hidden").value = (yindex>0)?cityarea.options[yindex].text:city.options[xindex].text;
	zip.value=cityarea.value.substr(3,3);
	document.getElementById(fieldname2+"_hidden").value = cityarea.value;
	document.getElementById(fieldname3+"_hidden").value=cityarea.value;
	copyaddress();
}

function checkZip(zip,fieldname1,fieldname2){
  if(zip=="122000" || zip=="123000" || zip=="118000" || zip=="120951" || zip=="120952"){
    alert("很抱歉!!\n目前服務只包含台灣本島,\n尚未開放離島地區");
    initCity(fieldname1,"NONE");
    initArea(fieldname1,fieldname2,"NONE");
    return;
  }
}

var arrayarea = new Array();
var arraycity1 = new Array();
var arraycity1flag = new Array();
var arraycity2 = new Array();

arrayarea[0] = "北部;0,1,2,3,4,6,7"; //北部
arrayarea[1] = "中部;8,9,10,11,14"; //中部
arrayarea[2] = "南部;12,13,15,16,17,18,20"; //南部
arrayarea[3] = "東部;21,22"; //東部
arrayarea[4] = "外島;19,23,24"; //外島

arraycity1[0] = "101000:台北市";
arraycity1flag[0] = 0;
arraycity2[0] = "101100:中正區";
arraycity2[1] = "101103:大同區";
arraycity2[2] = "101104:中山區";
arraycity2[3] = "101105:松山區";
arraycity2[4] = "101106:大安區";
arraycity2[5] = "101108:萬華區";
arraycity2[6] = "101110:信義區";
arraycity2[7] = "101111:士林區";
arraycity2[8] = "101112:北投區";
arraycity2[9] = "101114:內湖區";
arraycity2[10] = "101115:南港區";
arraycity2[11] = "101116:文山區";
arraycity1[1] = "102000:基隆市";
arraycity1flag[1] = 12;
arraycity2[12] = "102200:仁愛區";
arraycity2[13] = "102201:信義區";
arraycity2[14] = "102202:中正區";
arraycity2[15] = "102203:中山區";
arraycity2[16] = "102204:安樂區";
arraycity2[17] = "102205:暖暖區";
arraycity2[18] = "102206:七堵區";
arraycity1[2] = "103000:新北市";
arraycity1flag[2] = 19;
arraycity2[19] = "103207:萬里區";
arraycity2[20] = "103208:金山區";
arraycity2[21] = "103220:板橋區";
arraycity2[22] = "103221:汐止區";
arraycity2[23] = "103222:深坑區";
arraycity2[24] = "103223:石碇區";
arraycity2[25] = "103224:瑞芳區";
arraycity2[26] = "103226:平溪區";
arraycity2[27] = "103227:雙溪區";
arraycity2[28] = "103228:貢寮區";
arraycity2[29] = "103231:新店區";
arraycity2[30] = "103232:坪林區";
arraycity2[31] = "103233:烏來區";
arraycity2[32] = "103234:永和區";
arraycity2[33] = "103235:中和區";
arraycity2[34] = "103236:土城區";
arraycity2[35] = "103237:三峽區";
arraycity2[36] = "103238:樹林區";
arraycity2[37] = "103239:鶯歌區";
arraycity2[38] = "103241:三重區";
arraycity2[39] = "103242:新莊區";
arraycity2[40] = "103243:泰山區";
arraycity2[41] = "103244:林口區";
arraycity2[42] = "103247:蘆洲區";
arraycity2[43] = "103248:五股區";
arraycity2[44] = "103249:八里區";
arraycity2[45] = "103251:淡水區";
arraycity2[46] = "103252:三芝區";
arraycity2[47] = "103253:石門區";
arraycity1[3] = "104000:宜蘭縣";
arraycity1flag[3] = 48;
arraycity2[48] = "104260:宜蘭市";
arraycity2[49] = "104261:頭城鎮";
arraycity2[50] = "104262:礁溪鄉";
arraycity2[51] = "104263:壯圍鄉";
arraycity2[52] = "104264:員山鄉";
arraycity2[53] = "104265:羅東鎮";
arraycity2[54] = "104266:三星鄉";
arraycity2[55] = "104267:大同鄉";
arraycity2[56] = "104268:五結鄉";
arraycity2[57] = "104269:冬山鄉";
arraycity2[58] = "104270:蘇澳鎮";
arraycity2[59] = "104272:南澳鄉";
arraycity1[4] = "105000:新竹市";
arraycity1flag[4] = 60;
arraycity2[60] = "105300:新竹市";
arraycity1[5] = "105000:新竹縣";
arraycity1flag[5] = 61;
arraycity2[61] = "105302:竹北市";
arraycity2[62] = "105303:湖口鄉";
arraycity2[63] = "105304:新豐鄉";
arraycity2[64] = "105305:新埔鎮";
arraycity2[65] = "105306:關西鎮";
arraycity2[66] = "105307:芎林鄉";
arraycity2[67] = "105308:寶山鄉";
arraycity2[68] = "105310:竹東鎮";
arraycity2[69] = "105311:五峰鄉";
arraycity2[70] = "105312:橫山鄉";
arraycity2[71] = "105313:尖石鄉";
arraycity2[72] = "105314:北埔鄉";
arraycity2[73] = "105315:峨眉鄉";
arraycity1[6] = "106000:桃園縣";
arraycity1flag[6] = 74;
arraycity2[74] = "106320:中壢市";
arraycity2[75] = "106324:平鎮市";
arraycity2[76] = "106325:龍潭鄉";
arraycity2[77] = "106326:楊梅鎮";
arraycity2[78] = "106327:新屋鄉";
arraycity2[79] = "106328:觀音鄉";
arraycity2[80] = "106330:桃園市";
arraycity2[81] = "106333:龜山鄉";
arraycity2[82] = "106334:八德市";
arraycity2[83] = "106335:大溪鎮";
arraycity2[84] = "106336:復興鄉";
arraycity2[85] = "106337:大園鄉";
arraycity2[86] = "106338:蘆竹鄉";
arraycity1[7] = "107000:苗栗縣";
arraycity1flag[7] = 87;
arraycity2[87] = "107350:竹南鎮";
arraycity2[88] = "107351:頭份鎮";
arraycity2[89] = "107352:三灣鄉";
arraycity2[90] = "107353:南庄鄉";
arraycity2[91] = "107354:獅潭鄉";
arraycity2[92] = "107356:後龍鎮";
arraycity2[93] = "107357:通霄鎮";
arraycity2[94] = "107358:苑裡鎮";
arraycity2[95] = "107360:苗栗市";
arraycity2[96] = "107361:造橋鄉";
arraycity2[97] = "107362:頭屋鄉";
arraycity2[98] = "107363:公館鄉";
arraycity2[99] = "107364:大湖鄉";
arraycity2[100] = "107365:泰安鄉";
arraycity2[101] = "107366:銅鑼鄉";
arraycity2[102] = "107367:三義鄉";
arraycity2[103] = "107368:西湖鄉";
arraycity2[104] = "107369:卓蘭鎮";
arraycity1[8] = "108000:台中市";
arraycity1flag[8] = 105;
arraycity2[105] = "108400:中區";
arraycity2[106] = "108401:東區";
arraycity2[107] = "108402:南區";
arraycity2[108] = "108403:西區";
arraycity2[109] = "108404:北區";
arraycity2[110] = "108406:北屯區";
arraycity2[111] = "108407:西屯區";
arraycity2[112] = "108408:南屯區";
arraycity2[113] = "109411:太平區";
arraycity2[114] = "109412:大里區";
arraycity2[115] = "109413:霧峰區";
arraycity2[116] = "109414:烏日區";
arraycity2[117] = "109420:豐原區";
arraycity2[118] = "109421:后里區";
arraycity2[119] = "109422:石岡區";
arraycity2[120] = "109423:東勢區";
arraycity2[121] = "109424:和平區";
arraycity2[122] = "109426:新社區";
arraycity2[123] = "109427:潭子區";
arraycity2[124] = "109428:大雅區";
arraycity2[125] = "109429:神岡區";
arraycity2[126] = "109432:大肚區";
arraycity2[127] = "109433:沙鹿區";
arraycity2[128] = "109434:龍井區";
arraycity2[129] = "109435:梧棲區";
arraycity2[130] = "109436:清水區";
arraycity2[131] = "109437:大甲區";
arraycity2[132] = "109438:外埔區";
arraycity2[133] = "109439:大安區";
arraycity1[9] = "110000:彰化縣";
arraycity1flag[9] = 134;
arraycity2[134] = "110500:彰化市";
arraycity2[135] = "110502:芬園鄉";
arraycity2[136] = "110503:花壇鄉";
arraycity2[137] = "110504:秀水鄉";
arraycity2[138] = "110505:鹿港鎮";
arraycity2[139] = "110506:福興鄉";
arraycity2[140] = "110507:線西鄉";
arraycity2[141] = "110508:和美鎮";
arraycity2[142] = "110509:伸港鄉";
arraycity2[143] = "110510:員林鎮";
arraycity2[144] = "110511:社頭鄉";
arraycity2[145] = "110512:永靖鄉";
arraycity2[146] = "110513:埔心鄉";
arraycity2[147] = "110514:溪湖鎮";
arraycity2[148] = "110515:大村鄉";
arraycity2[149] = "110516:埔鹽鄉";
arraycity2[150] = "110520:田中鎮";
arraycity2[151] = "110521:北斗鎮";
arraycity2[152] = "110522:田尾鄉";
arraycity2[153] = "110523:埤頭鄉";
arraycity2[154] = "110524:溪州鄉";
arraycity2[155] = "110525:竹塘鄉";
arraycity2[156] = "110526:二林鎮";
arraycity2[157] = "110527:大城鄉";
arraycity2[158] = "110528:芳苑鄉";
arraycity2[159] = "110530:二水鄉";
arraycity1[10] = "111000:南投縣";
arraycity1flag[10] = 160;
arraycity2[160] = "111540:南投市";
arraycity2[161] = "111541:中寮鄉";
arraycity2[162] = "111542:草屯鎮";
arraycity2[163] = "111544:國姓鄉";
arraycity2[164] = "111545:埔里鎮";
arraycity2[165] = "111546:仁愛鄉";
arraycity2[166] = "111551:名間鄉";
arraycity2[167] = "111552:集集鎮";
arraycity2[168] = "111553:水里鄉";
arraycity2[169] = "111555:魚池鄉";
arraycity2[170] = "111556:信義鄉";
arraycity2[171] = "111557:竹山鎮";
arraycity2[172] = "111558:鹿谷鄉";
arraycity1[11] = "112000:嘉義市";
arraycity1flag[11] = 173;
arraycity2[173] = "112600:嘉義市";
arraycity1[12] = "112000:嘉義縣";
arraycity1flag[12] = 174;
arraycity2[174] = "112602:番路鄉";
arraycity2[175] = "112603:梅山鄉";
arraycity2[176] = "112604:竹崎鄉";
arraycity2[177] = "112605:阿里山";
arraycity2[178] = "112606:中埔鄉";
arraycity2[179] = "112607:大埔鄉";
arraycity2[180] = "112608:水上鄉";
arraycity2[181] = "112611:鹿草鄉";
arraycity2[182] = "112612:太保市";
arraycity2[183] = "112613:朴子市";
arraycity2[184] = "112614:東石鄉";
arraycity2[185] = "112615:六腳鄉";
arraycity2[186] = "112616:新港鄉";
arraycity2[187] = "112621:民雄鄉";
arraycity2[188] = "112622:大林鎮";
arraycity2[189] = "112623:溪口鄉";
arraycity2[190] = "112624:義竹鄉";
arraycity2[191] = "112625:布袋鎮";
arraycity1[13] = "113000:雲林縣";
arraycity1flag[13] = 192;
arraycity2[192] = "113630:斗南鎮";
arraycity2[193] = "113631:大埤鄉";
arraycity2[194] = "113632:虎尾鎮";
arraycity2[195] = "113633:土庫鎮";
arraycity2[196] = "113634:褒忠鄉";
arraycity2[197] = "113635:東勢鄉";
arraycity2[198] = "113636:台西鄉";
arraycity2[199] = "113637:崙背鄉";
arraycity2[200] = "113638:麥寮鄉";
arraycity2[201] = "113640:斗六市";
arraycity2[202] = "113643:林內鄉";
arraycity2[203] = "113646:古坑鄉";
arraycity2[204] = "113647:莿桐鄉";
arraycity2[205] = "113648:西螺鎮";
arraycity2[206] = "113649:二崙鄉";
arraycity2[207] = "113651:北港鎮";
arraycity2[208] = "113652:水林鄉";
arraycity2[209] = "113653:口湖鄉";
arraycity2[210] = "113654:四湖鄉";
arraycity2[211] = "113655:元長鄉";
arraycity1[14] = "114000:台南市";
arraycity1flag[14] = 212;
arraycity2[212] = "114700:中區";
arraycity2[213] = "114701:東區";
arraycity2[214] = "114702:南區";
arraycity2[215] = "114703:西區";
arraycity2[216] = "114704:北區";
arraycity2[217] = "114708:安平區";
arraycity2[218] = "114709:安南區";
arraycity2[219] = "115710:永康區";
arraycity2[220] = "115711:歸仁區";
arraycity2[221] = "115712:新化區";
arraycity2[222] = "115713:左鎮區";
arraycity2[223] = "115714:玉井區";
arraycity2[224] = "115715:楠西區";
arraycity2[225] = "115716:南化區";
arraycity2[226] = "115717:仁德區";
arraycity2[227] = "115718:關廟區";
arraycity2[228] = "115719:龍崎區";
arraycity2[229] = "115720:官田區";
arraycity2[230] = "115721:麻豆區";
arraycity2[231] = "115722:佳里區";
arraycity2[232] = "115723:西港區";
arraycity2[233] = "115724:七股區";
arraycity2[234] = "115725:將軍區";
arraycity2[235] = "115726:學甲區";
arraycity2[236] = "115727:北門區";
arraycity2[237] = "115730:新營區";
arraycity2[238] = "115731:後壁區";
arraycity2[239] = "115732:白河區";
arraycity2[240] = "115733:東山區";
arraycity2[241] = "115734:六甲區";
arraycity2[242] = "115735:下營區";
arraycity2[243] = "115736:柳營區";
arraycity2[244] = "115737:鹽水區";
arraycity2[245] = "115741:善化區";
arraycity2[246] = "115742:大內區";
arraycity2[247] = "115743:山上區";
arraycity2[248] = "115744:新市區";
arraycity2[249] = "115745:安定區";
arraycity1[15] = "116000:高雄市";
arraycity1flag[15] = 250;
arraycity2[250] = "116800:新興區";
arraycity2[251] = "116801:前金區";
arraycity2[252] = "116802:苓雅區";
arraycity2[253] = "116803:鹽埕區";
arraycity2[254] = "116804:鼓山區";
arraycity2[255] = "116805:旗津區";
arraycity2[256] = "116806:前鎮區";
arraycity2[257] = "116807:三民區";
arraycity2[258] = "116811:楠梓區";
arraycity2[259] = "116812:小港區";
arraycity2[260] = "116813:左營區";
arraycity2[261] = "117814:仁武區";
arraycity2[262] = "117815:大社區";
arraycity2[263] = "117820:岡山區";
arraycity2[264] = "117821:路竹區";
arraycity2[265] = "117822:阿蓮區";
arraycity2[266] = "117823:田寮區";
arraycity2[267] = "117824:燕巢區";
arraycity2[268] = "117825:橋頭區";
arraycity2[269] = "117826:梓官區";
arraycity2[270] = "117827:彌陀區";
arraycity2[271] = "117828:永安區";
arraycity2[272] = "117829:湖內區";
arraycity2[273] = "117830:鳳山區";
arraycity2[274] = "117831:大寮區";
arraycity2[275] = "117832:林園區";
arraycity2[276] = "117833:鳥松區";
arraycity2[277] = "117840:大樹區";
arraycity2[278] = "117842:旗山區";
arraycity2[279] = "117843:美濃區";
arraycity2[280] = "117844:六龜區";
arraycity2[281] = "117845:內門區";
arraycity2[282] = "117846:杉林區";
arraycity2[283] = "117847:甲仙區";
arraycity2[284] = "117848:桃源區";
arraycity2[285] = "117849:那瑪夏區";
arraycity2[286] = "117851:茂林區";
arraycity2[287] = "117852:茄萣區";
arraycity1[16] = "118000:澎湖縣";
arraycity1flag[16] = 288;
arraycity2[288] = "118880:馬公市";
arraycity2[289] = "118881:西嶼鄉";
arraycity2[290] = "118882:望安鄉";
arraycity2[291] = "118883:七美鄉";
arraycity2[292] = "118884:白沙鄉";
arraycity2[293] = "118885:湖西鄉";
arraycity1[17] = "119000:屏東縣";
arraycity1flag[17] = 294;
arraycity2[294] = "119900:屏東市";
arraycity2[295] = "119901:三地門鄉";
arraycity2[296] = "119902:霧台鄉";
arraycity2[297] = "119903:瑪家鄉";
arraycity2[298] = "119904:九如鄉";
arraycity2[299] = "119905:里港鄉";
arraycity2[300] = "119906:高樹鄉";
arraycity2[301] = "119907:鹽埔鄉";
arraycity2[302] = "119908:長治鄉";
arraycity2[303] = "119909:麟洛鄉";
arraycity2[304] = "119911:竹田鄉";
arraycity2[305] = "119912:內埔鄉";
arraycity2[306] = "119913:萬丹鄉";
arraycity2[307] = "119920:潮州鎮";
arraycity2[308] = "119921:泰武鄉";
arraycity2[309] = "119922:來義鄉";
arraycity2[310] = "119923:萬巒鄉";
arraycity2[311] = "119924:崁頂鄉";
arraycity2[312] = "119925:新埤鄉";
arraycity2[313] = "119926:南州鄉";
arraycity2[314] = "119927:林邊鄉";
arraycity2[315] = "119928:東港鎮";
arraycity2[316] = "119929:琉球鄉";
arraycity2[317] = "119931:佳冬鄉";
arraycity2[318] = "119932:新園鄉";
arraycity2[319] = "119940:枋寮鄉";
arraycity2[320] = "119941:枋山鄉";
arraycity2[321] = "119942:春日鄉";
arraycity2[322] = "119943:獅子鄉";
arraycity2[323] = "119944:車城鄉";
arraycity2[324] = "119945:牡丹鄉";
arraycity2[325] = "119946:恆春鎮";
arraycity2[326] = "119947:滿洲鄉";
arraycity1[18] = "120000:台東縣";
arraycity1flag[18] = 327;
arraycity2[327] = "120950:台東市";
arraycity2[328] = "120951:綠島鄉";
arraycity2[329] = "120952:蘭嶼鄉";
arraycity2[330] = "120953:延平鄉";
arraycity2[331] = "120954:卑南鄉";
arraycity2[332] = "120955:鹿野鄉";
arraycity2[333] = "120956:關山鎮";
arraycity2[334] = "120957:海端鄉";
arraycity2[335] = "120958:池上鄉";
arraycity2[336] = "120959:東河鄉";
arraycity2[337] = "120961:成功鎮";
arraycity2[338] = "120962:長濱鄉";
arraycity2[339] = "120963:太麻里";
arraycity2[340] = "120964:金峰鄉";
arraycity2[341] = "120965:大武鄉";
arraycity2[342] = "120966:達仁鄉";
arraycity1[19] = "121000:花蓮縣";
arraycity1flag[19] = 343;
arraycity2[343] = "121970:花蓮市";
arraycity2[344] = "121971:新城鄉";
arraycity2[345] = "121972:秀林鄉";
arraycity2[346] = "121973:吉安鄉";
arraycity2[347] = "121974:壽豐鄉";
arraycity2[348] = "121975:鳳林鎮";
arraycity2[349] = "121976:光復鄉";
arraycity2[350] = "121977:豐濱鄉";
arraycity2[351] = "121978:瑞穗鄉";
arraycity2[352] = "121979:萬榮鄉";
arraycity2[353] = "121981:玉里鎮";
arraycity2[354] = "121982:卓溪鄉";
arraycity2[355] = "121983:富里鄉";
arraycity1[20] = "122000:金門縣";
arraycity1flag[20] = 356;
arraycity2[356] = "122890:金沙鎮";
arraycity2[357] = "122891:金湖鎮";
arraycity2[358] = "122892:金寧鄉";
arraycity2[359] = "122893:金城鎮";
arraycity2[360] = "122894:烈嶼鄉";
arraycity2[361] = "122896:烏坵鄉";
arraycity1[21] = "123000:連江縣";
arraycity1flag[21] = 362;
arraycity2[362] = "123209:南竿鄉";
arraycity2[363] = "123210:北竿鄉";
arraycity2[364] = "123211:莒光鄉";
arraycity2[365] = "123212:東引鄉";
