$(document).ready(function() {
    $("head").append(
            $("<script></script>").attr("type", "text/javascript")
                                  .attr("src", "/scripts/lib/swfobject.js")
    );

    // 1:1 채팅상담 open
    $("#bnr_quick > ul > li.chat > a").click(function() {
        dvf_webcall('/service/login/svc_login_user.asp', open_webcall_win);
    });

    // 학교 동영상 Layer player
    $.ajax({
        url: "/service/study_info/svc_representsch_movie.asp",
        type: "POST",
        data: {},
        dataType: 'json',
        error: function(p_req, p_status, p_err) {
            // 학교 동영상 연결하지 않음.
            // alert("["+ p_status + "]"+"Error loading");
            //등록된 학교 동영상이 없는걸로 표기.
            $("#media > ul")
                .empty()
                .append("<li class=\"img\"><img src=\"http://image.eduhouse.net/2009_iae/image/media_noimg.gif\" alt=\"학교 동영상\" title=\"\" /></li>" +
                        "<li class=\"txt\">등록된 동영상이 없습니다.</li>");
        },
        success: function(p_data) {
            if ( p_data.no_data )
            {
                //등록된 학교 동영상이 없음.
                $("#media > ul")
                    .empty()
                    .append("<li class=\"img\"><img src=\"http://image.eduhouse.net/2009_iae/image/media_noimg.gif\" alt=\"학교 동영상\" title=\"\" /></li>" +
                            "<li class=\"txt\">등록된 동영상이 없습니다.</li>");
            }
            else
            {
                // 학교 동영상 Link 출력
                $("#media > ul > li.img").css("background-image", "url(" + p_data.represent_img_url + ")");
                $("#media a[rel='sch_player_lnk']").attr("href", "/common/widget_skin/sch_player_widget.asp?school_index_code=" + p_data.sch_index_code);
                $("#media > ul > li.txt a").text(p_data.school_name);
            }
        }
    });

    $("#media a[rel='sch_player_lnk']").live("click", function() {
        var pos = dvf_getPosition(this);
        $("body").append(
            $("<div></div>").attr("id", "p_video")
                            .load(
                                this.href,
                                function() {
                                    $("#p_video span.close").live("click", function() {
                                        $("#p_video").remove();
                                    });

                                    $("#p_video div.btn a").live("click",function() {
                                        if ("counsel_lnk" == this.rel)
                                        {
                                            dvf_viewPopCounsel(this.href.replace(/^.*#/, ""));
                                            return false;
                                        }
                                        else if ("dm_req_lnk" == this.rel)
                                        {
                                            dvf_viewPopUserReq(this.href.replace(/^.*#/, ""));
                                            return false;
                                        }

                                        return true;
                                    });

                                    var flashvars = {
                                        allowmaximize: "YES",
                                        full_state: "NO"
                                    };

                                    var params = {
                                        wmode: "opaque",
                                        menu: "false",
                                        scale: "noScale",
                                        allowFullscreen: "true",
                                        allowScriptAccess: "always",
                                        bgcolor: "#FFFFFF"
                                    };

                                    var attributes = {
                                        id:"sch_movie"
                                    };

                                    swfobject.embedSWF($("#p_video #movie_url").val(), "sch_movie", "auto", "auto", "9.0.0", "<%=gsFlashFolder%>/expressInstall.swf", flashvars, params, attributes);
                                })
                            .css("right", $("body").width() - pos.x + 2)
                            .css("top", pos.y)
        );

        return false;
    });

    // SMS 이벤트 핸들러 설정
    $("#sms_msg").focusin(function() {
        // focus event는 live 함수로 지정이 안됨. 원인은 모르겠음. ㅡㅡ;
        // focus() 함수로도 지정이 안되서 bind 함수로..;;
        checkFirst(this);
    }).keydown(function(p_evt) {
        if ( !textCounter(this, 'inp_msg_len', 80) )
        {
            alert("최대 입력 가능 문자 수(영문기준:80)를 초과하였습니다.");
            p_evt.preventDefault();
            while (dvf_byteLength(this.value) > 80)
                this.value = this.value.substr(0, (this.value.length - 1));
        }
    }).keyup(function(p_evt) {
        if ( !textCounter(this, 'inp_msg_len', 80) )
        {
            alert("최대 입력 가능 문자 수(영문기준:80)를 초과하였습니다.");
            p_evt.preventDefault()
            while (dvf_byteLength(this.value) > 80)
                this.value = this.value.substr(0, (this.value.length - 1));
        }
    });

    $("#btn_sms_init").click(reset_sms_form);
    $("#btn_sms_send").click(send_sms);

    // 환율정보 읽어오기
    read_exchange_data(function(p_exchangeData) {
		return false;
        if (p_exchangeData.exchange_list.length > 0)
        {
            var frSelect = $("#rate select[name='exchange_fr_nat']");
            var toSelect = $("#rate select[name='exchange_to_nat']");

            var frIdx = -1;
            var toIdx = -1;
            for (var idx = 0; idx < p_exchangeData.exchange_list.length; idx++)
            {
                var datarec = p_exchangeData.exchange_list[idx];
                var opt = "<option value=\"" + datarec.price + "\">" + datarec.nat_name + "</option>";
                frSelect.append(opt);
                toSelect.append(opt);

                if ("krw" == datarec.curr_name)
                {
                    frIdx = idx;
                }

                if ("usd" == datarec.curr_name)
                {
                    toIdx = idx;
                }
            }

            frSelect[0].selectedIndex = frIdx;
            toSelect[0].selectedIndex = toIdx;

            $("#btn_exch_cal").click(function() {
                var from    = frSelect.val();
                var to      = toSelect.val();
                var amount  = $("#ex_amount").val();

                amount  = amount.replace(/ |,|\t/g,'');

                if(isNaN(amount) || amount == '') {
                    alert("숫자를 입력하세요.");
                    $("#ex_amount").val('');
                    $("#ex_amount").focus();
                    return false;
                } else {
                    //alert(from +"|"+ to);
                    var result = ((amount * from) / to).toFixed(2);
                    $("#ex_result").text("= " + dvf_commify(result));
                }
            });
        }

    });
});

// SMS 이벤트 핸들러
function checkFirst(txtField)
{
    if (txtField.defaultValue == txtField.value)
    {
        txtField.style.color = "#000000";
        txtField.value = "";
    }
}

function Length(txtField)
{
    return (txtField.value.length + (escape(txtField.value)+"%u").match(/%u/g).length-1);
}

function textCounter(txtField, cntFieldNm, maxLen)
{
    if (Length(txtField) > maxLen)
    {
        return false;
        //txtField.value = txtField.value.substr(0, (txtField.value.length - 1));
    }
    else
    {
        $("#" + cntFieldNm).html(String(Length(txtField)) + "byte");
        return true;
    }
}

function reset_sms_form()
{
    $("#sms_msg").val($("#sms_msg").attr("defaultValue")).css("color", "#044f95");
    $("#rcv_telno").val("");
    $("#sender_telno").val("");
    $("#inp_msg_len").html("0byte");
}

function send_sms()
{
    var rcvTelno = $("#rcv_telno");
    if ($.trim(rcvTelno.val()) == "")
    {
        alert("받는사람의 전화번호를 기입해주세요!");
        rcvTelno.focus();
        return;
    }

    if (!isMobilePhoneNum(rcvTelno.val()))
    {
        alert("전화번호를 잘못입력하셨습니다. 확인 후 이용바랍니다.");
        rcvTelno.focus();
        return;
    }

    var senderTelno = $("#sender_telno");
    if ($.trim(senderTelno.val()) == "")
    {
        alert("보내는사람의 전화번호를 기입해주세요!");
        senderTelno.focus();
        return;
    }

    if (!isMobilePhoneNum(senderTelno.val()))
    {
        alert("전화번호를 잘못입력하셨습니다. 확인 후 이용바랍니다.");
        senderTelno.focus();
        return;
    }

    var smsMsg = $("#sms_msg");
    if (smsMsg.attr("defaultValue") == smsMsg.val() || $.trim(smsMsg.val()) == "")
    {
        alert("메세지 내용을 기입해주세요!");
        smsMsg.focus();
        return;
    }

    //var param = "rcv_telno=" + rcvTelno.val() +
    //            "&sender_telno=" + senderTelno.val() +
    //            "&sms_msg=" + encodeURIComponent(smsMsg.val());
    var param = {rcv_telno: rcvTelno.val(),
                 sender_telno: senderTelno.val(),
                 sms_msg: escape(smsMsg.val())};
    $.ajax({
        url: "/service/common/svc_send_sms.asp",
        type: 'POST',
        data: param,
        dataType: 'json',
        async: true,
        //timeout: 3000,
        error: function(p_req, p_status, p_err) {
            //alert('ERR1');
            alert("SMS 발송 요청 중 오류가 발생하였습니다. 잠시 후 이용바랍니다.");
        },
        success: function(p_data) {
            if (!p_data.no_login)
            {
                if (p_data.is_succ)
                {
                    alert("발송 되었습니다.");
                    reset_sms_form();

                    if (p_data.last_cbmoney)
                    {
                        //$("#sms_usable_cnt").html(dvf_maskNumber(Math.floor(p_data.last_cbmoney/100)));
                        //$("#remain_cbmoney").html(dvf_maskNumber(p_data.last_cbmoney));
                    }
                }
                else
                {
                    switch(p_data.reason_code)
                    {
                        case "lack":
                            alert("사이버머니가 부족합니다. 이용안내를 참고하십시오.");
                            break;

                        case "diff":
                            alert("발송자 전화번호가 회원정보와 일치하지않습니다.");
                            break;

                        case "trns":
                            alert("통신사 사정으로 인해 발송에 실패하였습니다. 잠시 후 이용바랍니다.");
                            break;

                        default:
                            alert("시스템 문제로 인해 발송에 실패하였습니다. 잠시 후 이용바랍니다.");
                            break;
                    }
                }
            }
            else
            {
                alert("로그인 후 사용하십시오.");
                // Login하지 않은 경우 로그인 popup을 띄워 Login 확인한 후
                // 다시 수행해야 할 부분을 aftLogin callback 함수에 정의한다.
                jQuery.extend({
                    aftLogin: function() {
                        send_sms();
                    }
                });

                // Login popup open. 로그인 layer popup을 화면 중앙에 표시
                open_loginPop(null);
            }
        }
    });
}

function isMobilePhoneNum(p_phoneNum)
{
    var hpRgExp = /^01[016789]-?[0-9]{3,4}-?[0-9]{4}$/;
    return hpRgExp.test(p_phoneNum);
}

function read_exchange_data(p_loadCallback)
{
	return false;
    $.ajax({
        url: "/service/common/svc_get_exchange.asp",
        type: 'POST',
        data: {},
        dataType: 'json',
        async: true,
        //timeout: 3000,
        error: function(p_req, p_status, p_err) {
            //alert('ERR1');
            //alert("환율정보 Loading 중 오류가 발생하였습니다. 잠시 후 이용바랍니다.");
        },
        success: function(p_data) {
            $.extend({exchangeData: p_data});

            if ("function" == typeof(p_loadCallback))
            {
                p_loadCallback($.exchangeData);
            }
        }
    });
}

