var filter_tel = /\(?\d{3}\)?([-\/\.])\d{3}\1\d{4}/; //phone number

var filter_digit =  /^\d+$/;   //All-digit

var filter_digit_non_zero =  /^[1-9]\d*$/;   //All-digit, non-zero

var filter_two_digit = /^\d{1,2}$/;

var filter_alphanumeric = /^[a-z\d]{1,25}$/i; // only alphanumerics, and length 6-10

var filter_alpha = /[A-Za-z]{2,25}$/i;

var filter_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

var max_length_textarea = 3000;
var max_length_textarea_news = 30000;

/*var scrollingNews = new Array();
var scrollDelay = 3000;
var scrollNewsNumber = 0;
var increment = 1;*/
 

/*
Variabili per xmlhttprequest
*/
var req;
var destinazione;

/*
Instanzia un oggetto XMLHttpRequest
Vai usata all'inizio di qualunque applicazione
 
function createXMLObject()
{
	req = false;
    if(window.XMLHttpRequest) {
    	try { 
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        } 
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try { 
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		} 
    }
}

function loadXMLDoc(url) {
	createXMLObject();
	if(req) { 
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send("");
	}
}
 
function processReqChange() {
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            riempitesto();
         } else { 
            alert("C'Ã¨ un problema nel ricevere i dati xml:\n" +
                req.statusText);
         }
    }
} 

function riempitesto()
{
	 var xmlobj = replaceEntities(req.responseText);
	 document.getElementById(destinazione).innerHTML= xmlobj;
	 setNews();
}	  
 
function replaceEntities(str) 
{
		var txt=str;
     	txt=txt.replace(/&lt;/g,"<");
      txt=txt.replace(/&gt;/g,">");	
      return txt;
} 


function load(url)
{
		destinazione="body";	
		loadXMLDoc(url);
} 
*/


/*function setNews(news1, news2, news3, news4, news5){
	scrollingNews[0] = news1;
	scrollingNews[1] = news2;
	scrollingNews[2] = news3;
	scrollingNews[3] = news4;
	scrollingNews[4] = news5;
} */

/********************GESTORE NEWS *********/
var stringa="";
var testo="testo";
var contenitore="contenitore";
var width=0;
var conta=1;
var interval=20;
var flag=0;

function setNews()
{
	if(document.getElementById('News0'))
	{
		stringa=document.getElementById('News0').value+"&nbsp;&nbsp;&nbsp;";	
		stringa+=document.getElementById('News1').value+"&nbsp;&nbsp;&nbsp;";
		stringa+=document.getElementById('News2').value+"&nbsp;&nbsp;&nbsp;";	
		stringa+=document.getElementById('News3').value+"&nbsp;&nbsp;&nbsp;";
		stringa+=document.getElementById('News4').value+"&nbsp;&nbsp;&nbsp;";	
		stringa+=document.getElementById('News5').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News6').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News7').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News8').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News9').value+"&nbsp;&nbsp;&nbsp;";						
		stringa+=document.getElementById('News10').value+"&nbsp;&nbsp;&nbsp;";				
		stringa+=document.getElementById('News11').value+"&nbsp;&nbsp;&nbsp;";				
		stringa+=document.getElementById('News12').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News13').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News14').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News15').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News16').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News17').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News18').value+"&nbsp;&nbsp;&nbsp;";			
		stringa+=document.getElementById('News19').value+"&nbsp;&nbsp;&nbsp;";
		inizializza();
	} 
}

function getFontSize(el) { 
 var x = document.getElementById(el); 
 if (window.ActiveXObject) { 
  // IE 
  var y = x.currentStyle["font-size"]; 
 } else if (window.getComputedStyle) { 
  // FF, Opera
  var y = document.defaultView.getComputedStyle(x,null).getPropertyValue("font-size"); 
 } 
 return y; 
} 

function inizializza()
{ 
	var cont=document.getElementById(contenitore);
	var elem=document.getElementById(testo);
	elem.innerHTML=stringa;
	width=Math.round(((parseInt(getFontSize(testo))/2.6760563)*stringa.length))+5;

	var thisx=parseInt(elem.style.left);
	var width_cont=parseInt(cont.style.width);
	if((thisx+width)<width_cont)
	{
		var newDiv=elem.cloneNode(true);
		newDiv.id = testo+""+conta;
		conta++;
		newDiv.style.left=(thisx+width+1)+"px";
		newDiv.innerHTML=stringa;
		newDiv.style.overflow="hidden";
		newDiv.style.width=width+"px";
		newDiv.style.position="absolute"; 
		newDiv.style.top="0px";

      elem.parentNode.appendChild(newDiv);
		//scorri(newDiv.id);
	}
	scorri(testo);
}


