
/* $Id: class_event.js 9 2009-01-11 06:03:21Z john $ */

// Required Language vars: 3000080,3000081,3000082,3000083,3000084,3000085,3000093,3000097,3000153,3000154,3000170,3000219,3000223,3000225,3000229,1086, 3000708,3000709,3000710,3000775,3000791,3001011


// Jean 03/12/2009
var currentSlidePosition = 0;

SocialEngineAPI.Event = new Class({
  
  // Class
    Implements: [Options],
  
  
  
  // Properties
  Base: {},
  
  
  options: {
    'ajaxURL' : 'event_ajax.php',
    'ajaxMethod' : 'post',
    'ajaxSecure' : false,
    
    'defaultView' : false
  },
  
  
  eventExists: false,
  
  
  eventInfo: {},
  
  
  userRank: 0,
  
  
  IsMember: false,
  
  
  IsMemberWaiting: false,
  
  
  currentConfirmID: 0,


  currentInvites: false,
  
  
  visibleTab: 0,
  
  
  rsvpLanguageVars: {
    '-2'  : 3000785, // N'a pas encore répondu à l'invitation (eventmember_status = 0 et eventmember_approved = 1)
    '-1'  : 3000080, // Attend encore une validation de sa demande (Awaiting Approval)
    //'0' : 3000791, // Je n'ai pas encore répondu à l'invitation
    //'4' : 3000085, // I'll be late

    '5'   : 3000714, // Désolé, mais je ne pourrai pas participer à ce tournage
    '6'   : 3000713, // Je voudrais bien venir, mais je ne puis confirmer avec certitude
    '7'   : 3000712  // Je confirme ma participation
/*
    '5'   : 3000710, // Ne pourra être présent sur le tournage
    '6'   : 3000709, // Hésite encore, confirmera plus tard
    '7'   : 3000708  // A confirmé sa présence
*/
  },

/*
// Jean 14/08/2009
  bookmarkLanguageVars: {
    '1'   : 3000632, // Je me porte volontaire pour participer à ce sujet
    '2'   : 3000100, // Je souhaite marquer ce sujet pour le retrouver plus tard
    '3'   : 3000634  // Je souhaite être prévenu(e) si un sujet similaire ou connexe est traité...
  },
*/

  // Jean 15/12/2009
  eventMemberLanguageVars: {
    'wanttakepart'  : 3000632, // Je me porte volontaire pour participer à ce sujet
    'vulontsimilar' : 3000928, // Je veux bien qu'on me sollicite pour participer sur un sujet similaire ou connexe
    'wantattend'    : 3000938, // Je voudrais bien assister c'est possible ?
    'wantwatch'     : 3000937, // Prévenez-moi quand c'est en ligne !
    'warnifsimilar' : 3000634, // Je souhaite être prévenu(e) si un sujet similaire ou connexe est traité...
    'regret'        : 3000631, // Si j’avais su, j’aurais bien voulu participer !
    'bookmark'      : 3000100  // Je souhaite marquer ce sujet pour le retrouver plus tard
  },


  // Initialize
  initialize: function(eventInfo, options)
  {
    var bind = this;
    
    // Options
    if( $type(options)=="object" )
    {
      if( $type(options.defaultView) && options.defaultView=='' )
        delete options.defaultView;
      
      this.setOptions(options);
    }
    
    // Event info stuff
    if( eventInfo && $type(eventInfo)=="object" )
    {
      this.eventExists = eventInfo.event_exists;
      delete eventInfo.event_exists;
      
      this.IsMember = eventInfo.is_member;
      delete eventInfo.is_member;
      
      this.IsMemberWaiting = eventInfo.is_user_waiting;
      delete eventInfo.is_user_waiting;
      
      this.UserRank = eventInfo.user_rank;
      delete eventInfo.user_rank;
      
      this.eventInfo = eventInfo;
    }

    // Load currently visible tab
    var currentVisibleTab = Cookie.read('eventVisibleTab');

    if( this.options.defaultView )
      currentVisibleTab = this.options.defaultView;
    else if( !$type(currentVisibleTab) || !currentVisibleTab )
      currentVisibleTab = 'profile';

    // Jean 06/08/2009 : par sécurité, on n'affiche pas d'onglet inexistant
    window.addEvent('domready', function()
    {
      if ($('event_tabs_'+ currentVisibleTab))
        if( $('event_tab_table') )
          bind.loadProfileTab(currentVisibleTab);
    });
  },
  
  
  
  
  // Profile Tabs
  loadProfileTab: function(tabName)
  {
    var bind = this;
    $('event_tab_table').getElements('.event_tab').each(function(tabElement)
    {
    
      //alert(tabElement.id + ' ## '+ 'event_tabs_'+tabName);
      if( tabElement.id=='event_tabs_'+tabName )
      {
        if( !tabElement.hasClass('event_tab_active') )
          tabElement.addClass('event_tab_active');
        
        if ($('event_' + tabName)) $('event_' + tabName).style.display = "block";
        Cookie.write('eventVisibleTab', bind.visibleTab = tabName);
      }
      else
      {
        if( tabElement.hasClass('event_tab_active') )
          tabElement.removeClass('event_tab_active');
        
        var otherTabName = tabElement.id.replace('_tabs_', '_');
        if(otherTabName != "" && otherTabName != "null" && $(otherTabName)){
          $(otherTabName).style.display = "none";
        }
      }
    });
  },
  

  
  
  
  // Delete
  deleteShow: function(eventID)
  {
    this.currentConfirmID = ( eventID || this.eventInfo.event_id );
    TB_show(this.Base.Language.Translate(3000093), '#TB_inline?height=100&width=300&inlineId=confirmeventdelete', '', '../images/trans.gif');
  },
  
  // Jean 26/11/2009
  cloneEvent: function(eventID)
   {
    var bind = this;
    if (confirm(bind.Base.Language.Translate(3510250)))
     {
      // Ajax
      var request = new Request.JSON({
        'method' : 'post',
        'url' : this.options.ajaxURL,
        'data' : {
          'task' : 'eventclone',
          'event_id' : eventID
        },
        'onComplete':function(responseObject)
        {
          if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" || !responseObject.neweventID )
          {
            if (responseObject && responseObject.is_debug) alert(responseObject.error);
            else alert(bind.Base.Language.Translate(3000153));
          }
          else
          {
           //document.location = responseObject.eventURL ? responseObject.eventURL : SocialEngine.URL.url_base +'event/'+  responseObject.neweventID +'/';
           document.location = SocialEngine.URL.url_base +'user_event_edit.php?event_id='+ responseObject.neweventID +'&clone=ok';
          }
        }
      });
      
      request.send();

     }
   },


  // Jean 15/02/2010
  exportEvent: function(eventID)
   {
    var hauteurDoc = typeof( window.innerWidth ) == 'number' ?
                             // IE
                             window.innerHeight
                             // Firefox
                             : document.documentElement.clientHeight;
    if (hauteurDoc == 0)
      hauteurDoc = document.documentElement.offsetHeight;

    TB_show(this.Base.Language.Translate(3510247), 'user_event_edit_webtv.php?event_id='+ eventID +'&banner=no&TB_iframe=true&height='+ (hauteurDoc ? (hauteurDoc - 160) : '520') +'&width=1100', '', '../images/trans.gif');
    TB_init();
   },

/*
  exportEventConfirm: function(eventID, formChooseWebtvList)
   {
    $('imgLoadingExportWebTv').style.display = 'inline';
    $('btn_export_event').style.display = 'none';

    // Liste des web-tv
    var listeInputs = formChooseWebtvList.getElementsByTagName('INPUT');
    var webtvIDs = new Array();
    for (var i=0; i<listeInputs.length; i++)
     {
      var champ = listeInputs[i];
      if (tabMatch = champ.name.match(/^webtv_id_export_([0-9]+)/i))
       {
        if (champ.checked)
          webtvIDs[webtvIDs.length] = tabMatch[1];
       }
     }

    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventexport',
        'event_id' : eventID,
        'webtv_ids' : webtvIDs.join(',')
      },
      'onComplete':function(responseObject)
      {
        $('imgLoadingExportWebTv').style.display = 'none';

        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" || !responseObject.neweventURLs )
         {
          if (responseObject && responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
         }
        else
         {
          alert('Le sujet a été exporté dans les web-tv suivantes :\n\n - '+ responseObject.neweventwebtvtitles.join('\n - '));  // <lang></lang>
          TB_remove();
          //document.location = responseObject.eventURL ? responseObject.eventURL : SocialEngine.URL.url_base +'event/'+  responseObject.neweventID +'/';
          //document.location = SocialEngine.URL.url_base +'user_event_edit.php?event_id='+ responseObject.neweventID +'&clone=ok';
         }
      }
    });
    
    request.send();
   },
*/

  deleteConfirm: function()
  {
    eventID = this.currentConfirmID;
    
    // Remove Smoothbox
    TB_remove();
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventdelete',
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        //alert($type(window.redirectOnDelete) + ' ' + $type(parent.window.redirectOnDelete) + ' ' + $type(parent.redirectOnDelete));
        
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // event, user_event_edit - Redirect on delete
          if( $type(window.redirectOnDelete)=="function" )
          {
            window.redirectOnDelete();
          }
          
          // user_event - Remove row
          if( $('seEvent_' + eventID) )
          {
            $('seEvent_' + eventID).destroy();
            
            // Display no event message
            if( !$$('.seEvent').length && $('seEventNullMessage') )
            {
              $('seEventNullMessage').style.display = 'block';
            }
          }
          
          // user_event - Fix that calendar
          var eventMonthShow = $('seEventMonthShow_' + eventID);
          if( eventMonthShow )
          {
            var eventMonthDay = eventMonthShow.title;
            var eventCellElement = $('event_cell' + eventMonthDay);
            eventMonthShow.destroy();
            
            // Fix color
            if( eventCellElement && eventCellElement.className!='event_cell3' && !eventCellElement.getElements('a').length )
            {
              $('event_cell' + eventMonthDay).className = 'event_cell1'; 
            }
          }
        }
      }
    });
    
    request.send();
    
    // Reset
    currentConfirmDeleteID = 0;
  },
  
  
  
  
  // Accept Request
  memberAccept: function(userID)
  {
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmemberaccept',
        'event_id' : this.eventInfo.event_id,
        'user_id' : userID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
         {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
         }
        else
         {
          // alerte : "Un email lui a été envoyé pour l'informer de cette décision"
          alert(bind.Base.Language.Translate(3001011));

          // Refresh window, at least for now
          if( document.event_members_form )
            document.event_members_form.submit();
          else
            window.location.reload( false );
         }
      }
    });
    
    request.send();
  },
  
  
  
  
  // Deny Request
  memberReject: function(userID)
  {
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmemberreject',
        'event_id' : this.eventInfo.event_id,
        'user_id' : userID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // alerte : "Un email lui a été envoyé pour l'informer de cette décision"
          alert(bind.Base.Language.Translate(3001011));

          // Refresh window, at least for now
          if( document.event_members_form )
            document.event_members_form.submit();
          else
            window.location.reload( false );
        }
      }
    });
    
    request.send();
  },
  
  
  
  
  // Deny Request
  memberDelete: function(userID)
  {
    this.currentConfirmID = userID;
    TB_show(this.Base.Language.Translate(3000154), '#TB_inline?height=100&width=300&inlineId=confirmeventmemberdelete', '', '../images/trans.gif');
  },
  
  
  memberDeleteConfirm: function()
  {
    userID = this.currentConfirmID;
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmemberdelete',
        'event_id' : this.eventInfo.event_id,
        'user_id' : userID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // Jean 19/08/2009 : gestion de la suppression du user dans l'onglet d'invité d'un event
          if ($('div_guest_'+ userID))
           {
            $('div_guest_'+ userID).destroy();
            try { TB_remove(); } catch (e) {;}
           }
          else if ($('div_contrib_'+ userID))
           {
            $('div_contrib_'+ userID).destroy();
            try { TB_remove(); } catch (e) {;}
           }
          else if( document.event_members_form )
            document.event_members_form.submit();
          else
            window.location.reload( false );
        }
      }
    });
    
    request.send();
  },
  
  
  
  
  // Cancel Invite
  memberCancel: function(userID)
  {
    this.currentConfirmID = userID;
    TB_show(this.Base.Language.Translate(3000223), '#TB_inline?height=100&width=300&inlineId=confirmeventmembercancel', '', '../images/trans.gif');
  },
  
  
  memberCancelConfirm: function()
  {
    userID = this.currentConfirmID;
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmembercancel',
        'event_id' : this.eventInfo.event_id,
        'user_id' : userID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // Jean 19/08/2009 : gestion de la suppression du user dans l'onglet d'invité d'un event
          if ($('div_guest_'+ userID))
           {
            $('div_guest_'+ userID).destroy();
            try { TB_remove(); } catch (e) {;}
           }
          else if( document.event_members_form )
            document.event_members_form.submit();
          else
            window.location.reload( false );
        }
      }
    });
    
    request.send();
  },
  
  
