m2v.iusrReply = function (event)
{
	alert('iusrReply!');
	return false;
}


m2v.iusrAbuse = function (event)
{
	return m2v.iusrSimpleOp(this, event, 'adviseabuse', [], function (arrayData) {
		$('#iusractionmsg').text(m2v.strings['usermessage/reportabuse/feedbackok']);
	});
}


m2v.iusrModerate = function (event)
{
	var jthis = $(this);
	var moderate = jthis.attr('data-moderate');
	return m2v.iusrSimpleOp(this, event, 'moderate', ['moderate=' + moderate], function (arrayData) {
		$('#iusractionmsg').text(m2v.strings['usermessage/moderate/feedbackok']);
	});
}


m2v.iusrDelete = function (event, op, callback)
{
	var jthis = $(this);
	var inputId = jthis.attr('data-id');
	return m2v.iusrSimpleOp(this, event, 'delete', [], function (arrayData) {
		$('#iusractionmsg').text(m2v.strings['usermessage/remove/feedbackok']);
		alert('length: ' + $('#usrin_' + inputId).length);
		$('#usrin_' + inputId).remove();
	});
}


m2v.iusrSimpleOp = function (source, event, op, arrayExtraParams, callback)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	m2v.showLoadingSign(pos, null, true, false);

	var jthis = $(source);
	var url = jthis.attr('href');
	var inputId = jthis.attr('data-id');
	var hint = $('#hint').attr('value');

	var objCallback = new Object();
	objCallback.handleError = function(request) {alert('Site fora do ar temporariamente. Tente novamente em um minuto!');};
	objCallback.ajaxUpdate = function(request)
	{
		m2v.hideLoadingSign();
		var arrayData = parseJSON(request.responseText);
		var result = arrayData.result;
		if (result == 'ok')
			callback.call(this, arrayData);
		else
			alert('Ocorreu um problema: ' + + arrayData.val);
	};
	var loader = new net.ContentLoader(objCallback, url, "GET", ['id=' + inputId, 'op=' + op, 'responseType=message', 'hint=' + hint].concat(arrayExtraParams));
	loader.sendRequest();
	return false;
}


m2v.iusrReplyview = function (event)
{
	alert('iusrReplyview!');
}


// Submete o form de criação / edição de comentário do usuário.
m2v.iusrSubmit = function (event)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	m2v.showLoadingSign(pos, null, true, false);

	var jthis = $(this);
	var formId = jthis.attr('data-form');
	// alert('formId: ' + formId);
	var jform = $('#' + formId);

	var hint = $('#hint').attr('value');
	var commentid = $('#commentid').attr('value'); if (commentid == null) commentid = '';
	var userid = $('#userid').attr('value'); if (userid == null) userid = '';
	var newMail = $('#newMail').attr('value'); if (newMail == null) newMail = '';
	// alert('newMail: ' + newMail + ', userid: ' + userid + ', commentid: ' + commentid + ', hint: ' + hint);

	// Comentário novo e sem usuário logado: precisa ter pelo menos e-mail...
	//alert('2');
	if ((commentid.length == 0 || commentid == '-1') && (userid.length == 0 || userid == '-1'))
	{
		if (newMail.length < 4 || newMail.indexOf('@') == -1)
		{
			m2v.hideLoadingSign();
			/*
			if (newMail.length == 0)
				alert('Por favor, identifique-se (login no site) ou preencha ao menos o campo de e-mail!');
			else
				alert('Por favor, identifique-se (login no site) ou preencha corretamente o campo de e-mail!');
			/*/
			if (newMail.length == 0)
				alert('Por favor, preencha o campo de e-mail!');
			else
				alert('Por favor, preencha corretamente o campo de e-mail!');
			//*/
			return false;
		}
	}

	jform.find('input#responseType').attr('value', 'message');
	var holderId = jform.attr('data-holder');

	// Submete.
	// alert('to: ' + jform.attr('action'));
	m2v.submitForm(formId, jform.attr('action'), function (txtData)
	{
		var result = parseJSON(txtData);
		if (result['result'] != 'ok')
		{
			// alert('Mensagem não enviada!' + txtData);
			alert('Mensagem não enviada! Por favor, tente novamente!');
			//alert(result['message']);
		}
		else
		{
			$('#iusractionmsg').text(m2v.strings['usermessage/post/feedbackok']);

			var jqFloatBox = $('#user_input_message');
			$('#user_input_message').find('div.message').text(m2v.strings['usermessage/post/feedbackok']);

			jqFloatBox.css({left: '85px', top: '50px'});
			jqFloatBox.fadeIn(600);
			setTimeout(function () {
				jqFloatBox.fadeOut(500);
			}, 2800);

			// Apaga os dados do form recém-submetido...
			jform.find("input").each(function() {
				if ($(this).attr('type') != 'hidden')
					$(this).attr('value', '');
			});
			jform.find("textarea").each(function() {
				$(this).attr('value', '');
			});

			// Após a submissão, recarrega os comentários de mesmo nível.
			eval('var urlTmp = m2v.isur_url_' + holderId + '_nopg;');
			urlTmp += '&responseType=contentonly';
			//alert('urlTmp: ' + urlTmp);
			var where2load = $('#' + holderId).find('div.view-userinput');
			$.getJSON(urlTmp, function(jsonResp)
			{
				//alert('jsonResp[content]: ' + jsonResp['content']);
				where2load.html(jsonResp['content']);
				m2v.hideLoadingSign();
			});
		}
	}, function (txtData)
	{
		m2v.hideLoadingSign();
		alert('Verificar se os dados estão preenchidos corretamente');
	});
	return false;
}


