﻿$(document).ready(function() {
jQuery.extend($.xs.profile, {
    messages: {
        setup: function(intFolder) {
            if ($.browser.mozilla) {
                $("input[type='checkbox']").attr('checked', false);
            }
            
            $('#SelectAll').click(function() {
                if ($('#SelectAll').text() == 'alles selecteren') {
                    $('#SelectAll').text('alles deselecteren');
                    $("INPUT[name='MessageIds']").attr('checked', true);
                }
                
                else {
                    $('#SelectAll').text('alles selecteren');
                    $("INPUT[name='MessageIds']").attr('checked', false);
                }
            });
            
            $('#Delete').click(function() {
                if ($.xs.isDisabled($('#Delete'))) return false;
                if (confirm('Weet je zeker dat je de geselecteerde berichten wilt verwijderen?')) {
                    $('#Delete').attr('disabled',true);
                    var strPostData = $("#MessagesForm").serialize();
                   
                    if (strPostData.length == 0) {
                        alert('Je hebt geen berichten geselecteerd.');
                        $('#Delete').attr('disabled',false);
                        return false;
                    }
                    
                    $.ajax({
                        type: 'POST',
                        url: '/xseno/_site/pages/profile/_post.aspx?id=1&folder='+intFolder,
                        data: strPostData,
                        success: function(data) {
                            if (!$.xs.error.checker(parseFloat(data))) { $('#Delete').attr('disabled',false); return false; }
                            window.location.reload();
                        }
                    });
                }
            });
            
            $('#Empty').click(function() {
                if ($.xs.isDisabled($('#MarkAllAsRead'))) return false;
                if (confirm('Weet je zeker dat je ALLE BERICHTEN wilt verwijderen?')) {
                    if (intFolder == 1) {
                        $.ajax({
                            type: 'GET',
                            url: '/xseno/_site/pages/profile/_post.aspx?id=2',
                            success: function(data) {
                                if (!$.xs.error.checker(parseFloat(data))) { $('#Empty').attr('disabled',false); return false; }
                                window.location.reload();
                            }
                        });
                    }
                    
                    else {
                        $.ajax({
                            type: 'GET',
                            url: '/xseno/_site/pages/profile/_post.aspx?id=3',
                            success: function(data) {
                                if (!$.xs.error.checker(parseFloat(data))) { $('#Empty').attr('disabled',false); return false; }
                                window.location.reload();
                            }
                        });
                    }
                }
            });
        },
        message: {
            setup: function(intMsgId, intFolder) {
                $('#Reply'+intMsgId).click(function() {
                    if ($.xs.isDisabled($(this))) return false;
                    $(this).attr('disabled',true);
                    
                    var strHtml = '';
                    strHtml += '<div class="b_spacing_top" id="ReplyPh'+intMsgId+'"><br />';
                    strHtml += '<div class="b_spacing_tiny_bottom"><input id="Quote'+intMsgId+'" checked="checked" class="checkbox" type="checkbox" /><small><label for="Quote'+intMsgId+'">Quote het bericht</label></small></div>';
                    strHtml += '<textarea style="width:441px; height:150px" id="ReplyMessage'+intMsgId+'"></textarea>';
                    strHtml += '<div class="b_spacing_top">';
                    strHtml += '<br /><input id="Reply'+intMsgId+'" class="button" type="button" value="versturen" /> <input id="ReplyCancel'+intMsgId+'" class="button" type="button" value="annuleren" />';
                    strHtml += '</div>';
                    strHtml += '</div>';
                    
                    $('#Message'+intMsgId).after(strHtml);
                    
                    var strQuote = '[quote]'; strQuoteBody = $('#MsgMessage'+intMsgId).val();
                    strQuote += $('#MsgHeaders'+intMsgId).val()+'\n\n';

                    var intQuoteBegin = strQuoteBody.indexOf('[quote]');
                    if (intQuoteBegin != -1) {
                        var intQuoteEnd = strQuoteBody.indexOf('[/quote]');
                        strQuoteBody = strQuoteBody.replace(strQuoteBody.substr(intQuoteBegin,intQuoteEnd+8),'').replace(/\n|\r/,'');
                    }
                    
                    strQuote += strQuoteBody;
                    strQuote += '[/quote]\n\n';

                    $('#ReplyMessage'+intMsgId).unbind('focus').focus(function() { $.xs.emoticons('#ReplyMessage'+intMsgId); }); $('#ReplyMessage'+intMsgId).focus();
                    $('#Reply'+intMsgId).unbind('click').click(function() { $.xs.profile.messages.message.reply(intMsgId, strQuote); } );
                    $('#ReplyCancel'+intMsgId).unbind('click').click(function() { $('#ReplyPh'+intMsgId).remove(); $('#Reply'+intMsgId).attr('disabled',false); } );
                });
                
                $('#Delete'+intMsgId).click(function() { $.xs.profile.messages.message.del(intMsgId, intFolder); } );
                $('#Block'+intMsgId).click(function() { $.xs.profile.messages.message.block(intMsgId); } );
                $('#Report'+intMsgId).click(function() { $.xs.profile.messages.message.report(intMsgId); } );
            },
            send: function(intUserIdTo, blnDontReload) {                   
                if ($.xs.isDisabled($('#Save'))) return false;
                if ($('#Message').val().length == 0) { alert('Je bericht mag niet leeg zijn.'); return false; }
                if ($('#Message').val().length > 9000) { alert('Je bericht is te lang.'); return false; }
                
                $('#Save').attr('disabled',true); 

                $.ajax({
                    type: 'POST',
                    url: '/xseno/_site/pages/profile/_post.aspx?id=4',
                    data: 'UserIdTo='+intUserIdTo+'&Message='+$.xs.urlEncode($('#Message').val())+'&IsPrivate='+$('#IsPrivate').attr('checked'),
                    success: function(data) {
                        if (!$.xs.error.checker(parseFloat(data))) { $('#Save').attr('disabled',false); return false; }
                        
                        if (blnDontReload == undefined) {
                            window.location.reload();
                        }
                        
                        else {
                            $('#OptionGiveBlingsPh').hide();
                        }
                    }
                });
            },
            reply: function(intMsgId, strQuote) {
                if ($.xs.isDisabled($('#Reply'+intMsgId))) return false;
                if ($('#ReplyMessage'+intMsgId).val().length == 0) { alert('Je bericht mag niet leeg zijn.'); return false; }
                if ($('#ReplyMessage'+intMsgId).val().length > 9000) { alert('Je bericht is te lang.'); return false; }
                
                $('#Reply'+intMsgId).attr('disabled',true);
                
                if (!$('#Quote'+intMsgId).attr('checked')) {
                    strQuote = '';
                };
                
                $.ajax({
                    type: 'POST',
                    url: '/xseno/_site/pages/profile/_post.aspx?id=5',
                    data: 'MsgId='+intMsgId+'&Message='+$.xs.urlEncode(strQuote+$('#ReplyMessage'+intMsgId).val()),
                    success: function(data) {
                        if (!$.xs.error.checker(parseFloat(data))) { $('#Reply'+intMsgId).attr('disabled',false); return false; }
                        $('#ReplyPh'+intMsgId).remove(); $('#Reply'+intMsgId).attr('disabled',false);
                    }
                });
            },
            del: function(intMsgId, intFolder) {
                if ($.xs.isDisabled($('#Delete'+intMsgId))) return false;
                
                if (confirm('Weet je zeker dat je dit bericht wilt verwijderen?')) {
                    $('#Delete'+intMsgId).attr('disabled',true);              
                    $.ajax({
                        type: 'POST',
                        url: '/xseno/_site/pages/profile/_post.aspx?id=1&folder='+intFolder,
                        data: 'MessageIds='+intMsgId,
                        success: function(data) {
                            if (!$.xs.error.checker(parseFloat(data))) { $('#Delete'+intMsgId).attr('disabled',false); return false; }
                            window.location.reload();
                        }
                    });
                }
            },
            block: function(intMsgId) {
                if ($.xs.isDisabled($('#Block'+intMsgId))) return false;
                
                if (confirm('Weet je zeker dat je deze member wilt blokkeren? Hij of zij heeft dan geen toegang meer tot je profiel en kan geen berichten meer sturen aan jou. Jij hebt na het blokkeren ook geen toegang meer tot de member.')) {
                    $('#Block'+intMsgId).attr('disabled',true);              
                    $.ajax({
                        type: 'POST',
                        url: '/xseno/_site/pages/profile/_post.aspx?id=6',
                        data: 'MsgId='+intMsgId,
                        success: function(data) {
                            if (!$.xs.error.checker(parseFloat(data))) { $('#Block'+intMsgId).attr('disabled',false); return false; }
                            alert('De member is geblokkeerd!\n\nLet op: je kan een bericht nu ook anoniem melden! De crew van Xseno kijkt vervolgens naar het bericht en de member en kan dan besluiten de member te verbannen of maatregelen te nemen. Klik op member is niet oké om dit te doen. Dit is echter alleen bedoelt voor members die echt niet oké zijn. :)');
                        }
                    });
                }
            },
            report: function(intMsgId) {
                if ($.xs.isDisabled($('#Report'+intMsgId))) return false;
                
                if (confirm('Weet je zeker dat je deze member anoniem wilt melden? Hij of zij heeft dan geen toegang meer tot je profiel en kan geen berichten meer sturen aan jou. Jij hebt na het blokkeren ook geen toegang meer tot de member.\n\nJe stuurt tevens het bericht door aan de crew van Xseno. Zij kijken vervolgens naar het bericht en de member en kunnen dan besluiten de member te verbannen of maatregelen te nemen. Xseno zal nooit bekend maken aan de member dat jij hem of haar hebt gerapporteerd.')) {
                    $('#Report'+intMsgId).attr('disabled',true);              
                    $.ajax({
                        type: 'POST',
                        url: '/xseno/_site/pages/profile/_post.aspx?id=7',
                        data: 'MsgId='+intMsgId,
                        success: function(data) {
                            if (!$.xs.error.checker(parseFloat(data))) { $('#Report'+intMsgId).attr('disabled',false); return false; }
                            $('#Block'+intMsgId).attr('disabled',true);
                            alert('Je hebt de member anoniem gemeld! Melden kan ook direct via het profiel. Door foute members te melden help je mee om Xseno leuk en gezellig te houden. Wij waarderen deze hulp enorm! :)');
                        }
                    });
                }
            }
        }
    }
});
});