/* mini js library */
//function $(id) { return document.getElementById(id); }
function html(id,str) { $(id).innerHTML = str; }
function add_html(id,str) { $(id).innerHTML += str; }
function clear(id) { html(id,"");}
function trim(str) { str.replace(/^\s*/, '').replace(/\s*$/, ''); return str; }
/* end */

function preloadImages() {
// PRELOAD d'images pour ne pas les charger lors du clic
    var d=document;
    if(d.images){
      if(!d.p) d.p=new Array();
      var i, j=d.p.length, a=preloadImages.arguments;
      for(i=0; i<a.length; i++){
        if (a[i].indexOf("#")!=0){
          d.p[j]=new Image;
          d.p[j++].src=a[i];
        }
      }
    }
  }
  
// TOGGLE BLOCK
function toggleBlock(id, forceHidden, forceDisplayed) {
  forceHidden = (forceHidden==undefined) ? false : forceHidden;
  forceDisplayed = (forceDisplayed==undefined) ? false : forceDisplayed;
  
  // Variables
  var toggleObj;
  var linkObj;
  toggleObj = $('toggle'+id);
  linkObj = $('link'+id);
  
  // Toggle
  if (toggleObj) {
    styleObj = toggleObj.style;
    if ((styleObj.display != "none" || forceHidden==true) && forceDisplayed==false) {
      // HIDE
      styleObj.display = "none";
      if (linkObj) {
        twistyObj = linkObj.getElementsByTagName('img')[0];
        
        if (twistyObj) {
          twistyObj.setAttribute('src', 'img/plus-over.png');
        } else {
        }
      }
    } else {
      // SHOW
      styleObj.display = "block";
      if (linkObj) {
        twistyObj = linkObj.getElementsByTagName('img')[0];
        
        if (twistyObj) {
          twistyObj.setAttribute('src', 'img/minus-over.png');
        } else {
        }
      }
    }
  }	
}

function isBlockDisplayed(id) {  
  if ($(id)) {
    return ($(id).style.display != "none");
  }
  return false;
}

function validateLogin(){
  var login=$("log").value;
  var pass=$("pass").value;

  if(login=="" || pass==""){
    alert("Identification : Login ou mot de passe manquant.");
      return false;
  }
  else{
    $("pass").value=MD5(pass);
    $("identification").submit();
    return true;
  }
}

function isReturnChar(e){
  var keynum;
  
  if(window.event){
    keynum = e.keyCode;
  }
  else if(e.which){
    keynum = e.which;
  }
  return keynum==13 || keynum==12; //si la touche pressée est \n ou \r
}


function validateInscription(type){
  var login=$("login").value;
  var pass=$("confirmpassword").value;
  var pass2=$("password").value;
  var email=$("email").value;
  
  if(type=="update" && $("password").value!=""){
    if($("oldpassword").value==""){
      alert("Il faut fournir l'ancien mot de passe");
      return false;
    }
  }
  
  if(type=="inscription"){
    if(login=="" || pass=="" || email==""){
      alert("Il faut fournir au minimum: Login, mot de passe et email");
      return false;
    }
  }
  
  if(type=="inscription" || (type=="update" && $("password").value!="")){
    if(pass != pass2){
      alert("Les mots de passe fournis ne sont pas identiques");
      return false;
    }
    else{
      $("password").value=$("confirmpassword").value=MD5(pass);
      if(type=="update"){
        $("oldpassword").value=MD5($("oldpassword").value);
      }
    }
  }
  
  
  return true;
}

function uploadMiniature(id,imgid){
  var popupPosition = {left: parseInt(window.screen.availWidth / 3), top: parseInt(window.screen.availHeight / 3)};
  window.open('openwysiwyg/addons/imagelibrary/insert_miniature.php?input=' + id + '&imgid=' + imgid, 'popup', 'location=0,status=0,scrollbars=0,resizable=0,width=' + 325 + ',height=' + 365 + ',top=' + popupPosition.top + ',left=' + popupPosition.left).focus();
}

function dessinsDeFond(){
  var dessins=document.getElementById('dessinsDeFond').getElementsByTagName('img');
  var center=document.getElementById('center');
  var xmin=center.offsetLeft;
  var xwidth=center.offsetWidth;
  var ymin=center.offsetTop;
  var yheight=center.offsetHeight;
  //alert(xmin+'+'+xwidth+','+ymin+'+'+yheight);
  //for (var i in dessins){
  var i=0;
  for(i=0;i<dessins.length;i++){
    dessins[i].style['position']='absolute';
    dessins[i].style['left']=parseInt(xmin+Math.random()*(xwidth-dessins[i].width))+'px';
    dessins[i].style['top']=parseInt(ymin+Math.random()*(yheight-dessins[i].height))+'px';
    dessins[i].style['display']='block';
  }
}


function scrollToId(id){
  var begin;
  
  if (document.all){
    begin=document.body.scrollTop;
  }else{
    begin=window.pageYOffset;
  }
  
  var pos = cumulativeOffset($(id));
  var end = pos[1]+($(id).offsetHeight/2)-window.innerHeight/2;
  
  if(end>begin){
    for (i=begin;i<end;i=i+8){
      scrollTo(0,i);
    }
  }
  else{
    for (i=begin;i>end;i=i-8){
      scrollTo(0,i);
    }
  }
}

function cumulativeOffset(element) {
  var valueT = 0, valueL = 0;
  do {
    valueT += element.offsetTop  || 0;
    valueL += element.offsetLeft || 0;
    element = element.offsetParent;
  } while (element);
  return [valueL, valueT];
}


function toggleAddComment(ID,nbComments,commentGroup){
  if(!isBlockDisplayed('toggleComments'+ID) || (isBlockDisplayed('toggleNewComment'+ID) && nbComments==0)){
    toggleBlock('Comments'+ID);
    for(i=0;i<commentGroup.length;i++){
      WYSIWYG.enable(commentGroup[i]);
    }
  }
  toggleBlock('NewComment'+ID);
  if(isBlockDisplayed('toggleNewComment'+ID)){
    WYSIWYG.enable('newTexteComment'+ID);
    scrollToId('toggleNewComment'+ID);
  }
}

function toggleComments(ID,commentGroup){
  toggleBlock('Comments'+ID);
  if(isBlockDisplayed('toggleComments'+ID)){
    for(i=0;i<commentGroup.length;i++){
      WYSIWYG.enable(commentGroup[i]);
    }
  }
  else{
    if(isBlockDisplayed('toggleNewComment'+ID)){
      toggleBlock('NewComment'+ID);
    }
  }
}
