function checkMember(checkTypeValue) {
    var usernameEle = $('usernameId');
	var emailEle = $('emailId');
	var checkusernamestatus = $('checkusernamestatus');
	var checkemailstatus = $('checkemailstatus');
	usernameValue = escape(usernameEle.value);
	if(checkTypeValue == '1') {
	  if(isEmpty(usernameEle)) {
	    checkusernamestatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;用户名不能为空';
	    return;
	  }
	  var unlen = usernameEle.value.replace(/[^\x00-\xff]/g, "**").length;
      if(unlen < 3) {
        checkusernamestatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;对不起，您输入的用户名小于3个字符';
        return;
      }
      if(unlen > 15) {
        checkusernamestatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;对不起，您的用户名超过 15 个字符';
        return;
      }
	  if(usernameEle.value.trim() == check_username_value) {
	    return;
	  }
	}
	if(checkTypeValue == '2') {
      if(isEmpty(emailEle)) {
        checkemailstatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;Email 地址不能为空';
        return;
	  }
	  if(!validateEmail(emailEle)) {
	    checkemailstatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;Email 地址无效，请重新填写';
	    return;
	  }
	  if(emailEle.value.trim() == check_email_value) {
	    return;
	  }
	}
	if(!isEmpty(usernameEle) || (!isEmpty(emailEle) && validateEmail(emailEle))) {
      new Ajax.Request('check.do',
     {
       method:'post',
	   parameters: {username : usernameValue, email : emailEle.value, checkType : checkTypeValue},
       onSuccess: function(transport){
          var response = transport.responseText;
		  var resultCode = parseInt(response);
          if(checkTypeValue == '1') {
            if(resultCode == 1) {
               checkusernamestatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;' + '用户名重复';
		    } else {
		       checkusernamestatus.innerHTML = '<img src="images/icon_right.gif">&nbsp;' + '该用户名可以注册';
		    }
          }
          if(checkTypeValue == '2') {
            if(resultCode == 2) {
               checkemailstatus.innerHTML = '<img src="images/icon_fault.gif">&nbsp;' + '邮箱已被占用';
		    } else {
		       checkemailstatus.innerHTML = '<img src="images/icon_right.gif">&nbsp;' + '该邮箱可以注册';
		    }
          }
       },
       onFailure: function() { alert('Something went wrong...') },
       onLoading: function() {
          if(checkTypeValue == '1') {
            checkusernamestatus.innerHTML = '<img src="images/loading.gif">';
          } else {
            checkemailstatus.innerHTML = '<img src="images/loading.gif">';
          }
       }
     });
	}
	if(checkTypeValue == '1') {
	  check_username_value = usernameEle.value.trim();
	} else {
	  check_email_value = emailEle.value.trim();
	}
}

function checkRegForm() {
    var formEle = $('regFormId');
	var username = $('usernameId');
	if(isEmpty(username)) {
	  alert("用户名不能为空！");
	  return false;
	}
	var unlen = username.value.replace(/[^\x00-\xff]/g, "**").length;
    if(unlen < 3) {
      alert("对不起，您输入的用户名小于3个字符, 请输入一个较长的用户名。");
      return false;
    }
    if(unlen > 15) {
      alert("对不起，您的用户名超过 15 个字符，请输入一个较短的用户名。");
      return false;
    }
	var pass1 = $('passwordId');
	var pass2 = $('passwordId2');
	if(!validatePasswd(pass1) && !validatePasswd(pass2)) {
	  alert("密码不能为空，由6-16个字符组成（包括字母，数字，下划线）");
	  return false;
	}
	if(pass2.value != pass1.value) {
	  alert("两次输入的密码不一致，请检查后重试。");
	  return false;
	}
	var zyzname = $('zyznameId');
	if(isEmpty(zyzname)) {
	  alert("真实姓名不能为空！");
	  return false;
	}
	var certType = $('certTypeId');
	if(certType.value == "-1") {
	  alert("请选择证件类型！");
	  return false;
	}
	var certNumber = $('certNumberId');
	if(isEmpty(certNumber)) {
	  alert('请填写证件号码！');
      return false;
	}
	if(certType.value == "1" && !isIdCard(certNumber.value)) {
	  alert('请填写格式正确的身份证号码！');
	  return false;
	}
	var graduLevel = $('graduLevelId');
	if(graduLevel.value == "-1") {
	  alert('请选择最高学历！');
	  return false;
	}
	var graduMajor = $('graduMajorId');
	if(parseInt(graduLevel.value) < 9 || parseInt(graduLevel.value) > 10) {
	   if(graduMajor.value == "") {
	    alert('请填写专业名称！');
		return false;
	   }
	}
	var email = $('emailId');
	if(isEmpty(email)) {
	  alert("Email 地址不能为空！");
	  return false;
	}
	if(!validateEmail(email)) {
	  alert("Email 地址无效，请重新填写。")
	  return false;
	}
    if(!checkTouchCon()) {
      return false;
    }
	var jobExp = document.getElementsByName('zyzMember.jobExp');
	var isChecked = false;
	for(i = 0; i < jobExp.length; i ++) {
	  if(jobExp[i].checked) {
	   isChecked = true;
	  }
	}
	if(!isChecked) {
	  alert("请选择有无工作经验！");
	  return false;
	}
	var speciality = $('specialityId');
	if(isEmpty(speciality)) {
	  alert("特长不能为空！");
	  return false;
	}
	if(speciality.value.trim().realLength() > 2000) {
	  alert('请填写2000字以内的特长!');
	  return false;
	}
    if(!checkZYZType()) {
      return false;
    }
    var acceptZYZ = $('acceptZYZ');
    if(!acceptZYZ.checked) {
	  alert('您必须接受并同意中国注册志愿者管理办法！');
	  return false;
	}
	formEle.submit();
}

