try {
	document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

var Registration = {

	activateSiNumber: function(elementName) {
		if (
			($('#' + elementName).val() == 1)
			|| ($('#' + elementName).val() == undefined)
		) {
			$('#' + elementName + 'Number').removeAttr('disabled');
			$('#' + elementName + 'Number').removeClass('disabled');
		} else {
			$('#' + elementName + 'Number').attr('disabled', 'disabled');
			$('#' + elementName + 'Number').addClass('disabled');
		}
	},

	activateInvoiceInfo: function() {
		if ($('#sendInvoice').attr('checked')) {
			$('#invoiceAddress').removeAttr('disabled');
			$('#invoiceAddress').removeClass('disabled');
		} else {
			$('#invoiceAddress').attr('disabled', 'disabled');
			$('#invoiceAddress').addClass('disabled');
		}
	},

	manageNewTeam: function(object, action) {
		var teamId = Util.findId($(object).attr('class'));

		$('#teamId').val(teamId);

		if (action == 'delete') {
			$('#hiddenAction').val('deleteTeam');

			if (confirm('Oled kindel, et soovid võiskonna kustutada?')) {
				document.forms['registrations'].submit();
			}
		} else if (action == 'confirm') {
			$('#hiddenAction').val('confirmTeam');

			document.forms['registrations'].submit();
		} else if (action == 'paid') {
			$('#hiddenAction').val('markPaid');

			document.forms['registrations'].submit();
		} else if (action == 'sendLink') {
			$('#hiddenAction').val('sendLink');

			document.forms['registrations'].submit();
		}
	}

}

var Forum = {

	manageThread: function(object, action) {
		var threadId = Util.findId($(object).attr('class'));

		$('#threadId').val(threadId);

		if (action == 'delete') {
			$('#hiddenAction').val('deleteThread');

			if (confirm('Oled kindel, et soovid teema kustutada?')) {
				document.forms['thread'].submit();
			}
		} else if (action == 'edit') {
			$('#hiddenAction').val('editThread');

			document.forms['thread'].submit();
		}
	},

	managePost: function(object, action) {
		var postId = Util.findId($(object).attr('class'));

		$('#postId').val(postId);

		if (action == 'delete') {
			$('#hiddenAction').val('deletePost');

			if (confirm('Oled kindel, et soovid postituse kustutada?')) {
				document.forms['thread'].submit();
			}
		} else if (action == 'edit') {
			$('#hiddenAction').val('editPost');

			document.forms['thread'].submit();
		}
	}

};

var Mailer = {

	send: function() {
		$.ajax({
			type: 'POST',
			url: '/admin/link-sender',
			dataType: 'json',
			success: function(response) {
				if (response.totalSent != undefined) {
					$('#sent-emails').text('Saadetud: ' + response.totalSent);
				}

				if (response.hasMore == 0) {
					$('.loader').html('<strong>Saadetud</strong>');
				} else {
					setTimeout(
						function() {
							Mailer.send();
						},
						1000
					);
				}
			}
		});
	}

};

var Util = {

	findId: function(string) {
		var id = /\-(\d+)/.exec(string);
		if (
			(id != null)
			&& (id[1] != undefined)
		) {
			return id[1];
		} else {
			return null;
		}
	}

};

$(function() {
	$('#track').change(function() {
		$('#isRefresh').val(1);
		document.forms['registrationForm'].submit();
	});

	$('#memberOneSi').change(function() {
		Registration.activateSiNumber('memberOneSi');
	});
	$('#memberTwoSi').change(function() {
		Registration.activateSiNumber('memberTwoSi');
	});
	$('#memberThreeSi').change(function() {
		Registration.activateSiNumber('memberThreeSi');
	});

	Registration.activateSiNumber('memberOneSi');
	Registration.activateSiNumber('memberTwoSi');
	Registration.activateSiNumber('memberThreeSi');

	$('#sendInvoice').click(function() {
		Registration.activateInvoiceInfo();
	});

	Registration.activateInvoiceInfo();

	$('.delete-team').click(function() {
		Registration.manageNewTeam(this, 'delete');
	});
	$('.confirm-team').click(function() {
		Registration.manageNewTeam(this, 'confirm');
	});
	$('.mark-paid').click(function() {
		Registration.manageNewTeam(this, 'paid');
	});
	$('.send-link').click(function() {
		Registration.manageNewTeam(this, 'sendLink');
	});

	$('.delete-thread').click(function() {
		Forum.manageThread(this, 'delete');
	});
	$('.edit-thread').click(function() {
		Forum.manageThread(this, 'edit');
	});

	$('.delete-post').click(function() {
		Forum.managePost(this, 'delete');
	});
	$('.edit-post').click(function() {
		Forum.managePost(this, 'edit');
	});

});