﻿var microblog = {};

//发表语录
microblog.Add = function (content, onComplete, photoid, photo, video, isindex) {
    if ($('mrb_upload_pic_span_ing').style.display == '') {
        return;
    }
    if ($("microblogcontent").value != $("microblogcontent").watermark && !$("microblogcontent").value.match(/^[\s　]*$/i) && !IsSensitive(content)) {
        new $Ajax.Request('/Ajax/Microblog/AddMicroblog.aspx', {
            method: 'post',
            parameters: { content: content, pid: photoid, video: video, photo: photo },
            onComplete: function (transport) {
                if (transport.responseText == 'ok') {
                    if (typeof onComplete == 'undefined' || !onComplete) {
                        microblog.ReloadList();
                    }
                    else {
                        onComplete(transport);
                    }
                }
                else {
                    alert(transport.responseText);
                }
            }
        });
    } else {
        if ($('mcrbtip') && ($("microblogcontent").value == $("microblogcontent").watermark || $("microblogcontent").value.match(/^[\s　]*$/i))) {
            $('mcrbtip').show();
            if ($('mcrbtip').timer) {
                clearTimeout($('mcrbtip').timer);
            }
            $('mcrbtip').timer = setTimeout(function () { $('mcrbtip').hide(); }, 3000);
        }
        $("microblogcontent").value = content;
    }
};

// 显示 删除语录 提示层
microblog.ShowDelete = function(microid) {
    $modal('', '');
    $T.UI.ModalPopup.DOM.id = 'popWin';
    $T.UI.ModalPopup.DOM.microid = microid;  
    $T.UI.ModalPopup.DOM.innerHTML = $('popWin_DeleteMicroblog').innerHTML;

    Reposition();
}

microblog.Delete = function(onComplate) {
    var pageIndex = document.pageIndex ? document.pageIndex : (window.pageIndex ? window.pageIndex : 1);
    new $Ajax.Request('/Ajax/Microblog/DeleteMicroblog.aspx', {
        method: 'post',
        parameters: { microid: $T.UI.ModalPopup.DOM.microid },
        onComplete: function(transport) {
            if (transport.responseText == 'ok') {
                if (onComplate) onComplate();
                else microblog.ReloadList(pageIndex);
            }
        }
    });
    $modal.close();
};

microblog.ReloadList = function(pageIndex) {
    if (typeof pageIndex == 'undefined' || !pageIndex)
        pageIndex = 1;

    new $Ajax.Request(location.href.replace(location.hash, ''), {
        method: 'post',
        parameters: 'ajax=' + Math.random(),
        onComplete: function(transport) {
            $('appcontainer').update(transport.responseText);
            microblog.CompileAllEmotions();
            BindWaterMark('microblogcontent', '有什么好玩的事告诉大家......');
            BindContentBox('microblogcontent', function() { microblog.Add($('microblogcontent').value); });
            BindClose('appcontainer');
            loadVideo();
        }
    });
};

microblog.UpdateIndex = function(content, photoid, photo, video) {
    microblog.Add(content, function(t) {
        new $Ajax.Request('/Ajax/Microblog/MicroblogModule.aspx', {
            method: 'post',
            onComplete: function(transport) {
                $('indexmicrob').update(transport.responseText);
                microblog.CompileAllEmotions();
                BindWaterMark('microblogcontent', '你在做什么……');
                BindContentBox('microblogcontent', function() { microblog.UpdateIndex($('microblogcontent').value); });
            }
        });
    },
    photoid,
    photo,
    video
    );
};
microblog.UpdateIndexOfDefault = function(content, photoid, photo, video) {
    microblog.Add(content, function(t) {
        new $Ajax.Request('/Ajax/Microblog/MicroblogModuleOfDefault.aspx', {
            method: 'post',
            onComplete: function(transport) {
                $('indexmicrob').update(transport.responseText);
                microblog.CompileAllEmotions();
                BindWaterMark('microblogcontent', '有什么想玩的事告诉大家……');
                BindContentBox('microblogcontent', function() { microblog.UpdateIndexOfDefault($('microblogcontent').value); });
            }
        });
    },
    photoid,
    photo,
    video
    );
};
microblog.GetContentLength = function(content) {
    var div = document.createElement('div');
    div.innerHTML = content;
    var literal = div.innerText || div.textContent;
    return literal.length + $(div).select('img').length;
};

microblog.CompileEmotion = function(key) {
    return microblog._emotions[key] || key;
};

