    function ReservationStep01(Srno){
        ReservationReset();

        var MedicalPartName = $("#MedicalPartName" + Srno).html();

        $(".revresult2").html(MedicalPartName);

        $.ajax({
            type : "post",
            url : "/Etc/Ajax_MedicalPartDoctorList.asp",
            data : "MedicalPartSrno=" + Srno + "&DoctorSrno=&ReturnKind=SelectBox",
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(html){
                if(html == "0"){
                    alert("해당 진료과목에 등록된 의사가 없습니다.");
                }else{
                    $("#DoctorSelectBox").html(html);
                    $("select[name=DoctorSrno]").bind("change", function(event){ DoctorScheduleView(this.value); });
//                    $("select[name=DoctorSrno]").css({"width" : 130});
                    
                    if(ReturnFieldValue("ModifyState", "input") == "Start"){
                        ReservationModifyStep02();
                    }
                }
            }
        });
    }
    
    function DoctorScheduleView(DoctorSrno){
        var MedicalPartSrno = ButtonValueReturn("MedicalPartSrno");
        
        if(DoctorSrno == ""){
            alert("의료진을 선택하세요.");
            return;
        }else{
            ReservationReset2();
        }

        $.ajax({
            type : "post",
            url : "/Etc/Ajax_DoctorSchedule.asp",
            data : "MedicalPartSrno=" + MedicalPartSrno + "&DoctorSrno=" + DoctorSrno + "&ReturnKind=Reservation",
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(html){
                $("#DoctorInfo").html(html);

                CalendarDisplay("", "");
                DoctorMentDisplay(DoctorSrno);
            }
        });
    }
    
    function DoctorMentDisplay(DoctorSrno){
        var Html = "", Ment = "";
        
        switch (DoctorSrno)
        {
            case "58" : // 이창희
                Ment = "서울대 의대 졸업<br>";
                Ment += "서울대학교병원 전임의<br>";
                Ment += "청주성모병원 지료과장";
                break;
            case "40" : // 강기혁
                Ment = "인제대 의대 졸업<br>";
                Ment += "서울백병원 전공의<br>";
                Ment += "서울백병원 외래교수";
                break;
            case "42" : // 김태완
                Ment = "서울대학교 의과대학 졸업<br>";
                Ment += "삼성의료원 정형외과 전임의<br>";
                Ment += "성균관대학교 의과대학 외래 부교수";
                break;
            case "45" : // 김기찬
                Ment = "인하대 의대 졸업<br>";
                Ment += "인하대학교병원 전공의<br>";
                Ment += "인하대학교병원 전임의";
                break;
        }
        
        $.ajax({
            type : "post",
            url : "/Etc/Ajax_SelectDoctorComment.asp",
            data : "DoctorSrno=" + DoctorSrno,
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(ReturnHtml){
                if(ReturnHtml != ""){
                    Html = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"200\" caption='의료진 멘트'>"
                    Html = Html + "<tr>"
                    Html = Html + "<td height=\"5\"></td>"
                    Html = Html + "</tr>"
                    Html = Html + "</tr>"
                    Html = Html + "<td>" + ReturnHtml + "</td>"
                    Html = Html + "</tr>"
                    Html = Html + "<tr>"
                    Html = Html + "<td height=\"5\"></td>"
                    Html = Html + "</tr>"
                    Html = Html + "<tr>"
                    Html = Html + "<td height=\"1\" bgcolor=\"c7c7c7\"></td>"
                    Html = Html + "</tr>"
                    Html = Html + "</table>";

                    $("#ProfileDiv").html(Html);
                }else{
                    $("#ProfileDiv").html("");
            }
            }
        });

    }

    function CalendarDisplay(Year, Month){
        var MedicalPartSrno = ButtonValueReturn("MedicalPartSrno");
        var DoctorSrno = ReturnFieldValue("DoctorSrno", "select");
        var TreatInfo = ReturnFieldValue("TreatWeekAllDay", "input") + "|" + ReturnFieldValue("TreatWeekMorning", "input") + "|" + ReturnFieldValue("TreatWeekAfternoon", "input") + "|" + ReturnFieldValue("TreatWeekBiweekly", "input");

        $.ajax({
            type : "post",
            url : "/Reservation/Ajax_Calendar.asp",
            data : "MedicalPartSrno=" + MedicalPartSrno + "&DoctorSrno=" + DoctorSrno + "&Year=" + Year + "&Month=" + Month + "&TreatInfo=" + TreatInfo,
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(html){
                $("#Calendar").html(html);
                $("#DateBox").show();

                if(ReturnFieldValue("ModifyState", "input") == "Start"){
                    ReservationModifyStep04();
                }
            }
        });
    }
    
    function DayInsert(Day, Week){
        $("input[name=Day]").attr({value : Day});
        $("input[name=Week]").attr({value : Week});
        DayBox();
    }

    function DayBox(){
        var DateInfo = $("#Year").html() + "." + $("#Month").html() + "." + ReturnFieldValue("Day", "input") + "&nbsp;&nbsp;&nbsp;" + ReturnFieldValue("Hour", "select") + "시" + ReturnFieldValue("Minute", "select") + "분";
        var DateInfo2 = $("#Year").html() + "." + $("#Month").html() + "." + ReturnFieldValue("Day", "input") + "<br>" + ReturnFieldValue("Hour", "select") + "시" + ReturnFieldValue("Minute", "select") + "분";

        $(".point_color").html(DateInfo);
        $("#DateInfo").html(DateInfo2);

        DateInfo = $("#Year").html() + "-" + $("#Month").html() + "-" + ReturnFieldValue("Day", "input");
        DateInfo2 = ReturnFieldValue("Hour", "select") + ":" + ReturnFieldValue("Minute", "select");

        $("input[name=DateInfo]").attr({value : DateInfo});
        $("input[name=TimeInfo]").attr({value : DateInfo2});
    }

    function InfoSend(){
        var Value = ReturnFieldValue("Contents", "textarea");
        Value = Value.replace(/(\n)/gi, "<br>");

        $(".Step02Result").html(Value);
    }

    function ReservationCheck(){
        if(!FieldCheckAlert("MedicalPartSrno", "진료과를 선택하세요.", "radio", "Y")){ return; }
        if(!FieldCheckAlert("Contents", "질병 증상을 입력하세요.", "textarea", "Y")){ return; }
        if(!FieldCheckAlert("DoctorSrno", "의료진을 선택하세요.", "select", "Y")){ return; }
        if(!FieldCheckAlert("Day", "예약일을 선택하세요.", "input", "N")){ return; }

        var Hour = ReturnFieldValue("Hour", "select").toString();
        var Minute = ReturnFieldValue("Minute", "select").toString();
        var TimeValue = Hour + Minute;
        var Week = ReturnFieldValue("Week", "input");

        if(TimeValue == 900){
            alert("진료 예약은 09시 30분부터 입니다.");
            return;
        }else if(TimeValue >= 1230 && TimeValue <= 1300){
            alert("선택하신 시간은 점심 시간 입니다.");
            return;
        }else if(Week == 6 && TimeValue >= 1200){
            alert("토요일은 12시 이전까지 예약이 가능합니다.");
            return;
        }

        var CheckTreatTime = ReturnFieldValue("TreatWeekAllDay", "input").split(Week);
        var CheckTreatTime2 = ReturnFieldValue("TreatWeekBiweekly", "input").split(Week);

        if((CheckTreatTime.length == 1 && CheckTreatTime[0] != Week) && (CheckTreatTime2.length == 1 && CheckTreatTime2[0] != Week)){
            if(Hour <= 12){
                var CheckTreatTime = ReturnFieldValue("TreatWeekMorning", "input").split(Week);

                if(CheckTreatTime.length == 1 && CheckTreatTime[0] != Week){
                    alert("해당일에는 오전 진료가 없습니다.");
                    return;
                }
            }else{
                var CheckTreatTime = ReturnFieldValue("TreatWeekAfternoon", "input").split(Week);

                if(CheckTreatTime.length == 1 && CheckTreatTime[0] != Week){
                    alert("해당일에는 오후 진료가 없습니다.");
                    return;
                }
            }
        }
        
        var MedicalPartSrno = ButtonValueReturn("MedicalPartSrno");
        var DoctorSrno = ReturnFieldValue("DoctorSrno", "select");
        var DateInfo = ReturnFieldValue("DateInfo", "input");
        var TimeInfo = ReturnFieldValue("TimeInfo", "input");

        $.ajax({
            type : "post",
            url : "/Reservation/Ajax_TimeCheck.asp",
            data : "MedicalPartSrno=" + MedicalPartSrno + "&DoctorSrno=" + DoctorSrno + "&DateInfo=" + DateInfo + "&TimeInfo=" + TimeInfo,
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(html){
                if(html == "Fail"){
                    alert("선택하신 시간은 예약이 완료된 시간입니다.\n다른 시간을 선택하세요.");
                }else if(html == "Already"){
                    if($("input[name=ModifyState]").val() == ""){
                        alert("예약한 시간입니다.\n다른 시간을 선택하세요.");
                    }else{
                        $("form[name=ReservationWriteForm]").submit();
                    }
                }else if(html == "Success"){
//                    var PrivateInfoState = ReturnFieldValue("PrivateInfoState", "input")
//                    
//                    if($("#PrivateInfoDiv").dialog("isOpen") != undefined && PrivateInfoState == ""){
//                        alert("비회원 정보가 누락 됐습니다.");
//                        ReservationReload();
//                        return;
//                    }

                    $("form[name=ReservationWriteForm]").submit();
                }
            }
        });
        
        return;
    }
    
    function ReservationReload(){
        $("input[name=MedicalPartSrno]").each(function(){
            this.checked = false;
        });
        
        if($("#PrivateInfoDiv").dialog("isOpen") != undefined){
            $('#PrivateInfoDiv').dialog("open");
        }
        
        if($("input[name=ModifyState]") == ""){
            ReservationReset();
        }else{
            ReservationModify();
        }
    }

    function ReservationReset(){
        $("input[name=Day]").attr({value : ""});
        $("input[name=Week]").attr({value : ""});

        $(".revresult2").html("");
        $("#DoctorSelectBox").html("");
        $("textarea[name=Contents]").attr({value : ""});
        InfoSend();
        ReservationReset2();
    }

    function ReservationReset2(){
        $("input[name=DateInfo]").attr({value : ""});
        $("input[name=TimeInfo]").attr({value : ""});
        $("#DoctorInfo").html("");
        $("#Calendar").html("");
        $(".point_color").html("");
        $("#DateInfo").html("")
        $("#DateBox").hide();
    }

    function PrivateInfoCheck(){
        if(ReturnFieldValue("Agree", "radio") == "N"){
            alert("약관에 동의하셔야 진행됩니다.");
            return;
        }
        
        if(!FieldCheckAlert("Name", "이름을 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Jumin1", "주민등록번호를 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Jumin2", "주민등록번호를 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Email", "이메일을 입력하세요.", "input", "Y")){ return; }
        
        if(!chkPatten("Email", "mailCheck")){
            alert("올바른 이메일 형식이 아닙니다.");
            $($("input[name=Email]").focus());
            return;
        }

        if(!FieldCheckAlert("Tel1", "전화번호를 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Tel2", "전화번호를 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Tel3", "전화번호를 입력하세요.", "input", "Y")){ return; }
        if(!FieldCheckAlert("Zip1", "우편번호를 입력하세요.", "input", "Y")){ return false; }
        if(!FieldCheckAlert("Zip2", "우편번호를 입력하세요.", "input", "Y")){ return false; }
        if(!FieldCheckAlert("Zip3", "주소를 입력하세요.", "input", "Y")){ return false; }
        
        $("input[name=PrivateInfoState]").attr({value : "Y"});

        $("input[name=SendName]").attr({value: ReturnFieldValue("Name", "input")});
        $("input[name=SendJumin1]").attr({value: ReturnFieldValue("Jumin1", "input")});
        $("input[name=SendJumin2]").attr({value: ReturnFieldValue("Jumin2", "input")});
        $("input[name=SendEmail]").attr({value: ReturnFieldValue("Email", "input")});
        $("input[name=SendTel1]").attr({value: ReturnFieldValue("Tel1", "input")});
        $("input[name=SendTel2]").attr({value: ReturnFieldValue("Tel2", "input")});
        $("input[name=SendTel3]").attr({value: ReturnFieldValue("Tel3", "input")});
        $("input[name=SendZip1]").attr({value: ReturnFieldValue("Zip1", "input")});
        $("input[name=SendZip2]").attr({value: ReturnFieldValue("Zip2", "input")});
        $("input[name=SendZip3]").attr({value: ReturnFieldValue("Zip3", "input")});
        $("input[name=SendZip4]").attr({value: ReturnFieldValue("Zip4", "input")});

        $('#PrivateInfoDiv').dialog("close");
    }
	
    function ReservationLoginCheck(){
        if(ReturnFieldValue("Agree", "radio") == "N"){
            alert("약관에 동의하셔야 진행됩니다.");
            return false;
        }

        if(!FieldCheckAlert("Name", "이름을 입력하세요.", "input", "Y")){ return false; }
        if(!FieldCheckAlert("Jumin1", "주민등록번호를 입력하세요.", "input", "Y")){ return false; }
        if(!FieldCheckAlert("Jumin2", "주민등록번호를 입력하세요.", "input", "Y")){ return false; }

        $("#MemberInfoDiv").dialog("close");
        Ajax_ReservationList("", "", "", "");

        return false;
    }

    function Ajax_ReservationList(Page, PageSize, Key, Keyword){
        var Page = Page.replace("?page=", "").replace("&", "");
        var Name = ReturnFieldValue("Name", "input");
        var Jumin1 = ReturnFieldValue("Jumin1", "input");
        var Jumin2 = ReturnFieldValue("Jumin2", "input");

		$.ajax({
			type : "post",
            url : "/Reservation/Ajax_ReservationList.asp",
            data : "Page=" + Page + "&PageSize=" + PageSize + "&Key=" + Key + "&Keyword=" + Keyword + "&Name=" + Name + "&Jumin1=" + Jumin1 + "&Jumin2=" + Jumin2,
			complete: function( res, status ) {
				if ( status === "success" || status === "notmodified" ) {
					$("#ListDiv").html(res.responseText);
				}else{
					alert(status);
				}
			}
		});
    }

    function Ajax_ReservationDelete(Srno){
        var Name = ReturnFieldValue("Name", "input");
        var Jumin1 = ReturnFieldValue("Jumin1", "input");
        var Jumin2 = ReturnFieldValue("Jumin2", "input");

        $.ajax({
            type : "post",
            url : "/Reservation/Ajax_ReservationDelete.asp",
            data : "Srno=" + Srno + "&Name=" + Name + "&Jumin1=" + Jumin1 + "&Jumin2=" + Jumin2,
            error: function(html){
                alert("실행중 에러 발생");
                alert(html);
            },
            success: function(html){
                if(html == 0){
                    Ajax_ReservationList("", "", "", "");
                }else{
                    alert(html);
                }
            }
        });
    }

    function ReservationModify(){
        $("input[name=ModifyState]").attr({ value : "Start" });

        var OldMedicalPartSrno = ReturnFieldValue("OldMedicalPartSrno", "input");
        
        if(OldMedicalPartSrno != ""){
            $("input[name=MedicalPartSrno]").each(
                function(){
                    if(this.value == OldMedicalPartSrno){
                        this.checked = true;
                        ReservationStep01(OldMedicalPartSrno);
                    }
                }
            );
        }
    }

    function ReservationModifyStep02(){
        var OldDoctorSrno = ReturnFieldValue("OldDoctorSrno", "input");

        $("select[name=DoctorSrno]").find("option").each(
            function(){
                if(this.value == OldDoctorSrno){
                    this.selected = true;
                    DoctorScheduleView(this.value);
                }
            }
        );

//        ReservationModifyStep03();
    }

    function ReservationModifyStep03(){
        var OldReserveDate = ReturnFieldValue("OldReserveDate", "input");
        var OldReserveTime = ReturnFieldValue("OldReserveTime", "input");

        SplitOldReserveDate = OldReserveDate.split("-");
        
        CalendarDisplay(SplitOldReserveDate[0], SplitOldReserveDate[1]);
    }

    function ReservationModifyStep04(){
        var OldReserveTime = ReturnFieldValue("OldReserveTime", "input");
        var OldReserveDate = ReturnFieldValue("OldReserveDate", "input");
        
        SplitOldReserveTime = OldReserveTime.split(":");

        $("select[name=Hour]").find("option").each(
            function(){
                if(this.value == SplitOldReserveTime[0]){
                    this.selected = true;
                }
            }
        );

        $("select[name=Minute]").find("option").each(
            function(){
                if(this.value == SplitOldReserveTime[1]){
                    this.selected = true;
                }
            }
        );

        SplitOldReserveDate = OldReserveDate.split("-");

        var ReservationDate = new Date(SplitOldReserveDate[0], SplitOldReserveDate[1] - 1, SplitOldReserveDate[2]);

        DayInsert(SplitOldReserveDate[2], ReservationDate.getDay());

        var OldContents = $("textarea[name=OldContents]").val();

        $("textarea[name=Contents]").attr({ value : OldContents });

        InfoSend('Contents', 'textarea', 'Step02Result');

        $("input[name=ModifyState]").attr({ value : "Finish" });
    }