function checkUpdateForm() {
    var formEle = $('memberFormId');
    var zyzname = $('zyznameId');
	if(isEmpty(zyzname)) {
	  alert("真实姓名不能为空！");
	  return false;
	}
	var certType = $('certTypeId');
	if(certType.value == "-1") {
	  alert("请选择证件类型！");
	  return false;
	}
	var certNumber = $('certNumberId');
	if(isEmpty(certNumber)) {
	  alert('请填写证件号码！');
      return false;
	}
	if(certType.value == "1" && !isIdCard(certNumber.value)) {
	  alert('请填写格式正确的身份证号码！');
	  return false;
	}
	var graduLevel = $('graduLevelId');
	if(graduLevel.value == "-1") {
	  alert('请选择最高学历！');
	  return false;
	}
	var graduMajor = $('graduMajorId');
	if(parseInt(graduLevel.value) < 9 || parseInt(graduLevel.value) > 10) {
	   if(graduMajor.value == "") {
	    alert('请填写专业名称！');
		return false;
	   }
	}
    if(!checkTouchCon()) {
      return false;
    }
	var jobExp = document.getElementsByName('zyzMember.jobExp');
	var isChecked = false;
	for(i = 0; i < jobExp.length; i ++) {
	  if(jobExp[i].checked) {
	   isChecked = true;
	  }
	}
	if(!isChecked) {
	  alert("请选择有无工作经验！");
	  return false;
	}
	var speciality = $('specialityId');
	if(isEmpty(speciality)) {
	  alert("特长不能为空！");
	  return false;
	}
    if(speciality.value.trim().realLength() > 2000) {
	  alert('请填写2000字以内的特长!');
	  return false;
	}
    if(!checkZYZType()) {
      return false;
    }
    var iszyz = $('iszyzId');
    if(iszyz) {
     if(iszyz.checked) {
       iszyz.value = "1";
     } else {
       iszyz.value = "0";
     }
    }
    formEle.submit();
}

function checkTouchCon() {
    var touchCon1 = $('touchCon1Id');
	var touchCon2 = $('touchCon2Id');
	var touchCon3 = $('touchCon3Id');
	if(isEmpty(touchCon1) && isEmpty(touchCon2) && isEmpty(touchCon3)) {
	  alert("请至少填写一项联系方式！");
	  return false;
	}
	for(i = 1; i <= 3; i ++) {
	  if(!isEmpty(eval("touchCon" + i))) {
	    if(simpleCheck(eval("touchCon" + i))) {
          alert("该联系方式无效！");
	      return false;
	    }
	  }
	}
	return true;
}

function checkZYZType() {
    var typeChecked = false;
    var typeGroup = document.getElementsByName('zyzMember.vTypeArray');
    for(i = 0; i < typeGroup.length; i ++) {
      if(typeGroup[i].checked) {
       typeChecked = true;
       if(typeGroup[i].value == '107' || typeGroup[i].value == '205' || typeGroup[i].value == '306' || typeGroup[i].value == '411') {
        var other = $("vOther" + typeGroup[i].value.substring(0,1));
        if(isEmpty(other)) {
          alert("其他服务类型不能为空！");
          return false;
        }
        if(checkOtherType(other)) {
          alert("其他服务类型中存在非法字符！");
          return false;
        }
       }
      }
    }
    if(!typeChecked) {
       alert("请选择您希望从事的志愿者服务类型！");
       return false;
    }
    return typeChecked;
}