function scorri(elemento)
{

	var cont=document.getElementById(contenitore);
	var elem=document.getElementById(elemento);
	
	var thisx=parseInt(elem.style.left);
	
	//alert(thisx);
	
	var width_cont=parseInt(cont.style.width);
	
  
	
	if((thisx+width)==width_cont)
	{
		  var newDiv = document.createElement("div");
		  //var newDiv=elem.cloneNode(true);
        newDiv.id = testo+""+conta;
        conta++;
        
		  newDiv.style.left=(thisx+width+1)+"px";
        
        newDiv.innerHTML=stringa;
		  newDiv.style.overflow="hidden"; 
	  	  newDiv.style.position="absolute"; 
		  newDiv.style.top="0px";
        newDiv.style.width=width+"px";
	
        elem.parentNode.appendChild(newDiv);
        
		  scorri(newDiv.id);
	}
	else
	{
		if((thisx+width)<0)
		{
		 	elem.parentNode.removeChild(elem);
		 	return;
		}	
	}
	
	if(flag==0)
	{
		elem.style.left=(thisx-1)+"px";
	}
	var repeat="scorri('"+elemento+"')";

	setTimeout(repeat,interval);
	
}

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


function giveFocus(){
	if(document.formRegisterStep1){
		document.formRegisterStep1.username.focus();
	}
	if(document.formRegisterStep2){
		document.formRegisterStep2.firstName.focus();
	}
	if(document.formSearchUser){
		document.formSearchUser.searchString.focus();
	}
	if(document.formAddUserStep1){
		document.formAddUserStep1.username.focus();
	}
	if(document.formAddUserStep2){
		document.formAddUserStep2.firstName.focus();
	}
	if(document.formModifyUserStepAccessData){
		document.formModifyUserStepAccessData.password.focus();
	}
	if(document.formChangePassword){
		document.formChangePassword.oldPassword.focus();
	}
	return true;
}

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
	  retValue = retValue.substring(1, retValue.length);
	  ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
	  retValue = retValue.substring(0, retValue.length-1);
	  ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
	  retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function

function openWindow(address, name){
	window.open(address, name, "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, left=0, top=0, screenX=0, screenY=0, width=800 height=" + (screen.height - 60));
}

function popUp(url, target, sw, sh) {
	mode = "statusbar=no, menubar=no, scrollbars=yes, resizable=no, ";
	mode = mode + "width=" + sw + ", height=" + sh + ", ";
	mode = mode + "top=0, left=0, screenX=0, screenY=0";
	newwin = window.open(url, target, mode);
	return true;
}

function verifyLogin(){
	var username = trim(document.form_login.username.value);
	var pass = trim(document.form_login.pass.value);

	if(username == ""){
		alert('Insert username.');
		document.form_login.username.focus();
		return false;
	}
	if(pass == ""){
		alert('Insert password.');
		document.form_login.pass.focus();
		return false;
	}
	return true;
}

function verifyLoginPrinc(){
	if(!trim(document.form_login_princ.username.value)){
		alert('Insert username.');
		document.form_login_princ.username.focus();
		return false;
	}
	if(!trim(document.form_login_princ.pass.value)){
		alert('Insert password.');
		document.form_login_princ.pass.focus();
		return false;
	}
	return true;
}

function verifyForgetPassword(){
	var username = trim(document.form_princ.username.value);

	if(username == ""){
		alert('Insert username.');
		document.form_princ.username.focus();
		return false;
	}
	return true;
}

function verifyNotify(){	
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var job = trim(document.form_princ.job.value);
	var email = trim(document.form_princ.email.value);	
	var failure = trim(document.form_princ.failure.value);

	if(firstName == ""){
		alert("Insert first name");
		document.form_princ.firstName.focus();
		return (false);
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return (false);
		}
	}	
	if(lastName == ""){
		alert("Insert last name");
		document.form_princ.lastName.focus();
		return (false);
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return (false);
		}
	}	
	if ( (job != "") && !(filter_alpha.test(job)) ) {
		alert("Position is not correct.");
		document.form_princ.job.focus();
		return (false);
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if(failure == ""){
		alert("Please describe the cause of not working.");
		document.form_princ.failure.focus();
		return (false);
	}
	else { 
		if (failure.length > max_length_textarea){
			alert("Description must contain at most 3000 characters.");
			document.form_princ.failure.focus();
			return (false);
		}
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return (false);
	}
	return (true);
}

