//  creo un oggetto per passare il mio counter come reference
	function myobject()	{
		this.value = 1;
	}
//  metodo del mio oggetto per incrementare il counter di 1
	myobject.prototype.add = function()	{
		this.value++;
	}
//  metodo del mio oggetto per decrementare il counter di 1
	myobject.prototype.sub = function()	{
		this.value--;
	}
	
//  creo gli oggetti relativi ai miei counter
	countCorso = new myobject();
	countEsplav = new myobject();
	countSoftware = new myobject();

//  se sono stati inseriti software, corsi o esperienze lavorative mostro i blocchi relativi
	function mostraFac(div){
		var el = '#' + div;
		var obj = 'count' + div;
		if ( $(el).css('display') != 'none' ){
			if ( div == 'Software' ) {
				$(el + " [class^=dati]").each(function(){
					var val = $.trim($(this).find('select').eq(0).val());							   
					if (val != ''){
						$(this).show();
						eval(obj).add();
					}
				});
			} else { 
				$(el + " [class^=dati]").each(function(){
					var val = $.trim($(this).find('input').eq(0).val());							   
					if (val != ''){
						$(this).show();
						eval(obj).add();
					}
				});
			}
			if (div == 'Software')
				subAdd(div,obj,5);
			if (div == 'Corso')
				subAdd(div,obj,3);
			if (div == 'Esplav')
				subAdd(div,obj,4);
		}
	}
	
	//  controllo il numero dei blocchi registrati per mostrare / nascondere i bottoni add / sub
	function subAdd(div,obj,num){
		if (eval(obj).value >= num){
			$("#add" + div).hide();
			$("#sub" + div).show();
		} else if (eval(obj).value >= 2){
			$("#sub" + div).show();
		} else $("#sub" + div).hide();
	}

	jQuery.validator.messages.required = "Campo obbligatorio";


// metodo per il controllo della mail
	jQuery.validator.addMethod("mail", function(value, element) { 
		return this.optional(element) || /^[A-Za-z0-9](([_\.\-\+]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{1,4})$/.test(value);
	}, "Formato non valido");
	
	// metodo per il controllo della password
	jQuery.validator.addMethod("password", function( value, element ) {
		return this.optional(element) || /[a-zA-Z0-9]{5,10}$/.test(value);
	}, "Inserisci almeno 5 caratteri solo alfanumerici");


	function nascondi(){
		$(".nuovo").hide();	
	}
	
	
	function mostraNuovi(){
		$("[type=radio].mostra:checked").each(function(){
			var val = $(this).val();							   
			var div = $(this).parent().next();
			if (val == 's')
				$(div).show();
		});
		$("[type=checkbox].mostra:checked").each(function(){
			var div = $(this).parent().next();
			$(div).show();
		});
		mostraFac("Software");  // mostra i blocchi dei software
		mostraFac("Corso");  // mostra i blocchi dei corsi inseriti
		mostraFac("Esplav");  // mostra i blocchi delle esperienze lavorative inserite
	}
	
	
	function mostraCheck(){
		// show / hide blocchi facoltativi al click di un checkbox
		$("[type=checkbox].mostra").click(function(){
			var val = $(this).val();							   
			var div = $(this).parent().next();
			($(this).attr("checked") == true) ? $(div).slideDown() : $(div).slideUp();
		});
	}
	
	
	function mostraRadio(){
		$("[type=radio].mostra").click(function(){
			var val = $(this).val();							   
			var div = $(this).parent().next();
			if (val == 's'){
				$(div).slideDown();
				$(this).attr("checked","checked");
			} else {	
				$(this).attr("checked","unchecked");
				$(div).slideUp();
			}
		});
	}
