$j(document).ready(function() {

    var FormValidation = {
        'Esperto' : {
			'Argomento'		: 'Seleziona l\'argomento.',
			'Oggetto'		: 'Specifica l\'oggetto.',
			'Richiesta'		: 'Scrivi una domanda od una richiesta.',
			'Sesso'			: 'Specifica il tuo sesso.',
			'Eta'			: 'Specifica la tua età.',
			'Nome'			: 'Specifica il tuo nome e cognome.',
			'Localita'		: 'Specifica la località.',
			'Provincia'		: 'Specifica la provincia.',
			'Telefono'		: 'Specifica il recapito telefonico.',
			'Email'			: {0 : 'Inserisci la tua email.', 1: 'Inserisci una email valida.'},
			'Disclaimer'	: 'Non hai accettato il disclaimer.'
        },
		 'Login' : {
			'Password'		: 'Inserisci la tua password',
			'Email'			: {0 : 'Inserisci la tua email.', 1: 'Inserisci una email valida.'}
        },
		 'Domanda' : {
			'Titolo'				: 'Inserisci il titolo della domanda',
			'DescrizioneDomanda'	: 'Inserisci la domanda'
        },
		 'RecuperoPWD' : {
			'Nome'			: 'Specifica il tuo nome.',
			'Cognome'		: 'Specifica il tuo cognome.',
			'Email'			: {0 : 'Inserisci la tua email.', 1: 'Inserisci una email valida.'}
        },
		 'Profilo' : {
			 'Nome'					: 'Inserisci il tuo nome.',
			'Cognome'				: 'Inserisci il tuo cognome.',
			'PasswordAttuale'		: 'Inserisci la tua password attuale.',
			'NuovaPassword'			: 'Inserisci la nuova password.',
			'ConfermaPassword'		: 'Inserisci la conferma della nuova password.',
			'Email'			: {0 : 'Inserisci la tua email.', 1: 'Inserisci una email valida.'}
        },
        'Iscrizione' : {
			'Nome'			: 'Specifica il nome.',
			'Cognome'		: 'Specifica il cognome.',
			'DataNascita'	: 'Specifica la data di nascita.',
			'Indirizzo'		: 'Specifica l\'indirizzo.',
			'Citta'			: 'Specifica la città.',
			'Provincia'		: 'Specifica la provincia.',
			'Telefono'		: 'Specifica il recapito telefonico.',
			'Email'			: {0 : 'Inserisci la tua email.', 1: 'Inserisci una email valida.'},
			'CodiceFiscale'	: 'Specifica il codice fiscale.',
			'Disclaimer'	: 'Non hai accettato il disclaimer.'
        }
    };

    $j(function() {
		var form1 = 'Esperto';
		$j('#' + form1).validate({
			debug: true,
			errorPlacement: function(error, element){error.appendTo(element.parent("td"));},
			rules: {
				Argomento		: "required",
				Oggetto			: "required",
				Richiesta		: "required",
				Sesso			: "required",
				Eta				: "required",
				Nome			: "required",
				Localita		: "required",
				Provincia		: "required",
				Telefono		: "required",
				Email			: {required: true, email: true},
				Disclaimer		: "required"
			},
			messages: {
				Argomento		: FormValidation[form1]['Argomento'],
				Oggetto			: FormValidation[form1]['Oggetto'],
				Richiesta		: FormValidation[form1]['Richiesta'],
				Sesso			: FormValidation[form1]['Sesso'],
				Eta				: FormValidation[form1]['Eta'],
				Nome			: FormValidation[form1]['Nome'],
				Localita		: FormValidation[form1]['Localita'],
				Provincia		: FormValidation[form1]['Provincia'],
				Telefono		: FormValidation[form1]['Telefono'],
				Email			: {required: FormValidation[form1]['Email'][0], email: FormValidation[form1]['Email'][1]},
				Disclaimer		: FormValidation[form1]['Disclaimer']
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				params.push({name: 'Action', value: 'Esperto'});
				$j.ajax({
					url			: '/ajax/Mailer.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}
									$j('div#msg').html(obj.HTML);
									if(obj.ResultCode != 0) {return false;} // ERROR
									$j('#' + form1).fadeOut('slow', function(){$j('div#msg').fadeIn("slow");});
									
								}
				 });
            }
        });
    });

    $j(function() {
		var form1 = 'Iscrizione';
		$j('#' + form1).validate({
			debug: true,
			errorPlacement: function(error, element){error.appendTo(element.parent("td"));},
			rules: {
				Nome			: "required",
				Cognome			: "required",
				DataNascita		: "required",
				Indirizzo		: "required",
				Citta			: "required",
				Provincia		: "required",
				Telefono		: "required",
				Email			: {required: true, email: true},
				CodiceFiscale	: "required",
				Disclaimer		: "required"
			},
			messages: {
				Nome			: FormValidation[form1]['Nome'],
				Cognome			: FormValidation[form1]['Cognome'],
				DataNascita		: FormValidation[form1]['DataNascita'],
				Indirizzo		: FormValidation[form1]['Indirizzo'],
				Citta			: FormValidation[form1]['Citta'],
				Provincia		: FormValidation[form1]['Provincia'],
				Telefono		: FormValidation[form1]['Telefono'],
				Email			: {required: FormValidation[form1]['Email'][0], email: FormValidation[form1]['Email'][1]},
				CodiceFiscale	: FormValidation[form1]['CodiceFiscale'],
				Disclaimer		: FormValidation[form1]['Disclaimer']
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				params.push({name: 'Action', value: 'Iscrizione'});
				$j.ajax({
					url			: '/ajax/Mailer.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}
									$j('div#msg').html(obj.HTML);
									if(obj.ResultCode != 0) {return false;} // ERROR
									$j('#' + form1).fadeOut('slow', function(){$j('div#msg').fadeIn("slow");});
									
								}
				 });
            }
        });
    });
	
	
    $j(function() {
		var form1 = 'Login';
		$j('#' + form1).validate({
			debug: true,
			errorPlacement: function(error, element){error.appendTo(element.parent("td"));},
			rules: {
				Email			: {required: true, email: true},
				Password		: "required"
			},
			messages: {
				Email			: {required: FormValidation[form1]['Email'][0], email: FormValidation[form1]['Email'][1]},
				Password	: FormValidation[form1]['Password']
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				params.push({name: 'Action', value: 'Login'});
				$j.ajax({
					url			: '/ajax/Clienti.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}

									if(obj.ResultCode != 0) {
										$j('div#msg').html("Accesso non valido: "+obj.ResultDesc);
										return false;
										} // ERROR
									//$j('#' + form1).fadeOut('slow', function(){$j('div#msg').fadeIn("slow");});
									location.reload();
								}
				 });
            }
        });
    });
	
	$j(function() {
		var form1 = 'RecuperoPWD';
		$j('#' + form1).validate({
			debug: true,
			errorPlacement: function(error, element){error.appendTo(element.parent("td"));},
			rules: {
				Email			: {required: true, email: true}
			},
			messages: {
				Email			: {required: FormValidation[form1]['Email'][0], email: FormValidation[form1]['Email'][1]}
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				params.push({name: 'Action', value: 'RecuperaPwd'});
				$j.ajax({
					url			: '/ajax/Clienti.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}

									if(obj.ResultCode != 0) {
										$j('div#msg').html("Si è verificato un errore: "+obj.ResultCode);
										return false;
										} // ERROR
									//$j('#' + form1).fadeOut('slow', function(){$j('div#msg').fadeIn("slow");});
									$j('#FormRecuperoPwd').fadeOut('slow', function(){$j('div#msgOK').fadeIn("slow");});									
									//location.reload();
									
								}
				 });
            }
        });
    });

