ensurePackage('SuchMuch');

SuchMuch.admin = new (function admin() {
	
	var instance = this;
	
	this.addListenersToLinkSubmitButtons = function (linkList, form) {
		var changeFormAction = function(e) {
			var linkText = SuchMuch.dom.getAncestorByAttribute(e.target, 'tagName', 'a').href;
			form.action = linkText;
			form.submit();
			e.preventDefault();
		};
		
		for (var i = 0; i < linkList.length; i++) {
			SuchMuch.events.addEvent(linkList[i], 'click', changeFormAction);
		}
	};
	
	this.checkBoxes = [];
	
	this.prependCheckboxesOnInvitationPage = function() {
		var tableBody = document.getElementById('manage_invitations_form').getElementsByTagName('tbody')[0];
		var rowHeaders = tableBody.getElementsByTagName('th');
		for (var i = 0; i < rowHeaders.length; i++) {
			var anchor = rowHeaders[i].getElementsByTagName('a')[0];
			var thHref = anchor.href.split('/');
			var thId = thHref[thHref.length - 2];
			var checkbox = document.createElement('input');
			checkbox.type = 'checkbox';
			checkbox.value = 'yes';
			checkbox.name = 'selected_' + thId;
			rowHeaders[i].insertBefore(checkbox, anchor);
			instance.checkBoxes.push(checkbox);
		}
	};
		
	this.addClickListenerToSelectAllBox = function(selectAllButton) {
		var selectAllOnInvitationPage = function() {
			if (instance.checkBoxes.length > 0) {
				checkboxes = instance.checkBoxes;
			} else {
				var tableBody = document.getElementById('manage_invitations_form').getElementsByTagName('tbody')[0];
				checkboxes = tableBody.getElementsByTagName('input');
			}
			for (var i = 0; i < checkboxes.length; i++) {
				checkboxes[i].checked = selectAllButton.checked ? 'checked' : '';
			}
		};
		SuchMuch.events.addEvent(selectAllButton, 'click', selectAllOnInvitationPage);
	};
	
})();