// JavaScript Document
($)(function(){
	$("form#f_convegno").append('<input type="hidden" name="can_submit" value="' + Math.random() + '" />');
	$("form#f_convegno").submit(function (){return get_form_validation(this);});
	$("form#f_valutazione_convegno").append('<input type="hidden" name="can_submit" value="' + Math.random() + '" />');
	$("form#f_valutazione_convegno").submit(function (){return get_form_validation(this);});
	$("form#f_valutazione_convegno input:radio").click(function(){
													$(this).parents('ol:eq(0)').children().removeClass('checked');
													if (this.checked){
														$(this).parent().addClass('checked');
													}else{
														$(this).parent().removeClass('checked');
													}
												});
	eccezioni_comportamenti_form();
	try{
		$('.fancybox').fancybox();
		}
		
	catch(e){
		}
//	$("input, select, textarea").each(function(){$('#nomi_campi').append(this.name+',');})
	});

/* CONVALIDA FORM
-------------------------------------------*/
function ws_validate(){}
ws_validate.prototype.isEmail = function (what)
{
   var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
   if(!i.test(what)) { return false}   
   return true;
}
ws_validate.prototype.isDate = function (what)
{
   var i=new RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$");
   if(i.test(what))
   {
	datePart=what.split("/");
	giorno=(datePart[0]>=1) && (datePart[0]<=31);
	mese=(datePart[1]>=1) && (datePart[1]<=12);
	anno=(datePart[2]>=1900) && (datePart[2]<=9999);
	if(!giorno || !mese || !anno) { return false; }
   }else{
	return false;
   }
   return true;
}

ws_validate.prototype.isTelFax = function(what)
{
//   var i=new RegExp("([0-9]{2,})\/([0-9]{5,})");
   var i=new RegExp("([0-9]{5,})");
   if(!i.test(what)) { return false;}   
   return true;
}

ws_validate.prototype.notZero = function(what)
{
   if(what=="0") { return false;}   	
   return true;
}
ws_validate.prototype.field = function (what, type){
	try{
		if($(what).size()==0){return true;}
		if($(what+":disabled").size()>0){return true;}
		switch (type) {
		  case "isEmail":
			return this.isEmail($(what).val());
			break; 
		  case "isDate":
			return this.isDate($(what).val());
			break; 
		  case "isTelFax":
			return this.isTelFax($(what).val());
			break; 
		  case "isChecked":
		  	return $(what).is(":checked");
			break; 
		  case "leastOneIsChecked":
		  	return ($(what).find("input:checked").size()>0);
			break; 
		  case "notZero":
			return this.notZero($(what).val());
			break; 
		  case "isText":
			return ($.trim($(what).val()).length>0);
			break; 
		  case "isNumeric":
			return (!isNaN($(what).val()) && ($.trim($(what).val()).length>0));
			break; 
		  case "#ut_password":
			return ($(what).val() == $('#ut_password').val());
			break;
		  case "#giornata_1:checked,#giornata_2:checked":
			return ($(type).size()>0);
			break;
		  default: 	
			return ($(what).val().length>0);
		}
		
	}
	
	catch (e){
		alert(e);
	}
}
var validate = new ws_validate;

function get_form_validation(frm_id){
	var oval,valid,validation_string;
	oval=$(frm_id)[0]._validation;
	$(frm_id).find(".bg_error").removeClass("bg_error");
	for (nc in oval){
		if( validate.field("#"+nc,oval[nc])==false ){
			$("#"+nc).parents("li").addClass("bg_error");
			valid=false;
		}else{
			//$("#"+nc).parents("li").removeClass("bg_error");
		}
	}
	$(".bg_error input, .bg_error select, .bg_error textarea").eq(0).focus();
	$(frm_id)[0].valid = valid;
	return valid;
}

function eccezioni_comportamenti_form(){
	$('#ic_posizione_altro').attr('disabled','disabled');
	$('#ic_reparto_altro').attr('disabled','disabled');
	$('#cl_note_origine').attr('disabled','disabled').parent('.altro').hide();
	$('#ic_posizione_altro').attr('disabled','disabled').parent('.altro').hide();
	$('#ic_reparto_altro').attr('disabled','disabled').parent('.altro').hide();
	$('#rf_id_posizione').change(function(){
			var valore = parseInt($(this).val());
			switch (valore){
				case 23:
				case 24:
				case 25:
					$('#rf_reparto_id').attr('disabled','disabled');
					$('#ic_reparto_altro').attr('disabled','disabled');
				break;
				default:
					$('#rf_reparto_id').removeAttr('disabled');
					$('#ic_reparto_altro').removeAttr('disabled');
				break
			}
			if(parseInt(valore)==28){
				$('#ic_posizione_altro').removeAttr('disabled').parent('.altro').show();
			}else{
				$('#ic_posizione_altro').attr('disabled','disabled').parent('.altro').hide();
			}
		});
	$('#rf_reparto_id').change(function(){
			var valore = parseInt($(this).val());
			if(parseInt(valore)==15){
				$('#ic_reparto_altro').removeAttr('disabled').parent('.altro').show();
			}else{
				$('#ic_reparto_altro').attr('disabled','disabled').parent('.altro').hide();;
			}
		});
	$('#cl_provenienza_contatto').change(function(){
			var valore = parseInt($(this).val());
			$('#cl_note_origine').removeAttr('disabled');
			$(this).parent('li').removeClass('.bg_error');
			var indice = this.selectedIndex;
			switch (indice){
				case 1:
					$('#cl_note_origine').val('').parent('.altro').show();
				break;
				case 2:
					$('#cl_note_origine').val('').parent('.altro').show();
				break;
				case 3:
					$('#cl_note_origine').val(this.options[indice].text).parent('.altro').hide();
				break;
				case 4:
					$('#cl_note_origine').val('').parent('.altro').show();
				break;
				case 5:
					$('#cl_note_origine').val('').parent('.altro').show();
				break;
				case 6:
					$('#cl_note_origine').val(this.options[indice].text).parent('.altro').hide();
				break;
				case 7:
					$('#cl_note_origine').val(this.options[indice].text).parent('.altro').hide();
				break;
				default:
					$('#cl_note_origine').val('').attr('disabled','disabled').parent('.altro').hide();
				break
			}
													  
		});
/*
	$('#giornata_1, #giornata_2').click(function(){
			if($('#giornata_1:checked, #giornata_2:checked').size()==0 ){
				this.checked=true;
			}										 
		});
	*/
}