$j(function() {
		var form1 = 'Domanda';
		$j('#' + form1).validate({
			debug: true,
			errorPlacement: function(error, element){error.appendTo(element.parent("td"));},
			rules: {
				Titolo					: "required",
				DescrizioneDomanda		: "required"
			},
			messages: {
				Titolo				: FormValidation[form1]['Titolo'],
				DescrizioneDomanda	: FormValidation[form1]['DescrizioneDomanda']
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				$j('#btnInviaDomanda').removeClass('btnInvia');
				$j('#btnInviaDomanda').addClass('ajax-loader');
				
				params.push({name: 'Action', value: 'AddDomanda'});
				$j.ajax({
					url			: '/ajax/DomandeRisposte.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}

									if(obj.ResultCode != 0) {
										$j('div#msg').html(obj.ResultDesc);
										$j('#btnInviaDomanda').removeClass('ajax-loader');
										$j('#btnInviaDomanda').addClass('btnInvia');
										return false;
										} // ERROR
										
									if ($j('#CaricaFile').val()=="true") {
									$j('#IDRiferimento').val(obj.ID);
									StartUpload();
									} else {
									$j('#' + form1).fadeOut('slow', function(){$j('div#msgOK').fadeIn("slow");});
									}
									//location.reload();
									
								}
				 });
            }
        });
    });
	
	
