var emoji = new EmojiTransform();
$(function () {
    var $tag = $("#detailNav").find("li");
    var $cont = $(".tab_cont");
    changeTag($tag, $cont, "bg_write", "click", function (index) {
        if (index == 1) {
            getLoginUser(1);
            getQaCount();
            loadQa(1, 1);
        }
        if (index != 0) {
            $("#progress").hide();
            $("#follower").hide();
        } else {
            $("#progress").show();
            $("#follower").show();
        }
    });
    getQaCount();
    doLogin();
    alertPicBox($(".alertPic"));
    isLogin();
});
//项目进展查看详情部分
(function checkMoreDevelopment() {
    //获得对象
    var $developList = $(".zc-d-c-list");
    var $developListMore = $("#zc-d-c-more");
    var $developListMoreA = $developListMore.find("a");
    var $deveLen = $developList.length;
    /*if ($deveLen <= 2) {
        $developListMore.css("display", "none");
    } else {
        $developListMore.css("display", "block");
        $(".zc-d-c-list").slice(2).css("display", "none");
    }*/
    $developListMore.css("display", "none");//显示全部
})();

//显示隐藏进度
(function showAndHideDevelopment() {
    var $developListMoreA = $("#zc-d-c-more").find("a");
    var $developList = $(".zc-d-c-lists").find(".zc-d-c-list");
    $developListMoreA.toggle(function () {
        $(this).attr("clstag","jr|keycount|zc_detail|zc_zd_xmsq").html("收起详情");
        $(".zc-d-c-list").css("display", "block");
    }, function () {
        $(this).attr("clstag","jr|keycount|zc_detail|zc_zd_ckxq").html("查看详情");
        $(".zc-d-c-list").slice(2).css("display", "none");
    });
})();
//我的提问
function changeAskQuestionTab(tabTitObj, tabContObj, index, activeClass) {
    var $tabTitObj = $(tabTitObj);
    var $tabContObj = $(tabContObj);
    $tabTitObj.removeClass(activeClass);
    $tabContObj.removeClass(activeClass);
    $tabTitObj.eq(index).addClass(activeClass);
    $tabContObj.eq(index).addClass(activeClass);
}
(function askAndQuestion() {
    //获取点击按钮和内容
    var $zc_tabBtn = $(".zc-askAnswer-cont").find(".zc-d-t");
    var $zc_tab = $(".zc-askAnswer-cont").find(".zc-askAnswer-tab");
    $zc_tabBtn.unbind('click').bind('click',function (event) {
        event.stopPropagation();
        var index = $(this).index();
        if (index == 2) {
            index = 1;
            isShowLogon(function () {
                getLoginUser(2);
                loadQa(2, 1);
                changeAskQuestionTab($zc_tabBtn, $zc_tab, index, "active");
            });
        } else {
            loadQa(index, 1);
            changeAskQuestionTab($zc_tabBtn, $zc_tab, index, "active");
        }
    });
})();

//提交按钮验证
function checkTextareaVal(obj) {
    var str = $.trim($(obj).val());
    var qaTextareaLength = $("#qaMoreWord").text();
    if (str == ''|| qaTextareaLength == 200) {
        alert("请输入您对项目的问题~~");
        return false;
    }
    if (str.length > 200) {
        alert("输入字符不能超过200字！请重新输入！");
        return false;
    }
    return true;
}
/**
 * input框placeHolder效果
 */
