// Verifica o tamanho
function valida_tamanho(campo, nome, tamanho) {
	if (campo.value.length > tamanho) {
  		alert("O tamanho do campo " + nome + " tem de ser inferior a " + tamanho + " caracteres");
		return(false);
	}
  	return(true);
}

function subscrever(form) {
   if(valida_subscricao(form)) {
      form.submit();
      return true;
   }
}

function valida_subscricao(objecto) { 
   for (i = 0; i < objecto.length; i ++) {
      var tempobj = objecto.elements[i];
      if (tempobj.name == "email") {
         if (tempobj.value == "") {
            alert("O campo do email deve ser preenchido.");
            return false;
         } else {
            var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
            var matchArray = tempobj.value.match(emailPat);
            if (matchArray == null) {
               alert("Formato do email incorrecto.");
               return false;
            }
         }
      }
   }
   return true;   
}

function news_1(objecto, opcao) {
   if (valida_news_1(objecto, opcao)) {
      objecto.submit();
      return true;
   }
   return false;
}

function valida_news_1(objecto, opcao) { 
	var myform=document.createElement("form");
	myform.method = "post";
	myform.action = "wsdinew0.news_1";
	document.body.appendChild(myform);
	var input;
	var v_tematica = 0;
	for (i = 0; i < objecto.length; i ++) {
		var tempobj = objecto.elements[i];
		if (objecto.name == "form_news_1") {
			if (tempobj.name == "p_titulo_tematica") {
				if (tempobj.checked) {
					v_tematica = 1;
				}
				if (tempobj.name == "p_titulo_tematica") {
					input = document.createElement('input');
					input.setAttribute('type', 'hidden');
					input.setAttribute('name', 'p_titulo_tematica');
					input.setAttribute('value', tempobj.value);
					myform.appendChild(input);
				}
			}
		}
	}
	input = document.createElement('input');
	input.setAttribute('type', 'hidden');
	input.setAttribute('name', 'p_opcao');
	input.setAttribute('value', opcao);
	myform.appendChild(input);
	input = document.createElement('input');
	input.setAttribute('type', 'hidden');
	input.setAttribute('name', 'p_accao');
	input.setAttribute('value', opcao);
	myform.appendChild(input);
	if (objecto.name == "form_news_1") {
		for (i = 0; i < objecto.length; i ++) {
			var tempobj = objecto.elements[i];
			if (tempobj.name == "p_tipo") {
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_tipo');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
			if (tempobj.name == "p_titulo") {
				if (tempobj.value == "") {
					alert("O campo do título deve ser preenchido.");
					return false;
				}
				if (!valida_tamanho(tempobj, 'Título da newsletter', 400)) {
					return false;
				}
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_titulo');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
			if (tempobj.name == "p_numero") {
				if (v_tematica == 1) {
					if (tempobj.value == "") {
						alert("O campo do número deve ser preenchido.");
						return false;
					}
					if (!valida_tamanho(tempobj, "Número da newsletter", 10)) {
						return false;
					}
				}
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_numero');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
			if (tempobj.name == "p_mes") {
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_mes');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
			if (tempobj.name == "p_ano") {
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_ano');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
			if (tempobj.name=="p_rodape") {
				//var rodape = htmlEntities(getMCEcontent('p_rodape'));
				var rodape = getMCEcontent('p_rodape');
				var tamanho = rodape.length;
				if(tamanho > 0)
				{
					var repeticoes = Math.ceil(tamanho/25000);
					var resto='';
					var fim=0;
					var inicio=0;
					for (cnt=0;cnt<repeticoes;cnt++)
					{
						inicio = fim;
						//fim = inicio + 25000;
						var escreve=rodape.substr(inicio,25000);
						//alert("Inicio: "+inicio+" Fim: "+fim+" Tamanho: "+escreve.length);
						if (cnt!=repeticoes-1)
						{
							var teste=escreve.lastIndexOf(' ');
							var reallen=escreve.length;
							resto=escreve.substring(teste,reallen);
							//alert("teste: "+teste+" reallen: "+reallen+" resto: "+resto.length);
							escreve=escreve.substr(0,teste);
						}
						fim = inicio + escreve.length;
						//alert("Inicio: "+inicio+" Fim: "+fim+" Tamanho: "+escreve.length);
						input = document.createElement('input');
						input.setAttribute('type', 'hidden');
						input.setAttribute('name', 'p_rodape');
						input.setAttribute('value', escreve);
						myform.appendChild(input);
					}
				}
			 }
			if (tempobj.name == "p_new_id") {
				input = document.createElement('input');
				input.setAttribute('type', 'hidden');
				input.setAttribute('name', 'p_new_id');
				input.setAttribute('value', tempobj.value);
				myform.appendChild(input);
			}
		}
	}
	myform.submit();
    return true;   
}

function valida_news_2(objecto) { 
   for (i = 0; i < objecto.length; i ++) {
      var tempobj = objecto.elements[i];
      if (objecto.name == "form_news_2") {
	 if (tempobj.name == "p_titulo") {
	    if (tempobj.value == "") {
	       alert("O campo do título deve ser preenchido.");
	       return false;
	    }
	 }
      }
   }
   return true;   
}

function news_3(objecto) {
   if (valida_news_3(objecto)) {
      objecto.submit();
      return true;
   }
   return false;
}

function valida_news_3(objecto) { 
   var v_sub = 0;
   var v_blc = -1;
   var v_are_1 = 0;
   var v_are_0 = 0;
   var v_img = -1;
   
   for (i = 0; i < objecto.length; i ++) {
      var tempobj = objecto.elements[i];
      if (tempobj.name == "p_id_subportal") {
         if (tempobj.value == "-1") {
            v_sub = 1;
         }
      }
      if (tempobj.name == "p_blocos") {
         v_blc = 0;
         if (tempobj.value == "-1") {
            v_blc = 1;
         }
      }
      if (tempobj.name == "p_tipo_fich") {
         v_img = 0;
         if (tempobj.value == "0") {
            v_img = 1;
         }
      }
      if (tempobj.name == "p_are_id") {
         if (tempobj.value != "-1") {
            v_are_1 = 1;
         } else if (tempobj.value == "0") {
            v_are_0 = 1;
         }
      }
   }
   if (v_sub == 1 && v_blc == 1) {
      alert("O campo canal/blocos deve ser seleccionado.");
      return false;
   } else if (v_img == 1) {
      alert("O campo Imagem deve ser seleccionado.");
      return false;
   } else {
      if (v_sub == 0) {
         if (v_are_1 == "0") {
            alert("O campo área deve ser seleccionado.");
            return false;
         } else if (v_are_0 == "1") {
            alert("O valor seleccionado no campo área não é permitido.");
            return false;
         }
      } else if (v_blc == -1 && v_sub == 1) {
         alert("O campo canal deve ser seleccionado.");
         return false;
      }
   }
return true;
}

function finaliza_newsletter(objecto, botao) {
   if (valida_finaliza_newsletter(objecto, botao)) {
      objecto.submit();
      return true;
   }
   return false;
}

function valida_finaliza_newsletter(objecto, botao) { 
   for (i = 0; i < objecto.length; i ++) {
      var tempobj = objecto.elements[i];
      if (objecto.name == "form_news_3") {
	 if (tempobj.name == "p_opcao") {
	    tempobj.value = botao;
	 }
	 if (tempobj.name == "p_dt_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Data de Envio deve ser preenchido.");
	       return false;
	    } else {
	       if (!isDate(tempobj.value)) {
	          return false;
	       }
	    }
	 }
	 if (tempobj.name == "p_email_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Mail de envio/Reply deve ser preenchido.");
	       return false;
	    }
	 }
	 if (tempobj.name == "p_titulo_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Título de envio deve ser preenchido.");
	       return false;
	    }
	 }
	 if (tempobj.name == "p_hr_envio") {
	    if (tempobj.value == "") {
	       alert("O campo hora de envio deve ser preenchido.");
	       return false;
	    } else {
               var hourPat = /^\d{2}:\d{2}$/;
               var matchArray = tempobj.value.match(hourPat);
               if (matchArray == null) {
	          alert("Formato da hora incorrecto.");
                  return false;
               }
	    }
	 }
      }
   }
   return true;   
}

