1(function () { 2 'use strict'; 3 $(document) 4 .on('click', '.special-settings a', function (event) { 5 event.preventDefault(); 6 setSpecialVersion($(this).data()); 7 }) 8 .on('click', '[data-aa-off]', function(event) { 9 event.preventDefault(); 10 unsetSpecialVersion(); 11 }) 12 .on('click', '[data-aa-on]', function(event) { 13 event.preventDefault(); 14 setDefaultsSpecialVersion(); 15 }); 16 17 jQuery(document).ready(function ($) { 18 setSpecialVersion(); 19 }); 20 21 /** 22 * УÑÑановка паÑамеÑÑов оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑпеÑвеÑÑии 23 * @param {object} data ÐбÑÐµÐºÑ Ñ Ð´Ð°Ð½Ð½Ñми Ð´Ð»Ñ ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑов 24 */ 25 function setSpecialVersion(data) { 26 var 27 // полÑÑаем ÑекÑÑее знаÑение пеÑеменной $.cookie.json; 28 cookieJson = $.cookie.json, 29 $html = $('html'), 30 // ÐолÑÑаем ÑекÑÑее знаÑение аÑÑибÑÑа class и html. 31 htmlCurrentClass = $html.prop('class'), 32 // УдалÑем ÑÑаÑÑе клаÑÑÑ Ñ html, оÑÑавлÑем ÑолÑко ÑÑжие клаÑÑÑ, ÑÑо важно, 33 // Ñ.к. клаÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñем не ÑолÑко мÑ. 34 clearSpecialClasses = htmlCurrentClass.replace(/special-([a-z,A-Z,-]+)/g, ''), 35 // ÐÑизнак вклÑÑенной ÑпеÑвеÑÑии, он же ÑпеÑиалÑнÑй клаÑÑ, коÑоÑÑй добавиÑÑÑ Ðº html 36 $aaVersion = {'aaVersion':'on'}, 37 // ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´ новÑе клаÑÑÑ. 38 htmlClass = ''; 39 40 // РабоÑаем Ñ ÐºÑками в json-ÑоÑмаÑе 41 $.cookie.json = true; 42 43 // ÐÑли пеÑÐµÐ´Ð°Ð½Ñ Ð´Ð°Ð½Ð½Ñе 44 if (data) { 45 // ÐбÑединÑем ÑÑÑеÑÑвÑÑÑие кÑки Ñ Ð½Ð¾Ð²Ñми даннÑми из ÑÑÑлки. 46 var $newCookies = $.extend($.cookie('aaSet'), data, $aaVersion); 47 48 // ÐапиÑÑваем новÑÑ ÐºÑÐºÑ 49 $.cookie('aaSet', $newCookies, { 50 expires: 365, 51 path: '/', 52 secure: false 53 }); 54 } 55 56 // УдалÑем ненÑжнÑе клаÑÑÑ a-current. 57 $('.a-current').removeClass('a-current'); 58 59 // ÐÑли еÑÑÑ ÐºÑка â ÑабоÑаем. 60 if ($.cookie('aaSet')) { 61 // ÐÑобегаем по маÑÑÑÐ²Ñ Ð¸Ð· наÑей кÑки 62 $.each($.cookie('aaSet'), function (key, val) { 63 // ФоÑмиÑÑем ÑÑÑÐ¾ÐºÑ Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑемÑми клаÑÑам (иÑполÑзоваÑÑ ÑÑÑ .addClass â зло!) 64 htmlClass += ' special-' + key + '-' + val; 65 // ÐобавлÑем нÑжнÑе клаÑÑÑ a-current. 66 $('.' + key + '-' + val).addClass('a-current'); 67 68 }); 69 70 $html 71 // ÐаменÑем ÑекÑÑий аÑÑибÑÑ Ð½Ð° оÑиÑеннÑй Ð¾Ñ Ð»Ð¸ÑÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑов. 72 .prop('class', clearSpecialClasses) 73 // ÐобавлÑем Ð²Ð½Ð¾Ð²Ñ ÑÑоÑмиÑованнÑе клаÑÑÑ. 74 .addClass(htmlClass); 75 76 // ÐозвÑаÑаем ÑоÑÐ¼Ð°Ñ ÐºÑков как бÑло до наÑ. 77 $.cookie.json = cookieJson; 78 } 79 80 81 return false; 82 } 83 84 /** 85 * ÐÑклÑÑение ÑпеÑиалÑной веÑÑии ÑайÑа. 86 */ 87 function unsetSpecialVersion() { 88 var 89 // ÐолÑÑаем знаÑение клаÑÑа Ñега html. 90 htmlCurrentClass = $('html').prop('class'), 91 // ÐÑиÑаем Ð¾Ñ ÐºÐ»Ð°ÑÑов ÑпеÑвеÑÑии 92 clearSpecialClasses = htmlCurrentClass.replace(/special-([a-z,A-Z,-]+)/g, ''); 93 // ÐаменÑем ÑекÑÑий аÑÑибÑÑ Ð½Ð° оÑиÑеннÑй Ð¾Ñ Ð»Ð¸ÑÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑов. 94 $('html').prop('class', clearSpecialClasses); 95 // УдалÑем кÑки 96 $.removeCookie('aaSet', { path: '/' }); 97 } 98 99 /** 100 * УÑÑановка деÑолÑнÑÑ Ð·Ð½Ð°Ñений Ð´Ð»Ñ ÑпеÑвеÑÑии. 101 * @param {object} params ÐбÑÐµÐºÑ Ñ Ð´Ð°Ð½Ð½Ñми Ð´Ð»Ñ ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑов. 102 */ 103 function setDefaultsSpecialVersion(params) { 104 // ÐадаÑм знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ 105 var $specialDefaults = { 106 'aaVersion':'on', 107 'aaColor': 'black', 108 'aaFontsize': 'small', 109 'aaFont': 'times', 110 'aaKerning': 'normal', 111 'aaImage': 'on' 112 }; 113 114 // ÐбÑединÑем знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ñ Ð¿ÐµÑеданнÑми даннÑми.
115 var $setDefaulParams = $.extend($specialDefaults, params); 116 117 // ÐÑзÑваем setSpecialVersion, где и пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð²ÐµÑÑ Ð¿ÑоÑеÑÑ. 118 setSpecialVersion($setDefaulParams); 119 } 120 121})(); 122 123
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.