function placeHolder($obj, holderClassName) {
    if ('placeholder' in document.createElement('input')) return;
    $obj.each(function (index, ele) {
        var holderTxt = $(this).attr("placeholder");
        if (!holderTxt) return;
        $(this).val(holderTxt)
        $(this).focus(function () {
            if ($.trim($(this).val()) == $.trim(holderTxt)) {
                $(this).val("");
                holderClassName && $(this).removeClass(holderClassName)
            }
        })
        $(this).blur(function () {
            if (!$.trim($(this).val())) {
                $(this).val(holderTxt);
                holderClassName && $(this).addClass(holderClassName)
            }
        })
    })
}
placeHolder($("textarea"), "zc-s-t-focus");
function checkPhoneNumber(number) {
    var isMobile = /^(130|131|132|133|145|134|135|136|137|138|139|147|150|151|152|153|155|156|157|158|159|170|176|177|178|180|181|182|183|184|185|186|187|188|189)([\*]{4}[0-9]{4}|[0-9]{8})$/;
    if (number != '' && !isMobile.test(number)) {
        alert("请输入正确的电话号码");
        return false;
    }
    return true;
}
$("input[node-type='submitBtn']").click(function () {
    var obj = $("#qaTextarea");
    var number = $(".phoneNumber").val();
    isShowLogon(function () {
        getLoginUser(2);
        if (checkTextareaVal(obj)) {
            if (checkPhoneNumber(number)) {
                var productName = $('#projectName').val();
                var phone = $('.phoneNumber').val();
                var questionContent = $('#qaTextarea').val();
                var niming = 1;
                if ($('#niming').attr('checked')) {
                    niming = 2;
                }
                var projectId = $("#projectId").val();
//                var prefix = "https:" == document.location.protocol ? "https://" : "http://";
//                var url = prefix + window.location.host + '/funding/qa/saveQaQuestion.action';
                var url = '//'+window.location.host+'/funding/qa/saveQaQuestion.action';
                $.ajax({
                    url: url,
                    type:'post',
                    data: {"key": "1000", "productId": projectId, "questionContent": questionContent, "mobilePhone": phone, "isAnonymous": niming, "productName": productName, "catalogKey": "cf001"},
                    dataType: 'json',
                    timeout: 5000,
                    charset: 'utf-8',
                    success: function (data) {
                        if (data != null && data.isSuccess != undefined && data.isSuccess) {
                            if (data.code == '000000') {
                                askAndAnswerSuccess(2);
                            } else {
                                alert(data.info);
                            }
                            $('#qaForm')[0].reset();
                            $(".phoneNumber").val($('#qaForm').attr('m'));
                            $('#qaMoreWord').html(200);
                        } else if (data != null && data.code != undefined) {
                            if (data.code == '900001') {
                                alert(data.info);
                                $('#qaForm')[0].reset();
                                $(".phoneNumber").val($('#qaForm').attr('m'));
                                $('#qaMoreWord').html(200);
                            }
                        } else {
                        	if(data != null && data.info != "" && data.info != null && data.info != undefined){
                        		alert(data.info);
                        	}else{
                        		alert('系统繁忙,请稍后再试');
                        	}
                        }
                    },
                    error: function () {
                        alert('网络错误');
                    }
                });
            }
        }
    });
});
//问题信息是否超过100个字符,具体字符后台可调整
$("[node-type='more']").live("click", function () {
    $(this).parent().parent().find("span").eq(1).css("display", "inline");
    $(this).parent().append("<a href='javascript:;' node-type='less' class='less'>收起</a>");
    $(this).remove();
});
$("[node-type='less']").live("click", function () {
    $(this).parent().find("span").eq(1).css("display", "none");
    $(this).parent().append("<a href='javascript:;' node-type='more' class='more'>更多</a>");
    $(this).remove();
});
//提问成功
function askAndAnswerSuccess(flag) {
    var top = $(".zc-askAnswer-cont").offset().top;
    $("html,body").animate({
        scrollTop: top
    }, 1000, function () {
        if (flag == 1) {
            $(".zc-askAnswer-tit").find(".zc-d-t").eq(0).trigger('click');
        } else if (flag == 2) {
            $(".zc-askAnswer-tit").find(".zc-d-t").eq(1).trigger('click');
        }
    });
}
//我要提问
(function myAsk() {
    $(".zc-d-ask").click(function (event) {
        var offsetTop = parseInt($(".zc-submit-question").offset().top);
        var h = $(".zc-submit-question").height();
        var oh = offsetTop - 100;
        $("html,body").animate({
            scrollTop: oh
        }, 1000, function () {
            $(".zc-sub-textArea").focus();
        });
    });
})();

/*****************************************/
var yunSmaImageUrl = $('#yunSmaImageUrl').val();
//var projectId = $("#projectId").val();

