function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g, "");
}

function hasWhiteSpace(s) {
	reWhiteSpace = new RegExp(/\s/);
	if (reWhiteSpace.test(s)) {
		testresults = true;
	}else{
		testresults = false;
	}
	return (testresults);
} 

function isEmailAddr(email){
	var str = email
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)){
		testresults = true;
	}else{
		testresults = false;
	}
	return (testresults);
}

function isValidUsername(username){
	var illegalChars = /\W/;
	
	if (illegalChars.test(username)) {
   		testresults = false;
    }else{
		testresults = true;
	}
	
	return (testresults);
}

function isMobile(number){
	
	validNumber = false;
	
	if (isNaN(number.value) || number.value.length != 9){
		if (number.value.length == 14 && (number.value.indexOf('0035191') == 0 || number.value.indexOf('0035193') == 0 || number.value.indexOf('0035196') == 0 )){
			validNumber = true;
		}else{
			if (number.value.length == 13 && (number.value.indexOf('+35191') == 0 || number.value.indexOf('+35193') == 0 || number.value.indexOf('+35196') == 0 )){
				validNumber = true;
			}else{
				validNumber = false;
			}
		}
	}else{
		if (number.value.indexOf('91') == 0 || number.value.indexOf('93') == 0 || number.value.indexOf('96') == 0){
			validNumber = true;
		}else{
			validNumber = false;
		}
	}
	
	return (validNumber);
}

/*************************************/

function submitValidacaoInicio(){

	msg = "Preencher o(s) seguinte(s) campo(s):\n\n";

	if (document.getElementById('dia').value == '' || document.getElementById('dia').value == 'DD') {
		msg += 'Dia\n';
	}

	if (document.getElementById('mes').value == '')	{
		msg += 'Mês\n';
	}

	if (document.getElementById('ano').value == '' || document.getElementById('ano').value == 'AAAA') {
		msg += 'Ano\n';
	}

	if (document.validacaoInicial.sexo[0].checked == false){
		if (document.validacaoInicial.sexo[1].checked == false){
			msg +='Sexo\n';
		}
	}


	if (msg != 'Preencher o(s) seguinte(s) campo(s):\n\n') {
		alert (msg);
		return false;

	}else{
		document.getElementById('validacaoInicial').submit();
	}
}


function checkSubscription(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmSubscriberName').value) == ''){
		ok = false;
		document.getElementById('frmSubscriberName_required').style.display = 'block';
	} else {
		document.getElementById('frmSubscriberName_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmSubscriberEmail').value) == '' || !isEmailAddr(document.getElementById('frmSubscriberEmail').value) || document.getElementById('frmSubscriberEmail_required').style.display == 'block' ){
		ok = false;
		document.getElementById('frmSubscriberEmail_required').style.display = 'block';
	} else {
		document.getElementById('frmSubscriberEmail_required').style.display = 'none';
	}
	
	if (document.getElementById('frmSubscriberDistrict').value == 0){
		ok = false;
		document.getElementById('frmSubscriberDistrict_required').style.display = 'block';
	} else {
		document.getElementById('frmSubscriberDistrict_required').style.display = 'none';
	}
	
	if (document.getElementsByName('frmSubscriberGender')[0].checked == false){
		if (document.getElementsByName('frmSubscriberGender')[1].checked == false){
			ok = false;
			document.getElementById('frmSubscriberGender_required').style.display = 'block';
		}else{
			document.getElementById('frmSubscriberGender_required').style.display = 'none';
		}		
	}else{
		document.getElementById('frmSubscriberGender_required').style.display = 'none';
	}
	
	
	birthDate = trim(document.getElementById('frmSubscriberBirthYear').value) + '-' + trim(document.getElementById('frmSubscriberBirthMonth').value) + '-' + trim(document.getElementById('frmSubscriberBirthDay').value); 
	
	if (!DataValida(birthDate) ){
		ok = false;
		document.getElementById('frmSubscriberBirthDate_required').style.display = 'block';
	} else {
		document.getElementById('frmSubscriberBirthDate_required').style.display = 'none';
	}
	
	
	if (ok == true){
		submitNewsletterSubscription();	
		document.getElementById('subscriptionRequiredMessage').innerHTML = '';
	}else{
		document.getElementById('subscriptionRequiredMessage').innerHTML = '* por favor valida os campos assinalados';
	}
	
}

