//	JavaScript Document
/*************************************************/
//	MOSTRAR ALERTA NA TELA
function ShwAlert(MSG, OBJ)
{
	WIDTH	= 400;
	LEFT 	= ((screen.width) / 2) - 300;
	TOP  	= ((screen.height) / 2) - 160;

	// REMOVER SE JÁ TIVER UM ALERTA ABERTO
	$('#COVER').remove();

	$('<div id="COVER"></div>')
		.prependTo('body')
		.html('<span id="ALERTA">'+MSG+'</span>');

	$('span#ALERTA')
		.css({
			'position':'fixed',
			'width': WIDTH,
			'left': LEFT,
			'top': TOP
		});

	$('div#COVER')
		.fadeIn('slow')
		.animate({opacity: 1.0}, 2500)
		.fadeOut('slow', function() {
			$(this).remove();
		 });

}
/***********************/

function txtCounter(OBJ, SHOW, EVENT, MAX)
{
	var EVT		= (EVENT) ? EVENT : (window.event) ? window.event : '';
	var NTECLA	= (EVT.which) ? EVT.which : EVT.keyCode;
	if((NTECLA < 31) && (NTECLA != 8 && NTECLA != 9))
	{
		return false;
	}

	if (OBJ.value.length > MAX)
	{
		OBJ.value = OBJ.value.substring(0, MAX);
		alert('Número máximo alcançado: '+MAX+' caracteres');
	}
	else
	{
		if(SHOW)
		{
			document.getElementById(SHOW).value = MAX - OBJ.value.length;
		}
	}
}


function chgValue (OBJ, VALUE)
{
	if (OBJ.value === '')
	{
		OBJ.value = VALUE;
	}
	else if (OBJ.value == VALUE)
	{
		OBJ.value = '';
	}
}

/* ***************************************************************************** */

//	JS QUE INSERE UM CAMPO tipo COM NOME nome E VALUE obj DENTRO DE doc	
function insField (NM_FORM, TIPO, NOME, OBJ)
{
	var DOC				= document.forms[NM_FORM];
	var newACT			= document.createElement('INPUT');

	if(newACT)
	{
		newACT.type		= TIPO;
		newACT.name 	= NOME;
		newACT.value	= OBJ;

		DOC.appendChild( newACT );
		return true;
	}
	else
	{
		return false;
	}
}

//	JS QUE ANALISA O FORM E VERIFICA SE OS CAMPOS COM title='Obrigatório' ESTÃO PREENCHIDOS	
function chkFields (NM_FORM)
{
	var NOME, ID, NID, TITLE, TIPO, VAL, REL, MSG;

	$('form#'+NM_FORM+' :input, form#'+NM_FORM+' :select, form#'+NM_FORM+' :textarea').each( function()
	{
		NOME	= $(this).attr('name');
		ID		= $(this).attr('id');
		NID 	= ID.replace(/_/g, ' ');
		TITLE	= $(this).attr('title');
		VAL		= $(this).val();

		if (TITLE=='Obrigatório' && (VAL==='' || VAL===null || VAL==' ' || VAL=='0' || VAL===false || VAL=='Digite seu nome' || VAL=='Digite seu email'))
		{
			switch ($(this).attr('type')) {
				case 'select-one'	: MSG = 'Selecione uma opção para '+NID; break;
				case 'checkbox'		: MSG = 'Você precisa ler e aceitar os termos de uso do site'; break;
				default				: MSG = 'Preencha o campo '+NID; break;
			}
			
			ShwAlert(MSG, '#'+ID);
			$(this).focus();
			return false;
			

		}

		if ((NOME=='Login' || NOME=='Senha') && VAL.length < 5)
		{
			MSG = 'O campo '+NOME+' deve conter no mínimo 5 caracteres';
			ShwAlert(MSG, '#'+ID);
			$(this).focus();
			return false;
		}
		
		REL 	= $(this).attr('rel');
		if(REL)
		{
			var SAME = $('#'+REL).attr('value');
			if(VAL != SAME)
			{
				MSG = 'Os campos '+REL+' e '+NID+' não conferem!';
				ShwAlert(MSG, '#'+ID);
				$(this).focus();
				return false;
			}
		}
	});

	if(!MSG)
		return true;
}

