﻿// =================================================================== 
// @Copy Right 2010
// 项目名称：CMS.Question.js
// 项目描述：提问操作
// 负责人：俸世强
// =================================================================== 

/*!
* ##############################################################################################################################################
*
* ajax 公共调用部分
*
* 1、beforeSend: function(XMLHttpRequest){}
*   
*   参数说明:
*       showModel:          "1"表示文字提示; "2"表示图片提示.
*       defaultWd:          默认文字提示.
*       defaultImageUrl:    默认图片提示图片路径.
* 
* 2、complete: function(XMLHttpRequest, textStatus) {}
*   
* 3、error: function() {}
*
* Created Date: 2010-06-20 10:08 
* Edit Date:  
*/

$.fn.CmsvonAjaxBeforeSend = function(XMLHttpRequest, showModel, defaultWd, defaultImageUrl) {

    switch (showModel) {

        case "2":

            if (defaultImageUrl == "") {
                defaultImageUrl = "/Images/indicator.gif";
            }

            return $(this).after("<span id=\"CmsvonJqueryAjax-img\"><img src=\"" + defaultImageUrl + "\" alt=\"loading\" /></span>");

            break
        default:

            if (defaultWd == "") {
                defaultWd = "loading";
            }

            return $(this).after("<span id=\"CmsvonJqueryAjax-wd\">" + defaultWd + "</span>");

            break;
    }
}

$.fn.CmsvonAjaxComplete = function(XMLHttpRequest, textStatus, showModel) {

    switch (showModel) {

        case "2":

            $("#CmsvonJqueryAjax-img").remove();

            break
        default:

            $("#CmsvonJqueryAjax-wd").remove();

            break;
    }
}

$.fn.CmsvonAjaxError = function(errMessage) {

    if (errMessage == "") {
        errMessage = "操作失败，请刷新后重试！";
    }

    alert(errMessage);
}

/*
* ##############################################################################################################################################
*/


/*!
* 获取验证图片
* 
* GetRandImageUrl()：获取验证图片
* $.fn.GetRandImageUrl：<img onclick="$(this).GetRandImageUrl()" />刷新img的src
* ShowRandImageCode()：显示带验证图片的<img />
*
* 参数说明：
* 
*/
function GetRandImageUrl() {

    return "/Resources/Services/GetRandImageCode.ashx?RandNum=" + (new Date()).valueOf();

}

$.fn.GetRandImageUrl = function(endfn) {

    $(this).attr("src", GetRandImageUrl()).show();

    if (typeof endfn == "function") endfn();

}

function ShowRandImageCode() {

    return "<img id=\"imgRandCode\" src=\"" + GetRandImageUrl() + "\" onclick=\"$(this).GetRandImageUrl();\" style=\"cursor: pointer\" alt=\"看不清楚,换一张\" />";

}

/*
* ##############################################################################################################################################
*/



/*!
* 绑定科室/疾病下拉框
* 
* BindDepartmentDropDownList($("#DdlDepartment"));
* BindDepartmentDropDownList($("#DdlDepartment"), $("#DdlDisease"));
* 
*/

function BindDepartmentAndDiseaseDropDownList(departmentTag, diseaseTag) {
    BindDepCategoryListForQuestion(departmentTag, diseaseTag);
}

function BindDepartmentDropDownList(departmentTag) {
    BindOnlyDepCategoryListForParentList(departmentTag);
}

/*
* ##############################################################################################################################################
*/




/*!
* ##############################################################################################################################################
*
* 获取字符串拼音
*
* $.fn.CmsvonAddQuestion
* 
*   调用说明:
*       TbDisplayName
*       TbEmail
*       TbQq
*       DdlDepartment
*       TbTitle
*       TbBody
*       TbImgCode
*
*   返回值说明:
*       Status  : "0"表示执行成功; "1"表示评论编号传递错误; 
*       Msg   : 执行结果.
*
*   调用方法:
*       $("#imgPutQuestion").CmsvonAddQuestion({ TbDisplayName: $("#TbDisplayName"), TbEmail: $("#TbEmail"), TbQq: $("#TbQq"), DdlDepartment: $("#DdlDepartment"), TbTitle: $("#TbTitle"), TbBody: $("#TbBody"), TbImgCode: $("#TbImgCode") });
*
*/

