// UtilsVersion=3.0

function DoSelLanguage(xParam) {
  var st=document.location.href;
  var i=st.indexOf('#');
  var stx;
  var j;
  xParam=xParam.toUpperCase()
  // Paramètre pour la librairie (gestion propre de la ligne)
  if (i >= 0) {st=st.substr(0,i-1);}
  if (st.substr(st.length-1,1)=='/') {
    st+='Default.asp?Lng='+xParam;
    }
  else {
    if (st.indexOf('?')>=0) {
      i=st.indexOf('?Lng=');
      if (i >= 0) {
        j=st.indexOf('&');
        if (j >= 0) {stx=st.substr(0,i)+'?Lng='+xParam+st.substr(j);}
        else {stx=st.substr(0,i)+'?Lng='+xParam;}
        st=stx;
        }
      else {  
        i=st.indexOf('&Lng=');
        if (i >= 0) {
          stx=st.substr(i+1);
          j=stx.indexOf('&');
          if (j>=0) {st=st.substr(0,i)+'&Lng='+xParam+stx.substr(j);}
          else {st=st.substr(0,i)+'&Lng='+xParam;}  
          }
        else {
          st+='&Lng='+xParam;
          }
        }  
      }
    else {
      st+='?Lng='+xParam;
      }
    }
  // Maintenant gestion des noms de pages
  i=st.indexOf('?');
  stx=st.substr(0,i);
  st=st.substr(i);
  i=stx.lastIndexOf('/')+1;
  var stk;
  if (i) {stk=stx.substr(i); stx=stx.substr(0,i);} else {stk=stx; stx='';}
  i=stk.indexOf('.');
  j=stk.toLowerCase().lastIndexOf('_uk'); if (j < 0) j=i;
  switch (xParam) {
    case 'F' :
      stk=stk.substr(0,j)+stk.substr(i);
      break;
    case 'UK' :
      stk=stk.substr(0,j)+'_uk'+stk.substr(i);
      break;
    }
  st=stx+stk+st;
  //
  document.location = st;
  }


var req;
var reqDone=0;
var reqRetFunction='';

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
      //var stTete=req.getAllResponseHeaders();
            // if (ObjTeteIdHtml) document.getElementById(ObjTeteIdHtml).innerHTML=req.getResponseHeader(NomTete);
            //alert('Tout va bien...'+stTete);
            if (reqRetFunction) eval(reqRetFunction);
        } else {
            alert("Problem with XML data retrieving:\n" + req.statusText);
        }
        reqDone=1;
    }
}

function loadXMLDoc(url,RetFunction) {
  req = false;
  reqDone = 0;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
      try {
      req = new XMLHttpRequest();
        } catch(e) {
      req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
         try {
          req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
          try {
              req = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e) {
              req = false;
          }
    }
    }
  if(req) {
    if (RetFunction) {reqRetFunction=RetFunction;} else {reqRetFunction='';}
    req.onreadystatechange = processReqChange;
    req.open("GET", url, true); // Asychrone...
    req.send("");  
  }
  else {
    reqDone=1;
    alert('Pb création objet');
    }
}


function XTrim(st) {
  var j=-1;
  //alert("'"+st+"'"); alert(st.length);
  for (var i=0; i < st.length; i++) {
    if (st.substr(i,1) != ' ') break;
    j=i;
    }
  if (j >= 0) st=st.substr(j+1);  
  j=-1;
  for (var i = st.length -1; i >= 0; i--) {
    if (st.substr(i,1) != ' ') break;
    j=i;
    }
  if (j >= 0) {
    if (j==0) {st='';}
    else {
      st=st.substr(0,j);
      }
    }
  return st;  
}

/**************************************************************************************************/

/**
 * GoToCat
 * @return void
 */
