/**
 * Menu biurosystemu
 * 
 *
 */

      $( function(){
        
        /* CHOWANIE MENU */
        
        
        $('#fixedMenuCaller').mouseover(function(){
          var off = $(this).offset();
          var menu = $("#fixedMenu");
          var pos = off.top -30;
          if ( pos < 0 ) pos = 0;
          if (  menu.offset().top < pos ){
            menu.hide();
            menu.css('top', pos );
            menu.fadeIn(100);
          }
          
        });
        
        $(window).scroll(function () { 
            var menu = $("#fixedMenu");
            menu.css('top', 0 );
        });
        
        $('#menuGeneralHideClose').click(
            function(){
              var Hidder = $(this); //zaraz sie zmieni kontekst thisa
              $("#menuGeneralHorizontal").toggle( 'fast', function(){
                                                                      if ( $(this).is(':visible') ) {
                                                                        Hidder.removeClass('isHidden');
                                                                        var visible = 1;
                                                                      }  
                                                                      else {
                                                                        Hidder.addClass('isHidden');
                                                                        var visible = 0;
                                                                      }
                                                                      var menu_bar = $(".twMenuDrop:first"); //znalezienie PIERWSZEGO paska menu
                                                                      var menu_id = menu_bar.attr('id').split('_');
                                                                      menu_id = menu_id[1] 
                                                                      $.post( 'tmenu_fasticon.php', { action: 'toggle_menubar', menu_id: menu_id, visible :visible}, function(ret){  } );  
                                                                    });
            }
        );
        
        /*  DODAWANIE IKONEK SZYBKICH Z POZIOMU MENU */
        
        
        $('.twMenuDrag').draggable( { 
                                    snapDistance: 10,
                                    helper: 'clone',
                                    opacity: 0.5,
                                    start: function(event, ui){ 
                                                                //target to nasz ciagany div
                                                                
                                                                var ttt = this.id.split('_'); //odzyskanie z id numeru akcji i rozmiaru
                                                                var id = ttt[1];
                                                                var size = ttt[2];
                                                                var ikona = $( '<img src="./i/ficon/'+size+'/'+id+'.png" class="twMenuFastIconDragged"/>' ); //tworzenie elementu ikonki
                                                                var jtarget = $(ui.helper);
                                                                jtarget.attr( 'href', 'javascript:void()' ) ; // zeby nie przechodzil w link
                                                                jtarget.prepend( ikona );
                                                                
                                                                
                                    
                                                              }
                                         } ); 
                                    
       $('.twMenuDrop').droppable( { 
                                    accept : '.twMenuDrag', // nazwa klasy która może spaść na element
                                    activeClass: 'MenuMagicAura',  // nazwa klasy która się włączy gdy ktoś ciąga pasujacy element
                                    hoverClass: 'MenuMagicBlink', // nazwa klasy która się włączy gdy ktoś najedzie na element
                                 		drop:	function (event, ui) 
                                				{
                                          aaDND( ui.draggable , this );
                                				}
                                    } );                            
        
        
       function aaDND(jqDragged , dropped){
          
          var dragged = jqDragged.get(0);
          var jqDropped = $(dropped);
          var ttt = dragged.id.split('_'); //odzyskanie z id numeru pozycji
          var id = ttt[1];
          if ( id == undefined ) return false;
          
          var ddd = dropped.id.split('_'); //odzyskanie z id numeru akcji i rozmiaru
          var menu_id = ddd[1];
         
          //sprawdzenie czy ikonki już czasem nie ma
          var id_name = 'fastico_' + id ;
          var jestikona = jqDropped.find('#' + id_name); //tu poda ile jest ikon o takim id
          if (jestikona.length > 0){
            jestikona.animate({ opacity: 0.1 }, 400 ).animate({ opacity: 1 }, 400 );
            return false;
          } 
          
          //utworzenie ikonki
          
          //znalezc ikone z dragged i wpisac zamiast +id+
          var icon = jqDragged.find('.menuIcon15');
          //alert( jqDragged.html() );
          var path =  icon.css('background-image')
          path = path.substring(4);
          path = path.replace('/small/', '/big/');
          path = path.replace(')', '');
          
          var ikona = $( '<img src="'+path+'" id="'+id_name+'" class="twMenuFastIcon" title="'+jqDragged.text()+'" />' ); //tworzenie elementu 
          jqDropped.append( ikona ); //dodanie do menu ikony
          var sort_nr = jqDropped.find('.twMenuFastIcon').length ;
         
         //odmeldowac do ajaxa, ze user zrzucil na menu nowy item
         $.post( 'tmenu_fasticon.php', { action: 'add_fastico', menu_id: menu_id , ico_id: id, sort: sort_nr}, function(ret){ } );
         
         //sprawienie zw bedzie sortowalna i usuwalna
         MakeIconDnD(ikona);         
         


       }//---------- 
       
       function MakeIconDnD( jqSet ){
        
         
         /*  SORTOWANIE I USUWANIE IKONEK SZYBKICH*/
         
          jqSet.draggable( { 
                                      ghosting: true, 
                                      revert: true, //oznaczanie iż można je ciągac i wracają
                                      revertDuration: 0,
                                      snapDistance: 15
                                           } );
                                      
         //sortowanie
         jqSet.droppable( { 
                                      accept : '.twMenuFastIcon', // nazwa klasy która może spaść na element
                                      hoverClass: 'IconMagicBlink', // nazwa klasy która się włączy gdy ktoś najedzie na element
                                   		drop:	function (event, ui) 
                                  				{
                                  					  drag = ui.draggable.get(0); 
                                              if ( drag == this ) return false;
                                              drop = this;
                                  					  var ttt = drag.id.split('_'); //odzyskanie z id numeru akcji i rozmiaru
                                              var id_drag = ttt[1];
                                              var size = ttt[2];
                                              if ( id_drag == undefined ) return false;
                                              
                                              var menu_bar = $(".twMenuDrop:first"); //znalezienie PIERWSZEGO paska menu
                                              var menu_id = menu_bar.attr('id').split('_');
                                              menu_id = menu_id[1] 
                                              
                                              var drag_index = -1;
                                              var drop_index = -1;
                                              
                                              //wyszukanie kolejnosci w menu menu
                                              menu_bar.find(".twMenuFastIcon").each( function( ind ){
                                                                        if ( this.id == drag.id ) drag_index = ind +1;
                                                                        if ( this.id == drop.id ) drop_index = ind +1;
                                                                     });
                                              
                                              if ( drag_index > drop_index ) $(this).before(drag);
                                              else $(this).after(drag);
                                              
                                              var ttt = this.id.split('_'); //odzyskanie z id numeru akcji i rozmiaru
                                              var id_drop = ttt[1];
                                              if ( id_drop == undefined ) return false;
                                              
                                  					
                                  			    $.post( 'tmenu_fasticon.php', { action: 'sort_fastico', menu_id: menu_id , ico_id: id_drop, ico_drag_id: id_drag}, function(ret){ 
                                                                                                                                                                if ( ret != "1" ) alert(ret); 
                                                                                                                                                              });
                                  					//TODO - zapisac te zmiane ajaxem
                                  					//uwaga, sortowanie musi uwzgledniac nie pojawienie sie ikony sporadycznej, np powrotu do zadania itp.
                                  					//do ajaxa podac jedynie jaka ikonka wchodzi przed jaka, a sortowanie ma byc problemem skryptu
                                  				}
                                      } );
       }//-----------
       
       MakeIconDnD( $('.twMenuFastIcon') ); //uczynienie powolanych ikon ciagalnymi
       
       
       //kasowanie
       $('#menuGeneralHorizontal').droppable( { 
                                    accept : '.twMenuFastIcon', // nazwa klasy która może spaść na element
                                    hoverClass: 'EatFastIcon', // nazwa klasy która się włączy gdy ktoś najedzie na element
                                 		drop:	function (event, ui) 
                                				{
                                              drag = ui.draggable.get(0);
                                              var ttt = drag.id.split('_'); //odzyskanie z id numeru akcji i rozmiaru
                                              var id = ttt[1];
                                              var size = ttt[2];
                                              if ( id == undefined ) return false;
                                              
                                              var menu_bar = $(".twMenuDrop:first"); //znalezienie PIERWSZEGO paska menu
                                              var menu_id = menu_bar.attr('id').split('_');
                                              menu_id = menu_id[1] 
                                          
                                					
                                					//odmeldowac do ajaxa, ze user zrzucil na menu nowy item
                                          $.post( 'tmenu_fasticon.php', { action: 'del_fastico', menu_id: menu_id , ico_id: id}, function(ret){ 
                                                                                                                                            if ( ret == "1" ) $(drag).remove();
                                                                                                                                            else alert(ret); 
                                                                                                                                          } );
                                					
                                				}
                                    } );
        
        
        
        
      }); //--------------------------------------------------------------------


