var passwordResetter = function ($) {
	var my = {};

	my.doReset = function (n) {
		window.location = '/private/assistenza&reset-password&name=' + n;
	}

	my.requestResetPasswordConfirm = function (event) {
		var n = $(this).attr('rel');
		$('#dialog-confirm').remove();
		$('<div>').attr('id', 'dialog-confirm')
				.append('Confermi il reset della password dell\'utente ' + n + '?').hide()
				.appendTo($('body'));
		$('#dialog-confirm').dialog({
			resizable: false,
			modal: true,
			buttons: {
				'Resettare': function() {
					my.doReset(n);
					$(this).dialog('close');
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
		});
		return false;
	};

	my.bindResetPassword = function () {
		$('#reset-password a').button().click(my.requestResetPasswordConfirm);
	};
	my.bindResetPassword();
}

var userCreation = function ($) {
	var my = {};

	my.displayUserCreationInfo = function (data) {
		my.div.fadeOut('fast', function () {
			my.div.html('');
			var d = JSON.parse($(data).find('#json').html());
			my.div.append(d.message);
		}).fadeIn('fast');
	};

	my.doCreate = function (d) {
		$.ajax({
			url: 'assistenza&create-user-from-crm&create',
			data: d,
			type: 'POST',
			success: my.displayUserCreationInfo
		});
		alert(data.id);
	};

	my.displayUserInfo = function (data) {
		var f;
		my.div = $('<div>').hide();
		f = function () {
			var d = JSON.parse($(data).find('#json').html());
			$('<table>').addClass('statistiche').appendTo(my.div)
				.append($('<tr>')
					.append($('<th>').append('Id'))
					.append($('<td>').append(d.id)))
				.append($('<tr>')
					.append($('<th>').append('Nome utente e password'))
					.append($('<td>').append(d.name)))
				.append($('<tr>')
					.append($('<th>').append('E-mail'))
					.append($('<td>').append(d.mail)));
			$('<a>').append('Crea utente').button().css({margin: '20px 200px'}).click(function () {
				my.doCreate(d);
			}).appendTo(my.div);
		};
		$('#create-user-from-crm').replaceWith(my.div.fadeIn('slow', f));
	};
	
	my.doCheckUrl = function (url) {
		if (!url.match(/[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+/)) {
			window.location = window.location;
		}
		var id = url;
		$.ajax({
			url: 'assistenza&create-user-from-crm&id=' + id,
			success: my.displayUserInfo
		});
	};

	my.checkUrl = function () {
		var url = $(this).val();
		$(this).parent().fadeOut('fast', function () {
			$(this).parent().replaceWith($('<img>').hide().css({margin: '20px 200px'})
				.attr('src', '/images/loading.gif').fadeIn('fast', function () {
					my.doCheckUrl(url);
				})
			);
		});
	};

	my.bindForm = function () {
		$('#create-user-from-crm').submit(function () {
			return false;
		});
		$('#create-user-from-crm input').change(my.checkUrl);
	};
	my.bindForm();
}

jQuery(passwordResetter);
jQuery(userCreation);