//	VALIDAÇÃO SIMPLES, APENAS ANALISA OS CAMPOS OBRIGATÓRIOS
function SendForm(NM_FORM)
{
	if(chkFields(NM_FORM) === true)
	{
		$('form#'+NM_FORM).submit();
	}
}

function ExcForm(NM_FORM)
{
	if(confirm('Deseja realmente excluir esse conteúdo?') === true)
	{
		insField(NM_FORM, 'hidden', 'EXC', 'EXC');
		$('form#'+NM_FORM).submit();
	}
}

// CADASTRO DE USUARIOS DO SITE
function cad_User (NM_FORM, ACT)
{
	ShwAlert('Aguarde ...', 'input#BT_ENVIAR');
	
	var DOC		= document.forms[NM_FORM];
	var LIST	= DOC.elements;
	
	if(chkFields (NM_FORM) === true)
	{
		if(ACT=='PSW')
		{
			if ((DOC.Senha.value).length < 5)
			{
				ShwAlert('Sua nova senha deve conter no mínimo 5 caracteres', 'input#Senha');
				DOC.Senha.focus();
				return false;
			}
			else if (DOC.Senha.value != DOC.Confirmar_Senha.value)
			{
				ShwAlert('Sua nova senha não confere com a confirmação de senha', 'input#Confirmar_Senha');
				DOC.Confirmar_Senha.focus();
				return false;
			}
		}
		else
		{
			var SEND = 'lg='+DOC.Login.value+'&em='+DOC.Email.value;
		}
	
		$.ajax({
			type		: "POST",
			data		: 'lg='+DOC.Login.value+'&em='+DOC.Email.value,
			url			: "ajx_cad_source.php",
			success		: function(msg)
			{
				if(msg=='ok')
				{
					if(insField (NM_FORM, 'hidden', 'ACT', 'REC'))
					{
						DOC.submit();
					}
					else
					{
						ShwAlert('Ocorreu um erro, tente novamente', 'input#BT_ENVIAR');
					}
				}
				else
				{
					ShwAlert(msg, 'input#BT_ENVIAR');
				}
			},
			error		: function(txt)
			{
				ShwAlert(txt, 'input#BT_ENVIAR');
			}
		});
	}
}

/*************************************************/
//	EXCLUIR USUÁRIO
function rem_User (NM_FORM, NID)
{
	var DOC		= document.forms[NM_FORM];

	if(confirm ('Deseja realmente cancelar definitivamente seu cadastro no site?') === true)
	{
		if(insField (NM_FORM, 'hidden', 'kid', 'EXC'))
		{
			DOC.action = 'cad_rem.php';
			DOC.submit();
		}
		else
		{
			alert('Ocorreu um erro, tente novamente');
		}
	}
}

//	JS QUE CONFIRMA EXCLUSÃO DE CONTEÚDO
function rem_Conteudo (TIPO, ID)
{
	if(confirm('Você deseja realmente excluir definitivamente este conteúdo?') === false)
	{
		return false;
	}
	ajx_REM_Conteudo (TIPO, ID);
}

//	CADASTRO DE COMENTARIOS DE CONTEUDOS
function cad_Comm (NM_FORM, TIPO, ID)
{
	if(chkFields (NM_FORM) === false)
	{
		return false;
	}
	
	ajx_SEND_Coment (NM_FORM, TIPO, ID);
}

//	CADASTRO DE DENÚNCIAS DE CONTEUDOS
function cad_Den (NM_FORM, TIPO, USR, ID)
{
	if(chkFields (NM_FORM) === false)
	{
		return false;
	}
	
	ajx_SEND_Denuncia (NM_FORM, TIPO, USR, ID);
}