/* *****************************************************************************
 * FUNKCJE IKONEK SPECJALNYCH  
 ***************************************************************************  */

 // Po kliknieciu na Oznacz Jako Przeczytane
 function MarkAsUnreadNew(sender, type, id ){
  //sender to subMenuGeneralHorizontalTitle
  var ikona = $(sender).find('.menuIcon15');
  ikona.css('background-image', 'url(./i/ficon/15/busy.gif)' )
  //alert('ajax_mark_unread.php?id=' + id + '&type=' + type, mark_as_unread_handler)
  //odmeldowac do ajaxa, ze user zrzucil na menu nowy item
  $.post( 'ajax_mark_unread.php', { id: id ,type: type }, function(ret){ 
                                                                          if ( ret == "1" ){
                                                                            ikona.css('background-image', 'url(./i/ficon/15/220001300_.png)' );
                                                                            $(sender.parentNode).addClass('menuLight');
                                                                          }
                                                                        } );
 }//----------------------------------------------------------------------------

// Po kliknieciu włącza / wyłącza blokowanie powiadmienia
 function MarkAsBlocked(sender, type, id ){
  //sender to subMenuGeneralHorizontalTitle
  var ikona = $(sender).find('.menuIcon15');
  ikona.css('background-image', 'url(./i/ficon/15/busy.gif)' )

  $.post( 'ajax_blockread.php', { id: id ,type: type }, function(ret){ 
                                                                          if ( ret == "1" ){
                                                                            ikona.css('background-image', 'url(./i/ficon/15/320001400.png)' );
                                                                            $(sender.parentNode).addClass('menuLight');
                                                                          }
                                                                          else if ( ret == "0" ){
                                                                            ikona.css('background-image', 'url(./i/ficon/15/320001400.png)' );
                                                                            $(sender.parentNode).removeClass('menuLight');
                                                                          }
                                                                          else alert(ret);
                                                                          
                                                                        } );
 }//----------------------------------------------------------------------------