// Exibe tela de registro rápido de usuário.
m2v.iusrRegister = function (event)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	// m2v.showLoadingSign(pos, null, true, false);

	var jbox = $('#uinput_register_popup');
	jbox.css('left', (pos[0]-200) + 'px'); jbox.css('top', (pos[1]-30) + 'px');
	jbox.css('width', '300px');
	jbox.css('display', 'block');
	$('#uinput_name').attr('value', $('#newUser').attr('value'));
	return false;
}


// Exibe tela de login rápido
m2v.iusrLogin = function (event)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	// m2v.showLoadingSign(pos, null, true, false);

	var jbox = $('#uinput_login_popup');
	jbox.css('left', (pos[0]-200) + 'px'); jbox.css('top', (pos[1]-30) + 'px');
	jbox.css('width', '200px');
	jbox.css('display', 'block');
	$('#uinput_username').attr('value', $('#newUser').attr('value'));
	if ($('#newMail').length > 0)
		$('#uinput_email').attr('value', $('#newMail').attr('value'));
	return false;
}


// Submete o form de login!
m2v.iusrLoginsubmit = function (event)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	m2v.showLoadingSign(pos, null, true, false);

	var jthis = $(this.parentNode);
	jthis.ajaxForm(function (txtData)
	{
		m2v.hideLoadingSign();
		var result = parseJSON(txtData);
		if (result['result'] != 'ok')
		{
			alert(result['message']);
		}
		else
		{
			alert('Usuário autenticado! Envie seu comentário para atualização do site!');
			$('#inuser').css('display', 'none');
			$('#uinput_login_popup').css('display', 'none');

			// jump js validation!
			$('#userid').attr('value', 'fastlogin');
		}
		return false;
	}).submit();
	return false;
}


// Submete o form de registro!
m2v.iusrRegistersubmit = function (event)
{
	var pos = m2v.findPos(m2v.getEvtTarget(event));
	m2v.showLoadingSign(pos, null, true, false);

	var jthis = $(this.parentNode);
	jthis.ajaxForm(function (txtData)
	{
		m2v.hideLoadingSign();
		var result = parseJSON(txtData);
		if (result['result'] != 'ok')
		{
			alert(result['message']);
		}
		else
		{
			alert('Usuário criado! Envie seu comentário para atualização do site!');
			$('#inuser').css('display', 'none');
			$('#uinput_register_popup').css('display', 'none');
		}
	}).submit();
	return false;
}


// Fecha div
m2v.iusrClosediv = function (event)
{
	var jParent = $(this.parentNode);
	jParent.css('display', 'none');
}

