function checkForm(form, startName, bouncedArray){
	var startIndex = getStartIndex(form, startName);
	var arrBounce = new Array(bouncedArray.length);

	for(var i = 0; i < arrBounce.length; i++){
		arrBounce[i] = bouncedArray[i] + startIndex;
	}
	
	
	for(var i = startIndex; i < form.elements.length; i++){
		var e = form.elements[i], bounce = false;
		
		for(var j = 0; j < arrBounce.length; j++){
			if(i == arrBounce[j])
				bounce = true;
		}

		if(!bounce){
			if(e.type == "text" || e.type == "hidden"){
				if(e.value == "" || e.value == null){
					alert("請填入所有必填欄位");
					e.focus();
				
					return false;
				}
		
				if(e.name == "email"){
					if(e.value.search(/(\w)+(\@)+(\w)+(\.)+(\w)+/) == -1){
						alert("電子郵件地址格式錯誤");
						e.focus();
						
						return false;
					}
				}
			}else if(e.type == "select-one"){
				if(e.selectedIndex == 0){
					alert("請選擇必填欄位");
					e.focus();
					
					return false;
				}
			}else if(e.type == "radio"){
				var radioChecked = false, arrRadio = eval("form." + e.name);
				
				for(var j = 0; j < arrRadio.length; j++){
					if(arrRadio[j].checked)
						radioChecked = true;
				}
				
				if(!radioChecked){
					alert("請選擇所有必填欄位");
					e.focus();
					
					return false;
				}
			}
		}
	}
	
	return true;
}

function getStartIndex(form, objName){
	var startIndex = 0;
	
	for(var i = 0; i < form.elements.length; i++){
		var e = form.elements[i];
		
		if(e.name == objName){
			startIndex = i;
			break;
		}
	}
	
	return startIndex;
}

function changeDistrict(e, form){
	var dom = null, nodes = null, node = null;
	var districtName = "";
	
	dom = new ActiveXObject("MSXML2.DOMDocument.4.0");
	dom.async = "false";
	dom.load("Taiwan.xml");
	
	nodes = dom.getElementsByTagName("district")
	
	for(var i = 0; i < nodes.length; i++){
		if(e.value == nodes.item(i).childNodes.item(0).text){
			districtName = nodes.item(i).childNodes.item(1).text
			break;
		}
	}
	
	dom = null;
	form.address.value = districtName;
}

function clearField(e, defaultString){
	if(e.value == defaultString){
		e.value = "";
	}
}
