jquery dialog plus browser blink

jquery dialog plus browser blink

I am using  inactivity timer plugin to log out    when inactive. This plugin puts a dialog  with message you session will logout soon. I also want to  blink the browser  so that users knows this tab or windows has a message ?
Please advice.


  1. (function($){
  2.  $.fn.idleTimeout = function(options) {
  3.     var defaults = {
  4.       inactivity: 1200000, //20 Minutes
  5.       noconfirm: 10000, //10 Seconds
  6.       sessionAlive: 30000, //10 Minutes
  7.       redirect_url: '/my/app/inactivitySignOut',
  8.       click_reset: true,
  9.       alive_url: '/my/keepalive.jsp',
  10.       logout_url: '',
  11.       showDialog: true,
  12.  dialogTitle: 'Auto Logout',
  13.  dialogText: 'You are about to be signed out due to inactivity.',
  14.  dialogButton: 'Stay Logged In'
  15.     }
  16.     
  17.     //##############################
  18.     //## Private Variables
  19.     //##############################
  20.     var opts = $.extend(defaults, options);
  21.     var liveTimeout, confTimeout, sessionTimeout;
  22.     var modal = "<div id='modal_pop'><p>"+opts.dialogText+"</p></div>";

  23.     //##############################
  24.     //## Private Functions
  25.     //##############################
  26.     var start_liveTimeout = function()
  27.     {
  28.       clearTimeout(liveTimeout);
  29.       clearTimeout(confTimeout);
  30.       liveTimeout = setTimeout(logout, opts.inactivity);
  31.       
  32.       if(opts.sessionAlive)
  33.       {
  34.         clearTimeout(sessionTimeout);
  35.         sessionTimeout = setTimeout(keep_session, opts.sessionAlive);
  36.       }
  37.     }
  38.     
  39.     var logout = function()
  40.     {
  41.       var my_dialog;
  42.  var buttonsOpts = {};
  43.  
  44.       confTimeout = setTimeout(redirect, opts.noconfirm);
  45.  
  46.  buttonsOpts[opts.dialogButton] = function(){
  47. my_dialog.dialog('close');
  48. stay_logged_in();
  49.  }
  50.  
  51.       if(opts.showDialog)
  52.       {
  53.         my_dialog = $(modal).dialog({
  54.           buttons: buttonsOpts,
  55.           modal: true,
  56.           title: opts.dialogButton,
  57.           stack: false,
  58.           zIndex: 20000
  59.         });
  60.       }
  61.     }
  62.     
  63.     var redirect = function()
  64.     {
  65.       //if(opts.logout_url)
  66.       //{
  67.         //$.get(opts.logout_url);
  68.       //}
  69.       window.location.href = opts.redirect_url;
  70.     }
  71.     
  72.     var stay_logged_in = function(el)
  73.     {
  74.       start_liveTimeout();
  75.       //if(opts.alive_url)
  76.       //{
  77.         $.get(opts.alive_url).;
  78.       //}
  79.     }
  80.     
  81.     var keep_session = function()
  82.     {
  83.       $.get(opts.alive_url);
  84.       clearTimeout(sessionTimeout);
  85.       sessionTimeout = setTimeout(keep_session, opts.sessionAlive);
  86.     } 
  87.     
  88.     //###############################
  89.     //Build & Return the instance of the item as a plugin
  90.     // This is basically your construct.
  91.     //###############################
  92.     return this.each(function() {
  93.       obj = $(this);
  94.       start_liveTimeout();
  95.       if(opts.click_reset)
  96.       {
  97.         $(document).bind('click', start_liveTimeout);
  98.       }
  99.       if(opts.sessionAlive)
  100.       {
  101.         keep_session();
  102.       }
  103.     });
  104.     
  105.  };
  106. })(jQuery);