function msg(n_msg,x){
var msg="Os seguintes campos foram encontrados para estar em branco ou incorretos. \nA verificacao amavel e corrige-o antes de submiting o formulario \n"
msg=msg+"------------------------------------------------------------------\n\n"
msg=msg+n_msg+"\n\n"
if(x==1){alert(msg); return false;}
}

//for email addresses
var regexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

//illegal characters in fields
var illegalCharStr = '~!@#$%^*()<>{}[]=?/\\\":;';

var illegalCharStrWeb = '~!@#$%^*()<>{}[]=?";';
 	
// Removes all characters which appear in string bag from string s.
function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

//check for illegal characters
function checkIlleg(va)
{
	var stripped = stripCharsInBag (va, illegalCharStr);
	if(va != '' && stripped.length < va.length)
	{
		return false;
	}
	return true;
}

//check illegal characters for url
function checkIllegweb(va)
{
	var stripped = stripCharsInBag (va, illegalCharStrWeb);
	if(va != '' && stripped.length < va.length)
	{
		return false;
	}
	return true;
}

//check for tel number
function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

//Verify TEXTAREA field - general
function VerifyMsg(f_ld,c_nt,cnt_fld) {

	var len = f_ld.value.length
	var cl

	if ((len == 1) && (f_ld.value.substring(0, 1) == " ")) {
		f_ld.value = ""
		len = 0
	}
	if (len > (c_nt-10)) {
		f_ld.value = f_ld.value.substring(0, c_nt)
		cl = 0
	}
	else {
		cl = c_nt - len
	}
	eval(cnt_fld).value = cl
}
	

//Delete Record check
function rsDelCheck(url) {
	var conf = confirm("The record will be permanently deleted from the database.\nAre you sure?")
	if(!conf) 
		return false;
	else
		window.location=url;
	}	
//---------------------------	

	
//Request Information validation
//---------------------------	
function RIValidate(){
//alert("3")
	var x=0;
	var err_msg=""
	if(!document.RIForm.fname.value){
		err_msg=err_msg+"Nome proprio\n"; x=1;
		}
	if(!document.RIForm.lname.value){
		err_msg=err_msg+"Apelido\n"; x=1;
		}
	if(!document.RIForm.email.value){
		err_msg=err_msg+"Endereco de correio electronico\n"; x=1;
		}
	else {
		email = document.RIForm.email.value;
		if(email.search(regexp) == -1){
		   	err_msg=err_msg+"Endereco de correio electronico - invalido\n"; x=1;
			}
		}
	if(!document.RIForm.company.value){
		err_msg=err_msg+"Empresa\n"; x=1;
		}
	if(!document.RIForm.phone.value){
		err_msg=err_msg+"Telefone\n"; x=1;
		}	
	if(!document.RIForm.address.value){
		err_msg=err_msg+"Morada\n"; x=1;
		}	
	if(!document.RIForm.countryid[document.RIForm.countryid.selectedIndex].value){
		err_msg=err_msg+"País\n"; x=1;
		}		
	if(!document.RIForm.catid[document.RIForm.catid.selectedIndex].value && !document.RIForm.catid_o.value){
		err_msg=err_msg+"Area de interesse\n"; x=1;
		}
	if(!document.RIForm.comments.value){
		err_msg=err_msg+"Dúvidas / comentarios\n"; x=1;
		}
	if(!document.RIForm.keystring.value){
		err_msg=err_msg+"Corda da verificacao\n"; x=1;
		}
	return msg(err_msg,x)
	}
//---------------------------	


//Request Information validation
//---------------------------	
function DVDRValidate(){
//alert("3")
	var x=0;
	var err_msg=""
	if(!document.RIForm.fname.value){
		err_msg=err_msg+"Nome próprio\n"; x=1;
		}
	if(!document.RIForm.lname.value){
		err_msg=err_msg+"Apelido\n"; x=1;
		}
	if(!document.RIForm.company.value){
		err_msg=err_msg+"Empresa\n"; x=1;
		}		
	if(!document.RIForm.address.value){
		err_msg=err_msg+"Morada\n"; x=1;
		}	
	if(!document.RIForm.city.value){
		err_msg=err_msg+"Cidade\n"; x=1;
		}
	if(!document.RIForm.countryid[document.RIForm.countryid.selectedIndex].value){
		err_msg=err_msg+"País\n"; x=1;
		}	
	if(!document.RIForm.phone.value){
		err_msg=err_msg+"Telefone\n"; x=1;
		}
	if(!document.RIForm.email.value){
		err_msg=err_msg+"Endereço de correio electrónico\n"; x=1;
		}
	else {
		email = document.RIForm.email.value;
		if(email.search(regexp) == -1){
		   	err_msg=err_msg+"Endereço de correio electrónico - invalido\n"; x=1;
			}
		}
		
	if(!document.RIForm.keystring.value){
		err_msg=err_msg+"Corda da verificacao\n"; x=1;
		}
		 
	return msg(err_msg,x)
	}
//---------------------------	



//Log-in Form validation
//---------------------------	
function lgnValidateS(){
//alert("3")
	var x=0;
	var err_msg=""
	if(!document.AdmLgnForm.usrname.value){
		err_msg=err_msg+"User Name\n"; x=1;
		}
	if(!document.AdmLgnForm.pswd.value){
		err_msg=err_msg+"Password\n"; x=1;
		}
	return msg(err_msg,x)
	}
//---------------------------	

//Change Password form Validation
//Uses function msg() defined at top
function passValidateS(){
	var x=0;
	var err_msg=""
	if(!document.PassForm.pswd.value){
		err_msg=err_msg+"Old Password\n"; x=1;
		}
	if(!document.PassForm.pswd1.value){
		err_msg=err_msg+"New Password\n"; x=1;
		}
	if(!document.PassForm.pswd2.value){
		err_msg=err_msg+"Re-enter Password\n"; x=1;
		}
	if(!(document.PassForm.pswd1.value == document.PassForm.pswd2.value) ){
		err_msg=err_msg+"Password Mismatch. Re-enter new passwords.\n"; x=1;
		}
	return msg(err_msg,x);
	}
	

//Change Password form Validation
//Uses function msg() defined at top
function newsValidateS(){
	var x=0;
	var err_msg=""
	if(!document.NewsForm.newstitle.value){
		err_msg=err_msg+"Title\n"; x=1;
		}
	//if(!document.NewsForm.newstext.value){
		//err_msg=err_msg+"Description\n"; x=1;
		//}
	if(!document.NewsForm.newsrldate.value){
		err_msg=err_msg+"Release Date\n"; x=1;
		}
	return msg(err_msg,x);
	}
		
		