var utils = (function () { /************************************************* // // Prep DOC support functions // **************************************************/ function PrepEditForm(formId) { $('.datetimepicker').datepicker({ dateFormat: "dd/mm/yy" }); $('.timepicker').timepicker({ timeSeparator: ':', hourText: 'Hour', // Define the locale text for "Hours" minuteText: 'Minute', // Define the locale text for "Minute" amPmText: ['AM', 'PM'], // Define the locale text for periods defaultTime: '00:00' }); var buttonId; var isSigh = false; var form = $('#' + formId); if (formId == 'EditSighting') { isSigh = true; } else if (formId == 'EditTrack') { isSigh = false; } form.find('input:submit').each(function () { $(this).mouseenter(function (e) { buttonId = $(this).attr('id'); }); }); form.unbind('submit').submit(function (e) { e.preventDefault(); // Remvoe any error indication form.find('.input-validation-error').each(function () { $(this).removeClass('input-validation-error'); }); //$(form).find(':checkbox:not(:checked)').attr('value', false); //$(form).find(':checkbox:checked').attr('value', true); var dati = $(this).serialize(); var actionurl = '/Edit/' + $('#' + formId + ' #' + buttonId).attr('icaction'); var actionType = $('#' + formId + ' #' + buttonId).attr('icactionType'); var old = $('#' + formId + ' #' + buttonId).parent().html(); var parent = $('#' + formId + ' #' + buttonId).parent(); var explainError = '' $('#' + formId + ' #' + buttonId).parent().html(WaitingIcon(true)); var isValid = true; $('#' + formId + ' .isObbligatorio').each(function () { if ($(this).val() == '' || $(this).val() == 'undefined' || $(this).val() == '-1') { isValid = false; $(this).addClass('input-validation-error'); } }); if ($('#' + formId + ' .FileError').size() > 0) { isValid = false; explainError = 'Upload a valid file'; } if ($('#' + formId + ' .isUncomplete').size() > 0) { isValid = false; explainError = 'Specify side for all Photos'; } if (actionType != "NEW") { //verifica se chiedere conferma per gli oggetti pubblicati if ($('#' + formId + ' #wasPublished').val() == 1) { if (confirm('Warning! The selected object is published! Do you want to update it?') == false) { isValid = false; } } } if (isValid == true) { $.ajax({ type: "POST", url: actionurl, data: dati, success: function (data) { parent.html(old); if (actionType == "NEW") { if (data.substring(0, 6) == 'error:') { //ILLUMINA I CAMPI ERRATI var strError = data.substring(6); var controls = strError.split('*'); for (var i = 0; i < controls.length; i++) { $('#' + formId + ' #' + controls[i]).addClass('input-validation-error'); if (controls[i] == 'CodiceTraccia') { addMessage('Codice Traccia già presente!', null, $('#' + buttonId), null); } if (controls[i] == 'CodiceAvvistamento') { addMessage('Codice Avvistamento già presente!', null, $('#' + buttonId), null); } } } else { //CARICA IL DIV form.parent().html(data); addMessage('ADD SUCCESSFULLY', null, $('#' + buttonId).parent(), null); } } else { //UPDATE if (data == "OK") { addMessage('UPDATE SUCCESSFULLY', null, $('#' + buttonId).parent().parent(), null); if (isSigh == true) { //ShowSightFoto($('#IDElement').val()); ClearUploads('UpdSighting'); $('#fileNameSpanUpdSighting').html(''); $('#cancelUploadUpdSighting').hide(); $('#prevUpdSighting').hide(); } else { ClearUploads('UpdTrack'); $('#fileNameSpanUpdTrack').html(''); $('#cancelUploadUpdTrack').hide(); $('#prevUpdTrack').hide(); } $('#' + formId + ' .image-preview').each(function () { $(this).remove(); }) form.find('#' + formId + ' .input-validation-error').each(function () { $(this).removeClass('input-validation-error'); }); } else { var controls = data.split('*'); for (var i = 0; i < controls.length; i++) { $('#' + controls[i]).addClass('input-validation-error'); } addMessage('DATA ARE NOT VALID', null, $('#' + buttonId).parent(), null); } } }, error: function () { form.unbind(); addMessage('AN ERROR HAS OCCOURRED', null, $('#' + buttonId).parent(), null); $('#' + buttonId).parent().html(old); } }); } else { parent.html(old); if (explainError != '') { addMessage(explainError, $('#buttonsBar')); } } return false; }); } return { PrepEditForm: PrepEditForm } })();