/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function foto_allegato_validation() {
  if ($("#upload_foto_submit").size() > 0) {
    $("#upload_foto_submit").click(function() {
      if (!$("#fotofile").valid())
        return false;
      return true;
    });
  }
  if ($("#upload_allegato_submit").size() > 0) {
    $("#upload_allegato_submit").click(function() {
      if (!$("#allegatofile").valid())
        return false;
      return true;
    });
  }
  return;
}

function filter_reset() {
  $("input[name$=filter_reset]").click(function() {
      $("input[type=text].filter").clearFields();
      $("select.filter").each(function() {
        $("option",$(this))[0].selected = true;
      });
      return false;
    }
  );
}

function checkbox_all() {
  if ($('.check_all').size() == 1) {
    $(".check_all").click(function() {
      var checked = this.checked;
      $("input[type=checkbox].index_checkbox").attr("checked",checked);
      if (!checked) $("input.delete").attr("disabled",true);
      else $("input.delete").attr("disabled",false);
    });
    $("input[type=checkbox].index_checkbox").click(function() {
      if (!this.checked) {
        $("input[type=checkbox].check_all").attr("checked",false);
        if ($("input[type=checkbox].index_checkbox:checked").size() == 0) {
          $("input.delete").attr("disabled",true);
        }
      } else {
        $("input.delete").attr("disabled",false);
      }
    });
    if ($("input[type=checkbox].index_checkbox:checked").size() == 0)
      $("input.delete").attr("disabled",true);
    else
      $("input.delete").attr("disabled",false);
  }
  return;

}

function check_flusso_submission() {
//   if ($('.field_wrong').size() > 0 || $('.field_ok').size() == 0) {
   if ($('.field_wrong').size() > 0 || $('div#analisiok').size() == 0) {
        $("input#ins_mod_analisi_flusso_submit").attr("disabled",true);
        return false;
   }
   $("input#ins_mod_analisi_flusso_submit").attr("disabled",false);
   return true;
}

function ins_mod_user_validate() {
   $("#ins_mod_user").validate({
              rules: {
                  nome: {
                      required: true,
                      minlength: 3,
                      maxlength: 50
                  },
                  cognome: {
                      required: true,
                      minlength: 3,
                      maxlength: 50
                  },
                  username: {
                      required: true,
                      minlength: 2,
                      maxlength: 45
                  },
                  password: {
                      //required: true,
                      minlength: 5,
                      maxlength: 45
                  },
                  password_confirm: {
                      //required: true,
                      minlength: 5,
                      maxlength: 45,
                      equalTo: "#password"
                  },
                  email: {
                      required: true,
                      email: true,
                      maxlength: 100
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|zip|xls|doc"
                  }
              },
              messages: {
                  nome: {
                      required: "Inserisci il nome",
                      minlength: "Il nome deve avere almeno 3 caratteri",
                      maxlength: "Il nome deve avere al massimo 50 caratteri"
                  },
                  cognome: {
                      required: "Inserisci il cognome",
                      minlength: "Il cognome deve avere almeno 3 caratteri",
                      maxlength: "Il cognome deve avere al massimo 50 caratteri"
                  },
                  username: {
                      required: "Inserisci un username",
                      minlength: "L'username deve avere almeno 2 caratteri",
                      maxlength: "L'username deve avere al massimo 45 caratteri"
                  },
                  password: {
                      required: "Inserisci una password",
                      minlength: "La password deve avere almeno 5 caratteri",
                      maxlength: "La password deve avere al massimo 45 caratteri"
                  },
                  password_confirm: {
                      required: "Inserisci una password",
                      minlength: "La password deve avere almeno 5 caratteri",
                      maxlength: "La password deve avere al massimo 45 caratteri",
                      equalTo: "Inserisci la stessa password inserita sopra"
                  },
                  email: "Inserisci un valido indirizzo email",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files pdf, zip, doc, xls"
              }
        });
        foto_allegato_validation();
}

function ins_mod_permesso_validate() {
   $("#ins_mod_permesso").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  descrizione: {
                      required: true
                  }
              },
              messages: {
                  nome: {
                      required: "Inserisci il nome",
                      minlength: "Il nome deve avere al massimo 255 caratteri"
                  },
                  descrizione: "Inserisci la descrizione"
              }
        });
}

function ins_mod_role_validate() {
   $("#ins_mod_role").validate({
              rules: {
                  name: {
                      required: true,
                      maxlength: 255
                  },
                  description: {
                      required: true
                  }
              },
              messages: {
                  name: {
                      required: "Inserisci il nome",
                      minlength: "Il nome deve avere al massimo 255 caratteri"
                  },
                  description: "Inserisci la descrizione"
              }
        });
}

