﻿/*
* jQuery alertpopads plugin
*/

(function($) {
    $.fn.addFalsity = function(settings) {
        //设定参数
        settings = jQuery.extend({
            _sourceRID: 'b26b0863-7120-406b-8360-ba39cc32acd1',  //收藏的资源RID
            _sourceType: 1,  //收藏的资源类型
            _memberEmail: ''
        }, settings);

        var jQueryMatchedObj = this; //使用组件的对象

        //初始化操作
        function _initialize() {
            _clearOld();
            _start();
            return false; // 防止打开链接
        }

        function _clearOld() {
            if ($('#popSubmitWindow').length > 0)
                $('#popSubmitWindow').remove();
        }

        function _start() {
            _buildArea();
            _setStylePoint();
            _boundEvent();
        }

        function _buildArea() {
            var popHtml = "";
            popHtml += '<div id="popSubmitWindow" style="width:400px;border:1px solid #708E2F;background-color:#ffffff;display:none; ">';
            popHtml += '<h1 style="color:#fff;padding:3px;font-size:12px;font-weight:bold;margin:0;background:#708E2F url(/images/bg_footer.gif) repeat-x top left;">请填写举报该信息的原因！<a href="javascript:void(0);" id="MsgAreaClose" style="display:inline-block;width:8px;height:8px;background:url(/images/my/tag_del.gif) no-repeat left -8px;position:absolute;padding:0px;right:10px;top:7px;overflow:hidden;"></a></h1>';
            popHtml += '<table id="inputfavinfo" width="100%"><tr>';
            popHtml += '<td style="padding:8px 0 5px 5px;font-size:12px;width:60px;color:#666;vertical-align:top;"><label style="display:block;text-align:right;">您的Email:</label></td>';
            popHtml += '<td style="padding:5px;font-size:12px;">';
            popHtml += '<input style="width:250px;border:1px solid #999;padding:2px;height:19px;line-height:19px;" type="text" value="" id="inputemailaccount" />';
            popHtml += '</td></tr><tr>';
            popHtml += '<td style="padding:8px 0 5px 5px;;font-size:12px;width:60px;color:#666;vertical-align:top;"><label style="display:block;text-align:right;">举报原因:</label></td>';
            popHtml += '<td style="padding:5px;font-size:12px;"><textarea style="border:1px solid #999;padding:2px;width:250px;" rows="3" name="" id="inputmsgcontent"></textarea><span style="display:block; margin:4px 0px 0px; color:#FF6600;">您的Email和举报原因都为必填信息！</span></td>';
            popHtml += '</tr><tr>';
            popHtml += '<td colspan="2" style="padding:5px;font-size:12px;text-align:center;"><input style="cursor:pointer; width:60px;margin:0 10px; background:url(/images/my/btn_bg.png) repeat-x top left; border:1px solid #B3B3B3; padding:3px" type="button" value="确认" id="btnSaveMsg" /><input id="btnMsgAreaClose" style="margin:0 10px;background:url(/images/my/btn_bg.png) repeat-x top left; border:1px solid #B3B3B3;cursor:pointer; padding:3px" type="button" value="取消" /></td>';
            popHtml += '</tr></table></div>';
            $('body').append(popHtml);

            if (settings._memberEmail.length != 0) {
                $('#inputemailaccount').val(settings._memberEmail);
                $('#inputemailaccount').attr("disabled", true);
            }
        }

        //设置初始化位置
        function _setStylePoint() {
            $showarea = $('#popSubmitWindow');
            var awidth = $showarea.width();
            var aheight = $showarea.height();
            var eventObjX = _getPageX(jQueryMatchedObj[0])
            var eventObjY = _getPageY(jQueryMatchedObj[0])

            var de = document.documentElement;
            var w = window.innerWidth || self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
            var h = window.innerHeight || self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
            var scollX = de.scrollLeft;
            var scollY = de.scrollTop;

            var areaTop = 0;
            var areaLeft = 0;
            if ((w - awidth) > 0) areaLeft = (w - awidth) / 2;
            if ((h - aheight) > 0) areaTop = (h - aheight) / 2;

            areaLeft = areaLeft + scollX;
            areaTop = areaTop + scollY;

            //if (h - (eventObjY - scollY) < aheight && (eventObjY - scollY) > aheight) { areaTop = eventObjY - aheight; }
            //else { areaTop = eventObjY + 20; }

            //if (w - (eventObjX - scollX) < awidth && (eventObjX - scollX) > awidth) { areaLeft = eventObjX - awidth + $(jQueryMatchedObj).width(); }
            //else { areaLeft = eventObjX; }

            $showarea.css({ position: 'absolute', left: areaLeft + "px", top: areaTop + "px" });
            $showarea.show();
        }

        //保存收藏
        function _savefav() {

            var emailaccount = _jsonReplaceKeyWord($('#inputemailaccount').val());
            var msgcontent = _jsonReplaceKeyWord($('#inputmsgcontent').val());

            if (emailaccount.length == 0) { alert("必须输入您的Email！"); return; }
            if (msgcontent.length == 0) { alert("必须输入举报原因！"); return; }

            var msg = '<img src="/Images/loading.gif" tag="loading..." />正在提交提交您的举报信息...';
            _errorMessage(msg, 2);
            $.ajax({
                url: '/WService/DataSubmit.asmx/AddMessageFalsity',
                type: 'POST',
                contentType: "application/json",
                data: "{AccountEmail:'" + emailaccount + "', IMAccount:'', MessageContent:'" + msgcontent + "', ResourceRID:'" + settings._sourceRID + "', ResourceType:'" + settings._sourceType + "'}",
                dataType: 'json',
                success: function(result) {
                    if (result.d.length != 0) {
                        var msg = result.d;
                        _errorMessage(msg, 1);
                        return false;
                    }

                    var msg = "信息举报成功！";
                    _errorMessage(msg, 0);
                },
                error: function(data) {
                    var msg = "信息举报失败，请返回重试！";
                    _errorMessage(msg, 1);
                }
            });
        }

        function _errorMessage(msg, type) {
            $showarea = $('#popSubmitWindow');
            $('#inputfavinfo').remove();
            var errorHtml = '';

            errorHtml += '<table id="inputfavinfo" width="100%"><tr><td style="padding:5px;font-size:12px;text-align:center;" height="80px">';
            errorHtml += '<span style="color:#FF6600; font-size:14px;letter-spacing:2px;"><strong>' + msg + '</strong></span>';
            errorHtml += '</td></tr><tr><td style="padding:5px;font-size:12px;text-align:center;"> ';
            if (type == 1) {
                errorHtml += '<input style="cursor:pointer;margin:0 10px; background:url(/images/my/btn_bg.png) repeat-x top left; border:1px solid #B3B3B3; padding:3px" type="button" value="返回" id="btnResetAddFav" />';
                errorHtml += '<input style="cursor:pointer;margin:0 10px; background:url(/images/my/btn_bg.png) repeat-x top left; border:1px solid #B3B3B3; padding:3px" type="button" value="取消" onclick="$(\'#popSubmitWindow\').remove();" />';
            }
            else if (type == 0) {
                errorHtml += '<span id="waitSecondText" style="margin:0 3px;">10</span>秒钟后自动关闭...<br /><br />';
                errorHtml += '<input style="cursor:pointer;margin:0 10px; background:url(/images/my/btn_bg.png) repeat-x top left; border:1px solid #B3B3B3; padding:3px" type="button" value="立刻关闭" onclick="$(\'#popSubmitWindow\').remove();" />';
                waitSecond = 10;
                _closeCutDown();
            }
            errorHtml += '</td></tr></table>';
            $showarea.append(errorHtml);
            if (type == 1) $('#btnResetAddFav').click(_initialize);
        }

        function _closeCutDown() {
            if (waitSecond > 0) {
                $('#waitSecondText').text(waitSecond);
                waitSecond--;
                window.setTimeout(_closeCutDown, 1000);
                return;
            }
            _closePop();
        }

        //事件绑定
        function _boundEvent() {
            $('#MsgAreaClose').click(_closePop);
            $('#btnMsgAreaClose').click(_closePop);
            $('#btnSaveMsg').click(_savefav);
        }

        //关闭提示
        function _closePop() {
            $('#popSubmitWindow').remove();
        }

        //获取元素相对于这个页面的X坐标。
        function _getPageX(elem) {
            return elem.offsetParent ? (elem.offsetLeft + _getPageX(elem.offsetParent)) : elem.offsetLeft;
        }

        //获取元素相对于这个页面的Y坐标。
        function _getPageY(elem) {
            return elem.offsetParent ? (elem.offsetTop + _getPageY(elem.offsetParent)) : elem.offsetTop;
        }

        function _jsonReplaceKeyWord(textVal) {
            textVal = textVal.replace(/(^\s*)|(\s*$)/g, "");
            textVal = textVal.replace(/\\/g, "\\\\");
            textVal = textVal.replace(/\'/g, "\\'");
            textVal = textVal.replace(/\"/g, "\\\"");
            return textVal;
        }

        settings._sourceRID = _sourceRID;
        settings._sourceType = _sourceType;
        settings._memberEmail = loginUserEmail;
        _initialize();
    };
})(jQuery);