function checkInscription() {
	
	var ok = true;
	
	if (trim(document.getElementById('frmInscriptionName').value) == ''){
		ok = false;
		document.getElementById('frmInscriptionName_required').style.display = 'block';
	} else {
		document.getElementById('frmInscriptionName_required').style.display = 'none';
	}
	
	if (document.getElementById('frmInscriptionDiscrict').value == 0){
		ok = false;
		document.getElementById('frmInscriptionDiscrict_required').style.display = 'block';
	} else {
		document.getElementById('frmInscriptionDiscrict_required').style.display = 'none';
	}
	
	if (document.getElementsByName('frmInscriptionGender')[0].checked == false){
		if (document.getElementsByName('frmInscriptionGender')[1].checked == false){
			ok = false;
			document.getElementById('frmInscriptionGender_required').style.display = 'block';
		}else{
			document.getElementById('frmInscriptionGender_required').style.display = 'none';
		}		
	}else{
		document.getElementById('frmInscriptionGender_required').style.display = 'none';
	}
	
	birthDate = trim(document.getElementById('frmInscriptionBirthYear').value) + '-' + trim(document.getElementById('frmInscriptionBirthMonth').value) + '-' + trim(document.getElementById('frmInscriptionBirthDay').value); 
	
	if (!DataValida(birthDate) ){
		ok = false;
		document.getElementById('frmInscriptionBirthDate_required').style.display = 'block';
	} else {
		document.getElementById('frmInscriptionBirthDate_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmInscriptionCode').value) == ''){
		ok = false;
		document.getElementById('frmInscriptionCode_required').style.display = 'block';
	} else {
		document.getElementById('frmInscriptionCode_required').style.display = 'none';
	}
	
	if(inscriptionAnyError()) {
		ok = false;
	}
	
	if (ok == true){
		submitInscription();	
		document.getElementById('inscriptionRequiredMessage').innerHTML = '';
	}else{
		document.getElementById('inscriptionRequiredMessage').innerHTML = '* por favor valida os campos assinalados';
	}
}

function checkLogin(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmLoginEmail').value) == '' || !isEmailAddr(document.getElementById('frmLoginEmail').value)){
		ok = false;
		document.getElementById('frmLoginEmail_required').style.display = 'block';
	} else {
		document.getElementById('frmLoginEmail_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmLoginCode').value) == ''){
		ok = false;
		document.getElementById('frmLoginCode_required').style.display = 'block';
	} else {
		document.getElementById('frmLoginCode_required').style.display = 'none';
	}
	
	if (ok == true){
		userLogin();	
	}
}


function checkFriendInvitation(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmRemetenteEmail').value) == '' || !isEmailAddr(document.getElementById('frmRemetenteEmail').value) ){
		ok = false;
		document.getElementById('frmRemetenteEmail_required').style.display = 'block';
	} else {
		document.getElementById('frmRemetenteEmail_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmEmailsToSend').value) == ''){
		ok = false;
		document.getElementById('frmEmailsToSend_required').style.display = 'block';
	} else {
		document.getElementById('frmEmailsToSend_required').style.display = 'none';
	}
	
	if (ok == true){
		submitFriendInvitation();	
	}
}

function checkContacto(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmContactoNome').value) == ''){
		ok = false;
		document.getElementById('frmContactoNome_required').style.display = 'block';
	} else {
		document.getElementById('frmContactoNome_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmContactoEmail').value) == '' || !isEmailAddr(document.getElementById('frmContactoEmail').value) ){
		ok = false;
		document.getElementById('frmContactoEmail_required').style.display = 'block';
	} else {
		document.getElementById('frmContactoEmail_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmContactoMensagem').value) == ''){
		ok = false;
		document.getElementById('frmContactoMensagem_required').style.display = 'block';
	} else {
		document.getElementById('frmContactoMensagem_required').style.display = 'none';
	}
	
	
	if (ok == true){
		submitContacto();	
		document.getElementById('contactoRequiredMessage').innerHTML = '';
	}else{
		document.getElementById('contactoRequiredMessage').innerHTML = '* por favor valida os campos assinalados';
	}
	
}

function checkEnvioVideo(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmVideoNome').value) == ''){
		ok = false;
		document.getElementById('frmVideoNome_required').style.display = 'block';
	} else {
		document.getElementById('frmVideoNome_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmVideoNomeAmigo').value) == ''){
		ok = false;
		document.getElementById('frmVideoNomeAmigo_required').style.display = 'block';
	} else {
		document.getElementById('frmVideoNomeAmigo_required').style.display = 'none';
	}
	
	if (trim(document.getElementById('frmVideoEmailAmigo').value) == '' || !isEmailAddr(document.getElementById('frmVideoEmailAmigo').value) ){
		ok = false;
		document.getElementById('frmVideoEmailAmigo_required').style.display = 'block';
	} else {
		document.getElementById('frmVideoEmailAmigo_required').style.display = 'none';
	}
	
	if (ok == true){
		submitEnvioVideo();	
		document.getElementById('envioVideoRequiredMessage').innerHTML = '';
	}else{
		document.getElementById('envioVideoRequiredMessage').innerHTML = '* por favor valida os campos assinalados';
	}
	
}

function submitValidacaoFesta(){
	
	var ok = true;
	
	if (trim(document.getElementById('frmValidaPass').value) == ''){
		ok = false;
		document.getElementById('frmValidaPass_required').style.display = 'block';
	} else {
		document.getElementById('frmValidaPass_required').style.display = 'none';
	}
	
	
	if (document.getElementById('frmValidaFesta').value == 0){
		ok = false;
		document.getElementById('frmValidaFesta_required').style.display = 'block';
	} else {
		document.getElementById('frmValidaFesta_required').style.display = 'none';
	}

	
	if (ok == true){
		document.getElementById('festaRequiredMessage').innerHTML = '';
		return ok;
	}else{
		document.getElementById('festaRequiredMessage').innerHTML = '* por favor valida os campos assinalados';
		return ok;
	}
	
}