function checkOtherType(oTypeEle) {
    var oTypeValue = oTypeEle.value;
    var v = new RegExp();
    v.compile("[|$:;,]");
    if(v.test(oTypeValue)) {
      return true;
    } else {
      return false;
    }
}

function initGroupEle(groupName, defaultValue) {
    var groupEle = document.getElementsByName(groupName);
    for(i = 0; i < groupEle.length; i ++) {
       if(groupEle[i].value == defaultValue) {
         groupEle[i].checked = true;
       }
    }
}

function initSelectEle(selectId, defaultValue) {
    var selectEle = $(selectId);
    for(i = 0; i < selectEle.options.length; i ++) {
       if(selectEle.options[i].value == defaultValue) {
         selectEle.options[i].selected = true;
       }
    }
}

function initJobNameSelectEle(selectId, defaultValue) {
    if(defaultValue != "") {
      var checkValue = "";
      if(defaultValue.length == 1) {
        checkValue = "00" + defaultValue;
      }else if(defaultValue.length == 2) {
        checkValue = "0" + defaultValue;
      }else {
        checkValue = defaultValue;
      }
      var selectEle = $(selectId);
      for(i = 0; i < selectEle.options.length; i ++) {
           if(selectEle.options[i].value == checkValue) {
             selectEle.options[i].selected = true;
           }
      }
    }
}

function checkVOther(vType, vOtherId) {
   var vOther = $(vOtherId);
   if(vType && vOther) {
     if(vType.checked) {
       vOther.className = 'it2';
       vOther.disabled = false;
     }else {
	   vOther.className = 'ti';
	   vOther.value = "";
	   vOther.disabled = true;
	 }
   }
}

function initYear(yearId, initValue) {
    var yearEle = $(yearId);
	if(yearEle) {
      yearEle.options.length = 0;
	  for(i = 1938, j = 0; i <= 2000; i ++, j++) {
       yearEle.options[j] = new Option(i,i);
	   if(i == initValue) {
	    yearEle.options[j].selected = true;
	   }
	   if(initValue == "" && i == 1986) {
	    yearEle.options[j].selected = true;
	   }
	  }
	}
}

function initMonth(monthId, initValue) {
    var monthEle = $(monthId);
	if(monthEle) {
	  monthEle.options.length = 0;
	  var count = 0;
	  for(i = 1; i <= 12; i ++) {
	   monthEle.options[count] = new Option(i, i);
	   if(i == initValue) {
	     monthEle.options[count].selected = true;
	   }
	   count ++;
	  }
	}
}

function initDay(dayId, initValue) {
    var dayEle = $(dayId);
	if(dayEle) {
	  dayEle.options.length = 0;
	  for(i = 0; i < 31; i ++) {
	   dayEle.options[i] = new Option(i + 1, i + 1);
	   if((i + 1) == initValue) {
	     dayEle.options[i].selected = true;
	   }
	  }
	}
}

function initCountry(countryId, initValue) {
    var countryEle = $(countryId);
	if(countryEle && cityData) {
	  for(i = 0; i < cityData.length; i ++) {
	   countryEle.options[i] = new Option(cityData[i][1],cityData[i][0]);
	   if(cityData[i][0] == initValue) {
	     countryEle.options[i].selected = true;
	   }
	   if(initValue == "" && cityData[i][0] == "489") {
	     countryEle.options[i].selected = true;
	   }
	  }
	}
}

function doCountryChange(countryId, provinceId, initValue) {
    var countryEle = $(countryId);
	var provinceEle = $(provinceId);
    provinceEle.options.length = 0;
    for(i = 0, j = 0; i < arrCity.length; i ++) {
		if(arrCity[i][1] == countryEle.value) {
		    provinceEle.options[j] = new Option(arrCity[i][2],arrCity[i][0]);
			if(arrCity[i][0] == initValue) {
			  provinceEle.options[j].selected = true;
			}
			j ++;
		}
	}
    if(provinceEle.options.length == 0) {
        provinceEle.options.length = 0;
	    provinceEle.options[0] = new Option("请选择","");
        provinceEle.disabled = true;
	    doProvinceChange('provinceId', 'cityId');
	}else if (provinceEle.options.length > 0) {
	    provinceEle.disabled = false;
	}
}

function doProvinceChange(provinceId, cityId, initValue) {
    var provinceEle = $(provinceId);
	var cityEle = $(cityId);
	cityEle.disabled = false;
    cityEle.options.length = 0;
    for(i = 0, j = 0; i < arrCity.length; i ++) {
	   if(arrCity[i][1] == provinceEle.value) {
	        cityEle.options[j] = new Option(arrCity[i][2],arrCity[i][0]);
			if(arrCity[i][0] == initValue) {
			  cityEle.options[j].selected = true;
			}
			j ++;
	   }
	}
	if(cityEle.options.length == 0) {
       cityEle.options[0] = new Option("请选择","");
	   cityEle.disabled = true;
	}
}