function ins_mod_menu_validate() {
   $("#ins_mod_menu").validate({
              rules: {
                  titolo: {
                      required: true,
                      maxlength: 255
                  },
                  display_titolo: {
                      required: true
                  }
              },
              messages: {
                  titolo: {
                      required: "Inserisci il titolo",
                      minlength: "Il titolo deve avere al massimo 255 caratteri"
                  },
                  display_titolo: "Scegli se visualizzare o meno il titolo"
              }
        });
}

function ins_mod_link_validate() {
        $("#ins_mod_link").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  url: {
                      required: true,
                      maxlength: 255
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|zip|xls|doc"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  url: "Inserisci l'URL",
                  fotofile: "Solo files jpg, png, gif",
                   allegatofile: "Solo files pdf, zip, doc, xls"
              }
        });
        foto_allegato_validation();

}

function ins_mod_menu_item_validate() {

   $("#ins_mod_menu_item").validate({
              rules: {
                  titolo: {
                      required: true,
                      maxlength: 255
                  },
                  path: {
                      required: true,
                      maxlength: 255
                  },
                  menu_id: {
                      required: true
                  },
                  level: {
                      required: true,
                      range: [0,5]
                  }
              },
              messages: {
                  titolo: {
                      required: "Inserisci il titolo",
                      minlength: "Il titolo deve avere al massimo 255 caratteri"
                  },
                  path: {
                      required: "Inserisci il path",
                      minlength: "Il path deve avere al massimo 255 caratteri"
                  },
                  display_titolo: "Scegli se visualizzare o meno il titolo",
                  menu_id: "Inserisci il menu di appartenenza",
                  level: {
                    required: "Inserisci il livello",
                    range : "Il livello deve essere tra 0 e 5"
                  }
              }
        });
}

function ins_mod_generic_validate() {
      $("#ins_mod_generic").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|zip|xls|doc"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  fotofile: "Solo files jpg, png",
                   allegatofile: "Solo files pdf, zip, doc, xls"
              }
        });
        foto_allegato_validation();
}
function ins_mod_sponsor_validate() {
      $("#ins_mod_sponsor").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  url: {
                      required: false,
                      maxlength: 255
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|zip|xls|doc"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  url: "Inserisci l'URL",
                  fotofile: "Solo files jpg, png, gif",
                   allegatofile: "Solo files pdf, zip, doc, xls"
              }
        });
        foto_allegato_validation();

}
function ins_mod_fotogallery_validate() {
      $("#ins_mod_fotogallery").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "zip"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files zip"
              }
        });
        foto_allegato_validation();
}

function js_validation(form_id) {
  switch (form_id) {
    case 'ins_mod_permesso':
      ins_mod_permesso_validate();
      break;
    case 'ins_mod_role':
      ins_mod_role_validate();
      break;
    case 'ins_mod_menu':
      ins_mod_menu_validate();
      break;
    case 'ins_mod_menu_item':
      ins_mod_menu_item_validate();
      break;
    case 'ins_mod_user':
      ins_mod_user_validate();
      break;
    case 'ins_mod_link':
      ins_mod_link_validate();
      break;
    case 'ins_mod_generic':
      ins_mod_generic_validate();
      break;
    case 'ins_mod_sponsor':
      ins_mod_sponsor_validate();
      break;
    case 'ins_mod_fotogallery':
      ins_mod_fotogallery_validate();
      break;
    case 'ins_mod_evento':
      ins_mod_evento_validate();
      break;
    case 'ins_mod_news':
      ins_mod_news_validate();
      break;
    case 'ins_mod_spettacolo':
      ins_mod_spettacolo_validate();
      break;
     case 'ins_mod_appuntamento':
      ins_mod_appuntamento_validate();
      break;
    case 'ins_mod_via':
      ins_mod_via_validate();
      break;
    case 'ins_mod_socio':
      ins_mod_socio_validate();
      break;
    case 'socio_rinnovo_index':
      socio_rinnovo_index();
      break;
     case 'ins_mod_azienda_laboratorio':
      ins_mod_azienda_laboratorio_validate();
      break;
  default:
    break;
}
  return;
}

function ins_mod_evento_validate() {
        $("#ins_mod_evento").validate({
              rules: {
                  titolo: {
                      required: true,
                      maxlength: 255
                  },
                  descrizione: {
                      required: false
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|doc|zip"
                  }
              },
              messages: {
                  titolo: "Inserisci il titolo",
                  descrizione: "Inserisci la descrizione",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files pdf, doc, zip"
              }
        });
        foto_allegato_validation();
        //date_binder_start_date('#data_inizio','#data_fine');  vecchio data picker

}
function ins_mod_news_validate() {
      $("#ins_mod_news").validate({
              rules: {
                  titolo: {
                      required: true,
                      maxlength: 255
                  },
                  descrizione: {
                      required: false
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|doc|zip"
                  }
              },
              messages: {
                  titolo: "Inserisci il titolo",
                  descrizione: "Inserisci la descrizione",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files pdf, doc, zip"
              }
        });
        foto_allegato_validation();
}


