/** * Zestaw parametrów i metod konfiguracyjnych * * Rozszerzalny poprzez: * jQuery.extend( _config, { nazwa_elementu: { } } ); * */ var _config = { /* adres bazowy strony - wartość ustawiana w init */ base_url: null, /* kontroler i akcja (wypełniane w head) */ controller: null, action: null, /* operacje wykonywane po załadowaniu dokumentu */ init_common: function() { // bazowy URL strony this.base_url = location.href.match(/^(http:\/\/[^\/]*\/)/)[1]; // konfiguracja AJAX-a $.ajaxSetup({ cache: false }); this.init(); }, /** * Ta metoda jest wywoływana zawsze po init_common. * * Metodę nadpisujemy w rozszerzeniach poprzez: * * jQuery.extend( _config, { init: function() { } } ); * */ init: function() { } } /** * Główny zestaw metod * * Rozszerzalny poprzez: * jQuery.extend( _main, { nazwa_elementu: { } } ); * */ var _main = { _this: null, /* operacje wykonywane po załadowaniu dokumentu */ init_common: function() { /* nadanie linkom zewnetrznym atrybutu target="_blank" */ this.external_links(); this.init(); /* inicjalizacja kodu dla kontrolera i akcji */ var controller = _config.controller.charAt(0).toUpperCase() + _config.controller.substr(1).replace(/-[a-z]/ig, function(s) {return s.substr(1,1).toUpperCase()}); if ( typeof(window[controller]) == "object" ) { this._this = window[controller]; var action = _config.action.replace(/-[a-z]/ig, function(s) {return s.substr(1,1).toUpperCase()}) + "Action"; if (typeof(window[controller]["init"]) == "function") { window[controller]["init"](); } if (typeof(window[controller][action]) == "function") { window[controller][action](); } } }, /** * Ta metoda jest wywoływana zawsze po init_common (ale przed wywołaniem akcji kontrolera). * * Metodę nadpisujemy w rozszerzeniach poprzez: * * jQuery.extend( _main, { init: function() { } } ); * */ init: function() { }, // przewija stronę na samą górę (bez użycia "#") scrollToTop: function() { $(document).scrollTop(0); }, /* nadanie linkom zewnetrznym atrybutu target="_blank" */ external_links: function() { $("a[rel='external']").each( function(i) { this.target = "_blank"; }); } }; $(document).ready(function() { _config.init_common(); _main.init_common(); }); try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}