﻿function lmp() {document.fnews.email.value = ''}
function goEm() {if(tstNews(document.fnews))document.fnews.submit()}
function tstEmail(email) {
	if(!email.value.match(/.*?@.*?\.[a-zA-Z][a-zA-Z]/) || email.value.match(/www/)) return false;
	return true;
}

function e(mess, obj) {
	alert(mess);
	if(obj) obj.focus();
	return false;
}

function tstTel() {
	var tel = event.keyCode;
	//alert(tel);
	if(event.ctrlKey || event.altKey) return;
	if(tel == 38 || tel == 35 || tel == 37 || tel == 36 || tel == 39 || tel==40 || tel==41 || tel==43 || tel==45 || tel==46 || tel==127 || tel <= 31 || (tel >= 48 && tel <= 57) || (tel>=96 && tel<=105) || tel == 109 || tel == 189 || tel == 187 || tel == 32 || tel == 190) return;
	event.returnValue=false;
}

function tstNum() {
	var tc = event.keyCode;
	//alert(tc);
	if(event.ctrlKey || event.altKey) return;
	if(tc == 38 || tc == 35 || tc == 37 || tc == 36 || tc == 39 || tc==40 || tc==41 || tc==43 || tc==45 || tc==46 || tc==127 || tc <= 31 || (tc >= 48 && tc <= 57) || (tc>=96 && tc<=105)) return;
	event.returnValue=false;
}
function tstct(f) {
	if(f.nome.value=='') return e('Indique o seu nome', f.nome);
	if(f.telefone.value == '' && f.email.value == '') return e('Indique o seu contacto ou endereço de correio electrónico', f.telefone);
	if(f.email.value != '' && !tstEmail(f.email)) return e('Indique correctamente o seu endereço de correio electrónico', f.email);
	if(f.assunto.value == '') return e("Indique o assunto do seu contacto");
	return true;
}

function tstNews(f){if(!tstEmail(f.email)) return e('Indique correctamente o endereço de correio electrónico.', f.email);return true}

function tstCP() {
	var tc = event.keyCode;
	if(event.ctrlKey || event.altKey) return;
	if(tc == 38 || tc == 35 || tc == 37 || tc == 36 || tc == 39 || tc==40 || tc==41 || tc==43 || tc==45 || tc==46 || tc==127 || tc==109 || tc==189 || tc <= 31 || (tc >= 48 && tc <= 57) || (tc>=96 && tc<=105)) return;
	event.returnValue=false;
}

function ow(co, w, h, cb) {
	wd=window.open("img2.php?co="+co+"&cb="+cb, "imagemRA", "width="+(w)+",height="+(h)+",location=no,menubar=no,personalbar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=no");
	if(wd) wd.focus();
}

function owFTP(endereco,w,h) {
	wd=window.open(endereco, "FTP", "width="+(w)+",height="+(h)+",location=no,menubar=no,personalbar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=no");
	if(wd) wd.focus();
}

function tstCB(rd) {
	if(rd.checked) return true;
	else for (x = 0; x < rd.length; x++) if (rd[x].checked) return true;
	return false;
}

function tstDataFinal(data) {
	var res = null;
	if(!(res = data.value.split(/[-\/]/)) || res.length!=3) return e("Data Inválida", data);
	var dia = parseInt(res[0], 10);
	var mes = parseInt(res[1], 10);
	var ano = parseInt(res[2], 10);
	if(dia > 31) return e("Indique correctamente o dia da data", data);
	if(mes > 12) return e('Indique correctamente o mês da data', data);
	if(ano < 1900) return e('Indique correctamente o ano da data', data);
	return true;
}

