var removeCandidate; jQuery(function($) { var recalculateGroupEditSlider = function(){ var content = $('#dialog-groupEditForm .scrollContent'), container = $('#dialog-groupEditForm .scrollContainer'), delta = container.actual('height') - content.actual('outerHeight'); if (delta < 0) { $('#dialog-groupEditForm .slider').show(); } else { $('#dialog-groupEditForm .slider').hide(); } return false; } $('#dialog-groupEditForm').dialog({ autoOpen: false, width: 'auto', position: ['center', 'center'], height: 'auto', modal: true, resizable: false, draggable: false, open: function(){ Spinner.show(); $('#dialog-groupEditForm #groupsContainer').load('/user/object_lists/getForEdit', function(){ $('#dialog-groupEditForm a.submit').button(); recalculateGroupEditSlider(); $('#dialog-groupEditForm').dialog('option', {position: ['center', 'center']}); Spinner.hide(); }); $(document).keydown(function(e){ if (e.keyCode == 13) { return false; } }); } }); $('#dialog-confirmDelete').dialog({ autoOpen: false, width: 'auto', position: ['center', 'center'], height: 'auto', modal: true, resizable: false, draggable: false, open: function(){ $(document).keydown(function(e){ if (e.keyCode == 13) { $('#dialog-confirmSave .ok').triggerHandler('click'); return false; } }); } }); $('#dialog-groupEditForm a.submit.cancel').live('click', function(){ $('#dialog-groupEditForm').dialog('close'); return false; }); $('#dialog-groupEditForm a.submit.ok').live('click', function(){ $('#dialog-groupEditForm div.new input').val(Travvi.s('js.new_group')); $('#dialog-groupEditForm div.new').show(); $('#dialog-groupEditForm div.new input').focus().keydown(function(e){ if (e.keyCode == 13) { $('#dialog-groupEditForm div.new a.buttn.ok').click(); return false; } }); $('#dialog-groupEditForm .slider').slider('value', 0); return false; }); $('#dialog-groupEditForm a.buttn.ok').live('click', function(){ var parent = $(this).closest('div'); var newName = $('input', parent).val(); if(newName == '') { flushSpinnerMessage(Travvi.s('js.group_name_can_not_be_blank')); return false; } return false; }); $('#dialog-groupEditForm div.new a.buttn.cancel').live('click', function(){ $('#dialog-groupEditForm div.new').hide(); recalculateGroupEditSlider(); return false; }); $('#dialog-groupEditForm a.buttn.edit').live('click', function(){ var parent = $(this).closest('div'); parent.data('originalName', $('input', parent).val()); $('a.edit, a.delete, span.group', parent).hide(); $('a.ok, a.cancel, input', parent).show(); return false; }); $('#dialog-groupEditForm div.group a.buttn.cancel').live('click', function(){ var parent = $(this).closest('div'); $('input', parent).val(parent.data('originalName')); $('a.edit, a.delete, span.group', parent).show(); $('a.ok, a.cancel, input', parent).hide(); return false; }); $('#dialog-groupEditForm div.group a.buttn.ok').live('click', function(){ var parent = $(this).closest('div'); $.post('/user/object_lists/save', {id: parent.data('id'), name: $('input', parent).val()}, function(data){ eval(data); if(!success) return false; $('span.group span', parent).html($('input', parent).val()); $('a.edit, a.delete, span.group', parent).show(); $('a.ok, a.cancel, input', parent).hide(); }); return false; }); $('#dialog-groupEditForm div.new a.buttn.ok').live('click', function(){ var parent = $(this).closest('div'); $.post('/user/object_lists/add', {name: $('input', parent).val()}, function(data){ eval(data); if(!success) return false; var html = '
\n'; html += '' + $('input', parent).val() + ' (0)\n'; html += '\n'; html += '' + Travvi.s('js.edit') + '\n'; html += '' + Travvi.s('js.delete') + '\n'; html += '\n'; html += '\n'; html += '
\n'; $('#groupsContainer').append(html); parent.hide(); $('#groupsContainer input.justAdded').removeClass('justAdded').textareaCount({ 'maxCharacterSize': 20, 'originalStyle': 'hidden', 'displayFormat': '' }); recalculateGroupEditSlider(); }); return false; }); $('#dialog-groupEditForm a.buttn.delete').live('click', function(){ removeCandidate = $(this).closest('div'); $('#dialog-confirmDelete p').text(Travvi.s('js.group_%s_contains_%s_objects_delete_group', $('span.group span', removeCandidate).text(), ($(this).data('quantity') ? $(this).data('quantity') : 0))); $('#dialog-confirmDelete').dialog('open'); return false; }); $('#dialog-confirmDelete a.submit').button(); $('#dialog-confirmDelete a.submit.cancel').click(function(){ $('#dialog-confirmDelete').dialog('close'); return false; }); $('#dialog-confirmDelete a.submit.ok').click(function(){ $.ajax({ url: '/user/object_lists/delete', data: {id: removeCandidate.data('id')}, type: 'post', dataType: 'script' }); removeCandidate.remove(); recalculateGroupEditSlider(); $('#dialog-confirmDelete').dialog('close'); return false; }); $('#groupsContainer input, #dialog-groupEditForm div.new input').each(function(){ $(this).textareaCount({ 'maxCharacterSize': 20, 'originalStyle': 'hidden', 'displayFormat': '' }); }); $('#dialog-groupEditForm .slider').slider({ value: 100, orientation: "vertical", min: 0, max: 100, step: 1, slide: function( event, ui ) { var content = $('#dialog-groupEditForm .scrollContent'), container = $('#dialog-groupEditForm .scrollContainer'), delta = container.actual('height') - content.actual('outerHeight'); if (delta < 0) { content.css('marginTop', delta*(1-ui.value/100)); } }, change: function( event, ui ) { var content = $('#dialog-groupEditForm .scrollContent'), container = $('#dialog-groupEditForm .scrollContainer'), delta = container.actual('height') - content.actual('outerHeight'); if (delta < 0) { content.css('marginTop', delta*(1-ui.value/100)); } } }); $('#dialog-groupEditForm .scrollContainer').mousewheel(function(e, delta){ delta *= 5; var obj = $( "#dialog-groupEditForm .slider" ); var newVal = obj.slider('option', 'value') + delta; newVal = Math.max(obj.slider('option', 'min'), Math.min(obj.slider('option', 'max'),newVal)); obj.slider('option', 'value', newVal); return false; }); });