function initVTypeValue(typeArray, otherArray) {
	for(i = 1; i <= 4; i ++) {
	  var listDiv = "t" + i + "00list";
	  var listData = eval("vTypeData" + i);
	  populateVTypeData(listDiv, listData, i, typeArray);
	}
	initVOtherValue(otherArray);
}

function initVOtherValue(otherArray) {
    for(i = 1; i <= 4; i ++) {
      var otherId = "vOther" + i;
      for(j = 0; j < otherArray.length; j ++) {
        var tempArray = otherArray[j].split('|');
        if(tempArray[0].substring(0,1) == i) {
          $(otherId).value = tempArray[1];
        }
      }
      if(!isEmpty($(otherId))) {
        $(otherId).className = "ti2";
      } else {
        $(otherId).value = "";
        $(otherId).disabled = true;
      }
    }
}

function populateVTypeData(listDiv, listData, listOther, typeArray) {
    var divEle = $(listDiv);
	var tempStr = '';
	var isChecked = false;
	for(j = 0; j < listData.length; j ++) {
      for(k = 0; k < typeArray.length; k ++) {
        if(typeArray[k] == listData[j][0]) {
          isChecked = true;
        }
      }
      if(j == listData.length - 1) {
	    tempStr += '<input type="checkbox" name="zyzMember.vTypeArray" value="' +
	               listData[j][0] + '" onclick="checkVOther(this, vOther' + listOther + ')" ';
	    if(isChecked) {
	    tempStr += 'checked';
	    }
	    tempStr += '>' + listData[j][1] + '\n';
		tempStr += '<input name="zyzMember.vOther' + listOther + '" id="vOther' + listOther + '" type="text" class="ti" size="20">' + '\n'
	  }else {
	    tempStr += '<input type="checkbox" name="zyzMember.vTypeArray" value="' + listData[j][0] + '"';
	    if(isChecked) {
	    tempStr += 'checked';
	    }
	    if(listData[j][0]=="307") {
	    	tempStr += '><font color=red>' + listData[j][1] + '</font>\n';
	    	
	    } else {
	      tempStr += '>' + listData[j][1] + '\n';
	    }
	  }
      isChecked = false;
	}
    divEle.innerHTML = tempStr;
}

function work(flag) {
		if(flag==1) {
            document.getElementById('nx').style.display="";
			document.getElementById('dw').style.display="";
			document.getElementById('hy').style.display="";
			document.getElementById('sr').style.display="";
	  }
	  if(flag==0) {
	        document.getElementById('nx').style.display="none";
			document.getElementById('dw').style.display="none";
			document.getElementById('hy').style.display="none";
			document.getElementById('sr').style.display="none";
	  }
}

function initJobType(jobTypeId) {
    var jobTypeEle = $(jobTypeId);
	if(jobTypeEle && arrJobtype) {
      jobTypeEle.options[0] = new Option("请选择","");
	  for(i = 0; i < arrJobtype.length; i ++) {
	   jobTypeEle.options[jobTypeEle.options.length] = new Option(arrJobtype[i][2],arrJobtype[i][3]);
	  }
	}
}

function doJobTypeChange(jobTypeId, jobNameId) {
    var jobTypeEle = $(jobTypeId);
	var jobNameEle = $(jobNameId);
	jobNameEle.disabled = false;
    jobNameEle.options.length = 0;
    jobNameEle.options[0] = new Option("请选择","");
    for(i = 0; i < arrSubjobtype.length; i ++) {
	   if(arrSubjobtype[i][1] == jobTypeEle.value) {
	        jobNameEle.options[jobNameEle.options.length] = new Option(arrSubjobtype[i][2], arrSubjobtype[i][0]);
	   }
	}
	if(jobNameEle.options.length == 1) {
	   jobNameEle.disabled = true;
	}
}

function checkGraduLevel() {
  var gradulevelId = $('graduLevelId');
  var gradumajorId = $('graduMajorId');
  if(gradulevelId.value != "-1") {
    if(gradulevelId.value == "9" || gradulevelId.value == "10") {
	  gradumajorId.value = "";
	  gradumajorId.readOnly = true;
      gradumajorId.className = "ti";
	}else {
	  gradumajorId.readOnly = false;
      gradumajorId.className = "it2";
	}
  }
}

function showMore() {
  $('p2').style.display="";
  $('p3').style.display="";
  $('p1').style.display="none";
}

function chc() {
  var valueRealLen = $('specialityId').value.trim().realLength();
  alert('共有' + valueRealLen + '个字，其中汉字算两个。');
}
