var jq = jQuery;
var stylishAnnouncementsPreferences = {
	formId: "#stylish-announcement-preference-form ",
	dynamicType: "dynamic",
	manualType: "manual",
	contextPath: "/stylish-announcements-portlet",
	currentArticleListPage: 0,
	articleListTotalPage: 1,
	currentArticleType: "announcements",
	onChangeArticleType: function() {
		var inst = stylishAnnouncementsPreferences;
		var articleTypeSelector = jq(inst.formId + "select#articleType");
		inst.currentArticleType = articleTypeSelector.val();
		inst.loadArticleList(0);
	},
	onChangeSelectionModel: function() {
		var inst = stylishAnnouncementsPreferences;
		var selmod = jq(inst.formId + "select#selectionModel").val();
		jq(inst.formId + " .selmod-specifics").hide();
		if (selmod == inst.dynamicType) {
			jq(inst.formId + " .selmod-specifics#smSpecific_DynamicSettings").show();
		} else if (selmod == inst.manualType) {
			jq(inst.formId + " .selmod-specifics#smSpecific_ManualSettings").show();
			var input = jq(inst.formId + " .selmod-specifics#smSpecific_DynamicSettings #maximum");
			var inputValue = input.val();
			var regex = /[^0-9]+/g;
			input.val(inputValue.replace(regex, ""));
		}
	},
	loadArticleList: function(page) {
		var self = stylishAnnouncementsPreferences;
		jq.post(
			self.contextPath + "/list-article.html",
			{
				listPage: page,
				jqFormId: self.formId,
				articleType: self.currentArticleType
			},
			function(data, textStatus) {
				jq(self.formId + "div#articleListContainer").html(data);
				
				self.currentArticleListPage = jq(self.formId + "div.saArticleListFragments input#currentPage").val();
				self.articleListTotalPage = jq(self.formId + "div.saArticleListFragments input#totalPage").val();
				jq(self.formId + "#smSpecific_ManualSettings div#articleListPageControls span#currentArticlePage").html(self.currentArticleListPage * 1 + 1);
				jq(self.formId + "#smSpecific_ManualSettings div#articleListPageControls span#articleListTotalPage").html(self.articleListTotalPage * 1);
			},
			"html"
		);
	},
	removeSelectedAnnouncements: function(id) {
		var self = stylishAnnouncementsPreferences;
		var rowToRemove = jq(self.formId + "#smSpecific_ManualSettings #selectedAnnouncementsContainer table tr.saSelectedArticle_"+id);
		//var rowsToRemove = jq(self.formId + "#smSpecific_ManualSettings #selectedAnnouncementsContainer table tr.saSelectedArticle");
		//if (rowsToRemove.length > 1)
			rowToRemove.remove();
	},
	ready:function() {
		var inst = stylishAnnouncementsPreferences;
		
		jq(inst.formId + "select#selectionModel").change(function() {
			inst.onChangeSelectionModel();
		});
		
		jq(inst.formId + "select#articleType").change(function() {
			inst.onChangeArticleType();
		});
		
		inst.currentArticleListPage = 0;
		inst.articleListTotalPage = 1;
		
		inst.onChangeSelectionModel();
		inst.onChangeArticleType();
	}
}

jq(document).ready(function() {
	stylishAnnouncementsPreferences.ready();
});