
var SocialEngineAPI={version:"0.1.0alpha"};

// Jean 14/04/2010
var tabObjComments = new Array();

SocialEngineAPI.Base=new Class({initialize:function(){this.version=SocialEngineAPI.version},RegisterModule:function(a){a.Base=this}});SocialEngineAPI.Comments=new Class({Implements:[Options],Base:{},page:1,total:0,changed:false,isEditing:false,options:{ajaxURL:"misc_js.php",ajaxMethod:"post",ajaxSecure:false,canComment:false,commentHTML:false,commentCode:false,originalHeight:70,type:false,typeIdentifier:false,typeID:false,paginate:false,cpp:false,commentLinks:{reply:false,walltowall:false},object_owner:false,object_owner_id:false,typeTab:false,typeCol:false,typeTabParent:false,typeColParent:false,typeChild:false},initialize:function(a){this.setOptions(a);if(this.options.initialTotal){this.total=this.options.initialTotal}
  var b=this;
  tabObjComments[this.options.type] = this;

  window.addEvent("domready", function() {
    b.showPostComment();
    b.options.originalHeight=textarea_autogrow("comment_body_"+ b.options.type);
    b.getComments(1)
  })

},

showPostComment:function(zoneReplyComment, parentCommentID)
{
    var c="";

    // Jean 14/04/2010
    var margeLargeur = zoneReplyComment ? 55 : 0;

    if ($(this.options.type +'_'+ this.options.typeID +'_'+ this.currentReplyCommentParentID +'_replycomment'))
      $(this.options.type +'_'+ this.options.typeID +'_'+ this.currentReplyCommentParentID +'_replycomment').innerHTML = '';

    if ($(this.options.type +'_'+ this.options.typeID +'_postcomment'))
      $(this.options.type +'_'+ this.options.typeID +'_postcomment').innerHTML = '';

    if (parentCommentID)
      this.currentReplyCommentParentID = parentCommentID;
    // Jean 14/04/2010


    // Nombre de commentaires :
    c+="<div class='comment_headline' style='width: "+ ((this.options.widthComments ? this.options.widthComments - 60 : 618) - margeLargeur) +"px; display: ;' id='"+this.options.type+"_"+this.options.typeID+"_new_comment'>";

    // Intitulé du bloc = "Répondre à ce commentaire"
    if (zoneReplyComment)
      c+= '<div style="float: right; padding-right: 4px;"><a href="javascript: tabObjComments[\''+ this.options.type +'\'].showPostComment();" style="color: #444444; font-family: arial;" title="'+ this.Base.Language.Translate(39) +'">'
          //+  style="text-transform: lowercase;"><small> + this.Base.Language.Translate(39)
          + 'X'
          +'</a></div>'+ this.Base.Language.Translate(3510414);
    else
     {
      c+= this.Base.Language.Translate(854);
      c+= " (<span class='tc' id='"+this.options.type+"_"+this.options.typeID+"_totalcomments_post'>"+ this.total +"</span>)";
     }
    c+= "</div>";

    if(this.options.canComment)
      {
       c+="<form id='my_form_comment"+ this.options.type +"_"+ (parentCommentID ? '_'+parentCommentID : '') +"' action='javascript: top.essaiValidation(\"my_form_comment"+ this.options.type +"_"+ (parentCommentID ? '_'+parentCommentID : '') +"\", \""+ this.options.type +"\");' method='post' target='ajaxframe'>";
       c+="<div class='profile_postcomment' style='width: "+ ((this.options.widthComments ? this.options.widthComments - 80 : 600) - margeLargeur) +"px;'>";
       var largeurTextArea;
       // Jean 04/11/2009
       if (myPicture != '')
        {
         c+="<img src='"+ myPicture +"' align='left' style='width: 60px; height: 60px; margin-right: 4px; margin-top: 1px;' />";
         largeurTextArea = ((this.options.widthComments ? this.options.widthComments - 150 : 535) - margeLargeur) +"px";
        }
       else
        {
         largeurTextArea = "98%";
        }

       c+="<textarea name='comment_body' id='comment_body_"+ this.options.type +"' cols='25' class='comment_area' style='width: "+largeurTextArea+";'>"+this.Base.Language.Translate(829)+"</textarea>";
       if (this.options.commentHTML)
        {c+="<div style='margin-top: 5px;'"+ (this.options.fontWidth ? " style='font-size: "+ this.options.fontWidth +"px;'" : "") +">"+this.Base.Language.TranslateFormatted(1034,[this.options.commentHTML])+"</div>"}
       if(this.options.commentCode)
        {c+="<div style='float: left; margin-top: 5px;'><a href='javascript:void(0);' onClick=\"this.blur();$('secure_image_"+ this.options.type +"').src=$('secure_image_"+ this.options.type +"').src+'?'+(new Date()).getTime();\"><img src='./images/secure.php' id='secure_image_"+ this.options.type +"' border='0' height='20' width='67' class='signup_code'></a> <input type='text' name='comment_secure' id='comment_secure_"+ this.options.type +"' class='text' size='6' maxlength='10'> <img src='./images/icons/tip.gif' border='0' class='Tips1' style='vertical-align: middle;' title='"+this.Base.Language.Translate(856)+"'></div>"
      }
    c+="<div style='text-align: right; margin-top: 5px;'>"
      +"<div id='comment_loading_zone_"+ this.options.type +"' style='display: none;'>"
      +"<img src='images/icons/loading2.gif' alt='Loading' border='0' /></div>"
      +"<input type='hidden' name='task' value='comment_post'>"
      +"<input type='hidden' name='type' value='"+ this.options.type +"'>"
      +"<input type='hidden' name='iden' value='"+ this.options.typeIdentifier +"'>"
      +"<input type='hidden' name='value' value='"+ this.options.typeID +"'>"
// Jean 14/04/2010
      +"<input type='hidden' name='parentcommentid' value='"+ (parentCommentID ? parentCommentID : "") +"'>";

// Jean 24/10/2009
    top.alertIdentMessage = this.Base.Language.Translate(3000955);

    top.inner_field_name = new Array();
    top.inner_field_name["temp_displayname"] = this.Base.Language.Translate(3000956);
    top.inner_field_name["temp_email"]       = this.Base.Language.Translate(3000957);
    top.inner_field_name["temp_company"]     = this.Base.Language.Translate(3000958);
    top.inner_field_name["temp_website"]     = this.Base.Language.Translate(3000981);

    top.essaiValidation = function (formID, comment_type)
     {
      if (top.identCommentValidate && !top.identCommentValidate(comment_type))
        {
         alert(top.alertIdentMessage);
        }
      else
        {
         setTimeout("$(\""+ formID +"\").action = \"misc_js.php\"; $(\""+ formID +"\").submit();",100);
        }
      $("comment_submit_"+ comment_type).disabled = false;
     }

    // Si pas loggué
    if (!isLogged)
     {
      // Jean 24/10/2009
      top.identCommentValidate = function(comment_type)
      {
        if ($("temp_displayname_"+ comment_type).value == top.inner_field_name["temp_displayname"]) return false;
        if ($("temp_email_"+ comment_type).value ==       top.inner_field_name["temp_email"]) return false;
        if (!$("temp_email_"+ comment_type).value.match(/^[a-z0-9]+([a-z0-9_+\.-]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,}$/i)) return false;
        if ($("temp_company_"+ comment_type).value ==     top.inner_field_name["temp_company"]) $("temp_company_"+ comment_type).value = '';
        if ($("temp_website_"+ comment_type).value ==     top.inner_field_name["temp_website"]) $("temp_website_"+ comment_type).value = '';
        return true;
      };

      top.identCommentInit = function(comment_type)
      {
        if (!$("temp_displayname_"+ comment_type))
          setTimeout("top.identCommentInit('"+ comment_type +"');", 100);
        else
         {
          $("temp_displayname_"+ comment_type).value = top.inner_field_name['temp_displayname'];
          $("temp_email_"+ comment_type).value       = top.inner_field_name['temp_email'];
          $("temp_company_"+ comment_type).value     = top.inner_field_name['temp_company'];
          $("temp_website_"+ comment_type).value     = top.inner_field_name['temp_website'];
         }
      }

      c+='<input type="text" class="text" id="temp_displayname_'+ this.options.type +'" name="temp_displayname" style="font-size: 10px; color: gray; width: 128px;" onfocus="if (this.value == top.inner_field_name[\'temp_displayname\']) { this.value = \'\'; this.style.color = \'\'; }" onblur="if (this.value == \'\') { this.value = top.inner_field_name[\'temp_displayname\']; this.style.color = \'gray\'; }" /> &nbsp;';
      c+='<input type="text" class="text" id="temp_email_'+ this.options.type +'"       name="temp_email"       style="font-size: 10px; color: gray; width: 148px;" onfocus="if (this.value == top.inner_field_name[\'temp_email\']) { this.value = \'\'; this.style.color = \'\'; }" onblur="if (this.value == \'\') { this.value = top.inner_field_name[\'temp_email\']; this.style.color = \'gray\'; }" /> &nbsp;';
      c+='<input type="text" class="text" id="temp_company_'+ this.options.type +'"     name="temp_company"     style="font-size: 10px; color: gray; width: 138px;" onfocus="if (this.value == top.inner_field_name[\'temp_company\']) { this.value = \'\'; this.style.color = \'\'; }" onblur="if (this.value == \'\') { this.value = top.inner_field_name[\'temp_company\']; this.style.color = \'gray\'; }" /> &nbsp;';
      c+='<input type="text" class="text" id="temp_website_'+ this.options.type +'"     name="temp_website"     style="font-size: 10px; color: gray; width: 138px;" onfocus="if (this.value == top.inner_field_name[\'temp_website\']) { this.value = \'\'; this.style.color = \'\'; }" onblur="if (this.value == \'\') { this.value = top.inner_field_name[\'temp_website\']; this.style.color = \'gray\'; }" /><br><br>';

      l = this;
      window.addEvent('domready', function()
       {
        top.identCommentInit(l.options.type);
       });
     }

     // POSTER
     c += '<input type="submit" id="comment_submit_'+ this.options.type +'" class="button" value="'+this.Base.Language.Translate(833)+'" >';

     // Jean 15/03/2010 - M’informer par email des prochains commentaires

     if (this.options.type == 'blog' || this.options.type == 'event' || this.options.type == 'group')
       c += '<br /><br /><input type="checkbox" class="text" id="notify_me_'+ this.options.type +'" name="notify_me"'+ (this.options.notify_me ? ' checked' : '') +' /><label for="notify_me_'+ this.options.type +'"> '+ this.Base.Language.Translate(3510238) +'</label><br><br>';

    if(this.options.object_owner&&this.options.object_owner_id)
     {c+='<input type="hidden" name="object_owner" value="'+this.options.object_owner+'"><input type="hidden" name="object_owner_id" value="'+this.options.object_owner_id+'">'}
    else
     {c+='<input type="hidden" name="user" value="'+this.Base.Owner.user_info.user_username+'">'}

    if(this.options.typeTab)
     {c+="<input type='hidden' name='tab' value='"+this.options.typeTab+"'>"}
    if(this.options.typeCol)
     {c+="<input type='hidden' name='col' value='"+this.options.typeCol+"'>"}
    if(this.options.typeTabParent)
     {c+='<input type="hidden" name="tab_parent" value="'+this.options.typeTabParent+'">'}
    if(this.options.typeColParent)
     {c+='<input type="hidden" name="col_parent" value="'+this.options.typeColParent+'">'}
    if(this.options.typeChild)
     {c+='<input type="hidden" name="child" value="1">'}
    c+="</div><div id='comment_error_"+ this.options.type +"' style='color: #FF0000;'>";
    // Jean 16/03/2010
    // Attention, vous avez demandé dans vos paramètres de compte à ne pas être prévenu par mail suite aux nouveaux articles de vos blogueurs préférés, ni suite aux prochains commentaires sur tout blog que vous commentez. Vous pouvez modifier ces préférences <a href="my_account">en allant ici</a>.
    if (this.options.type == 'blog' && !this.options.global_pref_notify)
     c += '<div style="color: #D20000; font-size: 11px; text-align: left;">'+ this.Base.Language.Translate(3510316) +'</div>';
    c+="</div></div></form>"
}

c+='<div style="display: none;" id="confirmcommentdelete_'+ this.options.type +'">'
 + '<div style="margin-top: 10px;">'+this.Base.Language.Translate(1026)+'</div><br />'
 + '<form action="misc_js.php" method="post" target="ajaxframe">'
 + '<input type="submit" id="btn_valid_delete_comment_'+ this.options.type +'" class="button" value="'+this.Base.Language.Translate(175)+'" onClick="parent.TB_remove();">'
 + ' '
 + '<input type="button" class="button" value="'+this.Base.Language.Translate(39)+'" onClick="parent.TB_remove();">'
 + '<input type="hidden" name="task" value="comment_delete">'
 + '<input type="hidden" name="comment_id" id="del_comment_id_'+ this.options.type +'" value="0">'
 + '<input type="hidden" name="type" value="'+this.options.type+'">'
 + '<input type="hidden" name="iden" value="'+this.options.typeIdentifier+'">'
 + '<input type="hidden" name="value" value="'+this.options.typeID+'">';

if(this.options.object_owner&&this.options.object_owner_id)
  {c+='<input type="hidden" name="object_owner" value="'+this.options.object_owner+'"><input type="hidden" name="object_owner_id" value="'+this.options.object_owner_id+'">'}
else
  {c+='<input type="hidden" name="user" value="'+this.Base.Owner.user_info.user_username+'">'}
if(this.options.typeTab)
  {c+='<input type="hidden" name="tab" value="'+this.options.typeTab+'">'}
if(this.options.typeCol)
  {c+='<input type="hidden" name="col" value="'+this.options.typeCol+'">'}
if(this.options.typeTabParent)
  {c+='<input type="hidden" name="tab_parent" value="'+this.options.typeTabParent+'">'}
if(this.options.typeColParent)
  {c+='<input type="hidden" name="col_parent" value="'+this.options.typeColParent+'">'}
if(this.options.typeChild)
  {c+='<input type="hidden" name="child" value="1">'}
c+="</form></div>";
// Jean 14/04/2010
var a = zoneReplyComment ? zoneReplyComment : $(this.options.type+"_"+this.options.typeID+"_postcomment");
a.innerHTML=c;

// Jean 14/04/2010
if (zoneReplyComment)
 {
  this.removeText(a.getElement("textarea"));
  textarea_autogrow('comment_body_'+ this.options.type);
  $('comment_body_'+ this.options.type).focus();
 }

var b=this;
if(this.options.canComment)
  {
   a.getElement("form").addEvent(
    "submit",
    function() {
      b.checkText();
    }
   );

   a.getElement("textarea").addEvent("focus",function(){b.removeText(this)});
   a.getElement("textarea").addEvent("blur",function(){b.addText(this)})
  }
  },

getComments:function(e)
  {
     if(e=="next"){this.page++}
     else{if(e=="previous"){this.page--}
     else{if($type(e)){this.page=e}}}
     if(this.options.paginate){window.scroll(0,0)}
     else{this.options.cpp=this.total}
     if(this.options.object_owner&&this.options.object_owner_id)
       {var d=this.options.object_owner;var a=this.options.object_owner_id;var b=""}
     else{var d="";var a="";var b=this.Base.Owner.user_info.user_username}
     var f=this;
     var c=new Request.JSON({
        url:this.options.ajaxURL,
            method:this.options.ajaxMethod,
            secure:this.options.ajaxSecure,
            data:{task:"comment_get",
                  user:b,
                  object_owner:d,
                  object_owner_id:a,
                  type:this.options.type,
                  iden:this.options.typeIdentifier,
                  value:this.options.typeID,
                  cpp:this.options.cpp,
                  p:this.page},
            onComplete:function(g,h) { f.updateComments(g)}
     });
     c.send()
   },

updateComments:function(b){
     if($type(b)!="object")
       {/* alert("There was an error processing the request."); */ return false}
     this.total=parseInt(b.total_comments)||0;
     this.page=b.p;
     var a=b.maxpage;var n=b.p_start;var m=b.p_end;
     var g=$(this.options.type+"_"+this.options.typeID+"_comments");
     var k=$H(b.comments);

     var f=document.createElement("div");
     g.empty();

     g.innerHTML = "<div class='comment_headline' style='width: "+ (this.options.widthComments ? this.options.widthComments - 60 : 618) +"px; display: none;' id='"+this.options.type+"_"+this.options.typeID+"_zone_comments'>"
                 + this.Base.Language.Translate(854)
                 +" (<span class='tc' id='"+this.options.type+"_"+this.options.typeID+"_totalcomments'>"+ this.total +"</span>)"
                 + (this.options.htmlInHeader ? this.options.htmlInHeader : '')
                 +"</div>";

     var h_comments_container=$(this.options.type+"_"+this.options.typeID+"_zone_comments");

     var h_new_container=$(this.options.type+"_"+this.options.typeID+"_new_comment");

    // Jean 14/04/2010
     if (!h_new_container)
      {
       this.showPostComment();
       var h_new_container=$(this.options.type+"_"+this.options.typeID+"_new_comment");
      }

// Jean 21/07/2009 "Et toc, je suis le premier à donner mon commentaire :"
     if (this.options.canComment)
       h_new_container.innerHTML = this.Base.Language.Translate(3000684);
     else
       h_new_container.style.display = 'none';

     var h=$(this.options.type+"_"+this.options.typeID+"_totalcomments");
     //var h_new=$(this.options.type+"_"+this.options.typeID+"_totalcomments_post");
     h.innerHTML=this.total;

     var l=this;
     if(l.Base.Core.settings.setting_url)
      {var e="?"}
     else
      {var e="&"}


/*
     // Jean 14/04/2010 : on trie les éléments en fonction du fait que ce sont des "sous-commentaires" ou pas :
     function strcmp(a, b)
      {
       if (a > b) return +1;
       if (a < b) return -1;
       return 0;
      }
     function compare(a, b)
      {
       if (!a['comment_parentcommentid'] && b['comment_parentcommentid'])
         return strcmp(a['comment_parentcommentid'], b['comment_id']);

       else if (!b['comment_parentcommentid'] && a['comment_parentcommentid'])
         return strcmp(b['comment_parentcommentid'], a['comment_id']);

       else if (a['comment_parentcommentid'] && b['comment_parentcommentid'] && a['comment_parentcommentid'] && b['comment_parentcommentid'])
         return strcmp(a['comment_parentcommentid'], b['comment_parentcommentid']);

       else
         return strcmp(a['comment_id'], b['comment_id']);
      }
     k.sort(compare);
*/

     k.each(function(o,q){

         // Jean 14/04/2010 : On décode l'identifiant (on l'avait passé en string de manière à ce que le tri sur les commentaires tienne compte des sous-commentaires)
         init_q = q;
         q = q.replace(/^id_/, '');
         var isSubComment;
         if (isSubComment = q.match(/^([0-9]+)_([0-9]+)_([0-9]+)$/))
           q = isSubComment[3];
         var isParentComment = init_q.match(/^id_/) && !isSubComment;
         // Jean 14/04/2010

         h_comments_container.style.display = 'block';
         h_new_container.innerHTML = l.Base.Language.Translate(700025) + (l.options.htmlInHeader ? l.options.htmlInHeader : '');

         var r=new Element("div",{id:"comment_"+q});

         var s="<div style='margin-top: 10px; margin-bottom: 12px; margin-right: 4px;"+ (isSubComment ? "margin-left: 30px;" : "") +"'>";
         // Jean 14/04/2010
         if (isSubComment)
           s += "<div style='float: left; text-align: center; width: 40px;'><img src='./images/sub_comment.png' /></div>";

         if(o.comment_authoruser_id&&o.comment_authoruser_exists){
           s+="<div style='float: left; text-align: center; width: 65px;'><a href='"+o.comment_authoruser_url+"' "+ o.comment_authoruser_infobulle_url +"><img src='"+o.comment_authoruser_photo+"' class='photo' width='"+ (o.comment_authoruser_photo_width == 0 ? "60' height='60" : o.comment_authoruser_photo_width) +"' border='0'></a></div>"
         }else{
           s+="<div style='float: left; text-align: center; width: 65px;'><img src='./images/nophoto.gif' class='photo' width='60' border='0'></div>"
         }
         s+="<div style='overflow: hidden;'>";
         if(!o.comment_authoruser_id){
           s+="<div class='profile_comment_author'><b>"+l.Base.Language.Translate(835)+"</b></div>"
         }
         else{
             if(!o.comment_authoruser_exists){
               s+="<div class='profile_comment_author'><b>"+l.Base.Language.Translate(1071)+"</b></div>"
             }else{
               s+="<div class='profile_comment_author'><a href='"+o.comment_authoruser_url+"' "+ o.comment_authoruser_infobulle_url + (l.options.fontWidth ? " style='font-size: "+ l.options.fontWidth +"px;'" : "") +"><b>"+o.comment_authoruser_displayname+"</b></a>"+ (o.comment_main_webtv ? " &nbsp; "+ o.comment_main_webtv : "") +"</div>"
             }
         }
        s+="<div class='profile_comment_date'"+ (l.options.fontWidth ? " style='font-size: "+ l.options.fontWidth +"px;'" : "") +">"+o.comment_date+"</div>";
        r.setProperty("html",o.comment_body);
        s+="<div class='profile_comment_body' id='profile_comment_body_"+q+"'"+ (l.options.fontWidth ? " style='font-size: "+ l.options.fontWidth +"px;'" : "") +">"+o.comment_body+"&nbsp;</div>";
        s+="<div class='profile_comment_links'>";var p=new Array();

        if(l.Base.Viewer.user_exists&&o.comment_authoruser_id&&o.comment_authoruser_exists){if(l.options.commentLinks.reply&&l.Base.Viewer.user_info.user_id==l.Base.Owner.user_info.user_id&&l.Base.Viewer.user_info.user_id!=o.comment_authoruser_id){
          p.push("<a href='"+o.comment_authoruser_url+e+"v=comments' "+ o.comment_authoruser_infobulle_url +">"+l.Base.Language.Translate(787)+"</a>")}

        // Jean 04/07/2010 : on conditionne la possiblilité de modifier ou supprimer son commentaire par le fait qu'il date de moins de 2 heures
        var isFreshComment = new Date().getTime() - o.comment_date_timestamp*1000 < 2*60*60*1000;

        // Lien "Éditer"
        if((o.comment_authoruser_id==l.Base.Viewer.user_info.user_id || i_am_CM)
          && (isFreshComment || i_am_CM)
        ){
          p.push('<a class="commentEditLink'+ (o.comment_authoruser_id != l.Base.Viewer.user_info.user_id || !isFreshComment ? " com_manager" : "") +'" href="javascript:void(0);">'+ l.Base.Language.Translate(187) +"</a>")}}

        // Lien "Effacer"
        if(((o.comment_authoruser_exists&&o.comment_authoruser_id==l.Base.Viewer.user_info.user_id)||(l.Base.Viewer.user_exists&&l.Base.Viewer.user_info.user_id==l.Base.Owner.user_info.user_id) || (i_am_CM))
          && (isFreshComment || i_am_CM)
         ){
          p.push('<a class="commentDeleteLink'+ (o.comment_authoruser_id != l.Base.Viewer.user_info.user_id || !isFreshComment ? " com_manager" : "") +'" href="javascript:void(0);">'+ l.Base.Language.Translate(155) +"</a>")}

        // Jean 14/04/2010 - Lien "Répondre à ce commentaire"
        if(l.options.canComment && isParentComment)
          p.push("<a href=\"javascript:;\" onclick=\"var zonePostReply = $('"+ l.options.type +"_"+ l.options.typeID +"_"+ q +"_replycomment'); if (zonePostReply.innerHTML == '') tabObjComments['"+ l.options.type +"'].showPostComment(zonePostReply, "+ q +"); else tabObjComments['"+ l.options.type +"'].showPostComment();\"><b>"+ l.Base.Language.Translate(3510414) +"</b></a>");
/*
        // Lien "Envoyer un message"
        if(l.options.commentLinks.walltowall&&o.comment_authoruser_id!=l.Base.Owner.user_info.user_id&&o.comment_authoruser_private==false){
          p.push("<a href=\"javascript:TB_show('"+l.Base.Language.Translate(1032)+"', 'profile_comments.php?user="+l.Base.Owner.user_info.user_username+"&user2="+o.comment_authoruser_username+"&TB_iframe=true&height=450&width=550', '', './images/trans.gif', 1);\">"+l.Base.Language.Translate(891)+"</a>")}
          if(o.comment_authoruser_id!=l.Base.Viewer.user_info.user_id){p.push("<a href=\"javascript:TB_show('"+l.Base.Language.Translate(784)+"', 'user_messages_new.php?to_user="+o.comment_authoruser_displayname+"&to_id="+o.comment_authoruser_username+"&TB_iframe=true&height=400&width=450', '', './images/trans.gif', 1);\">"+l.Base.Language.Translate(834)+"</a>")}
*/
        // Lien "l'inviter sur ce tournage" (liens accessible aux seuls contributeurs et CM)
        if(o.comment_authoruser_exists && l.Base.Viewer.user_exists && l.Base.Viewer.user_info.user_id != l.Base.Owner.user_info.user_id
            && (l.Base.Viewer.user_info.user_level_id=="1" || i_am_CM)
            && parent.objTournage && parent.objTournage.members.indexOf('#'+ o.comment_authoruser_id +'#') == -1
            ){
          p.push('<a onclick="parent.SocialEngine.Event.oneMemberInviteSend('+ o.comment_authoruser_id +');" href="javascript:void(0);">'+l.Base.Language.Translate(3510054)+"</a>")}

        s+=p.join("&nbsp;|&nbsp;");
        s+="&nbsp;</div>";

        // Jean 14/04/2010 - Zone cible du lien "Répondre à ce commentaire"
        if(l.options.canComment)
          s+= '<div id="'+ l.options.type +'_'+ l.options.typeID +'_'+ q +'_replycomment"></div>';

        s+="</div></div>";

        r.setProperty("html",s);
        r.inject(g);
        if(r.getElement(".commentEditLink")){r.getElement(".commentEditLink").addEvent("click",function(){l.editComment(q)})}
        
        if(r.getElement(".commentDeleteLink")){r.getElement(".commentDeleteLink").addEvent("click",function(){l.confirmDelete(q, l.options.type)})}});
        
        if(this.options.paginate&&this.total>this.options.cpp){var i=new Element("div",{styles:{"text-align":"center"}});var j=new Element("div",{styles:{"text-align":"center"}});if(this.page>1){var d="<a href='javascript:void(0);' id='comment_last_page_top'>&#171; "+l.Base.Language.Translate(182)+"</a>";var c="<a href='javascript:void(0);' id='comment_last_page_bottom'>&#171; "+l.Base.Language.Translate(182)+"</a>"}else{var d="<font class='disabled'>&#171; "+l.Base.Language.Translate(182)+"</font>";var c="<font class='disabled'>&#171; "+l.Base.Language.Translate(182)+"</font>"}if(n==m){d+="&nbsp;|&nbsp; "+this.Base.Language.TranslateFormatted(184,[n,this.total])+"&nbsp;|&nbsp;";c+="&nbsp;|&nbsp; "+this.Base.Language.TranslateFormatted(184,[n,this.total])+"&nbsp;|&nbsp;"}else{d+="&nbsp;|&nbsp; "+this.Base.Language.TranslateFormatted(185,[n,m,this.total])+"&nbsp;|&nbsp;";c+="&nbsp;|&nbsp; "+this.Base.Language.TranslateFormatted(185,[n,m,this.total])+"&nbsp;|&nbsp;"}if(this.page!=a){d+="<a href='javascript:void(0);' id='comment_next_page_top'>"+l.Base.Language.Translate(183)+" &#187;</a>";c+="<a href='javascript:void(0);' id='comment_next_page_bottom'>"+l.Base.Language.Translate(183)+" &#187;</a>"}else{d+="<font class='disabled'>"+l.Base.Language.Translate(183)+" &#187;</font>";c+="<font class='disabled'>"+l.Base.Language.Translate(183)+" &#187;</font>"}i.setProperty("html",d);j.setProperty("html",c);i.inject(g,"top");j.inject(g);if(i.getElement("a[id=comment_last_page_top]")){i.getElement("a[id=comment_last_page_top]").addEvent("click",function(){l.getComments("previous")})}if(j.getElement("a[id=comment_last_page_bottom]")){j.getElement("a[id=comment_last_page_bottom]").addEvent("click",function(){l.getComments("previous")})}if(i.getElement("a[id=comment_next_page_top]")){i.getElement("a[id=comment_next_page_top]").addEvent("click",function(){l.getComments("next")})}if(j.getElement("a[id=comment_next_page_bottom]")){j.getElement("a[id=comment_next_page_bottom]").addEvent("click",function(){l.getComments("next")})}}},

  addComment:function(c,a,b){

    if(!this.options.canComment){return false}

    if(c){
      $("comment_error_"+ this.options.type).style.display="block";

      if(!a.trim()){this.addText($("comment_body_"+ this.options.type));$("comment_error_"+ this.options.type).innerHTML=this.Base.Language.Translate(831)}
      else{$("comment_error_"+ this.options.type).innerHTML=this.Base.Language.Translate(832)}

      $("comment_submit_"+ this.options.type).value=this.Base.Language.Translate(833);
      $("comment_submit_"+ this.options.type).disabled=false
     }
    else
     {
        $("comment_error_"+ this.options.type).style.display="none";
        $("comment_error_"+ this.options.type).innerHTML="";
        $("comment_body_"+ this.options.type).value="";
        $("comment_body_"+ this.options.type).style.height=this.options.originalHeight+"px";
        this.addText($("comment_body_"+ this.options.type));
        $("comment_submit_"+ this.options.type).value=this.Base.Language.Translate(833);
        $("comment_submit_"+ this.options.type).disabled=false;
        if($("comment_secure_"+ this.options.type)){$("comment_secure_"+ this.options.type).value="";
        $("secure_image_"+ this.options.type).src=$("secure_image_"+ this.options.type).src+"?"+(new Date()).getTime()}this.page=1;
        this.total++;
        this.getComments()
    }
   },

   editComment:function(c){
        var f=this;
        if(this.isEditing){return false}this.isEditing=true;var b=$("profile_comment_body_"+c);var a=b.offsetHeight+10;var d=b.innerHTML.replace(/<br>/gi,"\r\n").replace(/>/gi,"&gt;");
        var e="";

        e+="<form action='misc_js.php' method='post' target='ajaxframe' name='editCommentForm'>";

        e+="<textarea name='comment_edit' id='comment_edit_"+ this.options.type +"_"+ c +"' style='height: "+a+" px; width: 100%;'>"+d+"</textarea>";

        e+="<input type='hidden' name='task' value='comment_edit'>";e+="<input type='hidden' name='comment_id' value='"+c+"'>";
        e+="<input type='hidden' name='type' value='"+this.options.type+"'>";
        e+="<input type='hidden' name='iden' value='"+this.options.typeIdentifier+"'>";
        e+="<input type='hidden' name='value' value='"+this.options.typeID+"'>";

        if(this.options.typeTab){e+='<input type="hidden" name="tab" value="'+this.options.typeTab+'">'}
        if(this.options.typeCol){e+='<input type="hidden" name="col" value="'+this.options.typeCol+'">'}
        if(this.options.typeTabParent){e+='<input type="hidden" name="tab_parent" value="'+this.options.typeTabParent+'">'}
        if(this.options.typeColParent){e+='<input type="hidden" name="col_parent" value="'+this.options.typeColParent+'">'}
        if(this.options.typeChild){e+='<input type="hidden" name="child" value="1">'}

        e+="</form>";
        b.innerHTML=e;
        textarea_autogrow("comment_edit_"+ this.options.type +"_"+ c);
        $("comment_edit_"+ this.options.type +"_"+ c).focus();
        $("comment_edit_"+ this.options.type +"_"+ c).addEvent("blur",function(){document.editCommentForm.submit();f.isEditing=false})
  },

  confirmDelete:function(a, comment_type){

        $("del_comment_id_"+ comment_type).value = a;

        TB_show(this.Base.Language.Translate(1025),"#TB_inline?height=100&width=300&inlineId=confirmcommentdelete_"+ comment_type,"","../images/trans.gif");

        // Jean 03/03/2010
        if ($('btn_valid_delete_comment_'+ comment_type)) $('btn_valid_delete_comment_'+ comment_type).focus();
        },

  removeText:function(a){if(!this.changed){a.value="";a.style.color="#000000";this.changed=true}},

  addText:function(a){if(!a.value.trim()){a.value=this.Base.Language.Translate(829);a.style.color="#888888";this.changed=false}},

  checkText:function(a){

      if(!this.changed){
        $("comment_body_"+ this.options.type).value="";
      }
      // Veuillez patientez...
      $("comment_submit_"+ this.options.type).value=this.Base.Language.Translate(830);
      $("comment_submit_"+ this.options.type).disabled=true;
   }
  });


  SocialEngineAPI.Core=new Class({Base:{},settings:{},plugins:{},options:{ajaxURL:"js_api.php"},initialize:function(){},ImportSettings:function(a){this.settings=a},ImportPlugins:function(a){this.plugins=a}});if(typeof(SocialEngineAPI)=="undefined"){var SocialEngineAPI={}}SocialEngineAPI.Language=new Class({Base:{},initialize:function(){this.languageVariables=new Hash()},Translate:function(b){var a=this.languageVariables.get(b)||"Missing Language Variable #"+b;return a},TranslateFormatted:function(d,c){var b=this.languageVariables.get(d)||"Missing Language Variable #"+d;c.unshift(b);var a=sprintf.run(c);return a},Import:function(a){if($type(a)=="object"){this.languageVariables.extend(a)}}});var SocialEngineLanguage=SocialEngineAPI.Language;SocialEngineAPI.Tags=new Class({Implements:[Options],Base:{},isTagging:false,newtag:false,tags:[],options:{ajaxURL:"misc_js.php",ajaxMethod:"post",ajaxSecure:false,canTag:false,type:false,media_id:false,media_dir:false,object_owner:false,object_owner_id:false},initialize:function(a){this.setOptions(a);if(this.options.initialTotal){this.total=this.options.initialTotal}var b=this;window.addEvent("domready",function(){b.showTagForm()})},showTagForm:function(){var e="";var d=this;if(this.options.canTag){e+="<div class='media_photo_tagform_titlebar'><img src='images/icons/photos16.gif' class='icon' />"+this.Base.Language.Translate(1212)+"</div><div style='padding: 7px;'><div style='text-align: left;'><div style='font-size: 7pt; margin-bottom: 5px;'>"+this.Base.Language.Translate(1213)+"</div><div style='text-align: center;'><input type='text' style='width: 130px; padding-left: 4px; font-size: 8pt;' name='media_photo_tag' id='media_photo_tag' class='text' maxlength='40'/></div></div><div id='media_photo_friendlist' class='media_photo_friendlist'>";if(d.Base.Viewer.user_exists){e+="<div><a href='javascript:void(0)' id='tag_me'>"+d.Base.Viewer.user_displayname+d.Base.Language.Translate(1214)+"</a></div>"}e+="</div><div><input type='button' class='button' name='save' id='tag_save' value='"+d.Base.Language.Translate(1215)+"' />&nbsp;&nbsp;<input type='button' class='button' id='tag_cancel' name='cancel' value='"+d.Base.Language.Translate(39)+"' /></div></div>";
        var a=new Element("div",{id:"media_photo_tagform","class":"media_photo_tagform",html:e});
        var c=$("media_photo_div");
        a.inject(c);
        if(a.getElement("input[id=tag_cancel]")){a.getElement("input[id=tag_cancel]").addEvent("click",function(){d.cancelTag()})}if(a.getElement("input[id=tag_save]")){a.getElement("input[id=tag_save]").addEvent("click",function(){d.saveTag(0)})}if(a.getElement("a[id=tag_me]")){a.getElement("a[id=tag_me]").addEvent("click",function(){d.saveTag(d.Base.Viewer.user_info.user_id)})}var b=new Request.JSON({secure:false,url:"misc_js.php?task=friends_all",onComplete:function(f){d.addFriendToList(f.friends)}}).send()}},addFriendToList:function(a){var b=this;a.each(function(f){for(var c in f){var e=new Element("div",{id:"friend_div_"+c});var d=new Element("a",{href:"javascript:void(0)",id:"friend_link_"+c,html:f[c]}).inject(e);e.inject($("media_photo_friendlist"));$("friend_link_"+c).addEvent("click",function(){b.saveTag(c)})}})},insertTag:function(a,l,m,j,h,k,i,c){var f="";var g=this;if($("media_tags").style.display=="none"){$("media_tags").style.display="block"}else{if(g.tags.length!=0){f='<span id="tag_comma_'+a+'">, </span>'}}var d=new Element("span",{id:"full_tag_"+a,html:f});if(l!=""){var e=new Element("a",{href:l,id:"tag_link_"+a,html:m}).inject(d)}else{var e=new Element("span",{id:"tag_link_"+a,html:m,styles:{cursor:"pointer"}}).inject(d)}if(g.Base.Viewer.user_exists&&(g.Base.Viewer.user_info.user_username==c||g.Base.Viewer.user_info.user_username==g.Base.Owner.user_info.user_username)){var b=$(d).get("html");$(d).set("html",b," (<a href='javascript:void(0);' id='new_removetag_link'>"+g.Base.Language.Translate(1228)+"</a>)")}d.inject($("media_tags"));g.createTag(a,m,j,h,k,i);$("tag_link_"+a).addEvent("mouseover",function(){g.showTag(a)});$("tag_link_"+a).addEvent("mouseout",function(){g.hideTag(a)});if($("new_removetag_link")){$("new_removetag_link").addEvent("click",function(){g.removeTag(a)});$("new_removetag_link").set("id","removetag_link_"+a)}g.tags.push(a)},createTag:function(f,d,c,b,e,a){var g=this;new Element("div",{id:"tag_"+f,html:'<img src="./images/trans.gif" width="100%" height="100%" />',"class":"tag_div_hidden",styles:{width:(parseInt(e)-4)+"px",height:(parseInt(a)-4)+"px",top:c+"px",left:b+"px"}}).inject($("media_photo_div"));new Element("div",{id:"tag_label_"+f,html:d,"class":"tag_label",styles:{display:"none",top:(parseInt(c)+parseInt(a)+10)+"px",left:b+"px"}}).inject($("media_photo_div"));$("tag_"+f).addEvent("mouseover",function(){g.showTag(f)});$("tag_"+f).addEvent("mouseout",function(){g.hideTag(f)})},showTag:function(a){$("tag_"+a).className="tag_div";$("tag_label_"+a).style.display="block"},hideTag:function(a){$("tag_"+a).className="tag_div_hidden";$("tag_label_"+a).style.display="none"},addTag:function(){if(!this.isTagging){this.isTagging=true;this.newtag=new MooCrop("media_photo");var b=this;var a=$("media_photo_tagform").inject(b.newtag.wrapper);a.setStyles({top:this.newtag.crop.bottom+10,left:this.newtag.crop.right+10,display:"block"});this.newtag.addEvent("onBegin",function(f,e,d,c){a.setStyle("display","none")});this.newtag.addEvent("onCrop",function(f,e,d,c){a.setStyles({top:e.bottom+10,left:e.right+10,display:"none"})});this.newtag.addEvent("onComplete",function(f,e,d,c){a.setStyle("display","block")})}},cancelTag:function(){if(this.isTagging){$("media_photo_tag").value="";$("media_photo_tagform").inject("media_photo_div").setStyle("display","none");var a=this.newtag.removeOverlay.bind(this.newtag);a();this.isTagging=false}},saveTag:function(e){if(this.isTagging){if(this.options.object_owner&&this.options.object_owner_id){var f=this.options.object_owner;var b=this.options.object_owner_id;var c=""}else{var f="";var b="";var c=this.Base.Owner.user_info.user_username}var d="misc_js.php?task=tag_do&mediatag_user_id="+e+"&mediatag_text="+encodeURIComponent($("media_photo_tag").value)+"&mediatag_x="+this.newtag.crop.top+"&mediatag_y="+this.newtag.crop.left+"&mediatag_height="+this.newtag.crop.height+"&mediatag_width="+this.newtag.crop.width+"&user="+c+"&object_owner="+f+"&object_owner_id="+b+"&type="+this.options.type+"&media_id="+this.options.media_id+"&media_dir="+this.options.media_dir;$("ajaxframe").src=d;$("media_photo_tag").value="";$("media_photo_tagform").inject("media_photo_div").setStyle("display","none");var a=this.newtag.removeOverlay.bind(this.newtag);a();this.isTagging=false}},removeTag:function(e){if(this.options.object_owner&&this.options.object_owner_id){var d=this.options.object_owner;var a=this.options.object_owner_id;var b=""}else{var d="";var a="";var b=this.Base.Owner.user_info.user_username}var c="misc_js.php?task=tag_remove&mediatag_id="+e+"&user="+b+"&object_owner="+d+"&object_owner_id="+a+"&type="+this.options.type+"&media_id="+this.options.media_id;$("ajaxframe").src=c;$("tag_"+e).destroy();$("tag_label_"+e).destroy();$("full_tag_"+e).destroy();if(this.tags.indexOf(e)==0&&$("tag_comma_"+this.tags[1])){$("tag_comma_"+this.tags[1]).destroy()}this.tags.splice(this.tags.indexOf(e),1);if(this.tags.length==0){$("media_tags").style.display="none"}}});var MooCrop=new Class({calculateHandles:true,current:{},options:{maskColor:"black",maskOpacity:".3",handleColor:"#FFFFFF",handleWidth:"5px",handleHeight:"5px",cropBorder:"1px dashed #FFFFFF",min:{width:50,height:50},showMask:true,showHandles:false},initialize:function(b,a){this.setOptions(a);this.img=$(b);if(this.img.get("tag")!="img"){return false}this.resizeFunc=this.refresh.bindWithEvent(this);this.removeFunc=this.removeListener.bind(this);this.buildOverlay();this.setup()},setup:function(){$(this.cropArea).setStyles({width:this.options.min.width,height:this.options.min.height,top:(this.img.height-this.options.min.height)/2,left:(this.img.width-this.options.min.width)/2});this.current.crop=this.crop=this.getCropArea();this.handleWidthOffset=this.options.handleWidth.toInt()/2;this.handleHeightOffset=this.options.handleHeight.toInt()/2;this.fixBoxModel();this.drawMasks();this.positionHandles()},getCropArea:function(){var a=this.cropArea.getCoordinates();a.left-=this.offsets.x;a.right-=this.offsets.x;a.top-=this.offsets.y;a.bottom-=this.offsets.y;return a},fixBoxModel:function(){var c=this.boxDiff=(this.crop.width-this.options.min.width)/2;var a=this.bounds={top:c,left:c,right:this.img.width+(c*2),bottom:this.img.height+(c*2),width:this.options.min.width+(c*2),height:this.options.min.height+(c*2)};this.wrapper.setStyles({width:a.right,height:a.bottom,background:"url("+this.img.src+") no-repeat "+c+"px "+c+"px"});this.north.setStyle("width",a.right);this.south.setStyle("width",a.right)},activate:function(a,b){a.stop();this.current={x:a.page.x,y:a.page.y,handle:b,crop:this.current.crop};if(this.current.handle=="NESW"&&!this.options.showHandles){this.hideHandles()}this.fireEvent("onBegin",[this.img.src,this.getCropInfo(),this.bounds,b]);document.addEvent("mousemove",this.resizeFunc);document.addEvent("mouseup",this.removeFunc)},removeListener:function(){if(this.current.handle=="NESW"&&!this.options.showHandles){this.showHandles()}document.removeEvent("mousemove",this.resizeFunc);document.removeEvent("mouseup",this.removeFunc);this.crop=this.current.crop;this.fireEvent("onComplete",[this.img.src,this.getCropInfo(),this.bounds,this.current.handle])},refresh:function(a){var e=this.current.x-a.page.x;var d=this.current.y-a.page.y;var i=this.bounds;var h=this.crop;var f=this.current.handle;var k={};var j=(f.length>2)?true:false;if(f.contains("S")){if(h.bottom-d>i.bottom){d=h.bottom-i.bottom}if(!j){if((h.height-d)<i.height){d=h.height-i.height}k.height=h.height-d}}if(f.contains("N")){if(h.top-d<i.top){d=h.top}if(!j){if((h.height+d)<i.height){d=i.height-h.height}k.height=h.height+d}k.top=h.top-d}if(f.contains("E")){if(h.right-e>i.right){e=h.right-i.right}if(!j){if((h.width-e)<i.width){e=h.width-i.width}k.width=h.width-e}}if(f.contains("W")){if(h.left-e<i.left){e=h.left}if(!j){if((h.width+e)<i.width){e=i.width-h.width}k.width=h.width+e}k.left=h.left-e}var g=$merge(k);if($defined(k.width)){k.width-=this.boxDiff*2}if($defined(k.height)){k.height-=this.boxDiff*2}this.cropArea.setStyles(k);this.getCurrentCoords(g);this.drawMasks();this.positionHandles();this.fireEvent("onCrop",[this.img.src,this.getCropInfo(),i,f])},getCurrentCoords:function(b){var a=$merge(this.crop);if($defined(b.left)){a.left=b.left;if($defined(b.width)){a.width=b.width}else{a.right=a.left+a.width}}if($defined(b.top)){a.top=b.top;if($defined(b.height)){a.height=b.height}else{a.bottom=a.top+a.height}}if($defined(b.width)&&!$defined(b.left)){a.width=b.width;a.right=a.left+a.width}if($defined(b.height)&&!$defined(b.top)){a.height=b.height;a.bottom=a.top+a.height}this.current.crop=a},drawMasks:function(){if(!this.options.showMask){return}var a=this.bounds;var e=this.current.crop;var d=this.current.handle;this.north.setStyle("height",e.top+"px");this.south.setStyle("height",a.bottom-e.bottom+"px");this.east.setStyles({height:e.height+"px",width:a.right-e.right+"px",top:e.top+"px",left:e.right+"px"});this.west.setStyles({height:e.height+"px",width:e.left+"px",top:e.top+"px"})},positionHandles:function(){if(!this.calculateHandles){return}var d=this.current.crop;var a=this.handleWidthOffset;var b=this.handleHeightOffset;this.handles.get("N").setStyles({left:d.width/2-a+"px",top:-b+"px"});this.handles.get("NE").setStyles({left:d.width-a+"px",top:-b+"px"});this.handles.get("E").setStyles({left:d.width-a+"px",top:d.height/2-b+"px"});this.handles.get("SE").setStyles({left:d.width-a+"px",top:d.height-b+"px"});this.handles.get("S").setStyles({left:d.width/2-a+"px",top:d.height-b+"px"});this.handles.get("SW").setStyles({left:-a+"px",top:d.height-b+"px"});this.handles.get("W").setStyles({left:-a+"px",top:d.height/2-b+"px"});this.handles.get("NW").setStyles({left:-a+"px",top:-b+"px"})},hideHandles:function(){this.calculateHandles=false;this.handles.each(function(a){a.setStyle("display","none")})},showHandles:function(){this.calculateHandles=true;this.positionHandles();this.handles.each(function(a){a.setStyle("display","block")})},buildOverlay:function(){var b=this.options;this.wrapper=new Element("div",{styles:{"z-index":100,position:"relative",width:this.img.width,height:this.img.height,background:"url("+this.img.src+") no-repeat","float":this.img.getStyle("float"),"margin-left":"auto","margin-right":"auto"}}).injectBefore(this.img);this.img.setStyle("display","none");this.offsets={x:this.wrapper.getLeft(),y:this.wrapper.getTop()};this.wrapper.addEvent("mouseover",function(c){return false});if(this.options.showMask){var a={position:"absolute",overflow:"hidden","background-color":b.maskColor,opacity:b.maskOpacity};this.north=new Element("div",{styles:$merge(a,{left:"0px"})}).injectInside(this.wrapper);this.south=new Element("div",{styles:$merge(a,{bottom:"0px",left:"0px"})}).injectInside(this.wrapper);this.east=new Element("div",{styles:a}).injectInside(this.wrapper);this.west=new Element("div",{styles:$merge(a,{left:"0px"})}).injectInside(this.wrapper)}this.cropArea=new Element("div",{styles:{position:"absolute",top:"0px",left:"0px",border:b.cropBorder,cursor:"move"},events:{dblclick:function(){this.fireEvent("onDblClk",[this.img.src,this.getCropInfo(),this.bounds])}.bind(this),mousedown:this.activate.bindWithEvent(this,"NESW")}}).injectInside(this.wrapper);this.handles=new Hash();["N","NE","E","SE","S","SW","W","NW"].each(function(c){this.handles.set(c,new Element("div",{styles:{position:"absolute","background-color":b.handleColor,width:b.handleWidth,height:b.handleHeight,overflow:"hidden",cursor:(c.toLowerCase()+"-resize")},events:{mousedown:this.activate.bindWithEvent(this,c)}}).injectInside(this.cropArea))},this)},getCropInfo:function(){var a=$merge(this.current.crop);a.width-=this.boxDiff*2;a.height-=this.boxDiff*2;return a},removeOverlay:function(){this.wrapper.destroy();this.img.setStyle("display","")}});MooCrop.implement(new Events,new Options);SocialEngineAPI.URL=new Class({Base:{},url_base:null,url_info:{},initialize:function(){},url_create:function(c,a,e,d,b){var f=(SocialEngine.Core.settings.setting_url?this.url_info[c].url_subdirectory:this.url_info[c].url_regular);if(!f){return false}f=f.replace("$user",a);f=f.replace("$id1",e);f=f.replace("$id2",d);f=f.replace("$id3",b);return this.url_base+f},url_userdir:function(a){return"uploads_user/"+(a+999-((a-1)%1000)).toString()+"/"+a+"/"},ImportURLBase:function(a){this.url_base=a},ImportURLInfo:function(a){this.url_info=a}});SocialEngineAPI.User=new Class({Base:{},user_exists:false,user_displayname:false,user_displayname_short:false,user_info:{},profile_info:{},level_info:{},usersetting_info:{},options:{displayname_order:"standard"},initialize:function(){},userPhotoFullPath:function(){if(!this.Base.URL){return false}if(!this.user_info.user_photo){return this.Base.URL.url_base+"images/nophoto.gif"}return this.Base.URL.url_base+this.Base.URL.url_userdir(this.user_info.user_id)+this.user_info.user_photo},ImportUserInfo:function(a){if(!a||$type(a)!="object"||!a.user_exists){this.user_exists=false;return}this.user_exists=true;a.user_id=parseInt(a.user_id);delete a.user_exists;this.user_info=a;this.user_info.user_fname=this.user_info.user_fname.trim();this.user_info.user_lname=this.user_info.user_lname.trim();if(this.user_info.user_fname&&this.user_info.user_lname){if(this.options.displayname_order=="asian"){this.user_displayname_short=this.user_info.user_lname;this.user_displayname=this.user_info.user_lname+" "+this.user_info.user_fname}else{this.user_displayname_short=this.user_info.user_fname;this.user_displayname=this.user_info.user_fname+" "+this.user_info.user_lname}}else{if(this.user_info.user_fname){this.user_displayname=this.user_displayname_short=this.user_info.user_fname}else{if(this.user_info.user_lname){this.user_displayname=this.user_displayname_short=this.user_info.user_lname}else{if(this.user_info.user_username){this.user_displayname=this.user_displayname_short=this.user_info.user_username}}}}}});theObjects=document.getElementsByTagName("object");for(var i=0;i<theObjects.length;i++){theObjects[i].outerHTML=theObjects[i].outerHTML};Function.prototype.bind=function(b){var c=this,a=function(){return c.apply(b,arguments)};return(a)};SEMods=function(){};SEMods.TextAreaControl=function(a){this.obj=a;this.obj.style.overflow="hidden";this.originalHeight=this.obj.getStyle("height").toInt();var b=this.update.bind(this);a.addEvent("focus",this.onFocus.bind(this));a.addEvent("blur",this.onBlur.bind(this));this.update()};SEMods.TextAreaControl.prototype={obj:null,updating:false,autoGrow:false,originalHeight:null,shadowElement:null,increment:0,timer:null,lastLength:0,setAutoGrow:function(a){this.autoGrow=a;this.createShadowElement();this.update()},onUpdate:function(){if(this.autoGrow&&this.lastLength!=this.obj.value.length){this.lastLength=this.obj.value.length;this.updateShadowElement();this.obj.style.height=Math.max(this.originalHeight,this.shadowElement.offsetHeight+this.increment)+"px"}},beginUpdate:function(){if(this.updating){return false}this.updating=true;return true},endUpdate:function(){this.updating=false},update:function(){if(!this.beginUpdate()){return}this.onUpdate();this.endUpdate()},createShadowElement:function(){if(this.shadowElement){return}this.shadowElement=document.createElement("DIV");this.shadowElement.style.position="absolute";this.shadowElement.style.top="-99999px";this.shadowElement.style.left="-99999px";document.body.appendChild(this.shadowElement)},updateShadowElement:function(){if(this.shadowElement){text=this.obj.value+"<br>";this.shadowElement.innerHTML=text.toString().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"<br />");var b=this.getPXMetrics(this.obj.getStyle("font-size"),10);var a=this.obj.getStyle("line-height");if((/Opera/i.test(navigator.userAgent))){a=this.getPXMetrics(a,0)+3+"px"}this.increment=b+10;this.shadowElement.style.width=this.obj.offsetWidth+"px";this.shadowElement.style.lineHeight=a;this.shadowElement.style.fontSize=this.obj.getStyle("font-size");this.shadowElement.style.fontFamily=this.obj.getStyle("font-family");this.shadowElement.style.paddingLeft=this.obj.getStyle("padding-left");this.shadowElement.style.paddingRight=this.obj.getStyle("padding-right")}},onFocus:function(){this.timer=setInterval(this.update.bind(this),500)},onBlur:function(){if(this.timer){clearInterval(this.timer);this.timer=null}},getPXMetrics:function(c,b){var a=parseFloat(c);if(isNaN(a)){return b!=null?b:a}return/px/i.test(c)?a:/pt/i.test(c)?1.3333*a:a}};

        function textarea_autogrow(a){
        var b=$(a);if(b&&!b._controlled){b._controlled=true;new SEMods.TextAreaControl(b).setAutoGrow(true);return b.getStyle("height").toInt()}};if(typeof(bsn)=="undefined"){_b=bsn={}}

        if(typeof(_b.Autosuggest)=="undefined"){_b.Autosuggest={}}
        else{alert("Autosuggest is already set!")}

        _b.AutoSuggest=function(e,d){
          if(!document.getElementById){return 0}this.fld=_b.DOM.gE(e);if(!this.fld){return 0}

// Jean 19/09/2009
        if (this.fld.name.test(/(^to_|_search$)/))
         {
/*
  SocialEngine.Language = new SocialEngineAPI.Language();
  SocialEngine.RegisterModule(SocialEngine.Language);
  SELanguage = SocialEngine.Language;
  this.defaultText = SELanguage.Translate(300085); // 'Commencer à saisir un nom...'; // SocialEngineAPI.Language.Translate(300085); // Commencer à saisir un nom...
*/
          this.defaultText = 'Commencer à saisir un nom...';
          this.fld.defaultText = this.defaultText;
          this.fld.initMsg = function ()
           {
            if (this.value == '')
             {
              this.value = this.defaultText;
              this.style.fontSize = '11px';
              this.style.color = '#999999';
              this.style.fontStyle = 'italic';
             }
           }
          this.fld.siSaisie = function ()
           {
            this.style.fontSize = '12px';
            this.style.color = '';
            this.style.fontStyle = '';
           }
          if (!isIE)
           {
            this.fld.addEvent("keydown", function () { this.siSaisie(); });
            this.fld.addEvent("focus", function () { if (this.value == this.defaultText) this.value = ''; });
            this.fld.addEvent("blur", function () { this.initMsg(); });
           }
          else
           {
            this.fld.onkeydown = function () { this.siSaisie(); };
            this.fld.onfocus = function () { if (this.value == this.defaultText) this.value = ''; };
            this.fld.onblur = function () { this.initMsg(); };
           }
          this.fld.initMsg();
         }

        this.sInp="";this.nInpC=0;this.aSug=[];this.iHigh=0;this.oP=d?d:{};var a,b={minchars:1,meth:"get",varname:"input",className:"autosuggest",timeout:2500,delay:0,offsety:-5,shownoresults:true,noresults:"No results!",maxheight:250,cache:true,maxentries:25,blurtrigger:false,multisuggest:true, showOnTop: false};for(a in b){if(typeof(this.oP[a])!=typeof(b[a])){this.oP[a]=b[a]}}var c=this;this.fld.onkeypress=function(f){return c.onKeyPress(f)};this.fld.onkeyup=function(f){return c.onKeyUp(f)};if(typeof(this.oP.callback)=="function"&&this.oP.blurtrigger){

        this.fld.onblur=function(g){
        if(document.activeElement&&typeof(g)==="undefined")
         {var f=document.activeElement}
        else
         {
          var f=g.explicitOriginalTarget;

          while(f && f.parentNode)
           {
            if(f.tagName=="A"&&typeof(f.id)=="string")
             {
              if(f.id.substring(0,10)=="bsnsuggest")
               {break;}
             }
             if (f.parentNode) f=f.parentNode;
           }

          if(typeof(f.id)!="string"){f.id=""}
         }
        if(f.id.substring(0,10)!="bsnsuggest")
         {
          c.oP.callback({id:c.fld.value,value:c.fld.value});c.clearSuggestions()
         }
        }
        }this.fld.setAttribute("autocomplete","off")};_b.AutoSuggest.prototype.onKeyPress=function(f){var e=(window.event)?window.event.keyCode:f.keyCode;var d=13;var c=9;var g=27;var b=186;var a=1;

        switch(e){case d:
        if (self.majLoading) majLoading(this.fld,'none');
        if(this.aSug.length!=0&&this.iHigh){this.setHighlightedValue();a=false}else{if(this.fld.value.length>0){if(typeof(this.oP.callback)=="function"){this.clearSuggestions();
        if (self.majLoading) majLoading(this.fld,'none');
        this.oP.callback({id:this.fld.value,value:this.fld.value})}a=false}else{a=false}}break;case g:this.clearSuggestions();
        if (self.majLoading) majLoading(this.fld,'none');
        break}return a};_b.AutoSuggest.prototype.onKeyUp=function(f){var d=(window.event)?window.event.keyCode:f.keyCode;var c=38;var e=40;var a=1;switch(d){case c:this.changeHighlight(d);a=0;
        if (self.majLoading) majLoading(this.fld,'none');
        break;case e:this.changeHighlight(d);a=0;
        if (self.majLoading) majLoading(this.fld,'none');
        break;default:var b=this.fld.value.split(/[;]+/ig); if (d != 13 && d != 9 && d != 27 && d != 38 && d != 40) {
        if (self.majLoading) majLoading(this.fld,'inline');
        if (self.majLoading) majLoading(this.fld, b != '' ? 'inline' : 'none');
        }this.getSuggestions(b[b.length-1])}return a};_b.AutoSuggest.prototype.getSuggestions=function(g){if(g==this.sInp){return 0}_b.DOM.remE(this.idAs);this.sInp=g;if(g.length<this.oP.minchars){this.aSug=[];this.nInpC=g.length;return 0}var d=this.nInpC;this.nInpC=g.length?g.length:0;var b=this.aSug.length;if(this.nInpC>d&&b&&b<this.oP.maxentries&&this.oP.cache){var a=[];for(var e=0;e<b;e++){if(this.aSug[e].value.substr(0,g.length).toLowerCase()==g.toLowerCase()||this.aSug[e].info.substr(0,g.length).toLowerCase()==g.toLowerCase()){a.push(this.aSug[e])}}this.aSug=a;if(this.aSug.length<b){var f=this;var c=this.sInp;clearTimeout(this.ajID);this.ajID=setTimeout(function(){f.doAjaxRequest(c)},this.oP.delay)}else{this.createList(this.aSug)}return false}else{var f=this;var c=this.sInp;clearTimeout(this.ajID);this.ajID=setTimeout(function(){f.doAjaxRequest(c)},this.oP.delay)}return false};_b.AutoSuggest.prototype.doAjaxRequest=function(c){var e=this.fld.value.split(/[;]+/ig);if(c!=e[e.length-1]){return false}var h=this;if(typeof(this.oP.script)=="function"){var d=this.oP.script(encodeURIComponent(this.sInp))}else{var d=this.oP.script+this.oP.varname+"="+encodeURIComponent(this.sInp)}if(!d){return false}var b=this.oP.meth;var c=this.sInp;var a=function(i){h.setSuggestions(i,c)};var f=function(i){};var g=new _b.Ajax();g.makeRequest(d,b,a,f)};_b.AutoSuggest.prototype.setSuggestions=function(req,input){var new_value=this.fld.value.split(/[;]+/ig);if(input!=new_value[new_value.length-1]){return false}this.aSug=[];if(this.oP.json){var jsondata=eval("("+req.responseText+")");

        for(var i=0;i<jsondata.results.length;i++)
         {
          //alert();
          this.aSug.push({
            id:jsondata.results[i].id,
            value:jsondata.results[i].value,
            info:jsondata.results[i].info,
            photo:jsondata.results[i].photo,
            photo_width:jsondata.results[i].photo_width,
            // Jean 22/08/2009
            username:jsondata.results[i].username,
            tel:jsondata.results[i].tel
         }
        )}}else{var xml=req.responseXML;var results=xml.getElementsByTagName("results")[0].childNodes;for(var i=0;i<results.length;i++){if(results[i].hasChildNodes()){this.aSug.push({id:results[i].getAttribute("id"),value:results[i].childNodes[0].nodeValue,info:results[i].getAttribute("info")})}}}this.idAs="as_"+this.fld.id;this.createList(this.aSug)};
        _b.AutoSuggest.prototype.createList=function(b){
            if (self.majLoading) majLoading(this.fld,'none');
            var r=this;_b.DOM.remE(this.idAs);this.killTimeout();if(b.length==0&&!this.oP.shownoresults){return false}var m=_b.DOM.cE("div",{id:this.idAs,className:this.oP.className});var e=_b.DOM.cE("div",{className:"as_corner"});var h=_b.DOM.cE("div",{className:"as_bar"});var t=_b.DOM.cE("div",{className:"as_header"});t.appendChild(e);t.appendChild(h);m.appendChild(t);var l=_b.DOM.cE("ul",{id:"as_ul"});
        for(var u=0;u<b.length;u++){var z=b[u].value;var x=b[u].info;
        var q=z.toLowerCase().indexOf(this.sInp.toLowerCase());var c=x.toLowerCase().indexOf(this.sInp.toLowerCase());
        if(q!=-1){var j=z.substring(0,q)+"<em>"+z.substring(q,q+this.sInp.length)+"</em>"+z.substring(q+this.sInp.length);
        var p=x}else{var j=z;
        var p=x.substring(0,c)+"<em>"+x.substring(q,c+this.sInp.length)+"</em>"+x.substring(c+this.sInp.length)}
        if(z!=x){j=p+" ("+j+")"}var s=_b.DOM.cE("span",{},j,true);

        // Jean 08/09/2009 : si on veut retirer la photo, il faut commenter la zone suivante
        var n=_b.DOM.cE("img",{src:b[u].photo,width:b[u].photo_width,border:"0"});
        n.removeAttribute("height");
        s.insertBefore(n,s.childNodes[0]);

        var w=_b.DOM.cE("a",{href:"javascript:void(0);"});
        var f=_b.DOM.cE("span",{className:"tl"}," ");
        var d=_b.DOM.cE("span",{className:"tr"}," ");
        w.appendChild(f);
        w.appendChild(d);
        w.appendChild(s);
        w.name=u+1;
        w.id="bsnsuggest_"+(u+1);
        w.onclick=function(){r.setHighlightedValue();return false};
        w.onmouseover=function(){r.setHighlight(this.name)};
        var k=_b.DOM.cE("li",{},w);
        l.appendChild(k)
       }

  if(b.length==0&&this.oP.shownoresults){
    var k=_b.DOM.cE("li",{className:"as_warning"},this.oP.noresults);
    l.appendChild(k)
  }
  m.appendChild(l);

  var v=_b.DOM.cE("div",{className:"as_corner"});
  var y=_b.DOM.cE("div",{className:"as_bar"});var o=_b.DOM.cE("div",{className:"as_footer"});o.appendChild(v);o.appendChild(y);m.appendChild(o);
  var g=_b.DOM.getPos(this.fld);
  m.style.left=g.x+"px";
  // Jean 21/08/2009
  m.style.top = (g.y+this.fld.offsetHeight+this.oP.offsety)+"px";
  m.style.width=this.fld.offsetWidth+"px";m.onmouseover=function(){r.killTimeout()};m.onmouseout=function(){r.resetTimeout()};document.getElementsByTagName("body")[0].appendChild(m);this.iHigh=0;var r=this;this.toID=setTimeout(function(){r.clearSuggestions()},this.oP.timeout)};_b.AutoSuggest.prototype.changeHighlight=function(a){var b=_b.DOM.gE("as_ul");if(!b){return false}var c;if(a==40){c=this.iHigh+1}else{if(a==38){c=this.iHigh-1}}if(c>b.childNodes.length){c=b.childNodes.length}if(c<1){c=1}this.setHighlight(c)};_b.AutoSuggest.prototype.setHighlight=function(b){var a=_b.DOM.gE("as_ul");if(!a){return false}if(this.iHigh>0){this.clearHighlight()}this.iHigh=Number(b);a.childNodes[this.iHigh-1].className="as_highlight";this.killTimeout()};_b.AutoSuggest.prototype.clearHighlight=function(){var a=_b.DOM.gE("as_ul");if(!a){return false}if(this.iHigh>0){a.childNodes[this.iHigh-1].className="";this.iHigh=0}};_b.AutoSuggest.prototype.setHighlightedValue=function(){if(this.iHigh){var a=this.fld.value.split(/[;]+/ig);a.pop();a.push(this.aSug[this.iHigh-1].value);if(this.oP.multisuggest){var b=";"}else{var b=""}this.sInp=this.fld.value=a.join(";")+b;this.fld.focus();if(this.fld.selectionStart){this.fld.setSelectionRange(this.sInp.length,this.sInp.length)}if(typeof(this.oP.callback)=="function"){this.oP.callback(this.aSug[this.iHigh-1])}this.clearSuggestions()}};_b.AutoSuggest.prototype.killTimeout=function(){clearTimeout(this.toID)};_b.AutoSuggest.prototype.resetTimeout=function(){clearTimeout(this.toID);var a=this;this.toID=setTimeout(function(){a.clearSuggestions()},1000)};_b.AutoSuggest.prototype.clearSuggestions=function(){this.killTimeout();this.aSug=[];var a=_b.DOM.gE(this.idAs);var c=this;if(a){var b=new _b.Fader(a,1,0,250,function(){_b.DOM.remE(c.idAs)})}};if(typeof(_b.Ajax)=="undefined"){_b.Ajax={}}_b.Ajax=function(){this.req={};this.isIE=false};_b.Ajax.prototype.makeRequest=function(c,b,a,d){if(b!="POST"){b="GET"}this.onComplete=a;this.onError=d;var e=this;if(window.XMLHttpRequest){this.req=new XMLHttpRequest();this.req.onreadystatechange=function(){e.processReqChange()};this.req.open("GET",c,true);this.req.send(null)}else{if(window.ActiveXObject){this.req=new ActiveXObject("Microsoft.XMLHTTP");if(this.req){this.req.onreadystatechange=function(){e.processReqChange()};this.req.open(b,c,true);this.req.send()}}}};_b.Ajax.prototype.processReqChange=function(){if(this.req.readyState==4){if(this.req.status==200){this.onComplete(this.req)}else{this.onError(this.req.status)}}};if(typeof(_b.DOM)=="undefined"){_b.DOM={}}_b.DOM.cE=function(g,c,b,f){var h=document.createElement(g);if(!h){return 0}for(var d in c){h[d]=c[d]}var e=typeof(b);if(e=="string"&&!f){h.appendChild(document.createTextNode(b))}else{if(e=="string"&&f){h.innerHTML=b}else{if(e=="object"){h.appendChild(b)}}}return h};_b.DOM.gE=function(c){var a=typeof(c);if(a=="undefined"){return 0}else{if(a=="string"){var b=document.getElementById(c);if(!b){return 0}else{if(typeof(b.appendChild)!="undefined"){return b}else{return 0}}}else{if(typeof(c.appendChild)!="undefined"){return c}else{return 0}}}};
  _b.DOM.remE=function(a){var b=this.gE(a);if(!b){return 0}else{if(b.parentNode.removeChild(b)){return true}else{return 0}}};_b.DOM.getPos=function(c){var c=this.gE(c);var b=c;var d=0;if(b.offsetParent){while(b.offsetParent){d+=b.offsetLeft;b=b.offsetParent}}else{if(b.x){d+=b.x}}var b=c;var a=0;if(b.offsetParent){while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}}else{if(b.y){a+=b.y}}return{x:d,y:a}};if(typeof(_b.Fader)=="undefined"){_b.Fader={}}_b.Fader=function(b,f,e,a,d){if(!b){return 0}this.e=b;this.from=f;this.to=e;this.cb=d;this.nDur=a;this.nInt=50;this.nTime=0;var c=this;this.nID=setInterval(function(){c._fade()},this.nInt)};_b.Fader.prototype._fade=function(){this.nTime+=this.nInt;var a=Math.round(this._tween(this.nTime,this.from,this.to,this.nDur)*100);var c=a/100;if(this.e.filters){try{this.e.filters.item("DXImageTransform.Microsoft.Alpha").opacity=a}catch(b){this.e.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+a+")"}}else{this.e.style.opacity=c}if(this.nTime==this.nDur){clearInterval(this.nID);if(this.cb!=undefined){this.cb()}}};_b.Fader.prototype._tween=function(e,a,g,f){return a+((g-a)*(e/f))};TB_WIDTH=0;TB_HEIGHT=0;var TB_doneOnce=0;var TB_ready=false;var TB_useReady=true;function TB_init(){TB_ready=true;$$("a.smoothbox").each(function(a){a.onclick=TB_bind})}window.addEvent("domready",TB_init);function TB_bind(b){if(TB_useReady&&!TB_ready){return}var b=new Event(b);b.preventDefault();this.blur();var a=this.title||this.name||"";var c=this.rel||false;TB_show(a,this.href,c);this.onclick=TB_bind;return false}function TB_show(j,b,k,e,h){if(TB_useReady&&!TB_ready){return}if(!h){h=0}if(!$("TB_overlay")){(new Element("div").setProperty("id","TB_overlay")).inject($("smoothbox_container")||document.body);$("TB_overlay").setOpacity(0.6);TB_overlaySize()}if(!$("TB_window")){(new Element("div").setProperty("id","TB_window")).inject($("smoothbox_container")||document.body);$("TB_window").setOpacity(0)}else{$("TB_window").destroy();(new Element("div").setProperty("id","TB_window")).inject($("smoothbox_container")||document.body);$("TB_window").setOpacity(0)}if(h==0){$("TB_overlay").onclick=TB_remove}else{$("TB_overlay").onclick=""; /* Jean 31/07/2009 : il faudrait aussi désactiver la touche echap (à faire plus tard) */}window.onscroll=TB_position;var c=b.match(/(.+)?/)[1]||b;var a=b.match(/\?(.+)/)[1];var f=TB_parseQuery(a);TB_WIDTH=(f.width*1)+30;TB_HEIGHT=(f.height*1)+40;var d=TB_WIDTH-30,i=TB_HEIGHT-45;
  
  if(b.indexOf("TB_iframe")!=-1){urlNoQuery=b.split("TB_");$("TB_window").innerHTML+="<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+j+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>X</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"&in_smoothbox=true' id='TB_iframeContent' name='TB_iframeContent' scrolling='auto' style='width:"+(d+29)+"px;height:"+(i+17)+"px;' onload='TB_showWindow()'> </iframe>"}
  else{$("TB_window").innerHTML+="<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+j+"</div><div id='TB_closeAjaxWindow'><a href='javascript:;' id='TB_closeWindowButton'>X</a></div></div><div id='TB_ajaxContent' style='width:"+d+"px;height:"+i+"px;'></div>"}$("TB_closeWindowButton").onclick=TB_remove;
  if(b.indexOf("TB_inline")!=-1){$("TB_ajaxContent").innerHTML=($(f.inlineId).innerHTML);TB_position();TB_showWindow()}else{if(b.indexOf("TB_iframe")!=-1){TB_position();if(frames.TB_iframeContent==undefined){$(document).keyup(function(m){var l=m.keyCode;if(l==27){TB_remove()}});TB_showWindow()}}else{var g=function(){TB_position();TB_showWindow()};new Request.HTML({method:"get",update:$("TB_ajaxContent"),onComplete:g}).get(b)}}window.onresize=function(){TB_position();TB_overlaySize()};document.onkeyup=function(l){var l=new Event(l);if(l.code==27){TB_remove()}}}function TB_showWindow(){if(TB_useReady&&!TB_ready){return}if(TB_doneOnce==0){TB_doneOnce=1;$("TB_window").set("tween",{duration:250});$("TB_window").tween("opacity",0,1)}else{$("TB_window").setStyle("opacity",1)}}

function TB_remove(){if(TB_useReady&&!TB_ready){return}$("TB_overlay").onclick=null;document.onkeyup=null;document.onkeydown=null;if($("TB_closeWindowButton")){$("TB_closeWindowButton").onclick=null}$("TB_window").set("tween",{duration:250,onComplete:function(){$("TB_window").destroy()}});$("TB_window").tween("opacity",1,0);$("TB_overlay").set("tween",{duration:400,onComplete:function(){$("TB_overlay").destroy()}});$("TB_overlay").tween("opacity",0.6,0);window.onscroll=null;window.onresize=null; /* Jean 31/07/2009 */ if (window.onClosePopUp) onClosePopUp(); TB_init();TB_doneOnce=0;return false}
function TB_position(){if(TB_useReady&&!TB_ready){return}$("TB_window").set("morph",{duration:75}); var contenant = parent.document.getElementById('event_discussions'); $("TB_window").morph({width:TB_WIDTH+"px",left:(window.getScrollLeft()+(window.getWidth()-TB_WIDTH)/2)+"px",top:( (parent != window && parent.document.getElementById('profile_content') ? parent.document.getElementById('profile_content').scrollTop : window.getScrollTop()) + ( (parent != window && contenant ? contenant.clientHeight : window.getHeight())-TB_HEIGHT)/2)+"px"})}
function TB_overlaySize(){if(TB_useReady&&!TB_ready){return}$("TB_overlay").setStyles({height:"0px",width:"0px"});$("TB_overlay").setStyles({height:window.getScrollHeight()+"px",width:window.getScrollWidth()+"px"})}
function TB_parseQuery(c){if(TB_useReady&&!TB_ready){return}if(!c){return{}}var e={};var b=c.split(/[;&]/);for(var a=0;a<b.length;a++){var d=b[a].split("=");if(!d||d.length!=2){continue}e[unescape(d[0])]=unescape(d[1]).replace(/\+/g," ")}return e};
function str_repeat(b,a){for(var c=[];a>0;c[--a]=b){}return(c.join(""))}
function sprintf(){var g=0,e,h=arguments[g++],k=[],d,j,l,b;while(h){if(d=/^[^\x25]+/.exec(h)){k.push(d[0])}else{if(d=/^\x25{2}/.exec(h)){k.push("%")}else{if(d=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(h)){if(((e=arguments[d[1]||g++])==null)||(e==undefined)){throw ("Too few arguments.")}if(/[^s]/.test(d[7])&&(typeof(e)!="number")){throw ("Expecting number but found "+typeof(e))}switch(d[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=d[6]?e.toExponential(d[6]):e.toExponential();break;case"f":e=d[6]?parseFloat(e).toFixed(d[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=((e=String(e))&&d[6]?e.substring(0,d[6]):e);break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase();break}e=(/[def]/.test(d[7])&&d[2]&&e>0?"+"+e:e);l=d[3]?d[3]=="0"?"0":d[3].charAt(1):" ";b=d[5]-String(e).length;j=d[5]?str_repeat(l,b):"";k.push(d[4]?e+j:j+e)}else{throw ("Huh ?!")}}}h=h.substring(d[0].length)}return k.join("")};

function retireAccents (exp)
 {
  exp = exp.replace(/[àâä]/g, "a");
  exp = exp.replace(/[éèêë]/g,"e");
  exp = exp.replace(/[iîï]/g, "i");
  exp = exp.replace(/[oôö]/g, "o");
  exp = exp.replace(/[ûùü]/g, "u");
  return exp;
 }

function profile_url_create (username, name)
 {
  return SocialEngine.URL.url_base + username +'---'+ retireAccents(name).replace(/[^a-z]/gi, '-');
 }



  // Transforme une durée (en secondes) en un text du format : hh:mm:ss
  function secondesToMinutes(nbsec)
   {
    // Vérification que le nombre de secondes est bien un nombre
    if (isNaN(nbsec)) return '?';

    var nbsec = Math.floor(nbsec);
    var duree = '';
    var negatif = nbsec < 0;
    if (negatif) nbsec *= -1;
    var espace = ':';

    // On calcule les parties heures, minutes, secondes de l'heure
    var nbHeur, min, minBrut;
    nbHeur = Math.floor(nbsec / 3600);  // partie entière de l'heure
    min = Math.floor(nbsec / 60) - nbHeur * 60;
    minBrut = Math.floor(nbsec / 60) - nbHeur * 60;  // partie entière des minutes
    if (minBrut < 10) min = '0'+ min;

    if (nbHeur < 10) nbHeur = '0'+ nbHeur;
    duree = nbHeur

    var affichMin;

    affichMin = min;

    duree += (duree != '' ? espace : '')+ affichMin;

    var affichSec = nbsec % 60;
    if (affichSec < 10) affichSec = '0'+ affichSec;
    // On affiche les secondes sur deux chiffres
    duree += (duree != '' ? espace : '')+ affichSec;

    if (negatif) duree = "- "+ duree;

    return duree;
   }

  // Jean 28/01/2010
  function fillTimeStampFromFlashPlayer (inputID, forceMAJ, pasFocus)
   {
    if ($(inputID).value == '' || forceMAJ)
     {
      iframeFlashVisu = isIE ? document.frames['apercu_video'] : ($('apercu_video') ? $('apercu_video').contentWindow : null);
      if (!iframeFlashVisu || !iframeFlashVisu.WCS_videoTimeStamp)
       $(inputID).value = '00:00:00';
      else
       $(inputID).value = secondesToMinutes(parseInt(iframeFlashVisu.WCS_videoTimeStamp, 10));
     }
    if (!pasFocus)
     setTimeout('$(\''+ inputID +'\').nextSibling.nextSibling.select();', 0);
   }

  // Jean 28/01/2010
  function seekIframeFlashVideo (inputID)
   {
    if ($(inputID).value != '')
     {
      iframeFlashVisu = isIE ? document.frames['apercu_video'] : ($('apercu_video') ? $('apercu_video').contentWindow : null);
      if (iframeFlashVisu && iframeFlashVisu.thisMovie)
       {
        if ( iframeFlashVisu.thisMovie("playerWCS") )
          iframeFlashVisu.thisMovie("playerWCS").seekFlashVideo($(inputID).value);
        else
          iframeFlashVisu.thisMovie("player").seekFlashVideo($(inputID).value);
       }
     }
   }


// Jean 26/03/2010
function go_login ()
 {
  var url_login = "/";
  if (SocialEngine.Profile && SocialEngine.Profile.options.subdir && SocialEngine.Profile.options.subdir != "")
    url_login += SocialEngine.Profile.options.subdir;
  url_login += "login.php?return_url="+ escape(document.location.href);
  document.location.replace(url_login);
 }

// Jean 18/04/2010
function getDateStr(timestamp)
  {
   var myDate = new Date();
   myDate.setTime(timestamp);
   return (myDate.getDate() < 10 ? '0'+ myDate.getDate() : myDate.getDate())
          +'/'
          + ((myDate.getMonth()+1) < 10 ? '0'+ (myDate.getMonth()+1) : (myDate.getMonth()+1))
          +'/'
          + (myDate.getFullYear() < 10 ? '0'+ myDate.getFullYear() : myDate.getFullYear());
  }

// Jean 04/07/2010
function getHourStr(timestamp)
  {
   var myDate = new Date();
   myDate.setTime(timestamp);
   return ((myDate.getHours() < 10 ? '0'+ myDate.getHours() : myDate.getHours())
          +':'
          + (myDate.getMinutes() < 10 ? '0'+ myDate.getMinutes() : myDate.getMinutes()));
  }

/* Jean 03/03/2010 : améliorations de la barre de menus */
//---------------------------------------------------------------------------
// --- Dit si zone html est en intersection avec le curseur de la souris
//---------------------------------------------------------------------------
function isCursorAbove (event, zoneID)
 {
  var area = $(zoneID);
  if (!area || area.style.display == 'none') return false;
  var leftZ = getLeft(area);
  var rightZ = leftZ + area.offsetWidth;
  var topZ = getTop(area);
  var bottomZ = topZ + area.offsetHeight;
  var coord_x = event.page ? event.page.x : event.pageX;
  var coord_y = event.page ? event.page.y : event.pageY;
  var aboveHoriz = (coord_x > leftZ && coord_x < rightZ);
  var aboveVert =  (coord_y > topZ && coord_y < bottomZ);
  return aboveVert && aboveHoriz;
 }

var genericDicoTO = new Array();
var x_vect = 4;
var y_vect = 0;

// Jean 10/06/2010 : fait bouger un object de quelques pixels (div, img...) au passage de la souris sur celui-ci
function moveIfOver(objID)
 {
  $(objID).onmouseover = function(event) {
    clearTimeout(genericDicoTO[objID]);
    animateObj(event, this.id, +1);
  };
  $(objID).onmouseout  = function(event) {
    clearTimeout(genericDicoTO[objID]);
    if (!isCursorAbove(event, objID))
      animateObj(event, this.id, -1);
  };
 }

function animateObj(event, objID, sens)
 {
  var marginRight = $(objID).style.marginRight.replace(/px$/, '');
  if (marginRight == '') marginRight = 0;
  else marginRight = parseInt(marginRight, 10);

  // On sort le morceau
  if (sens == +1)
   {
    if (marginRight < x_vect)
     {
      $(objID).style.marginRight = marginRight + 1;
      genericDicoTO[objID] = setTimeout("animateObj(null, '"+ objID +"', '"+ sens +"');", 30);
     }
   }

  // On rentre le morceau
  if (sens == -1)
   {
    if (marginRight > 0)
     {
      $(objID).style.marginRight = marginRight - 1;
      genericDicoTO[objID] = setTimeout("animateObj(null, '"+ objID +"', '"+ sens +"');", 30);
     }
   }
 }

//------------------------------------------------------------------
// Convertit une durée (nombre de secondes) en durée au format "<hh:mm:ss>"
//------------------------------------------------------------------
function dureeToHHmmSS (duree, maxOuiNon, facteur)
 {
  if (duree == '' || duree == 0) return '00:00:00';
  duree = parseInt(duree,10);
  var h, m, s, hh, mm, ss;

  // Partie jours
  j = duree / (3600*24);
  j = Math.floor(j);
  if (j > 0) duree = duree - (j * (3600*24));

  // Partie heure
  h = duree / 3600;
  hh = Math.floor(h);
  //if (hh < 10) hh = '0'+ hh;

  // Partie minutes
  m = duree / 60 - hh * 60;
  mm = Math.floor(m);
  //if (mm < 10) mm = '0'+ mm;

  // Partie secondes
  ss = duree - hh * 3600 - mm * 60;
  //if (ss < 10) ss = '0'+ ss;

  return (j > 0 ? j+' jours, ' : '') + (hh > 0 ? hh +'h, ' : '') + (mm > 0 ? mm +'m et ' : '') + ss +'s';
 }


function trim (exp)
 {
  return exp.replace(/^ +/g, '').replace(/ +$/g, '');
 }


// Jean 06/07/2010 : convertit une date str JJ/MM/AA ou JJ/MM/AAAA en timestamp Javascript
function strDateToTimestamp (strDate)
 {
  var tabMatch = strDate.match(/([0-9][0-9]?)\/([0-9][0-9]?)\/([0-9][0-9][0-9]?[0-9]?)/);

  if (!tabMatch)
    return 0;

  var jour = tabMatch[1];
  var mois = tabMatch[2];
  var annee = tabMatch[3];

  if (annee.length == 2)
    annee = '20'+ annee;

  var d = new Date();
  d.setDate(jour);
  d.setMonth(mois-1);
  d.setFullYear(annee);
  d.setHours(+1);
  d.setMinutes(0);
  d.setSeconds(0);
  d.setMilliseconds(0);

  return d.getTime();
 }


// ******************************************************************************
// Pour la barre de menus et les menus déroulants :
// ******************************************************************************

function SwapOut(id1) {
  $(id1).src = Rollarrow1.src;
  return true;
}

function SwapBack(id1) {
  $(id1).src = Rollarrow0.src;
  return true;
}


function navBarInit()
 {
  $$('.lienMenu').each(function(objMenuLink) {

    var objMenuLinkID = objMenuLink.id;
    var objMenuID = 'menu_'+ objMenuLinkID;
    var objMenu = $(objMenuID);

    if (!objMenu) { alert('élément "'+ objMenuID +'" attendu !'); return; }

    // Si sous-menu
    if (objMenuLink.parentNode.className != 'top_menu_link' && objMenuLink.parentNode.className.indexOf("submenulink_parent") > -1)
      dicoSubMenusParents[objMenuID] = objMenuLink.parentNode.parentNode.parentNode;

    // Déclenchement de l'apparition du menu
    objMenuLink.addEvent('mouseover', function(e) { killMenuHideTimeout(objMenuID); showMenu(objMenuID, e); });

    // Disparition "programmée" du menu
    objMenuLink.addEvent('mouseout',  function(e) { if (!isCursorAbove(e, objMenuID) && !isCursorAbove(e,'current_submenu')) { startMenuHideTimeout(objMenuID); } else { killMenuHideTimeout(objMenuID); } });

    objMenu.addEvent('mouseover', function(e) { killMenuHideTimeout(objMenuID); });
    objMenu.addEvent('mouseout',  function(e) { if (!isCursorAbove(e, objMenuID.id) && !isCursorAbove(e,'current_submenu')) { startMenuHideTimeout(objMenuID);    } });
  });

  // On parcourt chaque item de menu
  $$('.menu_item_dropdown').each(function(objMenuItem) {

    // Disparition "programmée" du sous-menu éventuellement ouvert
    objMenuItem.addEvent('mouseover',  function(e) { if (!isCursorAbove(e,'current_submenu')) $('current_submenu').style.display = 'none'; });
  });

  // Annulation de la disparition "programmée"
  $('current_submenu').addEvent('mouseover',  function(e) { killMenuHideTimeout(objCurrentMenuID); });
  $('current_submenu').addEvent('mouseout',  function(e) { if (!isCursorAbove(e,'current_submenu')) { startMenuHideTimeout(objCurrentMenuID); } });
 }

function showMenu(menuID, event)
{
  var objMenu = $(menuID);

  if (!objMenu) return;

  if (objMenu.style.display == 'none')
   {
    //if ($(open_menu)) hideMenu(menuID);
    killMenuHideTimeout(menuID);

    var butNotHideThis = null;

    if (dicoSubMenusParents[menuID])
      butNotHideThis = dicoSubMenusParents[menuID];

    // Par sécurité, on cache d'abord tout autre menu déjà ouvert
    hideAllMenus(objMenu, butNotHideThis);

    // Si sous-menu
    if (dicoSubMenusParents[menuID])
     {
      var objMenuLinkID = menuID.replace(/^menu_/, "");
      setTimeout("afficheSousMenu('"+ objMenuLinkID +"','"+ menuID +"');", 0);
      currentSubMenuParent = objMenu;
      objCurrentMenuID = objMenu.parentNode.parentNode.parentNode.id;
     }
    else
     {
      objMenu.style.display = 'inline';

      // Jean 13/07/2010
      objMenu.setStyle('opacity', 0.4);
      objMenu.fade('in');
     }
    //open_menu = menuID;
   }
 }

function afficheSousMenu (objMenuLinkID, objMenuID)
 {
  $('current_submenu').innerHTML = $(objMenuID).innerHTML;
  $('current_submenu').style.display = 'inline';

  // Jean 21/07/2010
  $('current_submenu').setStyle('opacity', 0.4);
  $('current_submenu').fade('in');

  var objMenuLink = $(objMenuLinkID);
  if (objMenuLink.length) objMenuLink = objMenu[0];

  if (objMenuLink && getLeft(objMenuLink) > 0)
   {
    $('current_submenu').style.left = getLeft(objMenuLink) + objMenuLink.offsetWidth;  // event.page.x
    var remontee = 1;
    /*
    if ($('current_submenu').offsetHeight > 100)
      remontee = 36;
      */
    $('current_submenu').style.top = getTop(objMenuLink) - remontee;  // event.page.y
   }
 }
function killMenuHideTimeout(menuID)
 {
  clearTimeout(current_timeout[menuID]);
  current_timeout[menuID] = '';
 }
function startMenuHideTimeout(menuID)
 {
  if (current_timeout[menuID] == '') {
    current_timeout[menuID] = setTimeout(function() { hideMenu(menuID); }, 300);
  }
 }
function hideMenu(menuID)
 {
  menu = $(menuID);

  // Tant qu'on y est, on ferme tous les menus
  //hideAllMenus();

  if (menu.style.display != 'none')
   {
    // Jean 13/07/2010
    menu.style.display = 'none';
    //menu.fade('out');
    //setTimeout('$("'+ menuID +'").style.display = "none"', 500);

    $('current_submenu').style.display = 'none';

    currentSubMenuParent = null;
    clearTimeout(current_timeout[menuID]);
    current_timeout[menuID] = '';
   }
 }
function hideAllMenus(butNotThisOne, butNotThisOtherOne)
 {
   // On cache les autres menus
   $$('.lienMenu').each(function(objOtherMenuLink) {
     var objOtherMenu = $('menu_'+ objOtherMenuLink.id);
     if (!butNotThisOne || objOtherMenu != butNotThisOne && !butNotThisOtherOne || objOtherMenu != butNotThisOtherOne)
       hideMenu('menu_'+ objOtherMenuLink.id);
   });
}

function getLeft (obj)
 {
  if (obj.offsetParent) return (obj.offsetLeft + getLeft(obj.offsetParent));
  else return (obj.offsetLeft);
 }
function getTop (obj)
 {
  if (obj.offsetParent) return (obj.offsetTop + getTop(obj.offsetParent));
  else return (obj.offsetTop);
 }

// (fin barre de menus et les menus déroulants)
// ******************************************************************************


function retire_accents_minuscules (exp)
{
    exp = exp.replace(/[àâä]/gi, "a");
    exp = exp.replace(/[éèêë]/gi,"e");
    exp = exp.replace(/[iîï]/gi, "i");
    exp = exp.replace(/[oôö]/gi, "o");
    exp = exp.replace(/[ûùü]/gi, "u");
    return exp;
}
function sanitize_paranoid_string(string)
 {
  string = string.replace(/[^a-z0-9\.]/gi, "-");
  string = string.replace(/(^[\-\.]+|[\-\.]+$)/g, "");
  string = string.replace(/---+/g, "--");
  return string;
 }
function to_url (texte)
 {
  texte = retire_accents_minuscules(texte);
  texte = sanitize_paranoid_string(texte);
  texte = texte.toLowerCase();
  return texte;
 }