function verifyRegisterRSS(){	
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var company = trim(document.form_princ.company.value);
	var job = trim(document.form_princ.job.value);
	var phone_number = trim(document.form_princ.phoneNumber.value);
	var email_id = trim(document.form_princ.email_id.value);
	var email_domain = trim(document.form_princ.email_domain.value);
	
	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return false;
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return false;
		}
	}
	if(company == ""){
		alert("Insert your company .");
		form_princ.company.focus();
		return false;
	}	
	if(job == ""){
		alert("Insert your position.");
		document.form_princ.job.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(job)) {
			alert("Position not valid.");
			document.form_princ.job.focus();
			return false;
		}
	}
	if(phone_number == ""){
		alert("Insert phone number.");
		document.form_princ.phoneNumber.focus();
		return false;
	}
	if(email_id == ""){
		alert("Insert E-Mail ID");
		document.form_princ.email_id.focus();
		return false;
	}
	if(email_domain == ""){
		alert("Insert email demain.");
		document.form_princ.email_domain.focus();
		return false;
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function verifyRegisterPagamento(){	
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var company = trim(document.form_princ.company.value);
	var job = trim(document.form_princ.job.value);
	var phone_number = trim(document.form_princ.phoneNumber.value);
	var email = trim(document.form_princ.email.value);
	var city = trim(document.form_princ.City.value);	
	
	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return (false);
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return (false);
		}
	}
	if(company == ""){
		alert("Insert your company.");
		form_princ.company.focus();
		return false;
	} 
	if(job == ""){
		alert("Insert your position.");
		document.form_princ.job.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(job)) {
			alert("Position not valid.");
			document.form_princ.job.focus();
			return false;
		}
	}
	if(phone_number == ""){
		alert("Insert phone number.");
		document.form_princ.phoneNumber.focus();
		return false;
	}
	if(city == ""){
		alert("Insert city of residence.");
		document.form_princ.City.focus();
		return false;
	}	
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function verifyRegisterWebmaster(){	
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var company = trim(document.form_princ.company.value);
	var job = trim(document.form_princ.job.value);
	var phone_number = trim(document.form_princ.phoneNumber.value);
	var email = trim(document.form_princ.email.value);
	var url = trim(document.form_princ.URL.value);
	
	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return (false);
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return (false);
		}
	}
	if(company == ""){
		alert("Insert your company.");
		form_princ.company.focus();
		return false;
	} 
	if(job == ""){
		alert("Insert your position.");
		document.form_princ.job.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(job)) {
			alert("Position not valid.");
			document.form_princ.job.focus();
			return false;
		}
	}
	if(phone_number == ""){
		alert("Insert phone number.");
		document.form_princ.phoneNumber.focus();
		return false;
	}
	if (email == "") {
		alert("Insert e-mail address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if(url == ""){
		alert("Insert URL.");
		document.form_princ.URL.focus();
		return false;
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function verifyRegisterStep1(){
	var username = trim(document.form_princ.username.value);

	if (username == ""){
		alert("Insert username.");
		document.form_princ.username.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(username)) {
			alert("Username not valid.");
			document.form_princ.username.focus();
			return (false);
		}
	}	
	return true;
}

function verifyRegisterStep2(){
	var email = trim(document.form_princ.email.value);
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var profession = trim(document.form_princ.profession.value);
	var home_country = trim(document.form_princ.Country.value);
	var home_phone_number1 = trim(document.form_princ.PhoneNumber.value);
	var home_phone_number2 = trim(document.form_princ.MobilePhone.value);
	var company = trim(document.form_princ.company.value);

	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return (false);
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return (false);
		}
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if(profession == ""){
		alert("Insert profession.");
		document.form_princ.profession.focus();
		return false;
	}
	if(home_country == ""){
		alert("Insert country.");
		document.form_princ.Country.focus();
		return false;
	}
	if((home_phone_number1 == "") && (home_phone_number2 == "")){
		alert("Insert home or private phone number. ");
		document.form_princ.PhoneNumber.focus();
		return false;
	}
	return true;
}

