$(function() { }); var TwisterOptions = function() { this.getOption = function(optionName, defaultValue) { var keyName = "options:" + optionName; if( $.localStorage.isSet(keyName) ) return $.localStorage.get(keyName); else return defaultValue; } this.setOption = function(optionName, value) { var keyName = "options:" + optionName; $.localStorage.set(keyName, value); } this.soundNotifOptions = function() { $('#notifyForm select').each(function(){ this.value = $.Options.getOption(this.id, "false"); }); var player = $('#player'); player[0].pause(); $('#player').empty(); $('form#notifyForm').on('change','select',function(){ $.Options.setOption(this.id, this.value); if(this.value == false) {player[0].pause(); return;} if (player[0].canPlayType('audio/mpeg;')) { player.attr('type', 'audio/mpeg'); player.attr('src', 'sound/'+this.value+'.mp3'); } else { player.attr('type', 'audio/ogg'); player.attr('src', 'sound/'+this.value+'.ogg'); } player[0].play(); }); } this.volumeControl = function() { var playerVol = $('#playerVol'); playerVol[0].value = $.Options.getOption(playerVol[0].id, 100); $('.volValue').text((playerVol[0].value * 100).toFixed()); playerVol.on('change',function(){ $.Options.setOption(this.id, this.value); $('#player')[0].volume = (this.value); $('.volValue').text((this.value * 100).toFixed()); }); } this.DMsNotif = function() { var sndDM = $.Options.getOption('sndDM', "false"); if( sndDM == "false") return; var player = $('#player'); $('#player').empty(); if (player[0].canPlayType('audio/mpeg;')) { player.attr('type', 'audio/mpeg'); player.attr('src', 'sound/'+sndDM+'.mp3'); } else { player.attr('type', 'audio/ogg'); player.attr('src', 'sound/'+sndDM+'.ogg'); } player[0].volume = $.Options.getOption('playerVol',100); player[0].play(); } this.mensNotif = function() { var sndMention = $.Options.getOption('sndMention', "false"); if(sndMention == "false") return; var player = $('#player'); $('#playerSec').empty(); if (player[0].canPlayType('audio/mpeg;')) { player.attr('type', 'audio/mpeg'); player.attr('src', 'sound/'+sndMention+'.mp3'); } else { player.attr('type', 'audio/ogg'); player.attr('src', 'sound/'+sndMention+'.ogg'); } player[0].volume = $.Options.getOption('playerVol',100); player[0].play(); } this.keysSendDefault = "ctrlenter"; this.keysSend = function() { $('#keysOpt select')[0].value = $.Options.getOption('keysSend',this.keysSendDefault); $('#keysOpt select').on('change', function(){ $.Options.setOption(this.id, this.value); }) } this.keyEnterToSend = function() { return $.Options.getOption('keysSend',this.keysSendDefault) == "enter"; } this.setLang = function() { $('#language').val($.Options.getOption('locLang','auto')) $('#language').on('change', function(){ $.Options.setOption('locLang', $(this).val()); }) } this.getTheme = function() { return $.Options.getOption('theme','nin'); } this.setTheme = function() { $('#theme').val(this.getTheme()) $('#theme').on('change', function(){ $.Options.setOption('theme', $(this).val()); location.reload(); }); } this.getLineFeedsOpt = function() { return $.Options.getOption('displayLineFeeds',"disable"); } this.setLineFeedsOpt = function() { $('#lineFeedsOpt select')[0].value = this.getLineFeedsOpt(); $('#lineFeedsOpt select').on('change', function(){ $.Options.setOption(this.id, this.value); }) } this.getShowPreviewOpt = function() { return $.Options.getOption('displayPreview',"disable"); } this.setShowPreviewOpt = function () { $('#showPreviewOpt select')[0].value = this.getShowPreviewOpt(); $('#showPreviewOpt select').on('change', function(){ $.Options.setOption(this.id, this.value); }); } this.getUnicodeConversionOpt = function () { return $.Options.getOption('unicodeConversion', "disable"); } this.setUnicodeConversionOpt = function () { $("#unicodeConversion")[0].value = this.getUnicodeConversionOpt(); if (this.getUnicodeConversionOpt() === "custom") $("#unicodeConversionOpt .suboptions")[0].style.height = "230px"; $("#unicodeConversion").on('change', function () { $.Options.setOption(this.id, this.value); if (this.value === "custom") $("#unicodeConversionOpt .suboptions")[0].style.height = "230px"; else $("#unicodeConversionOpt .suboptions")[0].style.height = "0px"; }); } this.getConvertPunctuationsOpt = function() { return $.Options.getOption('convertPunctuationsOpt', false); } this.setConvertPunctuationsOpt = function () { $('#convertPunctuationsOpt')[0].checked = this.getConvertPunctuationsOpt(); $('#convertPunctuationsOpt').on('change', function(){ $.Options.setOption(this.id, this.checked); }); } this.getConvertEmotionsOpt = function() { return $.Options.getOption('convertEmotionsOpt', false); } this.setConvertEmotionsOpt = function () { $('#convertEmotionsOpt')[0].checked = this.getConvertEmotionsOpt(); $('#convertEmotionsOpt').on('change', function(){ $.Options.setOption(this.id, this.checked); }); } this.getConvertSignsOpt = function() { return $.Options.getOption('convertSignsOpt', false); } this.setConvertSignsOpt = function () { $('#convertSignsOpt')[0].checked = this.getConvertSignsOpt(); $('#convertSignsOpt').on('change', function(){ $.Options.setOption(this.id, this.checked); }); } this.getConvertFractionsOpt = function() { return $.Options.getOption('convertFractionsOpt', false); } this.setConvertFractionsOpt = function () { $('#convertFractionsOpt')[0].checked = this.getConvertFractionsOpt(); $('#convertFractionsOpt').on('change', function(){ $.Options.setOption(this.id, this.checked); }); } this.getUseProxyOpt = function () { return $.Options.getOption('useProxy', 'disable'); } this.setUseProxyOpt = function () { $('#useProxy')[0].value = this.getUseProxyOpt(); if (this.getUseProxyOpt() === 'disable') $('#useProxyForImgOnly').attr('disabled','disabled'); $('#useProxy').on('change', function () { $.Options.setOption(this.id, this.value); if (this.value === 'disable') $('#useProxyForImgOnly').attr('disabled','disabled'); else $('#useProxyForImgOnly').removeAttr('disabled'); }); } this.getUseProxyForImgOnlyOpt = function () { return $.Options.getOption('useProxyForImgOnly', false); } this.setUseProxyForImgOnlyOpt = function () { $('#useProxyForImgOnly')[0].checked = this.getUseProxyForImgOnlyOpt(); $('#useProxyForImgOnly').on('change', function () { $.Options.setOption(this.id, this.checked); }); } this.getSplitPostsOpt = function (){ return $.Options.getOption('splitPosts', 'disable'); } this.setSplitPostsOpt = function () { $('#splitPosts')[0].value = this.getSplitPostsOpt(); $('#splitPosts').on('change', function () { $.Options.setOption(this.id, this.value); }); } this.getHideRepliesOpt = function () { return $.Options.getOption('hideReplies', 'following'); } this.setHideRepliesOpt = function () { $('#hideReplies')[0].value = this.getHideRepliesOpt(); $('#hideReplies').on('change', function () { $.Options.setOption(this.id, this.value); }); } this.getHideCloseRTsOpt = function () { return $.Options.getOption('hideCloseRTs', 'disable'); }; this.setHideCloseRTsOpt = function () { $('#hideCloseRTs')[0].value = this.getHideCloseRTsOpt(); if (this.getHideCloseRTsOpt() === 'disable') { $('#hideCloseRTsDesc')[0].style.display = 'none'; } else { $('#hideCloseRTsDesc')[0].style.display = 'inline'; } $('#hideCloseRTs').on('change', function () { $.Options.setOption(this.id, this.value); if (this.value === 'disable') { $('#hideCloseRTsDesc')[0].style.display = 'none'; } else { $('#hideCloseRTsDesc')[0].style.display = 'inline'; } }); }; this.getHideCloseRTsHourOpt = function () { return parseInt($.Options.getOption('hideCloseRtsHour', '1')); }; this.setHideCloseRTsHourOpt = function () { $('#hideCloseRtsHour')[0].value = this.getHideCloseRTsHourOpt().toString(); $('#hideCloseRtsHour').on('keyup', function () { if (/^\d+$/.test(this.value)) { this.style.backgroundColor = ''; $.Options.setOption(this.id, this.value); $(this).next('span').text(polyglot.t('hour(s)')); } else { this.style.backgroundColor = '#f00'; $(this).next('span').text(polyglot.t('only numbers are allowed!')); } }); }; this.getIsFollowingMeOpt = function () { return $.Options.getOption('isFollowingMe'); }; this.setIsFollowingMeOpt = function () { $('#isFollowingMe')[0].value = this.getIsFollowingMeOpt(); $('#isFollowingMe').on('change', function () { $.Options.setOption(this.id, this.value); }); }; this.InitOptions = function() { this.soundNotifOptions(); this.volumeControl(); this.keysSend(); this.setLang(); this.setTheme(); this.setLineFeedsOpt(); this.setShowPreviewOpt(); this.setUnicodeConversionOpt(); this.setConvertPunctuationsOpt(); this.setConvertEmotionsOpt(); this.setConvertSignsOpt(); this.setConvertFractionsOpt(); this.setUseProxyOpt(); this.setUseProxyForImgOnlyOpt(); this.setSplitPostsOpt(); this.setHideRepliesOpt(); this.setHideCloseRTsHourOpt(); this.setHideCloseRTsOpt(); this.setIsFollowingMeOpt(); } } jQuery.Options = new TwisterOptions;