function GoToCat(idxCat,XObjName) {
  if (NoGoToCat) return;
  var st=''+idxCat;
  if (st.indexOf('.a')>=0) {
    window.location.replace(idxCat);
    }
  else {
    var stx=(st.indexOf('.') > 0) ? st.substr(st.indexOf('.')):st;
    window.location.replace('categories.asp?CatPdtIdx='+st+((XObjName)?'&'+XObjName+'='+st:''));
    //var i=st.indexOf('.');
    //window.location.replace('categories.asp?CatPdtIdx='+st.substr(i+1));
    }
}

/**
 * SelXVal
 * @return void
 */
function SelXVal(Obx,ival) {
  NoGoToCat=true;
  try {
    for (var i=Obx.options.length-1; i>=0; i--) {
      if (Obx.options[i].value==ival) {
        Obx.selectedIndex=i;
        //Obx.options[i].selected=true;
        break;
        }
      }
  } catch (e) {}
  NoGoToCat=false;
}

/**
 * DoAddOption
 * @return void
 */
function DoAddOption(SelObjId, iValue, stTxt) { 
  // Rajoute <option value='iValue'>stTxt</option>, en fin de liste...
  try {
    var ob=document.getElementById(SelObjId);
    var oOpt=document.createElement('OPTION');
    oOpt.value=''+iValue;
    if (IEVersion==0) oOpt.innerHTML=stTxt; else oOpt.text=stTxt.replace('&nbsp;',' ');
    ob.add(oOpt, oOpt.length); 
  } catch (e) { 
    /*alert('ERREUR ('+i+'): "'+ob.name+'",'+iValue+','+stTxt);*/
  }
}

/**
 * DoDelOption
 * @return void
 */
function DoDelOption(SelObjId, iOption, iValue) {
  // Si on spécifie une valeur >= 0 pour iOption, on détruit direct. Sinon on recherche iValue.
  try {
    var ob=document.getElementById(SelObjId);
    if (iOption >= 0) {
      ob.options[iOption]=null; 
      }
    else {
      for (var i=ob.length-1; i >=0; i--) {
        if (ob.options[i].value==iValue) {
          ob.options[i]=null;
          return;
          }
        }
      }
  } catch (e) {}
}

/**
 * DoDelOptionListe
 * @return void
 */
function DoDelOptionListe(SelObjId, stValueList) {
  // Liste de valeurs séparées par des virgules (PAS d'espaces)...
  try {
    var ob=document.getElementById(SelObjId);
    var st=','+stValueList+',';
    for (var i=ob.length-1; i >=0; i--) {
      if (st.indexOf(','+ob.options[i].value+',')>=0) {
        ob.options[i]=null;
        }
      }
  } catch (e) {}
}

/**
 * TriSelectValues
 * @return void
 */
function TriSelectValues(stNomSelect) {
  var Ob=document.getElementById(stNomSelect);
  var l=Ob.length-1;
  var i, j, k, ix, v, vt;
  for (i=0; i < l; i++) {
    ix=0; k=parseInt(Ob.options[i].value);
    for (j=i+1; j <= l; j++) {
      if (parseInt(Ob.options[j].value) < k) {
        k = Ob.options[j].value; ix=j;
      }
    }
    if (ix) {
      v=Ob.options[i].value; Ob.options[i].value=k; Ob.options[ix].value=v;
      vt=Ob.options[i].text; Ob.options[i].text=Ob.options[ix].text; Ob.options[ix].text=vt;
    }
  }
}

/**
 * TriSelectTexts
 * @return void
 */
function TriSelectTexts(stNomSelect) {
  var Ob=document.getElementById(stNomSelect);
  var lx=Ob.length-1;
  var i, j, k, ix, v, vt;
  for (i=0; i < lx; i++) {
    ix=0; k=Ob.options[i].text;
    for (j=i+1; j <= lx; j++) {
        if (Ob.options[j].text < k) {
          k = Ob.options[j].text; ix=j;
        }
      }
    if (ix) {
      v=Ob.options[i].value; Ob.options[i].value=Ob.options[ix].value; Ob.options[ix].value=v;
      vt=Ob.options[i].text; Ob.options[i].text=k; Ob.options[ix].text=vt;
    }
  }
}