// Pokazuje panel markerów
 $(function(){
    var markerPanelHandle = false; // uchwyt staly na zaladoway plik
    $(".markerPanelSwitcher").click( function(e){
        
        kliknieto = $(this);
        if ( markerPanelHandle == false ){
          //alert (e.pageX + ' ' + e.pageY );
          var ttt =  this.lang.split('_');
          var type = ttt[0];
          var id = ttt[1];
          var marker = ttt[2];                        
          markerPanelHandle = $('<div id="markerPanelPopup" class="markerPanelPopup"></div>');
          if ( kliknieto.hasClass('twMenuFastIcon') ){
            $('body').append(markerPanelHandle);
            markerPanelHandle.css('top',  e.pageY);
            markerPanelHandle.css('left',  e.pageX);          
         }
          else{
            kliknieto.append(markerPanelHandle);
            markerPanelHandle.css('top',  -19);
            markerPanelHandle.css('left',  -5);          
          } 
          markerPanelHandle.load("marker_panel.php" , { id: id , marker: marker, type: type }, function(){
              markerPanelHandle.show(200);
              markerPanelHandle.find('.TWwindow_closeLeft').click( function(e){ e.stopImmediatePropagation() ; $(this.parentNode).hide(400);  });
              //alert( markerPanelHandle.find('.TWwindow_close').length );
              });
          /*
            markerPanelHandle.mouseout( function(){
              $(this).hide();
            });
          */
          
        }
        else{
          //korekta polozenia
        if ( kliknieto.hasClass('twMenuFastIcon') ){
            $('body').append(markerPanelHandle);
            markerPanelHandle.css('top',  e.pageY);
            markerPanelHandle.css('left',  e.pageX);          
         }
          else{
            kliknieto.append(markerPanelHandle);
            markerPanelHandle.css('top',  -19);
            markerPanelHandle.css('left',  -5);          
          } 
          
          markerPanelHandle.show();
        }
        
    });
 });
 
 /*  Marker podglądu  NOWY*/
 
     function mark_handler2()
  	{
      if (ajax_IsCompleteRequest() == true)
  		{
  	        var result = ajax_GetResult();
            if ( result == '1' ) {
                                  OffMarkersButtons2();                                            
                                  LastButton.style.border = '3px solid black';
                                  $(LastButton.parentNode.parentNode).fadeOut(1000);
                                 } 
  	        else if ( result == '0' ) {
                                  OffMarkersButtons2();
                                  }
  	        else alert ( 'RESULT: ' + result );
  	  }
  	}//-------------------------------------------------------------------------
  	
  	function OffMarkersButtons2(){
                                    $(".Marker_btn").css('border', '1px solid black');
    }//-------------------------------------------------------------------------
  	
    
    function Mark2(targetObj, mark_nr, obj_type, obj_id)
    {
        ajax_Init('ajax_mark.php?id='+obj_id+'&type='+ obj_type +'&mark='+mark_nr, mark_handler2);
        LastButton = targetObj;
    }//-------------------------------------------------------------------------  
  
    function LoadMainFrame(sender)
    {
        //odzyskanie linka z linka.
        var link = $(sender).attr('href');
        
          if (parent.window.document) {
          parent.window.document.location = link;
          }
        //zapobieganie akcji deaultowej
        return false;
        
    }//-------------------------------------------------------------------------  
    