function verifyRegisterStep4(){
   var nr=-1;
	for(j=0, nr=-1; j<document.form_princ.length; j++)
	{
		if(document.form_princ[j].checked){
			nr++;
			if(nr>3){
				alert("You can select at most 3 categories.");
				return false;
			} 
		}
	}
	if (nr == 0){
		alert("Select categories.");
		return false;
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function adminValidateAddUserStep1(){
	var username = trim(document.form_princ.username_user.value);
	var password = trim(document.form_princ.password.value);
	var confirm_password = trim(document.form_princ.confirmPassword.value);
	var tipo_abbonamento = trim(document.form_princ.userGroup.value);

	if(username == ""){
		alert("Insert username.");
		document.form_princ.username_user.focus();
		return false;
	}
	if(password == ""){
		alert("Insert password.");
		document.form_princ.password.focus();
		return false;
	}
	if(confirm_password == ""){
		alert("Confirm password.");
		document.form_princ.confirmPassword.focus();
		return false;
	}
	if(password != confirm_password){
		alert("Password and Confirm password are not coincident.\nReinsert password and confirm password.");
		document.form_princ.password.value = "";
		document.form_princ.confirmPassword.value = "";
		document.form_princ.password.focus();
		return false;
	}
	if(tipo_abbonamento == ""){
		alert("Select subscription.");
		document.form_princ.userGroup.focus();
		return false;
	}
	return true;
}

function adminValidateAddUserStep2(){
	var email = trim(document.form_princ.email.value);
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var profession = trim(document.form_princ.profession.value);
	var home_country = trim(document.form_princ.homeCountry.value);
	var home_phone_number1 = trim(document.form_princ.homePhoneNumber1.value);
	var home_phone_number2 = trim(document.form_princ.homePhoneNumber2.value);
	var company = trim(document.form_princ.company.value);

	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if(profession == ""){
		alert("Insert your profession.");
		document.form_princ.profession.focus();
		return false;
	}
	if(home_country == ""){
		alert("Insert country.");
		document.form_princ.homeCountry.focus();
		return false;
	}
	if((home_phone_number1 == "") && (home_phone_number2 == "")){
		alert("Insert phone number.");
		document.form_princ.homePhoneNumber1.focus();
		return false;
	}
	if(company == ""){
		alert("Insert company.");
		document.form_princ.company.focus();
		return false;
	} 
	return true;
}

function adminValidateAddUserStep4(){
	for(j=0, nr=0; j<22; j++){
		if(document.form_princ[j].checked){
			nr++;
		}
	}
	if (nr == 0){
		alert("Select categories.");
		return false;
	}
	return true;
}

function adminValidateSendComunicate(){
	var ogg = trim(document.form_princ.oggetto.value);
	var testo = trim(document.form_princ.testo.value); 

	if(ogg == ""){
		alert("Insert object.");
		document.form_princ.oggetto.focus();
		return false;
	} 
	if(testo == ""){
		alert("Insert text.");
		document.form_princ.testo.focus();
		return false;
	} 
	return true;
}

function adminModifyUser(){
	var username = trim(document.form_princ.username.value);
	var email = trim(document.form_princ.email.value);
	var firstName = trim(document.form_princ.firstName.value); 
	var lastName = trim(document.form_princ.lastName.value);
	var home_country = trim(document.form_princ.homeCountry.value);
	var home_phone_number1 = trim(document.form_princ.homePhoneNumber1.value);
	var home_phone_number2 = trim(document.form_princ.homePhoneNumber2.value);
	var company = trim(document.form_princ.company.value);

	if(username == ""){
		alert("Insert username.");
		document.form_princ.username.focus();
		return false;
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	if(company == ""){
		alert("Insert company.");
		document.form_princ.company.focus();
		return false;
	} 
	if(home_country == ""){
		alert("Insert country.");
		document.form_princ.homeCountry.focus();
		return false;
	}
	if((home_phone_number1 == "") && (home_phone_number2 == "")){
		alert("Insert home or private phone number .");
		document.form_princ.homePhoneNumber1.focus();
		return false;
	}
	return true;
}

function openHelpWin(url){
	window.open(url, 'myname', 'location=no, menubar=no, resazible=no, width=400, height=250');
	return false;
}

function openLastVersionFeedReader(){
	window.open('last_version.php', 'playerWin', 'location=no, menubar=no, resazible=no, width=500, height=200');
	return false;
}

function openTable(tableId){
	window.open('see_table.php?tableId=' + tableId, 'playerWin', 'location=no, menubar=no, scrollbars=yes, resizable=no, width=700, height=800');
	return false;
}

function openVideoPlayer(videoId){
	window.open('see_video.php?videoId='+videoId, 'playerWin', 'location=no, menubar=no, resazible=no, width=400, height=500');
	return false;
}

function openAudioPlayer(audioId){
	window.open('see_audio.php?audioId=' + audioId, 'playerWin', 'location=no, menubar=no, resazible=no, width=400, height=400');
	return false;
}

function verifyAddUserStep1(){
	if(!document.formAddUserStep1.username.value){
		alert("Insert username.");
		document.formAddUserStep1.username.focus();
		return false;
	}
	if(!document.formAddUserStep1.password.value){
		alert("Insert password.");
		document.formAddUserStep1.password.focus();
		return false;
	}
	if(!document.formAddUserStep1.confirmPassword.value){
		alert("Confirm password.");
		document.formAddUserStep1.confirmPassword.focus();
		return false;
	}
	if(document.formAddUserStep1.password.value != document.formAddUserStep1.confirmPassword.value){
		alert("Password and Confirm Password are not coincident.\nReinsert Password and Confirm Password.");
		document.formAddUserStep1.password.value='';
		document.formAddUserStep1.confirmPassword.value='';
		document.formAddUserStep1.password.focus();
		return false;
	}
	if(document.formAddUserStep1.date[1].checked){
		if(document.formAddUserStep1.anotherDateMonth.value == 2){
			if(document.formAddUserStep1.anotherDateYear.value %4 == 0){
				if(document.formAddUserStep1.anotherDateDay.value > 29){
					alert("Invalid date, only 29 days on february in "+document.formAddUserStep1.anotherDateYear.value+".");
					return false;
				}
			}
			else {
				if(document.formAddUserStep1.anotherDateDay.value > 28){
					alert("Invalid date, only 28 days on february in "+document.formAddUserStep1.anotherDateYear.value+".");
					return false;
				}
			}
		}
		if(document.formAddUserStep1.anotherDateMonth.value == 4){
			if(document.formAddUserStep1.anotherDateDay.value == 31){
				alert("Invalid date, only 30 days on april");
				return false;
			}
		}
		if(document.formAddUserStep1.anotherDateMonth.value == 6){
			if(document.formAddUserStep1.anotherDateDay.value == 31){
				alert("Invalid date, only 30 days on june");
				return false;
			}
		}
		if(document.formAddUserStep1.anotherDateMonth.value == 9){
			if(document.formAddUserStep1.anotherDateDay.value == 31){
				alert("Invalid date, only 30 days on september");
				return false;
			}
		}
		if(document.formAddUserStep1.anotherDateMonth.value == 11){
			if(document.formAddUserStep1.anotherDateDay.value == 31){
				alert("Invalid date, only 30 days on november");
				return false;
			}
		}
	}
	return true;
}

function verifyModifyUserStepAccessData(){
	if(document.formModifyUserStepAccessData.password.value != document.formModifyUserStepAccessData.confirmPassword.value){
		alert("Password and Confirm Password must be coincident.\nAllora rescrive Password e Conferma Password.");
		document.formModifyUserStepAccessData.password.value='';
		document.formModifyUserStepAccessData.confirmPassword.value='';
		document.formModifyUserStepAccessData.password.focus();
		return false;
	}
	if(document.formModifyUserStepAccessData.firstDateMonth.value == 2){
		if(document.formModifyUserStepAccessData.firstDateYear.value %4 == 0){
			if(document.formModifyUserStepAccessData.firstDateDay.value > 29){
				alert("Invalid date, only 29 days on february in "+document.formModifyUserStepAccessData.firstDateYear.value);
				return false;
			}
		}
		else{
			if(document.formModifyUserStepAccessData.firstDateDay.value > 28){
				alert("Invalid date, only 28 days on february in "+document.formModifyUserStepAccessData.firstDateYear.value);
				return false;
			}
		}
	}
	if(document.formModifyUserStepAccessData.firstDateMonth.value == 4){
		if(document.formModifyUserStepAccessData.firstDateDay.value == 31){
			alert("Invalid date, only 30 days on april");
			return false;
		}
	}
	if(document.formModifyUserStepAccessData.firstDateMonth.value == 6){
		if(document.formModifyUserStepAccessData.firstDateDay.value == 31){
			alert("Invalid date, only 30 days on june");
			return false;
		}
	}
	if(document.formModifyUserStepAccessData.firstDateMonth.value == 9){
		if(document.formModifyUserStepAccessData.firstDateDay.value == 31){
			alert("Invalid date, only 30 days on september");
			return false;
		}
	}
	if(document.formModifyUserStepAccessData.firstDateMonth.value == 11){
		if(document.formModifyUserStepAccessData.firstDateDay.value == 31){
			alert("Invalid date, only 30 days on november");
			return false;
		}
	}
}

function validateDate(day, month, year){
	if(month > 0 && day > 0 && year > 0){
		if((month == 2 && year % 4 == 0 && day > 29) ||
		(month == 2 && year % 4 != 0 && day > 28) ||
		(month == 4 && day > 30) ||
		(month == 6 && day > 30) ||
		(month == 9 && day > 30) ||
		(month == 11 && day > 30)){
			return false;
		}
	}
	else{
		if(day > 0 || month > 0 || year >0){
			return false;
		}
	}
	return true;
}

function validateViewAccessForm(myForm){
	if(isNaN(myForm.newsId.value)){
		alert(''+myForm.newsId.value+' is not a number.');
		myForm.newsId.focus();
		return false;
	}
	if(!validateDate(myForm.myDay.value, myForm.myMonth.value, myForm.myYear.value)){
		alert(''+myForm.myDay.value+'-'+myForm.myMonth.value+'-'+myForm.myYear.value+' Ã¨ una data sbagliata.');
		return false;
	}
	return true;
}

function validateChangePassword(myForm){
	if(myForm.oldPassword.value == ""){
		alert("Field old password is void.Insert old password.");
		myForm.oldPassword.focus();
		return false;
	}
	if(myForm.newPassword.value == ""){
		alert("Field new password is void.Insert new password");
		myForm.newPassword.focus();
		return false;
	}
	if(myForm.newPassword.value != myForm.confirmNewPassword.value){
		alert("New password and confirm new password are not identical.\nReinsert new password and confirm new password.");
		myForm.newPassword.value = "";
		myForm.confirmNewPassword.value = "";
		myForm.newPassword.focus();
		return false;
	}
	return true;
}

function validateQuiz(myForm){
	var isAnswered;
	for(i = 0; i < 4; i++){
		if(myForm[i].checked){
			isAnswered = true;
			break;
		}
	}
	if(!isAnswered){
		alert('Select an opinion.');
		return false;
	}
	return true;
}

function markAll(myForm, begin, nr){
	for(i=0; i<nr; i++){
		myForm[begin+i].checked = true;
	}
}

function unmarkAll(myForm, begin, nr){
	for(i=0; i<nr; i++){
		myForm[begin+i].checked = false;
	}
}

function validateFormEMail() {
	var to = trim(document.form_princ.to.value);
	var subject = trim(document.form_princ.subject.value); 
	var msg = trim(document.form_princ.msg.value);

	if (to == "") {
		alert("Insert email address.");
		document.form_princ.to.focus();
		return (false);
	}
	else {
		if (!filter_email.test(to)) {
			alert("Not valid email address.");
			document.form_princ.to.focus();
			return (false);
		}
	}

	if(subject == ""){
		alert("Insert object.");
		document.form_princ.subject.focus();
		return false;
	}

	if(msg == ""){
		alert('Insert message.');
		document.form_princ.msg.focus();
		return false;
	}
	else { 
		if (msg.length > max_length_textarea){
			alert('The message must contain at most 3000 characters.');
			document.form_princ.msg.focus();
			return false;
		}
	}
	return true;
}

function LimitAttach(file,tipo) {
	allowSubmit = false;
	while (file.indexOf("\\") != -1)
	file = file.slice(file.indexOf("\\") + 1);
	ext = file.slice(file.indexOf(".")).toLowerCase();
	for (var i = 0; i < extArray.length; i++) {
		if (extArray[i] == ext) { 
			allowSubmit = true; 
			break;
		}
	}
	if (allowSubmit) {
		return (true);
	}
	else {
		if (tipo == 'doc')
		alert("You can enclose only this type of file " + (extArray.join(" ")) + ".");
		return (false);
	}
}

function validateJob () {
	extArray = new Array(".txt", ".html");

	var firstName = trim(document.form_princ.firstName.value);
	var lastName = trim(document.form_princ.lastName.value); 
	var email = trim(document.form_princ.email.value); 
	var age = trim(document.form_princ.age.value); 
	var fileatt = trim(document.form_princ.fileatt.value);

	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return (false);
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return (false);
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return (false);
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return (false);
		}
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return (false);
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address.");
			document.form_princ.email.focus();
			return (false);
		}
	}
	if ( (age != "") && !(filter_two_digit.test(age)) ) {
		alert("Age must contain only numbers");
		document.form_princ.age.focus();
		return false;
	}
	if(fileatt == ""){
		alert('Insert file.');
		document.form_princ.fileatt.focus();
		return false;
	}
	else {
		if (fileatt != "") {
			if (!LimitAttach(fileatt, 'doc')) {
				document.form_princ.fileatt.focus();
				return false;
			}
		}
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function validateJobFreelance () {
	extArray = new Array(".txt", ".html");

	var firstName = trim(document.form_princ.firstName.value);
	var lastName = trim(document.form_princ.lastName.value); 
	var email = trim(document.form_princ.email.value); 
	var age = trim(document.form_princ.age.value);
	var fileatt = trim(document.form_princ.fileatt.value);

	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return false;
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return false;
		}
	}
	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return false;
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address.");
			document.form_princ.email.focus();
			return false;
		}
	}

	if ((age != "") && !(filter_two_digit.test(age)) ) {
		if(age<18)
		{
			alert("To work with us you must be of age");
			document.form_princ.age.focus();
			return false;					
		}
		alert("Age must contain only numbers.");
		document.form_princ.age.focus();
		return false;
	}
	if(fileatt == ""){
		alert('Enclose your curriculum vitae.');
		document.form_princ.fileatt.focus();
		return false;
	}
	else {
		if (fileatt != "") {
			if (!LimitAttach(fileatt, 'doc')) {
				document.form_princ.fileatt.focus();
				return false;
			}
		}
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function checkWriteToUs() {
	var firstName = trim(document.form_princ.firstName.value);
	var lastName = trim(document.form_princ.lastName.value); 
	var tel = trim(document.form_princ.tel.value); 
	var email = trim(document.form_princ.email.value); 
	var yourText = trim(document.form_princ.yourText.value);

	if(firstName == ""){
		alert("Insert first name.");
		document.form_princ.firstName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(firstName)) {
			alert("First name is not correct.");
			document.form_princ.firstName.focus();
			return false;
		}
	}
	if(lastName == ""){
		alert("Insert last name.");
		document.form_princ.lastName.focus();
		return false;
	}
	else {
		if (!filter_alpha.test(lastName)) {
			alert("Last name is not correct.");
			document.form_princ.lastName.focus();
			return false;
		}
	}
	if(tel == ""){
		alert("Insert phone number.");
		document.form_princ.tel.focus();
		return false;
	}

	if (email == "") {
		alert("Insert email address.");
		document.form_princ.email.focus();
		return false;
	}
	else {
		if (!filter_email.test(email)) {
			alert("Not valid email address.");
			document.form_princ.email.focus();
			return false;
		}
	}
	if(yourText == ""){
		alert('Insert text.');
		document.form_princ.yourText.focus();
		return false;
	}
	else { 
		if (yourText.length > max_length_textarea_news){
			alert('Text must contain at most 30000 characters.');
			document.form_princ.yourText.focus();
			return false;
		}
	}
	if (document.form_princ.accord[1].checked){
		alert("You must authorize processing of your personal details.");
		return false;
	}
	return true;
}

function verifySurvey() {
	if (!(document.form_princ.answer[0].checked) && !(document.form_princ.answer[1].checked) && !(document.form_princ.answer[2].checked) && !(document.form_princ.answer[3].checked) && !(document.form_princ.answer[4].checked) && !(document.form_princ.answer[5].checked)){
		alert("Select an answer.");
		return false;
	}
	return true;
}
