8 var DEFAULT_PERSPECTIVE = "#VisualPerspective";
 
  12         var tabs = $('ol#tabs li');
 
  14         CurrentDocument = new $.wikiapi.WikiDocument("document-meta");
 
  16         $.blockUI.defaults.baseZ = 10000;
 
  20                 $(document).keydown(function(event) {
 
  21                         console.log("Received key:", event);
 
  25         $('#save-button').click(function(event){
 
  26             event.preventDefault();
 
  27                         $.wiki.showDialog('#save_dialog');
 
  35         $('.tabs li').live('click', function(event, callback) {
 
  36             event.preventDefault();
 
  37                         $.wiki.switchToTab(this);
 
  40                 $('#tabs li > .tabclose').live('click', function(event, callback) {
 
  41                         var $tab = $(this).parent();
 
  43                         if($tab.is('.active'))
 
  44                                 $.wiki.switchToTab(DEFAULT_PERSPECTIVE);
 
  46                         var p = $.wiki.perspectiveForTab($tab);
 
  53         $(window).resize(function(){
 
  54             $('iframe').height($(window).height() - $('#tabs').outerHeight() - $('#source-editor .toolbar').outerHeight());
 
  59         $('.vsplitbar').toggle(
 
  61                                 $.wiki.state.perspectives.ScanGalleryPerspective.show = true;
 
  63                                 $('.vsplitbar').css('right', 480).addClass('active');
 
  64                                 $('#editor .editor').css('right', 510);
 
  66                                 $.wiki.perspectiveForTab('#tabs-right .active').onEnter();
 
  69                             var active_right = $.wiki.perspectiveForTab('#tabs-right .active');
 
  70                                 $.wiki.state.perspectives.ScanGalleryPerspective.show = false;
 
  72                                 $('.vsplitbar').css('right', 0).removeClass('active');
 
  73                                 $(".vsplitbar-title").html("↑ " + active_right.vsplitbar + " ↑");
 
  74                                 $('#editor .editor').css('right', 30);
 
  76                                 active_right.onExit();
 
  80                 if($.wiki.state.perspectives.ScanGalleryPerspective.show){
 
  81             $('.vsplitbar').trigger('click');
 
  82             $(".vsplitbar-title").html("↓ GALERIA ↓");
 
  84             $(".vsplitbar-title").html("↑ GALERIA ↑");
 
  86         window.onbeforeunload = function(e) {
 
  87             if($.wiki.isDirty()) {
 
  88                                 e.returnValue = "Na stronie mogą być nie zapisane zmiany.";
 
  89                                 return "Na stronie mogą być nie zapisane zmiany.";
 
  93                 console.log("Fetching document's text");
 
  95                 $(document).bind('wlapi_document_changed', function(event, doc) {
 
  97                                 $('#document-revision').text(doc.revision);
 
  99                                 console.log("Failed handler", e);
 
 103                 CurrentDocument.fetch({
 
 105                                 console.log("Fetch success");
 
 106                                 $('#loading-overlay').fadeOut();
 
 107                                 var active_tab = document.location.hash || DEFAULT_PERSPECTIVE;
 
 109                                 if(active_tab == "#ScanGalleryPerspective")
 
 110                                         active_tab = DEFAULT_PERSPECTIVE;
 
 112                                 console.log("Initial tab is:", active_tab)
 
 113                                 $.wiki.switchToTab(active_tab);
 
 115                 /* every 5 minutes check for a newer version */
 
 116                 var revTimer = setInterval(function() {
 
 117                         CurrentDocument.checkRevision({outdated: function(){
 
 118                             $('#header').addClass('out-of-date');
 
 119                             clearInterval(revTimer);
 
 123                         failure: function() {
 
 124                                 $('#loading-overlay').fadeOut();
 
 128     }; /* end of initialize() */
 
 131         /* Load configuration */
 
 134         var initAll = function(a, f) {
 
 135                 if (a.length == 0) return f();
 
 139                         doc: CurrentDocument,
 
 140                         callback: function(){
 
 148          * Initialize all perspectives
 
 150         initAll( $.makeArray($('.tabs li')), initialize);
 
 151         console.log(location.hash);