function array_add(arrayobj, entry){
  var arraysize = arrayobj.length;
  var present = 0;
  for (var i = 0; i < arraysize; i++){
    if (arrayobj[i] == entry){
      present = 1
    }
  }
  if (!present){
    arrayobj[arraysize] = entry;
  }
  return arrayobj;
}

function array_remove(arrayobj, entry){
  var temparray = new Array();
  var arraysize = arrayobj.length;
  var j = 0;
  for (var i = 0; i < arraysize; i++){
    if (arrayobj[i] != entry){
      temparray[j] = arrayobj[i];
      j++;
    }
  }
  return temparray;
}

function array_find(arrayobj, entry){
  var arraysize = arrayobj.length;
  var present = 0;
  for (var i = 0; i < arraysize; i++){
    if (arrayobj[i] == entry){
      present = 1
    }
  }
  if (present){
    return true;
  }
  else{
    return false;
  }
}

function getXml(url, callback, fromchat)
{ 
  var fromchat = (fromchat == null) ? 0 : fromchat;
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", url); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4) { 
        if (XMLHttpRequestObject.status == 200) { 
          callback(XMLHttpRequestObject.responseXML);
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
        }
        else if(fromchat) {
          var temp = setTimeout("chat_miseajour()",1000);
        }
      } 
    } 

    XMLHttpRequestObject.send(null); 
  }
}

function postXml(url, data, callback)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", url); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          callback(XMLHttpRequestObject.responseXML); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(data); 
  }
}

function getText(url, callback, callafter)
{ 
  if (typeof callafter != "function"){
    callafter = trash;
  }
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", url); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
          callback(XMLHttpRequestObject.responseText);
          callafter();
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    } 

    XMLHttpRequestObject.send(null); 
  }
}

function postText(url, data, callback)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", url); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          callback(XMLHttpRequestObject.responseText); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(data); 
  }
}


function trash(){
}

function ins(myField, myValue) {
  //IE support
  if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }
  //MOZILLA/NETSCAPE support
  else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    myField.value = myField.value.substring(0, startPos)
                  + myValue
                  + myField.value.substring(endPos, myField.value.length);
  } else {
    myField.value += myValue;
  }
}

function inserer_video(myField) {
  var url = prompt("Vous pouvez insérer des vidéos provenant de YouTube. Vous devez simplement entrer l'url de la vidéo dans la boîte ci-dessous.\r\n\r\nVoici un exemple d'URL:\r\nhttp://www.youtube.com/watch?v=123ABC456DEF\r\n\r\nURL de la vidéo:", 'http://');
  if (url != '' && url != null && url != 'undefined' && url != 'http://'){
    var newvalue = '[VIDEO]' + url + '[/VIDEO]';
    ins(myField, newvalue);
  }
}

function replace(myField, myValue) {
  myField.value = myValue;
  myField.focus();
}

function pause(delay){
  var date = new Date();
  var curDate = null;
  do {
    curDate = new Date();
  } while(curDate-date < delay);
}

function htmlspecialchars(string){
  string = string.replace(/&/g, '&amp;');
  string = string.replace(/"/g, '&quot;');
  string = string.replace(/'/g, '&#039;');
  string = string.replace(/</g, '&lt;');
  string = string.replace(/>/g, '&gt;');
  return string;
}

function report(id){
  url = 'http://www.chatgratuit.com/vote.php?type=profil&vote=reporter&id=' + id;
  windowobject = window.open(url, 'photo_voter', 'width=600,height=200');
}

function performer_action(action, id){
  callafter = undefined;
  var tempname = 'after_' + action;
  callafter = window[tempname];
  if (typeof callafter!="function"){
    callafter = trash;
  }
  var url = '/ajax/actions.php?action=' + action + '&id=' + id;
  getText(url, alert, callafter);
}

function confirmer_action(action, id){
  callafter = undefined;
  var tempname = 'after_' + action;
  callafter = window[tempname];
  if (typeof callafter!="function"){
    callafter = trash;
  }
  var confirmtext = '';
  switch (action){
    case 'voterprofil':
    case 'voterforum':
      var confirmtext = 'Vous aimez ce membre et vous aimeriez l\'encourager? Cliquez OK pour voter pour lui.';
      break;
    case 'voterphoto':
      var confirmtext = 'Vous aimez cette photo et vous aimeriez encourager ce membre? Cliquez OK pour voter.';
      break;
    case 'reporterprofil':
      var confirmtext = 'Ce membre est faux, irrespectueux, grossier, raciste ou tout simplement inapproprié? Cliquez OK pour nous le signaler.';
      break;
    case 'reporterphoto':
    case 'reporterphotoforum':
    case 'reporterphotoblog':
      var confirmtext = 'Cette photo contient de la nudité, correspond à une célébrité, à une usurpation d\'identifié, ou est tout simplement inappropriée? Cliquez OK pour nous le signaler. Notez que ce membre ne sera pas informé de votre signalement. De plus, en envoyant un signalement concernant un membre, cela l\'ajoute automatiquement à votre liste de membres bloqués.';
      break;
    case 'reportervideoforum':
      var confirmtext = 'Cette vidéo offre un contenu inapproprié? Cliquez OK pour nous le signaler. Notez que ce membre ne sera pas informé de votre signalement. De plus, en envoyant un signalement concernant un membre, cela l\'ajoute automatiquement à votre liste de membres bloqués.';
      break;
    case 'reportermessage':
    case 'reportercommentairephoto':
      var confirmtext = 'Ce message est irrespectueux, grossier, haineux, diffamatoire, raciste ou tout simplement inapproprié? Cliquez sur OK pour nous envoyer un signalement concernant l\'auteur de ce message. Notez que ce membre ne sera pas informé de votre signalement. De plus, en envoyant un signalement concernant un membre, cela l\'ajoute automatiquement à votre liste de membres bloqués.';
      break;
    case 'ajouterignore':
      var confirmtext = 'Cliquez sur OK pour bloquer ce membre. Notez que ce membre ne sera pas informé que vous l\'avez bloqué.';
      break;
    default:
      var confirmtext = '';
      break;
  }
  if (confirmtext != ''){
    if (confirm(confirmtext)){
      var url = '/ajax/actions.php?action=' + action + '&id=' + id;
      getText(url, alert, callafter);
    }
  }
}

function afficher_cacher(id){
  block = document.getElementById(id);
  if (block.style.display == 'block'){
    block.style.display = 'none';
  }
  else{
    block.style.display = 'block';
  }
}

function afficher_block(id){
  block = document.getElementById(id);
  block.style.display = 'block';
}

function cacher_block(id){
  block = document.getElementById(id);
  block.style.display = 'none';
}

function bookmark(url,titre){
  if (window.sidebar){
    window.sidebar.addPanel(titre, url, "");
  }
  else if(window.opera && window.print){
    var elem = document.createElement('a');
    elem.setAttribute('href',url);
    elem.setAttribute('title',titre);
    elem.setAttribute('rel','sidebar');
    elem.click();
  } 
  else if(document.all){
    window.external.AddFavorite(url, titre);
  }
  var script = '/ajax/bookmark.php?url=' + escape(url);
  getXml(script, trash);
}

function update_activite(){
  var tempdate = new Date();
  var url = '/ajax/update_activite.php?temp=' + tempdate.getTime();
  getXml(url, trash);
  var temp = setTimeout("update_activite()",300000);
}