//---------------------------------------------------------------------------------
// Jean 19/08/2009 : on déplace les instructions pour l'invitation de 'event.tpl' à 'class_event.js'
    tabUserName: Array(),
    tabInfosAutres: Array(),
    tabFriends: Array(),
    listeInvitedUserID: Array(),

    inviteMemberSearchContrib: function()
     {
      var nomSaisi = $('affine_intervenants').value;
      var infosSaisies = $('affine_intervenants_autres').value;   // Jean 31/07/2009
      var onlyFriends = $('affine_friends_yes').checked;          // Jean 31/07/2009

      $('btn_supp_rech_interv').src = (nomSaisi == '' ? 'images/icons/action_delete1.gif' : 'images/icons/action_delete2.gif');
      $('btn_supp_rech_interv_autres').src = (infosSaisies == '' ? 'images/icons/action_delete1.gif' : 'images/icons/action_delete2.gif');

      // On parcourt les contributeurs
      var nb_res = 0;
      var nb_init = 0;
      var tabUserId = new Array();
      var listeChamps = document.getElementsByTagName('INPUT');

      for (var i=0; i<listeChamps.length; i++)
       {
         var champCourant = listeChamps[i];
         var nomPrenomCourant, infosCourantes;
         var trouveFriends, trouveNomPrenom, trouveAutre;
         var res, userID;

         if (champCourant.id && (res = champCourant.id.match(/^uzer_(.+)$/)))
          {
           userID = res[1];
           if (tabUserId[userID]) continue;
           tabUserId[userID] = true;
           nb_init ++;
           trouveFriends = (!onlyFriends || this.tabFriends['user_'+ userID]);
           if (!trouveFriends)
             trouveNomPrenom = false;
           else
           {
            nomPrenomCourant = this.tabUserName['user_'+ userID];
            infosCourantes = this.tabInfosAutres['user_'+ userID];
            if (nomSaisi == '') trouveNomPrenom = true;
            else trouveNomPrenom = (retireAccents(nomPrenomCourant.toLowerCase()).indexOf(retireAccents(nomSaisi.toLowerCase())) > -1);
           }
           if (!trouveNomPrenom) trouveAutre = false;
           else if (infosSaisies == '') trouveAutre = true;
           // Jean 31/07/2009 : recherche par thématique/centre d'intérêt
           else trouveAutre = (retireAccents(infosCourantes.toLowerCase()).indexOf(retireAccents(infosSaisies.toLowerCase())) > -1);

           trouve = trouveFriends && trouveNomPrenom && trouveAutre;
           if (trouve) nb_res++;

           champCourant.parentNode.style.display = trouve ? '' : 'none';
          }
       }
      if (nb_res == nb_init)
        $('zone_nb_res').innerHTML = nb_init +' '+ SocialEngine.Language.Translate(3000720);  // "n contributeurs en tout"
      else
        $('zone_nb_res').innerHTML = '<font style="color: #C46200;"><b>'+ nb_res +' '+ SocialEngine.Language.Translate(/*SocialEngine.Event.allFriends ? 3000721 : */3510164) +'</b> '+ nb_init +'</font>';  // "n contributeur(s) trouvé(s) sur m"
      clearTimeout(to3);
      to3 = setTimeout("if ($('affine_intervenants').value == '' && $('affine_intervenants_autres').value == '') $('zone_nb_res').innerHTML = '&nbsp;';", 2000);
     },


     inviteMemberMajListeContrib: function(uzerId, isChecked)
      {
       // Jean 19/08/2009
       SocialEngine.Profile.infoBulle_hide();

       //parent.SocialEngine.Event.memberInviteUpdate(uzerId, isChecked); 
       this.listeInvitedUserID = new Array();

       var listeChamps = document.getElementsByTagName('INPUT');
       var listeContribTxt = "";

       // On parcourt les contributeurs
       for (var i=0; i<listeChamps.length; i++)
        {
         var champCourant = listeChamps[i];
         var res;
         if (!champCourant.id || !(res = champCourant.id.match(/^uzer_(.+)$/)))
           continue;

         if (champCourant.checked)
          {
           var contribID = res[1];
           this.listeInvitedUserID[this.listeInvitedUserID.length] = champCourant.value;
           if (listeContribTxt != "") listeContribTxt += ", ";
           //var nomPrenomCourant = document.all ? champCourant.parentNode.innerText : champCourant.parentNode.textContent;
           var nomPrenomCourant = this.tabUserName['user_'+ contribID];
           listeContribTxt += '<span style="background-color: ;">'+ nomPrenomCourant.replace(/^ +/, "").replace(/ +$/, "");
           // Jean 18/08/2009
           listeContribTxt += '<a style="margin-left: 1px;"'
                           +    ' href="javascript: ;"'
                           +    ' onclick="$(\'uzer_'+ contribID +'\').checked = false;'
                           +              '$(\'uzer_'+ contribID +'\').parentNode.style.background = \'\';'
                           +              'SocialEngine.Event.inviteMemberMajListeContrib();">'
                           +  '<img src="images/icons/action_delete2.gif" border="0" align="absmiddle" /></a>';
           listeContribTxt += '</span>';
           champCourant.parentNode.style.background = "#FFE242";
          }
          else
           champCourant.parentNode.style.background = "";
        }

       if (listeContribTxt.length > 800)
         $("liste_contribs_str").innerHTML = listeContribTxt.substring(0, 800) +'...';
       else
         $("liste_contribs_str").innerHTML = listeContribTxt == "" ? "<i>"+ SocialEngine.Language.Translate(3000654) +"</i>" : listeContribTxt;  // aucun

       try
       { $('affine_intervenants').focus(); }
       catch (e) {;}

       return true;
      },


    // Jean 26/06/2009
    inviteMemberCheckAllContrib: function()
     {
       this.listeInvitedUserID = new Array();

       var listeChamps = document.getElementsByTagName('INPUT');

       // "Tout le monde" ?
       var toutCocher = $("liste_contribs_str").innerHTML != "<b>"+ SocialEngine.Language.Translate(3000718) +"</b>".toUpperCase();

       // On parcourt les contributeurs
       for (var i=0; i<listeChamps.length; i++)
        {
         var champCourant = listeChamps[i];
         var res;
         if (!champCourant.id || !(res = champCourant.id.match(/^uzer_(.+)$/)))
           continue;

         champCourant.checked = toutCocher;
         if (toutCocher) this.listeInvitedUserID[this.listeInvitedUserID.length] = champCourant.value;
         champCourant.parentNode.style.background = toutCocher ? "#FFE242" : "";
        }
       // On affiche "Tout le monde" ou "aucun", selon...
       $("liste_contribs_str").innerHTML = toutCocher ? "<b>"+ SocialEngine.Language.Translate(3000718).toUpperCase() : "<i>"+ SocialEngine.Language.Translate(3000654) +"</i>";

       return true;
     },