function reenvia_newsletter(objecto) {
   if (valida_reenvia_newsletter(objecto)) {
      objecto.submit();
      return true;
   }
   return false;
}

function valida_reenvia_newsletter(objecto) { 
   for (i = 0; i < objecto.length; i ++) {
      var tempobj = objecto.elements[i];
      if (objecto.name == "form_news_4") {
	 if (tempobj.name == "p_dt_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Data de Envio deve ser preenchido.");
	       return false;
	    } else {
	       if (!isDate(tempobj.value)) {
	          return false;
	       }
	    }
	 }
	 if (tempobj.name == "p_email_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Mail de envio/Reply deve ser preenchido.");
	       return false;
	    }
	 }
	 if (tempobj.name == "p_titulo_envio") {
	    if (tempobj.value == "") {
	       alert("O campo Título de envio deve ser preenchido.");
	       return false;
	    }
	 }
	 if (tempobj.name == "p_hr_envio") {
	    if (tempobj.value == "") {
	       alert("O campo hora de envio deve ser preenchido.");
	       return false;
	    } else {
               var hourPat = /^\d{2}:\d{2}$/;
               var matchArray = tempobj.value.match(hourPat);
               if (matchArray == null) {
	          alert("Formato da hora incorrecto.");
                  return false;
               }
	    }
	 }
      }
   }
   return true;   
}