$.fn.nsDialog = function() {
  var $dialogBg = $("<div>").addClass("ns-dialog-bg"),
      $dialog = $(this),
      $activeDialog;
      
  $("body").append($dialogBg);
  
  $.each($dialog, function(i, e) {
    $(e).hide();
    
    $(e).find('.closer').bind('click', function() {
      var id = $(e).attr("id");
      close(id);
    });
    
    $(e).find('.closer2').bind('click', function() {
      var id = $(e).attr("id");
      close(id);
    });
    
    $(e).find('.closer3').bind('click', function() {
      var id = $(e).attr("id");
      $.post('/jquery/scripts/session-agree-18.php', {},  function( data ) {
        close(id);
      });         
    });
    
    if ( $(e).data("autoopen") == true )
    {
      var id = $(e).attr("id");
      open(id);
    }
  });
  
  function open(id){
    $('.ns-dialog').css({'z-index' : 101 , 'display' : 'none'});
    var $dialog = $("#"+id);
    $activeDialog = $dialog;
    $dialogBg.addClass('opened');
    $dialogBg.append($dialog);
    $dialog.css('zIndex', 102);
    $dialog.fadeIn();
  }
  
  function close(id){
    var $dialog = $("#"+id);
    $dialogBg.removeClass('opened');
    $dialog.hide();
  }
  
  $('a[data-dialog-id]').click(function(){
    var id = $(this).data("dialog-id");
    open(id);
  });
  
  $dialog.click(function(e){
    e.stopPropagation();
  })
  
  if (!$(this).data('no-close-on-bg'))
  {
    $dialogBg.click(function(){
      var id = $activeDialog.attr("id");
      close(id);    
    });
  }
  
  //console.log("INIT NS DIALOG"); 
}

$(document).ready(function() {

  $('.ns-dialog').nsDialog();
  
});