classid = new Array();

classid[0] = new myClass("北部",new Array(
          "所有縣市","",
          "基隆市","",
          "台北市","",
          "台北縣","",
          "桃園縣","",
          "新竹市","",
          "新竹縣","",
          "苗栗縣",""));
classid[1] = new myClass("中部",new Array(
          "所有縣市","",
          "台中市","",
          "台中縣","",
          "彰化縣","",
          "南投縣",""));
classid[2] = new myClass("南部",new Array(
          "所有縣市","",
          "雲林縣","",
          "嘉義市","",
          "嘉義縣","",
          "台南市","",
          "台南縣","",
          "高雄市","",
          "高雄縣","",
          "屏東縣",""));
classid[3] = new myClass("東部",new Array(
          "所有縣市","",
          "宜蘭縣","",
          "花蓮縣","",
          "台東縣",""));
classid[4] = new myClass("離島",new Array(
          "所有縣市","",
          "澎湖縣","",
          "連江縣","",
          "金門縣",""));
// ------------------------- begin function for city and zip code ------------------

function areaNode_Class(SubObjItem, TempItem)  {
  this.name     = SubObjItem;
  this.TempItem = TempItem;
}

function mySubObj_Class(SubObjList)  {
  myTmpSubObj = new Array();
  for(var i=0;i<SubObjList.length;i+=2)  {
    myTmpSubObj[i/2] = new areaNode_Class(SubObjList[i],SubObjList[i+1]);
  }
  return myTmpSubObj;
}

function myClass(ClassL1,ClassStr)  {
  this.SelObj = ClassL1;
  this.SubObj = new mySubObj_Class(ClassStr);
}

function Show_Class(obj){
  obj.length = 1;
  for(var j=0;j<classid.length;j++){
    k = classid[j];
    obj.length       = j + 2;
    obj[j + 1].text  = k.SelObj;
    obj[j + 1].value = k.SelObj;
  }
}

function PrepareSubObj_classid(SelObj,SubObj)  {
  var idx        = SelObj.selectedIndex;
  var SelObjName = SelObj[idx].value;
  SubObj.length  = 1;
  for(var j=0;j<classid.length;j++)  {
    k = classid[j];
    if(k.SelObj == SelObjName)  {
      Print_Class(SubObj,j);
      if(SubObj.length == 2)  {
        SubObj.selectedIndex = 1;
        selSubObj_classid(SelObj,SubObj,zipObj);
      }
      return;
    }
  }
}

function Print_Class(villObj,cityIdx)  {
  villObj.length = 1;
  k = classid[cityIdx];
  for(var i=0;i<k.SubObj.length;i++)  {
    villObj.length       = i + 2;
    villObj[i + 1].text  = k.SubObj[i].name;
    villObj[i + 1].value = k.SubObj[i].name;
  }
}

function selSubObj_classid(cityObj,villObj,zipObj)  {
  var cityName = cityObj[cityObj.selectedIndex].value;
  var villageName = villObj[villObj.selectedIndex].value;
  zipObj.value = "";
  for(var j=0;j<classid.length;j++)  {
    k = classid[j];
    if(k.city == cityName)  {
      for(var i=0;i<k.villages.length;i++)  {
        if(k.villages[i].name == villageName)  {
          zipObj.value = k.villages[i].zipcode;
          return;
        }
      }
    }
  }
}

// ------------------------- end function for city and zip code ------------------

/*
for(var j=0;j<classid.length;j++){
	k = classid[j];
	document.write(k.city + "<br>");
	for(var i=0;i<k.villages.length;i++){
		document.write(k.villages[i].name + "<br>");
		document.write(k.villages[i].zipcode + "<br>");
	}
	document.write("<p>");
}

*/

