function isEmpty(field){
	
	if (field.value==null||field.value=="")
  	{return true;} else 
	{return false;}
	
}


function resetverifyNickResult (){
	
	$('verifyNickResult').update();
	$('verifyNickResult').setStyle({
	  width:'0px',					   
	  visibility:'hidden'
	});
	
}


function ajaxComplete (r) {
	
	$('verifyNickResult').setStyle({
	  background: 'none'
	});
	
	  if( r == 'ok'){
		 $('verifyNickResult').update('<img src="images/icons/v.gif" />');
		 $('verifyNickResult').setStyle({
									color:'green'
									
									});
		 return true;
		 
	  } else if( r == 'no') {
		  $('nickInput').clear();
		  $('nickInput').activate();
		  $('verifyNickResult').update('nickname non disponibile');
		  $('verifyNickResult').setStyle({
									color:'#BE0A0A',
									background:'white'
									});
		  
		  return false;
	  } 
	  
}

function validate(n,min,max){

var valid = new RegExp("^[a-zA-Z0-9_]{"+min+","+max+"}$");

 if (valid.test(n)) {
  return true;
 } else {
  return false;
 }

}


function verifyNick(nick) {
	
	if(!validate(nick,3,20)){
		
		setTimeout( function() {$('nickInput').clear();$('nickInput').focus();}, 10 );
		resetverifyNickResult();
		alert('nickname non valido...usa solo lettere, numeri e _');
		return false;

	} else {
		
	
	$('verifyNickResult').setStyle({
	  background: 'url(images/loading.gif) no-repeat top left',
	  width:'150px',
	  height:'20px',
	  visibility:'inherit'
	});
	
	var url = 'verifyNick.php';
	var pars = 'nick=' + nick;	
	var myAjax = new Ajax.Request(url, 
					 { method: 'get', 
					   parameters: pars, 
					   onSuccess:function(result){
						   			  
									  ajaxComplete(result.responseText);
					   }
					 });	
	return true;
	}
	
}


function verifyPwd(pwd) {
	
	if(!validate(pwd,6,20)){
		
		
		$('verifyPwdResult').setStyle({
		  visibility:'hidden'
		});
		
		
		setTimeout( function() {$('pwdInput').clear();$('pwdInput').focus();}, 10 );
		
		alert('password non valida...usa solo lettere, numeri e _');
		
		return false;
		
	} else {
		
		$('verifyPwdResult').setStyle({
		  width:'150px',
		  height:'20px',
		  visibility:'inherit'
		});
		
		$('verifyPwdResult').update('<img src="images/icons/v.gif" />');
		return true;
		
	}
	
}


function verifyPwdCheck() {
	
	var pwd = $('pwdInput').value;
	var pwdCheck = $('pwdCheck').value;
	
	$('verifyCheckResult').setStyle({
		  width:'200px',
		  height:'20px',
		  visibility:'inherit'
		});
	
	if(pwd == pwdCheck){

		$('verifyCheckResult').update('<img src="images/icons/v.gif" />');
		return true;

	} else {
		
		setTimeout( function() {$('pwdCheck').clear();$('pwdCheck').focus();}, 10 );
		$('verifyCheckResult').update(' le password non coincidono');
		$('verifyCheckResult').setStyle({
										color:'#BE0A0A',
										background:'white'
										});
		return false;
		
	}
	
}


function isValidEmail(strEmail){
	
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  

   // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) 
   {
	  setTimeout( function() {$('emailInput').clear();$('emailInput').focus();}, 10 );
      alert('Inserisci un indirizzo email valido');
      return false;
    } 
	
	$('verifyEmailResult').setStyle({
		  width:'150px',
		  height:'20px',
		  visibility:'inherit'
		});
	
	$('verifyEmailResult').update('<img src="images/icons/v.gif" />');
	
    return true; 
	
}

function validateJoin(form){
	
		if(!form.consenso[0].checked){alert("il consenso al trattamento dei dati personali è obbligatorio.");
		return false; } 
		
		if(!verifyNick($('nickInput').value))
		{   
			return false;
			
		} 
		
		if(!verifyPwd($('pwdInput').value))
		{    
			return false;
			
		}
		
		if(!verifyPwdCheck())
		{    
			alert('le password non coincidono'); return false;
			
		} 
		
		if(isEmpty(form.name)){
			
			alert('scrivi il tuo nome'); 
			form.name.focus(); return false;
			
		} 	
		
		if(isEmpty(form.surname)){
			
			alert('scrivi il tuo cognome'); 
			form.surname.focus(); return false;
			
		} 
		
		if(!isValidEmail(form.email.value)){
			
			return false;
		}
		
		
		if(isEmpty(form.mobile)){
			
			alert('inserisci un recapito telefonico'); 
			form.mobile.focus(); return false;
			
		} 
		
		if(isEmpty(form.birthplace)){
			
			alert('inserisci il luogo di nascita'); 
			form.birthplace.focus(); return false;
		
		}
		
		if(isEmpty(form.residence)){
			
			alert('inserisci la tua residenza'); 
			form.residence.focus(); return false;
		
		}
		
		if(isEmpty($('photoInput'))){
			
			alert('allega una tua foto'); 
			$('photoInput').focus(); return false;
		
		}

}

