$(document).ready(function () { // http://stackoverflow.com/questions/2219924/idiomatic-jquery-delayed-event-only-after-a-short-pause-in-typing-e-g-timew var typewatch = (function () { var timer = 0; return function (callback, ms) { clearTimeout(timer); timer = setTimeout(callback, ms); }; })(); function israr_supported() { var pattern = $('#naming_pattern').val(); $.get(sbRoot + '/config/postProcessing/isRarSupported', function (data) { if (data == "supported") { } else { $('#unpack').qtip('option', { 'content.text': 'Unrar Executable not found.', 'style.classes': 'qtip-rounded qtip-shadow qtip-red' }); $('#unpack').qtip('toggle', true); $('#unpack').css('background-color', '#FFFFDD'); } }); } function fill_examples() { var pattern = $('#naming_pattern').val(); var multi = $('#naming_multi_ep :selected').val(); $.get(sbRoot + '/config/postProcessing/testNaming', {pattern: pattern}, function (data) { if (data) { $('#naming_example').text(data + '.ext'); $('#naming_example_div').show(); } else { $('#naming_example_div').hide(); } }); $.get(sbRoot + '/config/postProcessing/testNaming', {pattern: pattern, multi: multi}, function (data) { if (data) { $('#naming_example_multi').text(data + '.ext'); $('#naming_example_multi_div').show(); } else { $('#naming_example_multi_div').hide(); } }); $.get(sbRoot + '/config/postProcessing/isNamingValid', {pattern: pattern, multi: multi}, function (data) { if (data == "invalid") { $('#naming_pattern').qtip('option', { 'content.text': 'This pattern is invalid.', 'style.classes': 'qtip-rounded qtip-shadow qtip-red' }); $('#naming_pattern').qtip('toggle', true); $('#naming_pattern').css('background-color', '#FFDDDD'); } else if (data == "seasonfolders") { $('#naming_pattern').qtip('option', { 'content.text': 'This pattern would be invalid without the folders, using it will force "Flatten" off for all shows.', 'style.classes': 'qtip-rounded qtip-shadow qtip-red' }); $('#naming_pattern').qtip('toggle', true); $('#naming_pattern').css('background-color', '#FFFFDD'); } else { $('#naming_pattern').qtip('option', { 'content.text': 'This pattern is valid.', 'style.classes': 'qtip-rounded qtip-shadow qtip-green' }); $('#naming_pattern').qtip('toggle', false); $('#naming_pattern').css('background-color', '#FFFFFF'); } }); } function fill_abd_examples() { var pattern = $('#naming_abd_pattern').val(); $.get(sbRoot + '/config/postProcessing/testNaming', {pattern: pattern, abd: 'True'}, function (data) { if (data) { $('#naming_abd_example').text(data + '.ext'); $('#naming_abd_example_div').show(); } else { $('#naming_abd_example_div').hide(); } }); $.get(sbRoot + '/config/postProcessing/isNamingValid', {pattern: pattern, abd: 'True'}, function (data) { if (data == "invalid") { $('#naming_abd_pattern').qtip('option', { 'content.text': 'This pattern is invalid.', 'style.classes': 'qtip-rounded qtip-shadow qtip-red' }); $('#naming_abd_pattern').qtip('toggle', true); $('#naming_abd_pattern').css('background-color', '#FFDDDD'); } else if (data == "seasonfolders") { $('#naming_abd_pattern').qtip('option', { 'content.text': 'This pattern would be invalid without the folders, using it will force "Flatten" off for all shows.', 'style.classes': 'qtip-rounded qtip-shadow qtip-red' }); $('#naming_abd_pattern').qtip('toggle', true); $('#naming_abd_pattern').css('background-color', '#FFFFDD'); } else { $('#naming_abd_pattern').qtip('option', { 'content.text': 'This pattern is valid.', 'style.classes': 'qtip-rounded qtip-shadow qtip-green' }); $('#naming_abd_pattern').qtip('toggle', false); $('#naming_abd_pattern').css('background-color', '#FFFFFF'); } }); } function setup_naming() { // if it is a custom selection then show the text box if ($('#name_presets :selected').val() == "Custom...") { $('#naming_custom').show(); } else { $('#naming_custom').hide(); $('#naming_pattern').val($('#name_presets :selected').attr('id')); } fill_examples(); } function setup_abd_naming() { // if it is a custom selection then show the text box if ($('#name_abd_presets :selected').val() == "Custom...") { $('#naming_abd_custom').show(); } else { $('#naming_abd_custom').hide(); $('#naming_abd_pattern').val($('#name_abd_presets :selected').attr('id')); } fill_abd_examples(); } $('#unpack').change(function () { if(this.checked) { israr_supported(); } else { $('#unpack').qtip('toggle', false); } }); $('#name_presets').change(function () { setup_naming(); }); $('#name_abd_presets').change(function () { setup_abd_naming(); }); $('#naming_custom_abd').change(function () { setup_abd_naming(); }); $('#naming_multi_ep').change(fill_examples); $('#naming_pattern').focusout(fill_examples); $('#naming_pattern').keyup(function () { typewatch(function () { fill_examples(); }, 500); }); $('#naming_abd_pattern').focusout(fill_examples); $('#naming_abd_pattern').keyup(function () { typewatch(function () { fill_abd_examples(); }, 500); }); $('#show_naming_key').click(function () { $('#naming_key').toggle(); }); $('#show_naming_abd_key').click(function () { $('#naming_abd_key').toggle(); }); $('#do_custom').click(function () { $('#naming_pattern').val($('#name_presets :selected').attr('id')); $('#naming_custom').show(); $('#naming_pattern').focus(); }); setup_naming(); setup_abd_naming(); // -- start of metadata options div toggle code -- $('#metadataType').on('change keyup', function () { $(this).showHideMetadata(); }); $.fn.showHideMetadata = function () { $('.metadataDiv').each(function () { var targetName = $(this).attr('id'); var selectedTarget = $('#metadataType :selected').val(); if (selectedTarget == targetName) { $(this).show(); } else { $(this).hide(); } }); }; //initialize to show the div $(this).showHideMetadata(); // -- end of metadata options div toggle code -- $('.metadata_checkbox').click(function () { $(this).refreshMetadataConfig(false); }); $.fn.refreshMetadataConfig = function (first) { var cur_most = 0; var cur_most_provider = ''; $('.metadataDiv').each(function () { var generator_name = $(this).attr('id'); var config_arr = []; var show_metadata = $("#" + generator_name + "_show_metadata").prop('checked'); var episode_metadata = $("#" + generator_name + "_episode_metadata").prop('checked'); var fanart = $("#" + generator_name + "_fanart").prop('checked'); var poster = $("#" + generator_name + "_poster").prop('checked'); var banner = $("#" + generator_name + "_banner").prop('checked'); var episode_thumbnails = $("#" + generator_name + "_episode_thumbnails").prop('checked'); var season_posters = $("#" + generator_name + "_season_posters").prop('checked'); var season_banners = $("#" + generator_name + "_season_banners").prop('checked'); var season_all_poster = $("#" + generator_name + "_season_all_poster").prop('checked'); var season_all_banner = $("#" + generator_name + "_season_all_banner").prop('checked'); config_arr.push(show_metadata ? '1' : '0'); config_arr.push(episode_metadata ? '1' : '0'); config_arr.push(fanart ? '1' : '0'); config_arr.push(poster ? '1' : '0'); config_arr.push(banner ? '1' : '0'); config_arr.push(episode_thumbnails ? '1' : '0'); config_arr.push(season_posters ? '1' : '0'); config_arr.push(season_banners ? '1' : '0'); config_arr.push(season_all_poster ? '1' : '0'); config_arr.push(season_all_banner ? '1' : '0'); var cur_num = 0; for (var i = 0; i < config_arr.length; i++) { cur_num += parseInt(config_arr[i]); } if (cur_num > cur_most) { cur_most = cur_num; cur_most_provider = generator_name; } $("#" + generator_name + "_eg_show_metadata").attr('class', show_metadata ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_episode_metadata").attr('class', episode_metadata ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_fanart").attr('class', fanart ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_poster").attr('class', poster ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_banner").attr('class', banner ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_episode_thumbnails").attr('class', episode_thumbnails ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_season_posters").attr('class', season_posters ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_season_banners").attr('class', season_banners ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_season_all_poster").attr('class', season_all_poster ? 'enabled' : 'disabled'); $("#" + generator_name + "_eg_season_all_banner").attr('class', season_all_banner ? 'enabled' : 'disabled'); $("#" + generator_name + "_data").val(config_arr.join('|')); }); if (cur_most_provider != '' && first) { $('#metadataType option[value=' + cur_most_provider + ']').attr('selected', 'selected'); $(this).showHideMetadata(); } }; $(this).refreshMetadataConfig(true); $('img[title]').qtip( { position: { viewport: $(window), at: 'bottom center', my: 'top right' }, style: { tip: { corner: true, method: 'polygon' }, classes: 'qtip-shadow qtip-dark' } }); $('i[title]').qtip( { position: { viewport: $(window), at: 'top center', my: 'bottom center' }, style: { tip: { corner: true, method: 'polygon' }, classes: 'qtip-rounded qtip-shadow ui-tooltip-sb' } }); $('.custom-pattern,#unpack').qtip( { content: 'validating...', show: { event: false, ready: false }, hide: false, position: { viewport: $(window), at: 'center left', my: 'center right' }, style: { tip: { corner: true, method: 'polygon' }, classes: 'qtip-rounded qtip-shadow qtip-red' } }); });