var Famous = {
    apply: function() {
        new Ajax.Request('famous.pl?mode=can_apply', {
            method: 'post',
            onSuccess: function(transporter) {
                var result = transporter.responseJSON;
                if(result.result == 0 || result.result == 3){
                    var msg = "达人尚未开始申请";
                    if(result.status == 0)
                        msg = '您的达人申请正在审核中!';
                    if(result.status == 2)
                        msg = '对不起,请在24小时后继续申请!';
                    if(result.status == 3)
                        msg = '对不起,请在72小时后继续申请!';
                    MixiEffect.showWarning({
                        warnings: {
                            messages: {
                                error: msg
                            }
                        }
                    })

                }
                if(result.result == 1){
                    Famous.showApplyPanel(result.nick, result.field);
                }
                if(result.result == 4){
                    Famous.finish_profile();
                }
                if(result.result == 5){
                    MixiEffect.showConfirm({
                        message: '需要登陆后才能申请，是否马上登陆?',
                        onOk: function() {
                            window.open("login.pl", '_self');
                        }
                    });
                }
            },
            onFailure: function(transporter) {
            },
            onException: function(transporter, exception) {
                //alert(exception);
            }
        });
    },
    modify: function() {
        new Ajax.Request('famous.pl?mode=can_modify', {
            method: 'post',
            onSuccess: function(transporter) {
                var result = transporter.responseJSON;
                if(result.result == 0){
                    var msg = "您本期您的心情已经提交！";
                    MixiEffect.showWarning({
                        warnings: {
                            messages: {
                                error: msg
                            }
                        }
                    })
                }
                if(result.result == 1){
                    Famous.showModifyPanel();
                }
            },
            onFailure: function(transporter) {
            },
            onException: function(transporter, exception) {
                //alert(exception);
            }
        });
    },
    apply_background: function(member_id) {
        new Ajax.Request('/cms/apply.pl?mode=can_apply&member_id=' + member_id, {
            method: 'post',
            onSuccess: function(transporter) {
                var result = transporter.responseJSON;
                if(result.result == 0){
                    var msg;
                    if(result.status == 0)
                        msg = '达人正在审核中!';
                    if(result.status == 1)
                        msg = '已经是达人了';
                    MixiEffect.showWarning({
                        warnings: {
                            messages: {
                                error: msg
                            }
                        }
                    })

                }
                if(result.result == 1){
                    Famous.showApplyPanel(result.nick, result.field, member_id);
                }
                
            },
            onFailure: function(transporter) {
            },
            onException: function(transporter, exception) {
                //alert(exception);
            }
        });
    },
    showApplyPanel: function(nickname, field_list, member_id) {
        var divEle = $('apply_panel');
        if(!divEle) {
            var divEle = new Element('div', {
                id: 'apply_panel'
            }).setStyle({
                width: '320px'
            }).addClassName('pop');
            var form_action = member_id ? '/cms/apply.pl?mode=finish' : '/famous.pl?mode=finish';
            var member_input = member_id ? '<input type="hidden" id="member_id" name="member_id" value="' + member_id + '">' : '';
            var html =
            '<p class="pop_prompt"><strong>达人申请</strong><a href="javascript:void(MixiEffect.hide(\'apply_panel\'))">关闭</a></p>' +
            '<form action="' + 
                form_action +
                '" method="POST" id="ajax_apply">' +
                '<div class="pop_content">' +
                        '<h2 title="">申请达人</h2>' +
                        '<p><span class="hl" style="float:right;">状态:已完善</span><span>' +
                            nickname + '的个人信息</span>' +
                        '</p>' +
                        '<p style="padding:5px 0;">' +
                            '选择达人&nbsp;' +
                            '<select name="field_id" id="field" onChange="Famous.defaultBody()">';
            for(var i=0 ; i<field_list.length; i++){
                html += '<option value=' + field_list[i].id + '>' + field_list[i].name + '</option>';
            }
            for(var i=0 ; i<field_list.length; i++){
                html += '<input type="hidden" id="field_' + field_list[i].id + '" value="' + field_list[i].default_body + '">';
            }
            html +=
                            '</select>' +
                        '</p>' +
                        '<label for="body">' +
                            '<span class="hl">达人心情</span>' +
                        '</label>' +
                        '<textarea name="body" id="body" cols="35" rows="2">' + (field_list[0].default_body || '') + '</textarea>' +
                        '<div id="ajax_apply_error" style="display: none; color: red">申请失败</div>' +
                        '<div id="apply_req" style="display: none; color: red">请求中...</div>' +
                        '<p style="padding:5px 0;"><input type="checkbox" value="1" name="mood"  checked />引用到今日心情</p>' +
                        '<p class="pop_btn">' +
                            member_input +
                                '<input type="submit" value="确定">' +
                                '<input type="button" value="取消" onclick="MixiEffect.hide(\'apply_panel\')">' +
                        '</p>' +
                '</div>'+
            '</form>'; 
            divEle.innerHTML = html;
            document.body.appendChild(divEle);

            $('ajax_apply').observe('submit', function(event) {
                Event.stop(event);
                $('ajax_apply_error').hide();
                $('apply_req').show();
                $('ajax_apply').request({
                    onSuccess: function(transporter) {
                        var json = transporter.responseJSON;
                        $('apply_req').hide();
                        if( json.result == 1 ) {
                            MixiEffect.hide('apply_panel');
                            Famous.showFinishPanel(member_id);
                        }
                        else {
                            if(json.msg){
                                $('ajax_apply_error').innerHTML = json.msg;
                            }
                            $('ajax_apply_error').show();
                        }
                    },
                    onFailed: function(transporter) {
                    },
                    onException: function(transporter, exception) {
                    }
                });
            });
        }
        MixiEffect.showOverlap();
        MixiEffect.makeCenter(divEle).show();
    },
    showFinishPanel: function(member_id){
        var finishEle = $('finish_panel');
        if(!finishEle) {
            var finishEle = new Element('div', {
                id: 'finish_panel'
            }).setStyle({
                width: '320px'
            }).addClassName('pop');
            var html =  
                '<p class="pop_prompt"><strong>提示</strong></p>' +
                '<div class="pop_content">' +
                    '<span class="hl">提交成功！工作人员会尽快审核您的申请！</span>' +
                '</div>' +
                '<p class="pop_btn">' + 
                    '<input id="finish_ok" type="button" value="确定">' +
                '</p>';
            finishEle.innerHTML = html;
            document.body.appendChild(finishEle);
        }
        $('finish_ok').observe('click', function() {
            MixiEffect.hide('finish_panel');
        });
        MixiEffect.showOverlap();
        MixiEffect.makeCenter(finishEle).show();
    },
    defaultBody: function() {
        var value = $('field').value;
        $('body').value = $('field_' + value).value;
    },
    finish_profile: function() {
        MixiEffect.showConfirm({
            message: '您的头像还没有上传，是否马上上传?',
            onOk: function() {
                window.open("edit_photo.pl", "_blank");
            }
        })
    },
    support: function(famous_member_id) {
        new Ajax.Request('/ajax_support_famous.pl?famous_member_id=' + famous_member_id, {
            method: 'post',
            onSuccess: function(transporter) {
                var result = transporter.responseJSON;
                var msg;
                if(result.result == 0) {
                    MixiEffect.showConfirm({
                        message: '需要登陆后才能支持，是否马上登陆?',
                        onOk: function() {
                            window.open("login.pl", '_self');
                        }
                    })
                } else {
                    if(result.result == 3) {
                        Famous.showSupportFinishPanel(result.nickname);
                    } else {
                        if(result.result == 1)
                            msg = '您所支持的不是达人或被取消资格';
                        if(result.result == 2)
                            msg = '达人活动支持不在进行中';
                        if(result.result == 3)
                            msg = '支持成功！' + result.nickname + '非常感谢您对TA的支持！';
                        if(result.result == 4)
                            msg = '抱歉，您今天已经支持过' + result.nickname + '！';
                        MixiEffect.showWarning({
                            warnings: {
                                messages: {
                                    error: msg
                                }
                            }
                        })
                    }
                }

            },
            onFailure: function(transporter) {
            },
            onException: function(transporter, exception) {
                //alert(exception);
            }
        });
    },
    showSupportFinishPanel: function(nickname){
        var finishEle = $('finish_panel');
        if(!finishEle) {
            var finishEle = new Element('div', {
                id: 'finish_panel'
            }).setStyle({
                width: '320px'
            }).addClassName('pop');
            var html =  
                '<p class="pop_prompt"><strong>提示</strong></p>' +
                '<div class="pop_content">' +
                    '<span class="hl">支持成功！' +
                    nickname +
                    '非常感谢您对TA的支持！</span>' +
                '</div>' +
                '<p class="pop_btn">' + 
                    '<input id="support_ok" type="button" value="确定">' +
                '</p>';
            finishEle.innerHTML = html;
            document.body.appendChild(finishEle);
        }
        $('support_ok').observe('click', function() {
            MixiEffect.hide('finish_panel');
            window.location.reload();
        });
        MixiEffect.showOverlap();
        MixiEffect.makeCenter(finishEle).show();
    },
    showModifyPanel: function() {
        var divEle = $('modify_panel');
        if(!divEle) {
            var divEle = new Element('div', {
                id: 'modify_panel'
            }).setStyle({
                width: '320px'
            }).addClassName('pop');
            var form_action = '/famous.pl?mode=modify';
            var html =
            '<p class="pop_prompt"><strong>达人心情修改</strong><a href="javascript:void(MixiEffect.hide(\'modify_panel\'))">关闭</a></p>' +
            '<form action="' + 
                form_action +
                '" method="POST" id="ajax_modify">' +
                '<div class="pop_content">' +
                    '<h2 title="">达人心情修改</h2>' +
                    '<label for="body">' +
                        '达人心情' +
                    '</label>' +
                    '<textarea name="body" id="body" cols="35" rows="2"></textarea>' +
                    '<div id="ajax_modify_error" style="display: none; color: red">修改失败</div>' +
                    '<div id="modify_req" style="display: none; color: red">请求中...</div>' +
                    '<p style="padding:5px 0;"><input type="checkbox" value="1" name="mood"  checked />引用到今日心情</p>' +
                    '<p class="pop_btn">' +
                        '<input type="submit" value="确定">' +
                        '<input type="button" value="取消" onclick="MixiEffect.hide(\'modify_panel\')">' +
                    '</p>' +
                '</div>' +
            '</form>';
            divEle.innerHTML = html;
            document.body.appendChild(divEle);

            $('ajax_modify').observe('submit', function(event) {
                Event.stop(event);
                $('ajax_modify_error').hide();
                $('modify_req').show();
                $('ajax_modify').request({
                    onSuccess: function(transporter) {
                        var json = transporter.responseJSON;
                        $('modify_req').hide();
                        if( json.result == 1 ) {
                            MixiEffect.hide('modify_panel');
                            window.open('famous.pl','_self');
                        }
                        else {
                            if(json.msg){
                                $('ajax_modify_error').innerHTML = json.msg;
                            }
                            $('ajax_modify_error').show();

                        }
                    },
                    onFailed: function(transporter) {
                    },
                    onException: function(transporter, exception) {
                    }
                });
            });
        }
        MixiEffect.showOverlap();
        MixiEffect.makeCenter(divEle).show();
    }
}

