$(function(){
    
    $("#dialog").dialog({
      autoOpen: false,
      modal: true
    });
    $(".open-dialog").click(function(){
        var url = $(this).attr("rel");
        $("#dialog").dialog({
    		resizable: false,
    		height:140
    	});
        $("#dialog").find(".dialog-container").html('Confermi operazione?');
        $("#dialog").dialog("open");
    });
	// Accordion
	$(".accordion").accordion({ header: "h3" });

	// Tabs
	$('.tabs').tabs();

	// Dialog			
	$('.dialog').dialog({
		autoOpen: false,
		width: 600,
		buttons: {
			"Ok": function() { 
				$(this).dialog("close"); 
			}, 
			"Cancel": function() { 
				$(this).dialog("close"); 
			} 
		}
	});

	// Datepicker
	$('.datepicker').datepicker({
		inline: true
	});
    
    $('a.scrollTop').click(function(){
        $('html, body').animate({
            scrollTop: 0
        }, 'slow');
        return false
    });
    
});

function checkEmail(email){
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        return false;
    }
    return true;
}

function submitForm(form_id){
    $("#"+form_id).submit();
}

function validateForm(form_id){
    var err = 0;
    $("#"+form_id+" input[type=text].required").each(function(){
        var id = $(this).attr("id");
        if($(this).val().length < 1){
            $(this).addClass("error");
            //alert("Errore: campo obbligatorio");
            err++;
        }else{
            if($(this).hasClass("error")){
                $(this).removeClass("error");
                //$("#for_"+id).removeClass("error").html("*Obbligatorio");
            }
            $(this).addClass("confirmed");
            $("#for_"+id).addClass("confirmed").html("Ok!");
        }
    });
    $("#"+form_id+" textarea.required").each(function(){
        var id = $(this).attr("id");
        if($(this).val().length < 1){
            $(this).addClass("error");
            //alert("Errore: campo obbligatorio");
            err++;
        }else{
            if($(this).hasClass("error")){
                $(this).removeClass("error");
                //$("#for_"+id).removeClass("error").html("*Obbligatorio");
            }
            /*$(this).addClass("confirmed");
            $("#for_"+id).addClass("confirmed").html("Ok!");*/
        }
    });
    $("#"+form_id+" input.r-email").each(function(){
        if($(this).val().length > 1){
            var id = $(this).attr("id");
            var email = $(this).val();
            if(!checkEmail(email)){
                $(this).addClass("error");
                alert("Errore: email non valida");
                err++;
            }else{
                if($("#for_"+id).hasClass("error")){
                    $(this).removeClass("error");
                    $("#for_"+id).removeClass("error").html("");
                }
                /*$(this).addClass("confirmed");
                $("#for_"+id).addClass("confirmed").html("Ok!");*/
            }
        }
    });
    $("#"+form_id+" select.required").each(function(){
        var id = $(this).attr("id");
        if($("#"+id+" option:selected").val() == ''){
            $(this).addClass("error");
            alert("Errore: selezionare un valore");
            err++;
        }else{
            if($(this).hasClass("error")){
                $(this).removeClass("error");
                //$("#for_"+id).removeClass("error").html("*Obbligatorio");
            }
            /*$(this).addClass("confirmed");
            $("#for_"+id).addClass("confirmed").html("Ok!");*/
        }
    });
    $("#"+form_id+" input[type=checkbox].required").each(function(){
        var id = $(this).attr("id");
        if(!($(this).is(':checked'))){
            $("#for_"+id).addClass("error");
            //alert("Errore: campo obbligatorio");
            err++;
        }else{
            if($("#for_"+id).hasClass("error")){
                $("#for_"+id).removeClass("error");
                //$("#for_"+id).removeClass("error").html("*Obbligatorio");
            }
        }
    });
    if(err > 0) {
        alert("Errore: dati incompleti o non corretti");
        $('html, body').animate({
            scrollTop: 450
        }, 'slow');
        return false;
    }else{
        submitForm(form_id);
    }
}