//---------------------------------------------------------------------------------

  // Invite
  memberInvitePopulate: function(allFriends)
  {
    if (!$('invite_friendlist'))
     {
      alert('DIV tag "invite_friendlist" not found in ths HTML page !');
      return;
     }

    var eventID = this.eventInfo.event_id;

    // Jean 23/06/2009
    var waitImgName = "img_load_invite";
    if (allFriends)
      waitImgName += '_members';
    if ($(waitImgName)) $(waitImgName).style.visibility = "visible";

    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        // Jean samedi 16 mai 2009 : c'est là qu'on va étendre la possibilité d'inviter d'autres contributeurs que ses amis à participer
        // (cf. fichier 'event_ajax.php')
        'task' : 'get_contributeurs',
//        'task' : 'getfriends',
        'event_id' : this.eventInfo.event_id,
        'all_friends' : allFriends ? "1" : ""
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          bind.memberInviteShow(eventID, $H(responseObject.friends), allFriends);
        }
      }
    });
    
    request.send();
  },
  
  
  memberInviteShow: function(eventID, friendsObject, allFriends)
  {
    this.currentConfirmID = eventID;
    this.currentInvites = new Array();
    
    // Remove any existing friends
    $('invite_friendlist').empty();
    
    // Generate HTML
    var bind = this;
    if( $A(friendsObject.getKeys()).length>0 )
    {
     // Jean 23/06/2009
     var waitImgName = "img_load_invite";
     if (allFriends)
       waitImgName += '_members';
     if ($(waitImgName)) $(waitImgName).style.visibility = "hidden";

     // Jean 31/07/2009
     if (isSafari && $("zone_video"))
       $("zone_video").style.display = 'none';

// Jean 16/06/2009
      var strHtml = '';

      var afficherPhotos = !allFriends || friendsObject.length < 200;

      friendsObject.each(function(userInfos, indice)
      {
       var userID = userInfos['user_id'];
       strHtml += "<div class='browse_result'"
              +" style='cursor: pointer; float: left; padding: 2px 5px 10px 5px; width: 100px; height: "+ (afficherPhotos ? "100" : "23") +"px; text-align: "+ (afficherPhotos ? "center" : "left") +"; overflow: hidden;'"
              +' onclick="this.firstChild.checked = !this.firstChild.checked; SocialEngine.Event.inviteMemberMajListeContrib(this.firstChild.value, this.firstChild.checked);"'
              +' onmouseover="this.style.background = \'#FFE242\'; SocialEngine.Profile.infoBulle_show(null,'+ userID +',500,event);"'
              +' onmouseout="if (!$(\'uzer_'+ userID +'\').checked) this.style.background = \'\'; SocialEngine.Profile.infoBulle_hide();">';

       strHtml += '<input type="checkbox"'
          +' name="invites[]"'
          +' value="'+ userID +'"'
          +' id="uzer_'+ userID +'"'
          +' onclick="this.checked = !this.checked; SocialEngine.Event.inviteMemberMajListeContrib(this.value, this.checked);"'
          +' />';

       // Jean 24/01/2010 : on affiche les photos seulement si nombre limité
       if (afficherPhotos)
         strHtml += '<img src="'+ userInfos['photo_src'] +'" class="photo" style="display: block; margin-left: auto; margin-right: auto;" width="60" height="60" border="0">'
       strHtml += userInfos['displayname'];

       var strInfosAutres = '';
       for (var lib in userInfos['all_infos'])
        { strInfosAutres += userInfos['all_infos'][lib] +', '; }
       if (userInfos['is_friend'] == "1")
         SocialEngine.Event.tabFriends['user_'+ userID] = true;
       SocialEngine.Event.tabUserName['user_'+ userID] = userInfos['displayname'];
       SocialEngine.Event.tabInfosAutres['user_'+ userID] = strInfosAutres;
       strHtml += '</script>';

       strHtml += '</div>';
      });

      strHtml += '</div>';

// Jean 16/06/2009
      if ($('invite_friendlist')) $('invite_friendlist').innerHTML = strHtml;
      
      //$('eventMemberInviteSelectAll').onclick = '';

      $('inviteForm').style.display = '';
      $('noFriends').style.display = 'none';
      $('inviteResults').style.display = 'none';
    }
    
    else
    {
      $('inviteForm').style.display = 'none';
      $('noFriends').style.display = '';
      $('inviteResults').style.display = 'none';
    }
    
    TB_show(this.Base.Language.Translate(3000225), '#TB_inline?height=540&width=685&inlineId=eventmemberinvite', '', '../images/trans.gif', true);

    SocialEngine.Event.allFriends = allFriends;

    try
     { $('affine_intervenants').focus(); }
    catch (e) {;}
  },
  
  /*
  memberInviteUpdate: function(userID, state)
  {
    //alert(userID + ', ' + state);
    state = ( state ? true : false );
    if( state && !this.currentInvites.contains(userID) )
      this.currentInvites.include(userID);
    else if( !state && this.currentInvites.contains(userID) )
      this.currentInvites.erase(userID);
  },
  */
  
  memberInviteSend: function()
  {
    //alert('currentInvites : '+ currentInvites);
    // Ajax
    var bind = this;

    if (this.listeInvitedUserID == 0)
    {
     alert(bind.Base.Language.Translate(3000775));
     return;
    }

    // 19/06/2009 : On évite de cliquer 36 fois sur le bouton
   if ($('buttons_memberInviteSend')) $('buttons_memberInviteSend').style.display = 'none';
   if ($('loading_memberInviteSend')) $('loading_memberInviteSend').style.display = 'inline';

   // Jean 08/12/2009
   if (buttonMemberInviteSend) buttonMemberInviteSend.style.display = 'none';
   if (waitMemberInviteSend) waitMemberInviteSend.style.display = 'inline';

   var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmemberinvite',
        'event_id' : this.eventInfo.event_id,
        'invites' : this.listeInvitedUserID /*this.currentInvites*/
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        else
        {
          if (responseObject.invites_sent.length == 0)
           {
            // Jean 08/12/2009
            if (buttonMemberInviteSend) buttonMemberInviteSend.style.display = 'inline';
            if (waitMemberInviteSend) waitMemberInviteSend.style.display = 'none';

            alert(bind.Base.Language.Translate(SocialEngine.Event.listeInvitedUserID.length > 1 ? 3000781 : 3000782) +".");

            if ($('buttons_memberInviteSend')) $('buttons_memberInviteSend').style.display = 'inline';
            if ($('loading_memberInviteSend')) $('loading_memberInviteSend').style.display = 'none';
           }
          else
           {
            alert(
                  responseObject.invites_sent.length +(" "+ bind.Base.Language.Translate(responseObject.invites_sent.length == 1 ? 3000783 : 3000784) +".")
                + (responseObject.invites_sent.length < SocialEngine.Event.listeInvitedUserID.length ?
                     ("\n\n"+ bind.Base.Language.TranslateFormatted(3000780, [SocialEngine.Event.listeInvitedUserID.length - responseObject.invites_sent.length])) : "")
                );
            try {TB_remove();} catch (e) {;}

            // Jean 19/08/2009
            if( document.event_members_form )
              document.event_members_form.submit();
           }

          // Show invites sent
          $('inviteResults').innerHTML = bind.Base.Language.TranslateFormatted(3000229, [responseObject.invites_sent]);
          $('inviteForm').style.display = 'none';
          $('noFriends').style.display = 'none';
          $('inviteResults').style.display = '';
        }
      }
    });
    
    request.send();
  },
  
  
  // Jean 17/11/2009 : Pour inviter 1 seule personne à un tournage
  oneMemberInviteSend: function(user_id)
  {
    // Ajax
    var bind = this;

    if (!user_id)
    {
     alert(bind.Base.Language.Translate(3000775));
     return;
    }

    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventmemberinvite',
        'event_id' : this.eventInfo.event_id,
        'invites' : [user_id]
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
         {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
         }
        else
         {
          if (responseObject.invites_sent.length == 0)
           {
            alert(bind.Base.Language.Translate(SocialEngine.Event.listeInvitedUserID.length > 1 ? 3000781 : 3000782) +".");
           }
          else
           {
            alert(
                  responseObject.invites_sent.length +(" "+ bind.Base.Language.Translate(responseObject.invites_sent.length == 1 ? 3000783 : 3000784) +".")
                + (responseObject.invites_sent.length < SocialEngine.Event.listeInvitedUserID.length ?
                     ("\n\n"+ bind.Base.Language.TranslateFormatted(3000780, [SocialEngine.Event.listeInvitedUserID.length - responseObject.invites_sent.length])) : "")
                );
            try {TB_remove();} catch (e) {;}
           }
         }
      }
    });
    
    request.send();
  },
  
  
  
  
  //oliv 3 juin 08
  envoyerAmi: function(eventID)
  {
    this.currentConfirmID = ( eventID || this.eventInfo.event_id );

    TB_show(this.Base.Language.Translate(3000575), '#TB_inline?height=400&width=600&inlineId=confirmEnvoyerAmi', '', '../images/trans.gif', 1);  //this.Base.Language.Translate(100051056)
  },

  EnvoyerAmiConfirm: function()
  {

    var bind = this;
    eventID = this.currentConfirmID;
    inviteemails = $('invite_emailsField').value;
    invitemessage = $('invite_messageField').value;
    invitesubject = $('invite_subjectField').value;

    if(inviteemails !="" && invitemessage!=""){

    $('buttons_EnvoyerAmiConfirm').style.display='none';
    $('loading_EnvoyerAmiConfirm').style.display='inline';

    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'envoyermailami',
        'invite_emails' : inviteemails,
        'invite_message' : invitemessage,
        'invite_subject' : invitesubject,
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
         {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
          $('buttons_EnvoyerAmiConfirm').style.display = 'inline';
          $('loading_EnvoyerAmiConfirm').style.display = 'none';
         }
        else
         {
          TB_remove();
          // Votre recommandation est bien partie... Merci beaucoup pour ce coup de pouce !
          alert(bind.Base.Language.Translate(3510145));
          // Remove Smoothbox  
          //alert('OK');
          //request.send();
          /*
          if( document.event_members_form )
            document.event_members_form.submit();
            */
         }
      }
    });
    
    //request.send();
    request.send();
    // Reset
    //currentConfirmDeleteID = 0;
    }else{ 
       alert(bind.Base.Language.Translate(3000574));
    }
  },

  //end oliv 3 juin09