$.fn.CmsvonAddQuestion = function(options, endfn) {

    var btnTarget = $(this);

    btnTarget.click(function() {

        if (options.TbDisplayName.val() != "" && (options.TbDisplayName.val().length < 2 || options.TbDisplayName.val().length > 15)) {

            alert("昵称必须为长度2～15个字符，英文、中文、数字、点、减号或@组成！");
            options.TbDisplayName.focus();

        }

        else if (options.TbEmail.val() != "" && !options.TbEmail.isEmail()) {

            alert("请填写正确的电子邮件，以便及时接收专家回复您的咨询内容！");
            options.TbEmail.focus();

        }
        else if (options.TbEmail.val() != "" && options.TbEmail.val().length > 256) {

            alert("电子邮件长度必须小于256个字符！");
            options.TbEmail.focus();

        }

        else if (options.TbQq.val() != "" && !options.TbQq.isQq()) {

            alert("请填写正确的Qq号码(且只能是10000以及上的阿拉伯数字的组合)，以便及时接收专家回复您的咨询内容！");
            options.TbQq.focus();

        }
        else if (options.TbQq.val() != "" && options.TbQq.val().length > 50) {

            alert("Qq号码长度必须小于50个字符！");
            options.TbQq.focus();

        }

        else if (options.DdlDepartment.val() == "0") {

            alert("请选择科室！");
            options.DdlDepartment.focus();

        }

        else if (options.TbTitle.val() == "") {

            alert("请输入提问标题！");
            options.TbTitle.focus();

        }
        else if (options.TbTitle.val() != "" && options.TbTitle.val().length > 100) {

            alert("提问标题长度必须小于100个字符！");
            options.TbTitle.focus();

        }

        else if (options.TbBody.val() == "") {

            alert("请输入提问内容！");
            options.TbBody.focus();

        }

        else if (options.TbImgCode.val() == "") {

            alert("请填写验证码！");
            options.TbImgCode.focus();

        }
        else {

            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/Resources/PutData/PutQuestionV3.aspx",
                data: {
                    TbTitle: options.TbTitle.val(),
                    DdlDepartment: options.DdlDepartment.val(),
                    TbBody: options.TbBody.val(),
                    TbImgCode: options.TbImgCode.val(),
                    TbDisplayName: options.TbDisplayName.val(),
                    TbEmail: options.TbEmail.val(),
                    TbQq: options.TbQq.val(),
                    RadioRemindManner: options.RadioRemindManner.val()
                },
                beforeSend: function(XMLHttpRequest) {
                    btnTarget.CmsvonAjaxBeforeSend(XMLHttpRequest, 1, "", "");
                },
                success: function(result) {

                    if (result.Status == "0") {
                        alert("恭喜，您的问题提交成功，我们将第一时间回复您的问题，谢谢您对我院的支持和信任！");
                        if (typeof endfn == "function") endfn();
                    }
                    else if (result.Status == "1") {
                        alert(result.Msg);
                    }
                    else if (result.Status == "2") {
                        alert("提交失败，请刷新后重试！");
                    }
                    else {
                        alert("与服务器连接超时，请刷新后重试，谢谢！");
                    }
                },
                complete: function(XMLHttpRequest, textStatus) {
                    btnTarget.CmsvonAjaxComplete(XMLHttpRequest, textStatus, 1);
                },
                error: function() { btnTarget.CmsvonAjaxError(""); }
            });

        }
    });
}

/*
* ##############################################################################################################################################
*/




/*!
* 问题搜索
* 
* $("#id").CmsvonQuestionSearch({Keyword:$("#"),DepartmentSpell:$("#")});
*/

$.fn.CmsvonQuestionSearch = function(option) {

    $(this).click(function() {

        var keyword = option.Keyword.val();
        var departmentSpell = option.DepartmentSpell.val();

        if (keyword == "") {
            alert("请输入您搜索的关键词。");
            option.Keyword.focus();
        }
        else {

            var url = "/Ask.aspx?Keyword=" + encodeURI(keyword);

//            if (departmentSpell != "0") {
//                url = "/Ask.aspx?WebIdSpell=" + departmentSpell + "&Keyword=" + encodeURI(keyword);
//            }

            top.location.href = url;
        }
    });

}

function CmsvonLoadQuestionSearchUrlParam(option) {

    $.getScript("/Resources/Scripts/jquery.jqURL.js", function() {
        var keyword = $.jqURL.get("Keyword");

        if (keyword != undefined && keyword != "") {
            option.Keyword.attr("value", decodeURI(keyword));
        }
        else {
            option.Keyword.attr("value", "");
        }
    });
    
}