microblog.CompileAllEmotions = function() {
    $$('img[emotion]').each(function(s) {
        s.src = microblog.CompileEmotion(s.attributes['emotion'].value);
    });
};

//插入表情

microblog.InsertEmotion = function(tb, emotion) {
    tb = $(tb);
    if (tb) {
        if (tb.value == tb.watermark) {
            tb.style.color = '#333';
            tb.value = '';
        }
        tb.focus();
        emotion = ['[', emotion, ']'].join('');
        if (document.selection) {
            var sel = document.selection.createRange();
            sel.text = emotion;
            tb.focus();
            document.selection.empty();
        } else if (typeof tb.selectionStart == 'number' && typeof tb.selectionEnd == 'number') {
            var startPos = tb.selectionStart,
			endPos = tb.selectionEnd,
			cursorPos = startPos,
			tmpStr = tb.value;
            tb.value = tmpStr.substring(0, startPos) + emotion + tmpStr.substring(endPos, tmpStr.length);
            cursorPos += emotion.length;
            tb.selectionStart = tb.selectionEnd = cursorPos;
        } else {
            tb.value += emotion;
        }
    }
};

//弹出表情，视频的层
microblog.ShowPop = function(layerId, trigger) {
    $(layerId).show();
    document.stopObserving('click');
    document.observe('click', function(event) {
        if (!event.element().descendantOf(layerId) && event.element() != layerId && event.element() != $(trigger)) {
            $(layerId).hide();
            document.stopObserving('click');    
        }
    });
};

//上传语录图片
microblog.UploadPhoto = function() {
    var mrb_upload_pic_span_ing = $('mrb_upload_pic_span_ing');
    mrb_upload_pic_span_ing.show();
    $('mrb_upload_pic_span').hide();
    if ($('up').value.length > 0) {
        $('uploadPhotoForm').submit(); 
    }
};

//上传语录图片成功后
microblog.UploadPhotoSuccess = function(url, filename, pid) {
    if (pid > 0) {
        $('mrb_uploaded').show();
        $('mrb_upload_pic_span_ing').hide();
        $$('#mrb_uploaded a').each(
            function(s) {
                s.href = url;
                s.innerText = filename;
                s.textContent = filename;
                throw $break;
            });
        $('hd_pid').value = pid;
    }
    else {
        if ($('mcrbphototip')) {
            $('mcrbphototip').show();
            if ($('mcrbphototip').timer) {
                clearTimeout($('mcrbphototip').timer);
            }
            $('mcrbphototip').timer = setTimeout(function() { $('mcrbphototip').hide(); }, 3000);
        }
        $('mrb_uploaded').hide();
        $('mrb_upload_pic_span_ing').hide();
        $('mrb_upload_pic_span').show();
    }
    var n = $('uploadPhotoForm').innerHTML;
    $('up').remove();
    $('uploadPhotoForm').update(n);

};

microblog.UploadPhotoFail = function() {

};

//删除上传的语录图片
microblog.DeletePhoto = function() {
    $('mrb_uploaded').hide();
    $('mrb_upload_pic_span_ing').hide();
    $('mrb_upload_pic_span').show();
    $('up').value = '';
};

//指定语录的视频
microblog.SetVideo = function() {
    $("mrb_video").hide();
    //如果有视频内容，则改变页面样式
    if ($F('mrb_video_url_txt') != '') {
        $('mrb_video_span').hide();
        $('mrb_video_span_ed').show();
        $$('#mrb_video_span_ed a').each(
        function(s) {
            s.href = $F('mrb_video_url_txt');
            s.innerText = '已添加视频';
            s.textContent = '已添加视频'
            throw $break;
        }
    );
    }
};

//删除语录的视频内容
microblog.DeleteVideo = function() {
    $('mrb_video_url_txt').value = '';
    $('mrb_video_span_ed').hide();
    $('mrb_video_span').show();
};

//document.observe('dom:loaded', microblog.CompileAllEmotions);
document.observe('dom:loaded', function(event) {
    if ($('mrb_a_upload')) {
        $('mrb_a_upload').observe('mouseover', function(event) {
            var x = event.pointerX();
            var y = event.pointerY();
        });
        $('up').observe('mouseover', function(event) {
            $('mrb_a_upload').className = 'd2';
        });
        $('up').observe('mouseleave', function(event) {
            $('mrb_a_upload').className = 'd1';
        });
    }
});