$j(function() {
		var form1 = 'Profilo';
		$j('#' + form1).validate({
			debug: true,
			
			rules: {
				Nome							: "required",
				Cognome							: "required",
				PasswordAttuale					: "required",		
				NuovaPassword					: "required",
				ConfermaPassword				: {equalTo: "#NuovaPassword"},
				Email			: {required: true, email: true}
			},
			messages: {
				Nome					: FormValidation[form1]['Nome'],
				Cognome					: FormValidation[form1]['Cognome'],
				PasswordAttuale			: FormValidation[form1]['PasswordAttuale'],
				NuovaPassword			: FormValidation[form1]['NuovaPassword'],
				ConfermaPassword		: FormValidation[form1]['ConfermaPassword'],
				Email			: {required: FormValidation[form1]['Email'][0], email: FormValidation[form1]['Email'][1]}
			},
            submitHandler: function() {
				var params = $j('#' + form1).serializeArray();
				params.push({name: 'Action', value: 'ModificaProfilo'});
				$j.ajax({
					url			: '/ajax/Clienti.php',
					cache		: false,
					type		: 'POST',
					data		: params,
					beforeSend	: function(){$j('div#msg').hide();},
					complete	: function(){$j('div#msg').show();},
					error		: function(){},
					success		: function(data){
									try {var obj = $j.parseJSON(data);} catch (e) {alert('Not a JSON Response'); return false;}

									if(obj.ResultCode != 0) {
										$j('div#msg').html("Si è verificato un errore: "+obj.ResultDesc);
										return false;
										} // ERROR
									
									$j('#' + form1).fadeOut('slow', function(){$j('div#msg').hide();$j('div#msgOK').fadeIn("slow");});
									//location.reload();
									
								}
				 });
            }
        });
    });
	
	$j("#VisualizzaCambioPassword").change(function()
	{
	switch ($j('#VisualizzaCambioPassword:checkbox:checked').val())
	{
	case 'on':
	$j("#BoxCambioPassword").show();
	$j("#PasswordAttuale").val("");
	$j("#NuovaPassword").val("");
	$j("#ConfermaPassword").val("");
	break;
	default:
	$j("#BoxCambioPassword").hide();
	$j("#PasswordAttuale").val("NoChange");
	$j("#NuovaPassword").val("NoChange");
	$j("#ConfermaPassword").val("NoChange");
	}
	});


	var form1 = 'CercaDomande';
		$j('#' + form1).validate({

        rules:
        {
            Ricerca: "required"
        },
        messages:
        {
            Ricerca: "Inserire il campo di ricerca"
        }
    });
	
	
	$j('#RecuperoPwd').click(function() {
		
		$j('#FormLogin').fadeOut('slow', function(){$j('div#msg').hide();$j('div#FormRecuperoPwd').fadeIn("slow");});
		
	});
	
	$j('#TornaFormLogin').click(function() {
		
		$j('#FormRecuperoPwd').fadeOut('slow', function(){$j('div#FormLogin').fadeIn("slow");});
		
	});
	
    $j('#DataNascita').datepicker({
		inline: true,
		changeMonth: true,
		changeYear: true,
		minDate: "-80Y",
		maxDate: "-18Y"
    });
	
	
	
});