//社区知道
function getQaCount() {
	var projectId = $("#projectId").val();
    var url = '//sq.jr.jd.com/qa_supporter_getQuestionCount?key=1000&catalogKey=cf001&productId=' + projectId + "&callback=?";
    $.ajax({
        url: url,
        async: true,
        dataType: 'jsonp',
        timeout: 3000,
        success: function (data) {
            if (data['result'] != null && data['result'].isSuccess && data['count'] != undefined && data['count'] > 0) {
                //$('#qaBtn').find('span').html(data['count']);
            }
        },
        error: function () {
            //$('#qaBtn').find('span').html("0");
        }
    });
}

function initProgress() {
	var projectId = $("#projectId").val();
    var url = "//"+window.location.host+'/qa/getProgress.action?pid=' + projectId + '&sid=' + Math.random();
    $.ajax({
        url: url,
        type: 'get',
        async: false,
        dataType: 'html',
        charset: 'utf-8',
        timeout: 3000,
        success: function (data) {
            $('#qaProgress').html(data);
            myAsk();
            checkMoreDevelopment();
            showAndHideDevelopment();
            alertPicBox($(".alertPic"));
        },
        error: function () {

        }
    });
}
/**
 *
 * @param type  1:项目答疑2：我的疑问
 * @param pageNo
 */
function loadQa(type, pageNo) {
	var projectId = $("#projectId").val();
    if (pageNo == null || pageNo == '' || pageNo <= 1) {
        pageNo = 1;
    }
    var url = "//sq.jr.jd.com/qa_supporter_getQuestionPages?key=1000&catalogKey=cf001&productId=" + projectId + "&pageNo=" + pageNo + "&pageSize=10&callback=?";
    if (type == 2) {
        url = "//sq.jr.jd.com/cm_focus/qa_supporter_getMyQuestionsPages?key=1000&catalogKey=cf001&productId=" + projectId + "&pageNo=" + pageNo + "&pageSize=10&callback=?";
    }
    $.ajax({
        url: url,
        dataType: 'jsonp',
        timeout: 3000,
        success: function (data) {
            qaHtml(type, data);

        },
        error: function () {
            alert('网络超时');
        }

    });
}

function qaHtml(type, data) {
    var html = '';
    var result = data['result'];
    var questionPages = data['questionPages'];
    if (result != null && result.isSuccess && questionPages != null && questionPages != undefined) {
        var list = questionPages.list;
        if (list != null && list != undefined && list.length > 0) {
            hideDef(type);
            for (var i = 0; i < list.length; i++) {
                var question = list[i];
                var answers = question.answers;
                html += "<div class='zc-ask' id='"+question.id+"'>" +
                    "<div class='zc-a-people'><img width='50' height='50' src='" + question.yunSmaImageUrl +
                    "'/><em class='zc-a-picPrem'></em><p class='zc-a-p-name'>" + question.nicknameShow +
                    "</p></div><div class='zc-a-infos'><div class='zc-a-info'>" +progressText(question.questionContent, 100, question.createTime, null, 'left');
                html += "</div></div></div>";
                if (answers != null && answers != undefined && answers.length > 0) {
                    for (var j = 0; j < answers.length; j++) {
                        var answer = answers[j];
                        html += "<div class='zc-answer'> <div class='zc-a-people'> <img width='50' height='50'src='" + answer.yunSmaImageUrl + "'/><em class='zc-a-picPrem'></em>" +
                            "<p class='zc-a-p-name'>" + answer.nicknameShow + "</p></div><div class='zc-a-infos'><div class='zc-a-info'>";
                        if (j != answers.length - 1) {
                            html += progressText(answer.answerContent, 100, answer.createTime, 1, 'right');
                        } else {
                            html += progressText(answer.answerContent, 100, answer.createTime, 0, 'right');
                        }
                        html += "</div></div></div>";
                    }
                }
            }

        } else {
            showDef(type);
        }
        if (type == 2) {
            $('#myQaBox').html(html);
        } else {
            $("#qaBox").html(html);
        }
        qaPagination(type, questionPages);
        if(type==2 && $('#myQuestion').val()!=''){
             jumpToQa();
        }
    }

}
function showDef(type) {
    if (type == 2) {
        $('#myQaBox').hide();
        $('#myNoAsk').show();
    } else {
        $('#qaBox').hide();
        $('#noAsk').show();
    }
}
function hideDef(type) {
    if (type == 2) {
        $('#myQaBox').show();
        $('#myNoAsk').hide();
    } else {
        $('#qaBox').show();
        $('#noAsk').hide();
    }
}

