Post = {
    
    id : "",
    menuSlideSpeed : 200,

    toggleOptions : function(id)
    {
        $('.postOptionsMenu').not($('#options_' + id)).slideUp(this.menuSlideSpeed);
        $('#options_' + id).slideToggle(this.menuSlideSpeed);
    },

    doRemove : function(id)
    {
        $.ajax({
            url: '/?page=moderation.DeletePost&id=' + id,
            success: function(data) {
        		window.location.href = data;
            }
        });
    },

    remove : function(id){
        this.id = id;
        buttons = {
            "delete" : function(){
                $dialogWindow.container.dialog("close");
                Post.doRemove(Post.id);
            }
        };
        
        $dialogWindow.show('Do you really want to delete this post?', 'Post delete', buttons);
    },

    banAuthor : function(id)
    {
        $.ajax({
            url: '/?page=moderation.BanAuthor&id=' + id,
            success: function(data) {
                location.reload(true);
            }
        });

    },
    
    unbanAuthor : function(id)
    {
        $.ajax({
            url: '/?page=moderation.BanAuthor&unban=1&id=' + id,
            success: function(data) {
                location.reload(true);
            }
        });
    },
    
    reportAbuse: function(id) 
    {
    	$('#abuseReportPostId').val(id);
    	$('#reportAbuseFormContainer').dialog('open');
    },
    
    editSignature: function(id) 
    {
    	$('#editSignatureFormContainer').dialog('open');
    },
    
    toggle: function (id)
    {
    	var selectedPost = $('input[name=\'SelectedPost[' + id + ']\']');
		var postSelectedBeforeCount = parseInt($('input[type=\'hidden\'][name=\'postSelectedBeforeCount\']').val());
    	if (selectedPost)
    	{
    		if (selectedPost.val() == 0)
    		{
    			selectedPost.val(id);
    			$('#post-' + id + ' > div.postTitle').addClass('postTitleSelected');
    		}
    		else
    		{
    			selectedPost.val(0);
    			$('#post-' + id + ' > div.postTitleSelected').removeClass('postTitleSelected');

    			var selectedPostBefore = $('input[type=\'hidden\'][name=\'SelectedPosts[]\'][value=' + id + ']');
    			if (selectedPostBefore)
    				selectedPostBefore.remove();
    			
    		}
    		
			Post.toggleOptions(id);

			$('#LinkSelectPost_' + id).toggle();
			$('#LinkUnselectPost_' + id).toggle();

	    	$('div.pagination > a').unbind('click');
			
			var postsSelectedCount = $('input[type=\'hidden\'][name^=\'SelectedPost[\'][value!=\'0\']').length;
			if (postSelectedBeforeCount + postsSelectedCount > 0)
			{
				$('#postSelectedActionDesc').html(postsSelectedCount + postSelectedBeforeCount);
				$('#postSelectedActionContainer').slideDown(this.menuSlideSpeed);
				
		    	$('div.pagination > a').click(function(event){
		    		Post.submitSelectedPostsNextPage.call(this,'#postSelectedActionMoveForm');
		    	    return false;
		    	});
			} 
			else
			{
				$('#postSelectedActionContainer').slideUp(this.menuSlideSpeed);				
			}
    	}
    	
    },
    
    
    
    doAction: function (id)
    {
    	var postActionMethodName = $('#postSelectedAction').val();
    	
    	switch (postActionMethodName)
    	{
    		case 'move':
    			Post.doMove();
    			break;
    	}
    },
    
    doMove: function (id)
    {
    	var postMoveForm = $('#postSelectedActionMoveForm');
    	Post.addSelectedPostsToForm(postMoveForm);
    	postMoveForm.submit();
    },
    
    addSelectedPostsToForm: function(postForm)
    {
    	$('input[type=\'hidden\'][name^=\'SelectedPost[\'][value!=\'0\']').each( function (i) {
    		var newPostId = document.createElement("input");
	    	newPostId.setAttribute("type", "hidden");
	    	newPostId.setAttribute("name", "SelectedPosts[]");
	    	newPostId.setAttribute("value", this.getAttribute('value'));
	    	
	    	postForm.append(newPostId);
    	});
    },
    
    submitSelectedPostsNextPage: function(actionFormSelector)
    {
		var postForm = $(actionFormSelector);
	    Post.addSelectedPostsToForm(postForm);
	    postForm.attr('action',this.getAttribute('href'));
	    postForm.submit();
    }
    
}

