$(function () { //af token var afToken = $('input[name=__RequestVerificationToken]'); //disable inputs $('.form-group').each(function () { if ($(this).hasClass('disabled')) { $(this).find('input').attr('disabled', true); $(this).find('select').attr('disabled', true); $(this).find('textarea').attr('disabled', true); } }); //file upload question $('.fileUploadQuestion').each(function (i) { var uploadCanceled = false; var confirmClearDialog = $(this).find('.confirmClearSelectedFile'); var clear = $(this).find('.clearSelectedFile'); var fileDetails = $(this).find('.fileDetails'); var tempFileNameField = $(fileDetails).find('.temporaryFileNameField'); var tempUniqueFileNameField = $(fileDetails).find('.temporaryUniqueFileNameField'); var uploadFileLink = $(this).find('.uploadFileLink'); var uploadFileDialog = $(this).find('.uploadFileDialog'); var uploadDialogLink = $(this).find('.uploadDialogUrl'); var removeTempFileLink = $(this).find('.removeTempFileUrl'); var uploadFileDialogButtons = { Ok: function () { uploadFile(); }, Cancel: function () { closeDialog(uploadFileDialog); } }; var fileNameLabel = $(this).find('.fileNameLabel'); var fileUploadNameContainer = $(this).find('.uploadFileName'); var closeDialog = function (dialog) { $(dialog).dialog("close"); $(dialog).html(''); }; var cancelFileUpload = function () { $(uploadFileDialog).dialog('close'); $(uploadFileDialog).html(''); $('.statusbar').last().hide(); uploadCanceled = true; }; var removeTempFile = function (filename) { if (filename !== '') { $.ajax({ type: 'POST', url: $(removeTempFileLink).val(), data: { __RequestVerificationToken: $(afToken).val(), fileToRemove: filename } }); } }; var uploadFile = function () { var form = $(uploadFileDialog).find('form'); $(form).ajaxSubmit({ iframe: true, iframeSrc: '', dataType: 'text', type: 'POST', data: { __RequestVerificationToken: $(afToken).val() }, beforeSend: function () { $('.statusbar').last().show(); $(uploadFileDialog).dialog("option", "buttons", { Cancel: function () { cancelFileUpload(); } }); }, success: function (data) { $('.statusbar').last().hide(); if (!uploadCanceled) { var responseContainer = $(form).find('.responseContainer'); $(responseContainer).html(data); var oldUniqueFileName = $(tempUniqueFileNameField).val(); var uniqueFileName = $(responseContainer).find('.validResponse').text(); var newFileName = $(responseContainer).find('.fileName').text(); if (newFileName != '' && uniqueFileName != '') { $(tempFileNameField).val(newFileName); $(tempUniqueFileNameField).val(uniqueFileName); $(fileNameLabel).html(newFileName); $(fileNameLabel).click(function (evt) { evt.preventDefault(); }); $(fileNameLabel).css('color', 'black'); $(fileNameLabel).css('text-decoration', 'none'); $(fileNameLabel).css('cursor', 'default'); $(clear).show(); $(fileUploadNameContainer).show(); closeDialog(uploadFileDialog); removeTempFile(oldUniqueFileName); } else { alert("An error has occurred. Please make sure you have followed the upload instructions and try again."); } } else { removeTempFile(data); uploadCanceled = false; } }, error: function (data) { alert(data); }, complete: function () { $(uploadFileDialog).dialog("option", "buttons", uploadFileDialogButtons); } }); return false; }; $(confirmClearDialog).dialog({ title: 'Remove File', modal: true, autoOpen: false, resizable: false, draggable: false, position: 'center', buttons: { "Ok": function () { if ($(tempFileNameField).val() != '') { removeTempFile($(tempFileNameField).val()); } $(fileDetails).find('input').each(function () { $(this).val(''); }); $(clear).hide(); $(fileUploadNameContainer).hide(); $(fileNameLabel).html(''); $(this).dialog('close'); }, "Cancel": function () { $(this).dialog('close'); } } }); $(uploadFileDialog).dialog({ modal: true, autoOpen: false, resizable: false, draggable: false, width: 400, position: 'center', closeOnEscape: false, open: function () { $(".ui-dialog-titlebar-close").hide(); }, buttons: uploadFileDialogButtons }); $(clear).click(function (evt) { evt.preventDefault(); $(confirmClearDialog).dialog('open'); }); $(uploadFileLink).click(function (evt) { evt.preventDefault(); var ajaxResponse = $.ajax({ cache: false, type: 'GET', url: $(uploadDialogLink).val(), beforeSend: function () { $('.statusbar').last().show(); }, success: function (data) { $(uploadFileDialog).html(data); }, complete: function () { $('.statusbar').last().hide(); $(uploadFileDialog).dialog('open'); } }); }); }); //ranking questions $('.rankingQuestion').each(function (i) { var rankingQuestion = this; var disableSelectedRanks = function () { $(rankingQuestion).find('option').attr('disabled', false); $(rankingQuestion).find('option:selected').each(function (j) { var selectedValue = $(this).val(); var selectedText = $(this).text(); if (parseInt(selectedText) > 0) { $(rankingQuestion).find("option[text=" + selectedText + "]").each(function (k) { var option = this; if (!$(option).attr('selected')) $(option).attr('disabled', true); }); } }); }; disableSelectedRanks(); $('.rankingAnswer').each(function (j) { var rankingAnswer = this; var rankingDropDown = $(this).find('.rankingDropDown'); var freeTextBox = $(rankingAnswer).find('input[type="text"]'); var freeTextArea = $(rankingAnswer).find('textarea'); var freeTextAnswer = $(rankingAnswer).find('.freeTextAnswerId'); var updateRank = function() { if ($(freeTextBox).val() != '' || $(freeTextArea).val() != '') { freeTextAnswer.val($(rankingDropDown).val()); } }; updateRank(); freeTextBox.change(function () { updateRank(); }); freeTextArea.change(function () { updateRank(); }); rankingDropDown.change(function () { updateRank(); disableSelectedRanks(); }); }); }); /* Enable Tooltips */ $('.tooltip').kendoTooltip({ position: 'right' }); });