function ins_mod_spettacolo_validate() {
        $("#ins_mod_spettacolo").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  descrizione: {
                      required: false
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|doc|zip"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  descrizione: "Inserisci la descrizione",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files pdf, doc, zip"
              }
        });
        foto_allegato_validation();
        init_personaggio_rows();

}

function ins_mod_appuntamento_validate() {
       $("#ins_mod_appuntamento").validate({
//              rules: {
//                  nome: {
//                      required: true,
//                      maxlength: 255
//                  },
//                  descrizione: {
//                      required: false
//                  },
//                  fotofile: {
//                      accept: "jpg|png|gif"
//                  },
//                  allegatofile: {
//                      accept: "pdf|doc|zip"
//                  }
//              },
//              messages: {
//                  nome: "Inserisci il nome",
//                  descrizione: "Inserisci la descrizione",
//                  fotofile: "Solo files jpg, png, gif",
//                  allegatofile: "Solo files pdf, doc, zip"
//              }
        });
        foto_allegato_validation();
        $.ajaxSetup({type: "POST", timeout: 20000, dataType: "json"});
        init_appuntamento_rows();

}
function ins_mod_via_validate() {
      $("#ins_mod_via").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  tipo: {
                      required: true,
                      maxlength: 255
                  },
                  note: {
                      required: false,
                      maxlength: 255
                  }
              },
              messages: {
                  nome: "Inserisci il nome della via/piazza/...",
                  tipo: "Inserisci il tipo: via/piazza/piazzale..."
              }
        });
        ajax_comune_change('comune_id','provincia_id');
}
function ins_mod_socio_validate() {
      $("#ins_mod_socio").validate({
              rules: {
                  cognome: {
                      required: true,
                      maxlength: 255
                  },
                  nome: {
                      required: true,
                      maxlength: 255
                  }
              },
              messages: {
                  nome: "Inserisci il nome del socio",
                  cognome: "Inserisci il cognome del socio"
              }
        });
        $.ajaxSetup({type: "POST", timeout: 20000});
        ajax_comune_change('comune_id','provincia_id',true);
        socio_via_suggest();
        socio_comune_cap_change();
        $('div[id^=man_date_]').each(function() {
//          var index = this.id.substr(this.id.lastIndexOf("_") + 1);
//          var anno = $('#tessera_socio_anno_' + index).val();
          man_date_init(this,2003,Number(curr_year) + 1);
        });
        $('input[id^=tessera_socio_anno_], input[id^=tessera_socio_numero_]').change(function() {
          check_tessera('ins_mod_socio_submit');
        });
        $('#cognome, #numero_civico, #indirizzo, #nome').change(function() {
          check_omonimi();
        });
        init_tessere_rows();

}
function socio_rinnovo_index() {
//      $("#soci_rinnovo_index").validate({
//              rules: {
//                  cognome: {
//                      required: true,
//                      maxlength: 255
//                  },
//                  nome: {
//                      required: true,
//                      maxlength: 255
//                  }
//              },
//              messages: {
//                  nome: "Inserisci il nome del socio",
//                  cognome: "Inserisci il cognome del socio"
//              }
//        });
        $.ajaxSetup({type: "POST", timeout: 20000});
        $('input[id^=tessera_socio_numero_]').change(function() {
          check_tessera_rinnovo('rinnova_socio_submit');
        });
        $('div[id^=man_date_]').each(function() {
//          var index = this.id.substr(this.id.lastIndexOf("_") + 1);
//          var anno = $('#tessera_socio_anno_' + index).val();
          man_date_init(this,2003,Number(curr_year) + 1);
        });

}
function ins_mod_azienda_laboratorio_validate() {
      $("#ins_mod_azienda_laboratorio").validate({
              rules: {
                  nome: {
                      required: true,
                      maxlength: 255
                  },
                  descrizione: {
                      required: false
                  },
                  fotofile: {
                      accept: "jpg|png|gif"
                  },
                  allegatofile: {
                      accept: "pdf|doc|zip"
                  }
              },
              messages: {
                  nome: "Inserisci il nome",
                  descrizione: "Inserisci la descrizione",
                  fotofile: "Solo files jpg, png, gif",
                  allegatofile: "Solo files pdf, doc, zip"
              }
        });
        foto_allegato_validation();
}

