/*-----------------------------------------------------*/
/*	Simple PHP and JavaScript API		       */
/*-----------------------------------------------------*/
/*	Autor: Wizekat				       */
/*	Company: Cosmo Soft			       */
/*	Licence: GPL				       */
/*	Date: 2010-06-27			       */
/*	version: 1.0b				       */
/*-----------------------------------------------------*/

/*----------- FONCTION JAVASCRIPT PRIVEES -------------*/

function dynamicId(nom) {
dynamicIdNum++;
return nom + "_" + dynamicIdNum;
}
function mkNewTag(tag,nom,html,bef,zone) {
var newId = null;
var newTag = null;
newTag = document.createElement(tag);
newId = dynamicId(nom);
	if (html != "") {
	newTag.innerHTML = html;
	}
newTag.id = newId;
	if (bef == "" || !bef || bef == null) {
	bef = newId;
	}
var id = document.getElementById(bef);
	if (zone != "") {
	document.getElementById(zone).insertBefore(newTag, id);
	}
	else {
	document.body.insertBefore(newTag, id);
	}
return newId;
}
function addTag(tag,txt) {
var sp1 = document.createElement(tag);
  if (txt != "" && txt != undefined) {
  var sp1_content = document.createTextNode(txt);
  }
sp1.appendChild(sp1_content);
var sp2 = document.getElementById("base_element");
var parentDiv = sp2.parentNode;
parentDiv.insertBefore(sp1, sp2);
return sp1;
}
function buildTable(cols,rows) {
        //var body = document.getElementsByTagName("body")[0];
        var body = document.getElementById("contenu");
        table     = document.createElement("table");
        tablebody = document.createElement("tbody");

        // création des cellules
        for(var j = 0; j < rows; j++) {
            // crée une ligne de tableau
            var row = document.createElement("tr");

            for(var i = 0; i < cols; i++) {
                // Crée un élément <td> et un nœud texte, place le nœud texte
                // comme contenu texte de l'élément <td> et le place à la fin
                // de la ligne du tableau
                cell = document.createElement("td");
                texte = document.createTextNode("la cellule est ligne "+j+", colonne "+i);
                cell.appendChild(texte);
                row.appendChild(cell);
            }
            // ajoute la ligne à la fin du corps du tableau
            tablebody.appendChild(row);
        }
        // place <tbody> dans l'élément <table>
        table.appendChild(tablebody);
        // ajoute <table> à l'élément <body>
        body.appendChild(table);
        // définit l'attribut border du tableau à 2
        table.setAttribute("border", "2");
}

function base64_encode(text) {
  var dwOctets = 0;
  var nbChars = 0;
  var ret = "";
  var b;
  for (i = 0; i < 3 * ((text.length + 2) / 3); i++) {
    if (i < text.length) b = text.charCodeAt(i);
    else b = 0;
    dwOctets <<= 8;
    dwOctets += b;
    if (++nbChars == 3) {
      for (j = 0; j < 4; j++) {
        b = (dwOctets & 0x00FC0000) >> 18;
        if (b < 26) ret += String.fromCharCode(b + 65);
        else if (b < 52) ret += String.fromCharCode(b + 71);
        else if (b < 62) ret += String.fromCharCode(b - 4);
        else if (b == 62) ret += "+";
        else if (b == 63) ret += "/";
        dwOctets <<= 6;
      }
      dwOctets = 0;
      nbChars = 0;
    }
  }
ret += "=";
return ret;
}
function base64_decode(text) {
  var dwOctets = 0;
  var nbChars = 0;
  var ret = "";
  var b;
  for (i = 0; i < text.length; i++) {
    b = text.charCodeAt(i);
    if (b == 61) break;
    if (b > 32) {
      dwOctets <<= 6;
      if (65 <= b && b <= 90) dwOctets += b - 65;
      else if (97 <= b && b <= 122) dwOctets += b - 71;
      else if (48 <= b && b <= 57) dwOctets += b + 4;
      else if (b == 43) dwOctets += 62;
      else if (b == 47) dwOctets += 63;
      if (++nbChars == 4) {
        for (j = 0; j < 3; j++) {
          ret += String.fromCharCode((dwOctets & 0x00FF0000) >> 16);
          dwOctets <<= 8;
        }
        dwOctets = 0;
        nbChars = 0;
      }
    }
  }
return ret;
}
function SetCookie ( name, value, expires, path, domain, secure) {
expires = new Date(2099,12,31);
         szCookie = name + "=" + escape (value) +
                  ((expires) ? "; expires=" + expires.toGMTString() :"") +
                  ((path) ? "; path=" + path : "") +
                  ((domain) ? "; domain=" + domain : "") +
                  ((secure) ? "; secure" : "");
                  document.cookie = szCookie;
}
function xInit() {
var xhr1 = null;
 if(window.XMLHttpRequest) {
 // Firefox
 xhr1 = new XMLHttpRequest();
 return xhr1;
 }
 else if(window.ActiveXObject) {
 // Internet Explorer
  xhr1 = new ActiveXObject("Microsoft.XMLHTTP");
 return xhr1;
 }
 else {
 // XMLHttpRequest non supporté par le navigateur
 alert("Votre navigateur ne supporte pas les objets XMLHttpRequest...");
 }
}
function querySt(ji) {
hu = window.location.search.substring(1);
gy = hu.split("&");
  for (i=0;i<gy.length;i++) {
  ft = gy[i].split("=");
    if (ft[0] == ji) {
    return ft[1];
    }
  }
}
function pageName(ji) {
hu = window.location;
var u = hu.toString().split("?");
var p =u[0].split(".");
var n = p.length;
var a = n-2;
var b = n-1;
var ur = p[a];
var s = ur.split("/");
var name = s[s.length-1];
  if(name == "index") {
  return "accueil";
  }
  else if (p[b] == ID_EXT) {
  return name;
  }
  else {
  return "accueil";
  }
}
function jReplace(txt, oldval, newval){
	while(txt.indexOf(oldval) > 0){
	txt = txt.replace(oldval, newval);
	}
return txt;
}
function trim (myString) {
return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
}

function fade(eid) {
//  var TimeToFade = 1000.0;

  var element = document.getElementById(eid);
  if(element == null) {
    return;
  }
  if(element.FadeState == null)  {
    if(element.style.opacity == null || element.style.opacity == '' || element.style.opacity == '1')    {
      element.FadeState = 2;
    }
    else    {
      element.FadeState = -2;
    }
  }

  if(element.FadeState == 1 || element.FadeState == -1)  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
  }
}

function animateFade(lastTick, eid) {
  //var TimeToFade = 1000;
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
   var element = document.getElementById(eid);

  if(element.FadeTimeLeft <= elapsedTicks)  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }

  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1) {
    if (flag > 0) {
    newOpVal = 1 - newOpVal;
    }
    else {
      curTick = new Date().getTime();
    newOpVal = 1 + newOpVal;
    }

  }

    if (newOpVal < 1) {
      flag = -flag;
     // element.FadeState = -2;

    }

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}


var TimeToFade = 500;
var flag = 1;
var fl = 1;