// Jean 04/12/2009 : fonction générique pour gérer les différents types de bookmarking (event_member_xxx)
  interestConfirm: function(interestType,value)
  {
    // Jean 25/01/2010 : si pas loggué...
    if (!isLogged)
     {
      document.location.replace("login.php?return_url="+ escape(document.location.href));
      return;
     }

    eventID = ( this.currentConfirmID || this.eventInfo.event_id );

    // Remove Smoothbox
    if( $('TB_overlay') ) TB_remove();

    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventinterest',
        'event_id' : eventID,
        'interest_type' : interestType,
        'value' : value
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        else
        {
          // Jean 14/08/2009 : on met à jour l'affichage des différents boutons seulement après réception du message de retour par le serveur
          if ($('edit_link')) $('edit_link').style.display = (responseObject.user_can_edit ? '' : 'none');
          if ($('eventProfileMenuInvite')) $('eventProfileMenuInvite').style.display = (responseObject.user_can_invite ? '' : 'none');

          if ($('TR_actions')) $('TR_actions').style.display = (responseObject.user_can_invite
                                                             || responseObject.user_can_edit
                                                             || responseObject.user_can_request
                                                             || responseObject.user_can_cancel_request ? '' : 'none');

          if ($('eventProfileMenuCancel')) $('eventProfileMenuCancel').style.display = responseObject.user_can_cancel_request ? '' : 'none';

          // Jean 12/01/2010
          if ($('zoneVolontariatBis') && interestType == "wanttakepart")
            $('zoneVolontariatBis').style.display = value == 1 ? 'none' : '';
          /*
          if ($('eventProfileMenuLeave'))
            $('eventProfileMenuLeave').style.display = (interestType == 0 ? 'none' : '');
          if ($('eventProfileMenuRequest'))
            $('eventProfileMenuRequest').style.display = (responseObject.user_can_cancel_request ? '' : 'none');
          */

          // event - Save success messages
          zoneSuccess = null;
          if ($('seEventProfileBookmarkSuccess'))
            zoneSuccess = $('seEventProfileBookmarkSuccess');
          else if ($('seEventProfileBookmarkSuccess_'+ eventID))
            zoneSuccess = $('seEventProfileBookmarkSuccess_'+ eventID);

          if( zoneSuccess )
          {
            zoneSuccess.style.display = 'block';
            zoneSuccess.slide('hide').slide('in');
            (function(){ zoneSuccess.slide('show').slide('out'); }).delay(2000);
          }

/*
          // update buttons visibility (page 'user_event.tpl')
          if( $('seEvent_' + eventID) )
          {
            if ($('seEvent_' + eventID).getElement('.seEventUserOptionBookmark'))
              $('seEvent_' + eventID).getElement('.seEventUserOptionBookmark').style.display = '';
            if ($('seEvent_' + eventID).getElement('.seEventStatusBookmark'))
              $('seEvent_' + eventID).getElement('.seEventStatusBookmark').style.display = '';
            if ($('seEvent_' + eventID).getElement('.seEventUserOptionEdit'))
              $('seEvent_' + eventID).getElement('.seEventUserOptionEdit').style.display = (responseObject.user_can_edit ? '' : 'none');
          }

          // update response (page 'user_event.tpl')
          if( $('seEventBookmark_' + eventID) )
          {
            // Jean 15/08/2009 : C'est le serveur qui transmet le code langage correspondant
            if (responseObject.event_interest_lvid)
              $('seEventBookmark_' + eventID).innerHTML = bind.Base.Language.Translate(responseObject.event_interest_lvid);
            else
              $('seEventBookmark_' + eventID).innerHTML = bind.Base.Language.Translate(bind.eventMemberLanguageVars[interestType]);
            // Jean 20/08/2009
            $('seEventBookmark_' + eventID).parentNode.className = 'bookmark_'+ interestType +'_'+ responseObject.is_event_realized;
          }
*/
        }
      }
    });

    request.send();
    
    // Reset
    this.currentConfirmID = 0;
  },


  // RSVP
  rsvpShow: function(eventID)
  {
    this.currentConfirmID = ( eventID || this.eventInfo.event_id );
    TB_show(this.Base.Language.Translate(3000097), '#TB_inline?height=150&width=350&inlineId=confirmeventrsvp', '', '../images/trans.gif');
  },


  rsvpConfirm: function(eventRsvp, myUserId)
  {
    // Jean 25/01/2010 : si pas loggué...
    if (!isLogged)
     {
      document.location.replace("login.php?return_url="+ escape(document.location.href));
      return;
     }

    eventID = ( this.currentConfirmID || this.eventInfo.event_id );
    
    // Remove Smoothbox
    if( $('TB_overlay') ) TB_remove();
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventrsvp',
        'event_id' : eventID,
        'event_rsvp' : eventRsvp
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // Jean 14/08/2009 : on met à jour l'affichage des différents boutons seulement après réception du message de retour par le serveur
          if ($('edit_link')) $('edit_link').style.display = (responseObject.user_can_edit ? '' : 'none');
          if ($('eventProfileMenuRequest')) $('eventProfileMenuRequest').style.display = 'none';
          if ($('eventProfileMenuCancel')) $('eventProfileMenuCancel').style.display = responseObject.user_can_cancel_request ? '' : 'none';

          // event - Switch profile buttons (for join)
          if( $('eventProfileMenuLeave') )
          {
            // Show leave button for all but leader
            //if( bind.UserRank<3 ) $('eventProfileMenuLeave').style.display = '';

            // Show invite button if allowed
          if ($('eventProfileMenuInvite')) $('eventProfileMenuInvite').style.display = (responseObject.user_can_invite ? '' : 'none');
            //$('eventProfileMenuRSVP').style.display = '';
          }
          
          // Jean 18/08/2009
          if ($('TR_actions')) $('TR_actions').style.display = (responseObject.user_can_invite
                                                             || responseObject.user_can_edit
                                                             || responseObject.user_can_request
                                                             || responseObject.user_can_cancel_request ? '' : 'none');
          
          // event - Save success messages
          var objDivRSVPSuccess = $('seEventProfileRSVPSuccess');
          if( objDivRSVPSuccess )
          {
            objDivRSVPSuccess.style.display = 'block';
            objDivRSVPSuccess.slide('hide').slide('in');
            (function(){ objDivRSVPSuccess.slide('show').slide('out'); }).delay(2000);
          }
          
          // update buttons visibility (page 'user_event.tpl')
          if( $('seEvent_' + eventID) )
          {
            // User should never be able to join an invite only event through the user_event page
            if ($('seEvent_' + eventID).getElement('.seEventUserOptionJoin'))
              $('seEvent_' + eventID).getElement('.seEventUserOptionJoin').style.display = 'none';
            if ($('seEvent_' + eventID).getElement('.seEventUserOptionRsvp'))
              $('seEvent_' + eventID).getElement('.seEventUserOptionRsvp').style.display = '';
            //$('seEvent_' + eventID).getElement('.seEventUserOptionLeave').style.display = '';
            if ($('seEvent_' + eventID).getElement('.seEventStatusAccept'))
              $('seEvent_' + eventID).getElement('.seEventStatusAccept').style.display = 'none';
            if ($('seEvent_' + eventID).getElement('.seEventStatusRSVP'))
              $('seEvent_' + eventID).getElement('.seEventStatusRSVP').style.display = '';
            if ($('seEvent_' + eventID).getElement('.seEventUserOptionEdit'))
              $('seEvent_' + eventID).getElement('.seEventUserOptionEdit').style.display = (responseObject.user_can_edit ? '' : 'none');
          }
          
          // update response (page 'user_event.tpl')
          if( $('seEventRSVP_' + eventID) )
          {
            if (responseObject.event_rsvp_lvid)
              $('seEventRSVP_' + eventID).innerHTML = bind.Base.Language.Translate(responseObject.event_rsvp_lvid);
            else
              $('seEventRSVP_' + eventID).innerHTML = bind.Base.Language.Translate(bind.rsvpLanguageVars[eventRsvp]);
            // Jean 14/08/2009
            $('seEventRSVP_' + eventID).parentNode.className = 'rsvp_'+ eventRsvp;
          }

          // Jean 19/08/2009 : pour 'event.tpl'
          if ($('seEventProfileRSVP_'+ eventRsvp))
            $('seEventProfileRSVP_'+ eventRsvp).checked = true;
          if ($('eventProfileMenuRSVP'))
            $('eventProfileMenuRSVP').style.display = 'none';
          if ($('rsvp_lvid_guest_'+ myUserId))
           {
            $('rsvp_lvid_guest_'+ myUserId).innerHTML = bind.Base.Language.Translate(bind.rsvpLanguageVars[eventRsvp]);
            $('rsvp_lvid_guest_'+ myUserId).style.background = "#DB6D11";
            $('rsvp_lvid_guest_'+ myUserId).style.borderColor = "white";
            $('rsvp_lvid_guest_'+ myUserId).style.color = "white";
           }
          // Jean 19/08/2009
        }
      }
    });
    
    request.send();
    
    // Reset
    this.currentConfirmID = 0;
  },
  

  // Annuler ma demande de participation
  cancelShow: function(eventID)
  {
    this.currentConfirmID = ( eventID || this.eventInfo.event_id );
    TB_show(this.Base.Language.Translate(3000170), '#TB_inline?height=100&width=300&inlineId=confirmeventrequestcancel', '', '../images/trans.gif');
  },
  
  
  cancelConfirm: function()
  {
    eventID = this.currentConfirmID;
    
    // Remove Smoothbox
    TB_remove();
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventrequestcancel',
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // event - Show/hide profile menu icons
          if( $('eventProfileMenuRequest') ) $('eventProfileMenuRequest').style.display = '';
          if( $('eventProfileMenuCancel') )  $('eventProfileMenuCancel').style.display = 'none';
          if( $('eventProfileMenuLeave') )  $('eventProfileMenuLeave').style.display = 'none';

          if ($('seEventProfileBookmark_1')) $('seEventProfileBookmark_1').checked = false;

          // user_event - Remove event row
          if( $('seEvent_' + eventID) )
            $('seEvent_' + eventID).destroy();

          // user_event - Fix that calendar
          var eventMonthShow = $('seEventMonthShow_' + eventID);
          if( eventMonthShow )
          {
            var eventMonthDay = eventMonthShow.title;
            var eventCellElement = $('event_cell' + eventMonthDay);
            eventMonthShow.destroy();

            // Fix color
            if( eventCellElement && eventCellElement.className!='event_cell3' && !eventCellElement.getElements('a').length )
            {
              $('event_cell' + eventMonthDay).className = 'event_cell1'; 
            }
          }
        }
      }
    });
    
    request.send();
    
    // Reset
    this.currentConfirmID = 0;
  },
  
  
  
  
  // Join (N'EST PLUS UTILISÉE : DORÉNAVANT, ON JOINT UN EVENT VIA BOOKMARK OU RSVP)
  join: function(eventID, eventRSVP)
  {
    if( !eventID ) eventID = this.eventInfo.event_id;
    
    // Remove Smoothbox - for month view, might mess things up?
    if( $('TB_overlay') ) TB_remove();
    
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventjoin',
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // event - Switch profile buttons
          if( $('eventProfileMenuLeave') )
          {
            if( bind.eventInfo.event_inviteonly )
            {
              $('eventProfileMenuRequest').style.display = 'none';
              $('eventProfileMenuCancel').style.display = '';
            }
            
            else
            {
              $('eventProfileMenuLeave').style.display = '';
              $('eventProfileMenuRSVP').style.display = '';
              if( bind.eventInfo.event_invite ) $('eventProfileMenuInvite').style.display = '';
              // Jean 18/08/2009
              if ($('TR_actions')) $('TR_actions').style.display = '';
            }
          }
          
          // user_event - Switch buttons
          else if( $('seEvent_' + eventID) )
          {
            // User should never be able to join an invite only event through the user_event page
            $('seEvent_' + eventID).getElement('.seEventUserOptionJoin').style.display = 'none';
            $('seEvent_' + eventID).getElement('.seEventUserOptionRsvp').style.display = '';
            $('seEvent_' + eventID).getElement('.seEventUserOptionLeave').style.display = '';
            $('seEvent_' + eventID).getElement('.seEventStatusAccept').style.display = 'none';
            $('seEvent_' + eventID).getElement('.seEventStatusRSVP').style.display = '';
          }
          
          // Send RSVP if set
          if( $type(eventRSVP) )
          {
            bind.rsvpConfirm(eventRSVP);
          }
        }
      }
    });
    
    request.send();
    
    // Reset
    this.currentConfirmID = 0;
  },
  
  
  
  
  // Demande une autorisation de participer
  request: function(eventID)
  {
    // Jean 25/01/2010 : si pas loggué...
    if (!isLogged)
     {
      document.location.replace("login.php?return_url="+ escape(document.location.href));
      return;
     }

    if( !eventID ) eventID = this.eventInfo.event_id;
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventrequestsend',
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
        }
        
        else
        {
          // event - Switch profile buttons
          if( $('eventProfileMenuRequest') ) $('eventProfileMenuRequest').style.display = 'none';
          if( $('eventProfileMenuCancel') )  $('eventProfileMenuCancel').style.display = '';
        }
      }
    });
    
    request.send();
    
    // Reset
    this.currentConfirmID = 0;
  },


  // Jean 03/12/2009 : pour changer les slides (fonction réservée aux CM)
  changeSlide: function(eventID, offset, nbTotalSlides)
   {
    if (offset == 0)
      return;

    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventslidechange',
        'event_id' : eventID,
        'current_slide_position' : currentSlidePosition,
        'offset' : offset
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
         {
          /*
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
          */
         }
        else
         {
           if (responseObject.url_slide)
            {
             if (responseObject.new_current_slide_position != currentSlidePosition)
              {
               var html = '<IMG src="'+ responseObject.url_slide +'" border=0 />';
               $('event_slide_content').innerHTML = html;
               currentSlidePosition = responseObject.new_current_slide_position;
               bind.loadProfileTab('slide');
              }
            }
           else
            {
             $('event_slide_content').innerHTML = '';
             currentSlidePosition = 0;
            }
           if ($('liste_acces_slide').selectedIndex != responseObject.new_current_slide_position)
             $('liste_acces_slide').selectedIndex   = responseObject.new_current_slide_position;
           $('btn_slide_start').style.display  = responseObject.new_current_slide_position == 0 ? 'inline' : 'none';
           $('btn_slide_cancel').style.display = responseObject.new_current_slide_position > 0 ? 'inline' : 'none';
           $('btn_slide_prev').style.visibility   = responseObject.new_current_slide_position > 1 ? 'inherit' : 'hidden';
           $('btn_slide_next').style.visibility   = responseObject.new_current_slide_position < nbTotalSlides ? 'inherit' : 'hidden';

          //alert(responseObject.url_slide);
         }
      }
    });
    request.send();
   },

  // Jean 03/12/2009
  initSlide: function(eventID)
   {
    this.changeSlide(eventID, null, null);
   },

  // Jean 03/12/2009 : pour changer les slides (fonction réservée aux CM)
  scruteSlides: function(eventID, nbTotalSlides)
   {
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'eventscruteslides',
        'event_id' : eventID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
         {
          /*
          if (responseObject.is_debug) alert(responseObject.error);
          else alert(bind.Base.Language.Translate(3000153));
          */
         }
        else
         {
           if (responseObject.url_slide)
            {
             if (responseObject.current_slide_position != currentSlidePosition)
              {
               var html = '<IMG src="'+ responseObject.url_slide +'" border=0 />';
               $('event_slide_content').innerHTML = html;
               currentSlidePosition = responseObject.current_slide_position;
               bind.loadProfileTab('slide');
              }
            }
           else
            {
             $('event_slide_content').innerHTML = '';
            }
          //alert(responseObject.url_slide);
           if ($('btn_slide_next'))
            {
             if ($('liste_acces_slide').selectedIndex != responseObject.current_slide_position)
               $('liste_acces_slide').selectedIndex  = responseObject.current_slide_position;
             $('btn_slide_start').style.display  = responseObject.current_slide_position == 0 ? 'inline' : 'none';
             $('btn_slide_cancel').style.display = responseObject.current_slide_position > 0 ? 'inline' : 'none';
             $('btn_slide_prev').style.visibility   = responseObject.current_slide_position > 1 ? 'inherit' : 'hidden';
             $('btn_slide_next').style.visibility   = responseObject.current_slide_position < nbTotalSlides ? 'inherit' : 'hidden';
            }
         }
      }
    });
    request.send();
   }

});