ccmDiscussion = {

	//canSubmit: true,
	totalAttachments: 0,
	cantSubmit:false, 
	submit: function(form) {  
		if (this.cantSubmit) { 
			return false;
		} 
		this.cantSubmit=true;
		this.submittedForm=form;
		ccmDiscussion.showLoading();
		$("div#facebox div.ccm-error").html("");
		return true;
	},
	
	response: function(data) {	
		resp = eval("(" + data + ")");
		if (resp.errors) {
			ccmDiscussion.hideLoading();
			for(i = 0; i < resp.errors.length; i++) {
				$("div#facebox div.ccm-error").append(resp.errors[i] + '<br>');
			}
			this.cantSubmit=false;			
		} else if (resp.redirect) {
			ccmDiscussion.redirect(resp.redirect);
		}
	},
	
	redirect: function(redir) {
		window.location.href = redir;
	},
	
	reply: function(cID) {
		this.cantSubmit=false; 
		if (cID > 0) {
			$("#discussion-post-reply-form input[name=cDiscussionPostParentID]").val(cID);		
		}
		jQuery.facebox($('#discussion-post-reply-form').html());
		$("div#facebox input[name=subject]").get(0).focus();
		$("#facebox").draggable();
		$("#facebox div.ccm-rating input").rating();
	},
	
	reply: function(cID, subjectLink) {
		this.cantSubmit=false; 
		if (cID > 0) {
			$("#discussion-post-reply-form input[name=cDiscussionPostParentID]").val(cID);		
		}
		subject = $(subjectLink).attr('reply-subject');
		jQuery.facebox($('#discussion-post-reply-form').html());
		$("div#facebox input[name=subject]").val(subject);
		$("div#facebox #message").get(0).focus();
		$("#facebox").draggable();
		$("#facebox div.ccm-rating input").rating();
	},
	
	post: function(cID) {
		this.cantSubmit=false;
		if (cID > 0) {
			$("input[name=cDiscussionPostParentID]").val(cID);		
		}
		jQuery.facebox($('#discussion-post-form').html());
		$("div#facebox input[name=subject]").get(0).focus();
		$("#facebox").draggable();
		$("#facebox div.ccm-rating input").rating();
	},

	showLoading: function() {
		ccmDiscussion.cantSubmit = true;
		$("div#facebox #post-link").disabled = true;
		$("div#facebox div.discussion-post-loader").show();
	},
	
	addAttachment: function() {
		ccmDiscussion.totalAttachments++;
		$("div#facebox .discussion-add-attachment").html("Attach another file");
		var html = $("div#facebox div.discussion-attachments-selector").html();
		$("div#facebox div.discussion-attachments-wrapper").append(html);
	},
	
	removeAttachment: function(link) {
		ccmDiscussion.totalAttachments--;
		var p = $(link).parent();
		p.remove();	
		
		if (ccmDiscussion.totalAttachments == 0) {
			$("div#facebox .discussion-add-attachment").html("Attach a file");
		}
	},
	
	hideLoading: function() {
		ccmDiscussion.canSubmit = true;
		$("div#facebox #post-link").disabled = false;
		$("div#facebox div.discussion-post-loader").hide();
	},

	downloadAttachments: function(action) {
		$.get(action, function(res) {
			$('#discussion-files-content').html(res);
			jQuery.facebox($('#discussion-files').html());
		});
	}, 
	
	viewCode: function(element) {
		$('#discussion-code-content').html(element.parent().parent().next().html());
		jQuery.facebox($('#discussion-code').html());
	},
	
	deletePost: function (url,title) {
		$('#discussion-delete-post-link').attr('href',url);
		$('#discussion-delete-post-title').html(title);
		jQuery.facebox($('#discussion-delete').html());
	},
	
	selectSource: function() {
		$('#discussion-code-content').html('<textarea>'+$('#discussion-code-content').html()+'</textarea>');
		//$('#discussion-code-content')
	},
	
	advancedFilterPosts: function () {
		jQuery.facebox($('#discussion-filter').html());
	},
	
	toggleDowloadImage: function(aTag) {
		// show the image
		if(aTag.text() == '(view image)') {
			aTag.text('(hide image)');
		} else {
			aTag.text('(view image)');
		}
		aTag.next('.imageDiv').slideToggle('normal', function() {												  
			// reposition
			$('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));														  
		});
		
	},
	
	editReply: function(replyCID){
		this.cantSubmit=false;
		this.loadReplyIntoForm(replyCID);		
	},
	
	loadReplyIntoForm: function(replyCID,parentCID){
		jQuery.facebox($('#discussion-post-reply-form').html());
		$("div#facebox input[name=subject]").get(0).focus();	
		var url=CCM_REL+'/tools/discussion_reply_form/';
		jQuery.post(url, {replyCID: parseInt(replyCID), pCID: parseInt(parentCID)}, function(msg) {
			$("#facebox form").html(msg);
		});
	},
	
	editCoreBugReply: function(replyCID){
		this.cantSubmit=false;
		jQuery.facebox($('#discussion-post-reply-form').html());
		$("div#facebox input[name=subject]").get(0).focus();	
		var url=CCM_REL+'/tools/core_bug_reply_form/';
		jQuery.post(url, {replyCID: parseInt(replyCID)}, function(msg) {
			$("#facebox form").html(msg);
		});		
	},
	
}

ccmDiscussionTrack = {
	/*
	track: function(url) {
		$.get(url,function (res) {
			jQuery.facebox(res);					
		});
	},

	unTrack: function(url) {
		$.get(url,function (res) {
			jQuery.facebox(res);					
		});
	},
	*/
	viewTrackOverlay: function(url) {
		jQuery.facebox.loading();
		$.get(url,function (res) {
			jQuery.facebox(res);					
		});	
	}
}

ccmDiscussionAutocomplete = {
		captureSubmit:true,
		hasSelectedItem:false,
		
		init:function(src) {
			$("div#facebox input#tags").autocomplete({
		        source: src,
		        select: function(event,ui) { 
			    	if($("div#facebox input#tags").val().length) {
						$('div#facebox .discussion-empty-tag > span').text($("div#facebox input#tags").val());
						$('div#facebox .discussion-empty-tag > input').val($("div#facebox input#tags").val());
						$('div#facebox .discussion-tags-wrapper').append('<div>'+$('div#facebox .discussion-empty-tag').html()+'</div>');
						ccmDiscussionAutocomplete.hasSelectedItem = true;
						ccmDiscussionAutocomplete.captureSubmit = false;
					}
			    },
			    open : function () {
			    	ccmDiscussionAutocomplete.hasSelectedItem = false;
			    	//ccmDiscussionAutocomplete.captureSubmit = false;
			    },
			    focus : function () {
			    	ccmDiscussionAutocomplete.captureSubmit = false;
			    },
			    close : function () {
			    	if(ccmDiscussionAutocomplete.hasSelectedItem) {
			    		$("div#facebox input#tags").val('');
			    	}
			    	ccmDiscussionAutocomplete.hasSelectedItem = false;
			    	ccmDiscussionAutocomplete.captureSubmit = true;
			    },
			    change : function () { 
			    	//ccmDiscussionAutocomplete.captureSubmit = false; 
			    } 
			    
		    });
		    
			$("div#facebox input#tags").bind("keydown", function(e) {
				if (e.keyCode == 13 || e.keyCode == 188){ // comma or enter
						if(ccmDiscussionAutocomplete.captureSubmit == true && $("div#facebox input#tags").val().length) {
							$('div#facebox .discussion-empty-tag > span').text($("div#facebox input#tags").val());
							$('div#facebox .discussion-empty-tag > input').val($("div#facebox input#tags").val());
							$('div#facebox .discussion-tags-wrapper').append('<div>'+$('div#facebox .discussion-empty-tag').html()+'</div>');
							$("div#facebox input#tags").val('');
						}
					return false;
				}
				
			});
	}
}


function showNextProfileOverlay(elem) {
	elem.next('.profile-preview-overlay').show();
}

