function checkform(msg) {
    ErrField = '';
    
    if(document.getElementById("Name").value == '') {
        document.getElementById("MsgName").innerHTML = "尚未輸入";
        if(! ErrField) ErrField = "Name";
    } else {
        document.getElementById("MsgName").innerHTML = "";
    }
    
    if(! document.getElementById("GenderM").checked && ! document.getElementById("GenderF").checked) {
        document.getElementById("MsgGender").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "GenderM";
    } else {
        document.getElementById("MsgGender").innerHTML = "";
    }
    
    if(document.getElementById("Email").value == '') {
        document.getElementById("MsgEmail").innerHTML = "尚未輸入";
        if(! ErrField) ErrField = "Email";
    } else if(! RegEmail.test(document.getElementById("Email").value)) {
        document.getElementById("MsgEmail").innerHTML = "Email 格式錯誤";
        if(! ErrField) ErrField = "Email";
    } else {
        document.getElementById("MsgEmail").innerHTML = "";
    }

    if(document.getElementById("Age").value == '') {
        document.getElementById("MsgAge").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "Age";
    } else {
        document.getElementById("MsgAge").innerHTML = "";
    }
    
    if(document.getElementById("Education").value == '') {
        document.getElementById("MsgEducation").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "Education";
    } else {
        document.getElementById("MsgEducation").innerHTML = "";
    }

    if(document.getElementById("LearnPeriod").value == '') {
        document.getElementById("MsgLearnPeriod").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "LearnPeriod";
    } else {
        document.getElementById("MsgLearnPeriod").innerHTML = "";
    }

    if(document.getElementById("UsePeriod").value == '') {
        document.getElementById("MsgUsePeriod").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "UsePeriod";
    } else {
        document.getElementById("MsgUsePeriod").innerHTML = "";
    }

    if(document.getElementById("Residence1").value == '') {
        document.getElementById("MsgResidence").innerHTML = "尚未選取";
        if(! ErrField) ErrField = "Residence1";
    } else if(document.getElementById("Residence1").value == "亞洲") {
        if(document.getElementById("Residence2").value == '') {
            document.getElementById("MsgResidence").innerHTML = "尚未選取";
            if(! ErrField) ErrField = "Residence2";
        } else {
            document.getElementById("MsgResidence").innerHTML = "";
        }
    } else {
        document.getElementById("MsgResidence").innerHTML = "";
    }
    
    if(ErrField) {
        document.getElementById(ErrField).focus();
        return false;
    }

    if(! confirm(msg)) {
        return false;
    }
    
    return true;
}

function ResidenceChange() {
    var Residence1 = document.getElementById("Residence1").value;
    var Residence2 = document.getElementById("Residence2").value;
    
    if(Residence1 == "") {
        resetResidence();
    } else if(Residence1 == "亞洲") {
        document.getElementById("Residence2").style.display = 'inline';
        
        if(Residence2 == "其他") {
            document.getElementById("ResidenceText").style.display = 'inline';
        } else {
            document.getElementById("ResidenceText").style.display = 'none';
        }
    } else {
        document.getElementById("Residence2").style.display = 'none';
        document.getElementById("ResidenceText").style.display = 'inline';
    }
}

function resetResidence() {
    document.getElementById("Residence2").style.display = 'none';
    document.getElementById("ResidenceText").style.display = 'none';

    document.getElementById("MsgName").innerHTML = "";
    document.getElementById("MsgGender").innerHTML = "";
    document.getElementById("MsgEmail").innerHTML = "";
    document.getElementById("MsgAge").innerHTML = "";
    document.getElementById("MsgEducation").innerHTML = "";
    document.getElementById("MsgLearnPeriod").innerHTML = "";
    document.getElementById("MsgUsePeriod").innerHTML = "";
    document.getElementById("MsgResidence").innerHTML = "";
}

function confirmReset() {
    if(! confirm("您確定要清除已填寫的資料？")) {
        return false;
    }
    
    resetResidence();
    return true;
}

function MyKeyDown(e) {
    var VKCode = e.which ? e.which : e.keyCode;
    
    switch(VKCode) {
    case 27: //Esc
        document.getElementById("reset").click();
        return false;
    }
    
    return true;
}