//文本展开收起
function progressText(text, len, date, flag, icon) {
    var html = "";
    text = $.trim(text);
    if (text && text.length <= len) {
        if (flag == 1) {
            html += "<span>[追加回复]" + emoji.change(text) + "</span>";
        } else {
            html += "<span>" + emoji.change(text) + "</span>";
        }
    } else if (text && text.length > len) {
        var s1 = text.substring(0, len);
        var last = s1.lastIndexOf("[");
        var tempText = s1.substring(s1.length-3,s1.length);
        var s2 = text.substring(len, text.length);
        if(tempText && tempText.indexOf("[")!=-1){
            s1 = text.substring(0,last);
            s2 = text.substring(last,text.length);
        }
        s1=emoji.change(s1);
        s2=emoji.change(s2);
        if (flag == 1) {
            html += "<span>[追加回复]" +s1+ "</span>" + "<span style='display:none'>" + s2 + "</span>";
        } else {
            html += "<span>" + s1 + "</span>" + "<span style='display:none'>" + s2 + "</span>";
        }
    }

    html += "<s class='zc-a-arrow-" + icon + "'></s><s class='zc-c-deg zc-circle-lt'></s><s class='zc-c-deg zc-circle-rt'></s><s class='zc-c-deg zc-circle-lb'></s><s class='zc-c-deg zc-circle-rb'></s>";
    html += "<div class='zc-a-time zc-a-left'>" + formatDate(date) + "</div>";

    if (text && text.length > len) {
        html += "<a class=\"more\" node-type=\"more\" href=\"javascript:;\">更多</a>";
    }
    return html;
}


function qaPagination(type, questionPages) {
    if (questionPages.pageCount > 1) {
        var id = 'qaPages';
        if (type == 2) {
            id = 'myQaPages';
        }
        $("#" + id).pagination(questionPages.pageCount,
            {
                current_page: questionPages.page - 1,
                num_edge_entries: 3,
                num_display_entries: 3,
                items_per_page: 1,
                link_to: "javascript:;",
                ellipse_text: "...",
                prev_text: "上一页",
                next_text: "下一页",
                prev_show_always: true,
                next_show_always: true,
                callback: function (page) {//在翻页时候用的
                    var t = $('.zc-askAnswer-tit').offset().top;
                    $("html,body").animate({
                        scrollTop: t
                    }, 1000);
                    loadQa(type, page + 1);
                }

            });
    }
}

function formatDate(date) {
    if (date == null || date == '') {
        return;
    }
    if (date.indexOf("-") != -1) {
        var da = date.split("-");
        da[0] = da[0] + '年';
        da[1] = da[1] + '月'
        var da2 = da[2].split(" ");
        da2[0] = da2[0] + '日';
        return da[0] + da[1] + da2[0] + " " + da2[1];
    }
}

/*
 登录回调
 */
function isShowLogon(callback) {
    var name = $("#user_pin").val();
    if (name == null || name == "" || name == undefined) {
        JrTools.alertLogInBox(function () { //弹出登录
            callback();
        });
    } else {
        callback();
    }
}



function getLoginUser(num) {
    if ($("#user_pin").val() == "" || $("#user_pin").val() == undefined || $("#user_pin").val() == null || num==1) {
        jQuery.ajax({
            url: "/get_loginuser.action?temp="+Math.random(),
            dataType: "text",
            scriptCharset: "utf-8",
            success: function (msg) {
                $("#user_pin").val(msg);
                isLogin();
                showMobile();
            }, error: function (e) {
                $("#user_pin").val("");
            }
        });
    }
}
//登录
function doLogin() {
    $('.qa_login').click(function () {
        isShowLogon(function () {
            getLoginUser(null);
        });
    });
}
/**
 * 是否登录
 */
