(function(){
  

MyLightBox = {id:"my-lb", bgId:"my-lb-bg", datas:{}, isOpen:false};

MyLightBox.create = function(datas){ 
  if($('#'+MyLightBox.id).length || $('#'+MyLightBox.bgId).length){
    MyLightBox.destroy();
  }
  
  MyLightBox.datas.content = datas.content;
  MyLightBox.datas.onClose = function(){
    if(datas.onClose){
      datas.onClose.func_name(datas.onClose.args.obj);
    }
  };
  
  MyLightBox.datas.onOpenAction = function(){
    if(datas.onOpenAction){
      datas.onOpenAction.func_name(datas.onOpenAction.args);
    }
  };
  
  if(datas.parentElt){
    MyLightBox.containerId = datas.parentElt;
  }else{
    MyLightBox.containerId = "popup";
  }
  var content = $('<div id="'+MyLightBox.containerId+'" class="lb-no-display"><span id="close_popup">close</span></div>');
  content.append(MyLightBox.datas.content);
  
  var lb = $('<div id="'+MyLightBox.bgId+'">');
  var lbContent = $('<div id="'+MyLightBox.id+'">');
  lbContent.append(content);
  
  $("body").append(lb);
  $("body").append(lbContent);
  
  $("#close_popup").click(function(evt){
    evt.preventDefault();
    MyLightBox.datas.onClose();
  });
  
  /*
  $("#my-lb").click(function(evt){
    evt.preventDefault();
    MyLightBox.datas.onClose();
  });*/
};


MyLightBox.open = function(){ 
  $('#'+MyLightBox.bgId).animate({"opacity":'0.85', "filter":"alpha(opacity=85)"}, 500, function(){
    $("#"+MyLightBox.containerId).removeClass("lb-no-display");
    MyLightBox.datas.onOpenAction();
  });

  MyLightBox.isOpen = true;
};

MyLightBox.close = function(callback){
 $("#"+MyLightBox.containerId).addClass("lb-no-display");
 $('#'+MyLightBox.bgId).animate({"opacity":'0', "filter":"alpha(opacity=0)"}, 500, function(){
   callback();
 });
   MyLightBox.isOpen = false;

};



/**
* détruit la lightbox
*/
MyLightBox.destroy = function(){
  $("#close_popup").unbind("click");
  $("#my-lb").unbind("click");
  $('#'+MyLightBox.id).remove();
  $('#'+MyLightBox.bgId).remove();
};



/**
 *  ajout d'un loader
 */
MyLightBox.addLoader = function(){
  var loader = MyLightBox.createLoader();
  $('#' + MyLightBox.containerId).append(loader);
};



MyLightBox.closeLoader = function(){
  $("#my-lb-loader").remove();
};



MyLightBox.createLoader = function(){
  var elt = $('<div id="my-lb-loader">');
  
  return elt;
};


/**
 *  retourne true si la light box est ouverte
 */
MyLightBox.getIsOpen = function(){
  return MyLightBox.isOpen;
};



/**
 * change le contenu de la lightBox
 */
MyLightBox.changeContent = function(datas){
  
  var pivot = $('#' + MyLightBox.containerId);
  $("#popup_cont").remove();
  
  MyLightBox.datas.content = datas.content;
  MyLightBox.datas.onClose = function(){
    if(datas.onClose){
      datas.onClose.func_name(datas.onClose.args.obj);
    }
  };
  
  MyLightBox.datas.onOpenAction = function(){
    if(datas.onOpenAction){
      datas.onOpenAction.func_name(datas.onOpenAction.args);
    }
  };
  
  if(datas.parentElt){
    MyLightBox.containerId = datas.parentElt;
  }else{
    MyLightBox.containerId = "popup";
  }
  
  pivot.append(datas.content);
  MyLightBox.datas.onOpenAction();
};


})();
