// Login Utente
var field_pwd_1 = '';
var field_pwd_2 = '<input type="password" name="ut_password" class="login_txt" id="p2f">';
function resetLogin(_obj, _str) {
	if (_obj.value==_str) {
		//alert(''+_obj.value);
		// se è la password cambio campo
		if (_obj.value=='Password') {
			field_pwd_1 = document.getElementById('p1').innerHTML;
			document.getElementById('p1').innerHTML = '';
			document.getElementById('p2').innerHTML = field_pwd_2;
			document.getElementById('p2f').focus();
		}
		_obj.value='';
	}
	
}
function setLogin(_obj, _str) {
	if (_obj.value=='') {
		_obj.value=_str;
		if (_str=='Password') {
			document.getElementById('p1').innerHTML = field_pwd_1;
			document.getElementById('p2').innerHTML = '';
		}
	}
}


// Registrazione Utente
var errorColor    = '#FFE7CF';
var standardColor = '#FFF';

function validateForm_Registrazione(_form) {
	// azzero tutti gli sfondi
	for (var i = 0; i < _form.elements.length; i++) {
		if (_form.elements[i].type == 'text' ||
		    _form.elements[i].type == 'password' || 
		    _form.elements[i].type == 'undefined') {
			_form.elements[i].style.background = standardColor;
		}
	}
	// controllo i campi
	var _return = true;
	//
	_return     = (ckField_Empty(_form.ut_nome)            == false ? false : _return);
	_return     = (ckField_Empty(_form.ut_cognome)         == false ? false : _return);
	_return     = (ckField_Email(_form.ut_email)           == false ? false : _return);
	_return     = (ckField_Empty(_form.ut_password)        == false ? false : _return);
	_return     = (ckField_Empty(_form.ut_indirizzo)       == false ? false : _return);
	_return     = (ckField_CAP(_form.ut_cap)               == false ? false : _return);
	_return     = (ckField_Empty(_form.ut_citta)           == false ? false : _return);
	//_return     = (ckField_Empty(_form.provincia)        == false ? false : _return);
	//
	if (_return==false) alert("Attenzione, riempire i campi in maniera corretta.");
	return _return;
}


// verifica il campo vuoto
function ckField_Empty(_field) {
	if (_field.value == '') {
		_field.style.background = errorColor;
		return false;
	}
}

// verifica un codice fiscale
function ckField_CodiceFiscale(_field){
   var cf = (_field.value).toUpperCase();
   var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   if (!cfReg.test(cf)) {
   		_field.style.background = errorColor;
      return false;
    }
   var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
   var s = 0;
   for( i = 1; i <= 13; i += 2 )
      s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
   for( i = 0; i <= 14; i += 2 )
      s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
   if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) {
      _field.style.background = errorColor;
      return false;
    }
   return true;
}

// verifica un CAP
function ckField_CAP(_field) {
	var i=new RegExp("^[0-9]{5}$");
	if(!i.test(_field.value)) { 
		_field.style.background = errorColor;
		return false;
	}   
	return true;
}

// verifica una email
function ckField_Email(_field) {
	var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if(!i.test(_field.value)) { 
		_field.style.background = errorColor;
		return false;
	}   
	return true;
}

// verifica una P.IVA
function ckField_PIVA(_field) {
	if((_field.value).length > 0) {
		var i=new RegExp("[0-9]{11}");
		if(!i.test(_field.value)) {
			alert("Il campo PARTITA IVA non è valido."); 
		}
	}
	return true;
}

// verificauna URL
function ckField_Url(_field)  {
	if (!/^((http)|(HTTP)):\/\//.test(_field))  {
		alert ("oops - not OK");
		_field.style.background = errorColor;
		return false;
	}
	return true;
}

function addEvent(obj,ev,fn){
	if(obj.addEventListener) {
		// metodo w3c
		obj.addEventListener(ev, fn, false);
	} else if(obj.attachEvent) {
		// metodo IE
		obj.attachEvent('on'+ev, fn);
	} else {
		// se i suddetti metodi non sono applicabili
		// se esiste gia' una funzione richiamata da quel gestore evento
		if(typeof(obj['on'+ev])=='function'){
			// salvo in variabile la funzione gia' associata al gestore
			var f=obj['on'+ev];
			// setto per quel gestore una nuova funzione 
			// che comprende la vecchia e la nuova
			obj['on'+ev]=function(){if(f)f();fn()}
		}
		// altrimenti setto la funzione per il gestore
		else obj['on'+ev]=fn;
	}
}