function isLogin() {
    if ($("#user_pin").val() == "" || $("#user_pin").val() == undefined || $("#user_pin").val() == null) {
        $('.zc-sqo-login').show();
        $('.zc-sqo-submit').hide();
        $("#unlogin").css("display","block");
        $("#login").css("display","none");
        return false;
    } else {
        $('.zc-sqo-login').hide();
        $('.zc-sqo-submit').show();
        $("#unlogin").css("display","none");
        $("#login").css("display","block");
        return true;
    }
}

function showMobile() {
    var phoneSelect = '.phoneNumber';
//    var prefix = "https:" == document.location.protocol ? "https://" : "http://";
//    var url = prefix + window.location.host + "/funding/qa/getLoginUserInfo.action?temp="+Math.random();
    var url = "//"+window.location.host+"/funding/qa/getLoginUserInfo.action?temp="+Math.random();
    if (isLogin()) {
        $.ajax({
            url: url,
            type: 'get',
            data: {"sid": Math.random()},
            timeout: 3000,
            success: function (data) {
                if (data != null && data != '' && data != undefined && data.data != undefined) {
                    $(phoneSelect).val(data.data);
                    $('#qaForm').attr('m', data.data);
                }

            },
            error: function () {
                $(phoneSelect).val('');
            }
        });
    } else {
        $(phoneSelect).val('');
    }
}
/**
 * 还可以输入的字数
 */
function showRemainNum() {
    var questionStr = $('.zc-submitTextarea').val();
    var len = 0;
    if (questionStr.length > 200) {
        $('#qaTextarea').val(questionStr.substring(0, 200));
        len = 0;
    } else {
        len = 200 - questionStr.length;
    }
    var value = $('#qaTextarea').val();
    var placeHolder = $('#qaTextarea').attr('placeHolder');
    if (value == placeHolder){
        len = 200;
    }
    $('#qaMoreWord').html(len);
}
function remainNumEvent() {
    $('.zc-submitTextarea').bind('keyup', function () {
        showRemainNum();
    });
    $('.zc-submitTextarea').bind('blur', function () {
        showRemainNum();
    });
}
remainNumEvent();
/*******************************************************************************************************/
//从私信跳转到当前页面
function getMyquestion(url){
	var projectId = $("#projectId").val();
    var url = url;
    function GetRequest(url) {
        var url =url;//"http://z.jd.com/project_details.action?projectId=1100&myquestion=27862111";获取url中"?"符后的字串
        var theRequest = new Object();
        if (url.indexOf("?") != -1) {
            var str = url.substr(1);
            strs = str.split("&");
            for (var i = 0; i < strs.length; i++) {
                theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
            }
        }
        return theRequest;
    }
    var Request = new Object();
    Request = GetRequest(url);
    var myquestion = Request['myquestion'];
    return myquestion;
}
//要触发的点击
function triggerClick() {
    var $tag = $("#detailNav").find("li");
    var $cont = $(".tab_cont");
    changeTag($tag, $cont, "bg_write", "click", function(index) {
        if (index != 0) {
            $("#progress").hide();
            $("#follower").hide();
        } else {
            $("#progress").show();
            $("#follower").show();
        }
    });
}

function scrollTo_myQa() {
    triggerClick();
    $("#qaBtn").trigger("click");
    if($("#_myQuestion")[0]){
            var t =parseInt($("#_myQuestion").offset().top-60);
            $("html,body").animate({
                scrollTop: t
            }, 2000,function(){
                $(".zc-askAnswer-tit").find(".zc-d-t").eq(1).trigger('click');
            });
    }
}

function jumpToQa(){
   var myQuestion = $("#myQuestion").val();
   if(myQuestion!=null && myQuestion!=''){
       if($("#"+myQuestion)[0]){
           var t =parseInt($("#"+myQuestion).offset().top);
           $("html,body").animate({
               scrollTop: t
           }, 1000);
       }

   }
}