function tstRC(f) {
	if(f.nome.value == '') return e("Indique o seu nome", f.nome);
	if(f.nome.value.length < 3) return e("Indique correctamente o seu nome", f.nome);
	if(f.email.value == '') return e("Indique o seu endereço de correio electrónico", f.email);
	if(!tstEmail(f.email)) return e('Indique correctamente o endereço de correio electrónico.', f.email);
	if(f.tel.value == '') return e("Indique o seu número de telefone ou fax", f.tel);
	if(f.tel.value.length < 3) return  e("Indique correctamente o seu nmero de telefone", f.tel);
	if(f.rua.value == '') return e("Indique a sua morada", f.rua);
	if(f.rua.value.length < 3) return e("Indique correctamente a sua morada", f.rua);
	return true;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  var texto = new Array (20); // Nome dos Campos uma vez que se est?limitado caracteres Alfanum?icos

	texto ['escola'] 				= 'O campo Escola / Institui袯';
	texto ['morada'] 				= 'O campo Morada';
	texto ['anoescolaridade'] 		= 'O campo Ano de escolaridade';
	texto ['numparticipacoes'] 		= 'O campo N de part. nas acti.';
	texto ['nome'] 					= 'O campo Nome';
	texto ['telefone'] 				= 'O campo N de tel. / telem.';
	texto ['dia'] 					= 'O campo Dia da 1 parte';
	texto ['mes'] 					= 'O campo M鱠da 1 parte';
	texto ['ano'] 					= 'O campo Ano da 1 parte';
	texto ['hora'] 					= 'O campo Hora da 1 parte';
	texto ['minutos'] 				= 'O campo Minutos da 1 parte';
	texto ['dia2'] 					= 'O campo Dia da 2 parte';
	texto ['mes2'] 					= 'O campo M鱠da 2 parte';
	texto ['ano2'] 					= 'O campo Ano da 2 parte';
	texto ['hora2'] 				= 'O campo Hora da 2 parte';
	texto ['minutos2'] 				= 'O campo Minutos da 2 parte';
	texto ['email']			= 'O campo E-mail';
	texto ['comentario']	= 'O campo Coment౩o';
	texto ['nome_dest'] 	= 'O campo Nome do destinat౩o';
	texto ['email_dest']	= 'O campo E-mail do destinat౩o';



  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name;
	if(texto [nm] === undefined) { texto [nm] ='Campo' ;}
	if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- ' + texto [nm] +' deve ser v૩do.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+ texto [nm] +' deve conter um nmero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+ texto [nm] +' deve conter um nmero entre '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+ texto [nm] +' de preenchimento obrigat򱨯.\n'; }
  } if (errors) alert('Os seguintes erros ocorreram:\n'+errors);
  document.MM_returnValue = (errors == '');
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);

function insertOptionBefore(elSel1,num,texto,valor)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = texto;
  elOptNew.value = valor;
  var elOptOld = elSel1.options[num];  
  try {
    elSel1.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel1.add(elOptNew, num); // IE only
  }
}
function addOption(theSel, theText, theValue)
{
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteOption(theSel, theIndex)
{ 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

// para swap entre selects
function troca(elSel,elNome,adiciona){
  var elSel1 = document.getElementById(elSel);
  var elSel2 = document.getElementById(elNome);
  var elSelT = document.getElementById(adiciona);

  for(i = 0; i < elSel1.options.length; i++) {
    if(elSel1.options[i].selected)
    {
			addOption(elSel2,elSel1.options[i].text,elSel1.options[i].value);
			deleteOption(elSel1,i);
		}
	}
	elSelT.value="";
  for(i = 0; i < elSel2.options.length; i++) {
  	elSelT.value+=elSel1.options[i].text+",";
	}
}

function troca2(elSel,elNome,adiciona){
  var elSel1 = document.getElementById(elSel);
  var elSel2 = document.getElementById(elNome);
  var elSelT = document.getElementById(adiciona);

  for(i = 0; i < elSel2.options.length; i++) {
    if(elSel2.options[i].selected)
    {
  		texto=elSel2.options[i].text;
  		valor=elSel2.options[i].value-0;

    	anterior=-1;
    	anteriort="";
		  for(n = 0; n < elSel1.options.length; n++) {
	    	if(valor < (elSel1.options[n].value-0)){
	    		anterior=n;
	    		anteriort=elSel1.options[n].text;
	    		n=elSel1.options.length;
	    	}
		  }
	    if(anterior>-1){
		    insertOptionBefore(elSel1,anterior,texto,valor);
			}else addOption(elSel1, texto, valor);
			deleteOption(elSel2,i);
		}
	}
	elSelT.value="";
  for(i = 0; i < elSel2.options.length; i++) {
  	elSelT.value+=elSel1.options[i].text+",";
	}
}

function preencheLista(elSel){
  var i;
  var lista=new Array();
  var elSel1 = document.getElementById(elSel);
  for(i = 0; i < elSel1.options.length; i++) {
     lista[i]=elSel1.options[i].text;
     elSel1.options[i].value=i;
  }
  return lista;
}

function preencheListaSel(elSel){
  var i;
  var lista=new Array();
  var elSel1 = document.getElementById(elSel);
  c=0;
  for(i = 0; i < elSel1.options.length; i++) {
     lista[i]=elSel1.options[i].selected;
     if(lista[i])c++;
  }
  if(c>1)document.getElementById('radios').style.display='block';
	else document.getElementById('radios').style.display='none';

  return lista;
}

