function load_validation_rules(s)
{
	switch(s) {
		case 'privato':
			register_privato();
			break;
	    case 'login':
            user_login();
            break;	
        case 'contatto':
            contatto();
            break;
        case 'forgetpwd':
        	forgetpwd();
        	break;
	}
}

function set_validation_form(s)
{
	var h = (arguments.length > 1)?arguments[1]:{immediate : true, onFormValidate : formCallback}; 
	new Validation(s, h);
}

function forgetpwd()
{	
}

function register_privato()
{
	Validation.add('validate-alphasp', 'Valore non valido', function (v) {
	     return /^[a-zA-Z\ àèéìòù\.']+$/.test(v) ||  /^[a-zA-Z]+$/.test(v)
	});
	Validation.add('validate-alphanumsp', 'Valore non valido', function (v) {
        var testr = Validation.get('IsEmpty').test(v) || /^[a-zA-Z0-9\ àèéìòù\.',]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v);
        return testr;
	});
	Validation.add('validate-cap', 'Valore non valido', {
	     maxLength : 5,
	     notOneOf  : ['00000'],
	     include : ['validate-digits']
	}); 
	
	Validation.add('privacycheck-required', '&Egrave; necessario accettare le condizioni della privacy', function (v) {
			return !Validation.get('IsEmpty').test(v);
	});
	
    Validation.add('validate-phone', 'Usare solo caratteri numerici e spazi per questo campo', function(v) {
        var testr = Validation.get('IsEmpty').test(v) || /^[0-9\ ]+$/.test(v);
        return testr;
        
    });	
	
}

function user_login()
{
}

function contatto()
{
    Validation.add('validate-alphasp', 'Valore non valido', function (v) {
         return /^[a-zA-Z\ ������\.]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v)
    });
    Validation.add('validate-alphasym', 'Valore non valido', function (v) {
         return /^[a-zA-Z\ ������\.',]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v)
    });
    Validation.add('validate-alphanumsym', 'Valore non valido', function (v) {
         return /^[a-zA-Z0-9\ ������\.',\\\/]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v)
    });    
    Validation.add('validate-alphanumsp', 'Valore non valido', function (v) {
        var testr = Validation.get('IsEmpty').test(v) || /^[a-zA-Z0-9\ ������\.',]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v);
        return testr;
    });
    Validation.add('validate-digitssp', 'Valore non valido', function (v) {
        var testr = Validation.get('IsEmpty').test(v) || /^[0-9\ \.]+$/.test(v) ||  /^[a-zA-Z]+$/.test(v);
        return testr;
    });    
    Validation.add('validate-cap', 'Valore non valido', {
         minLength : 5,
         maxLength : 5,
         notOneOf  : ['00000'],
         include : ['validate-digits']
    });
    Validation.add('validate-prov', 'Valore non valido', {
         minLength : 2,
         maxLength : 2,
         include : ['validate-alpha']
    });  
    
    Validation.add('privacycheck-required', '&Egrave; necessario accettare le condizioni della privacy', function (v) {
            return !Validation.get('IsEmpty').test(v);
    });
    
    Validation.add('validate-phone', 'Usare solo caratteri numerici e spazi per questo campo', function(v) {
        var testr = Validation.get('IsEmpty').test(v) || /^[0-9\ ]+$/.test(v);
        return testr;
        
    }); 
    
}