/*  Base javascript functions
 * ---------------------------------------------------------------------------

 */


function gonow(url)
  {
  document.location=url;
  }


function modify_acc(it){
        document.formadmin.submit();
        }

function modify(it){
        document.formadmin.elements['status_' + it].value=1;
        //alert ('result is ' + document.formadmin.elements[itx].name)
        }

function modifydelfile(it){
        document.formadmin.elements['cbxdel_' + it].value=1;
        }


function sel(it){
        if (document.formadmin.elements['status_' + it].value==0){
            document.formadmin.elements['status_' + it].value=1;
            }
        else {
              document.formadmin.elements['status_' + it].value=0;
              }
        }

function creerf(url,larg,haut){
        var options = "toolbar=no,location=no,directories=no,status=no,"
        + "menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,"
        + "width=" + larg + ",height=" + haut;
        mafenetre= window.open(url,"DWU",options);
        }

/* Secure Authentication using MD5 hashing */

//history.go(1); // disable the browser's back button

function md5auth(seed) {
          var password = document.formauth.password.value;
          var hash = MD5(seed+password);
          document.formauth.password.value='';
          document.formauth.velo.value=hash;
          //alert('source = ' +seed+password +',data sent = '+hash);
          return true;
        }

function showHide(IDObj,MaxItems,TimeOut)
{
  if (IDObj != 0){
      var IDObj_prec=IDObj-1;
      monObjPrec = document.getElementById("news_"+IDObj_prec+"");
      }
  else{
       var IDObj_prec=MaxItems-1;
       monObjPrec = document.getElementById("news_"+IDObj_prec+"");
       }

  if (document.getElementById("news_"+IDObj+"")){
      monObj = document.getElementById("news_"+IDObj+"");
      monObj.style.display = "block";
      monObjPrec.style.display = "none";
      }
  var nextit=IDObj+1;
  if (IDObj == (MaxItems-1)) nextit=0;
  self.setTimeout('showHide('+nextit+','+MaxItems+','+TimeOut+')',TimeOut);
}


function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}
// fonction qui charge les images dans le cache
function ant_preload_images(a,txt,mode){
         // imgObjects est une variable globale
         var imgNames=a;
         for (var i = 0; i < imgNames.length; i++)
         {
          imgObjects[i] = new Image();
          imgObjects[i].src = 'data/' + mode + imgNames[i];
          imgObjects[i].alt = txt[i];
          }
         }

function ant_next_img(IDObj,IDClass,MaxItems,Color,TimeOut)
{

  if (Mode == 'start') {  // controle le demarrage et l'arret de l'animation

      var nextit=IDObj+1;
      if (IDObj == (MaxItems-1)) nextit=0;

      if (document.getElementById(IDClass + "Large")){
          monObj = document.getElementById(IDClass + "Large");
          monObj.src = imgObjects[nextit].src;
          monObj.alt = imgObjects[nextit].alt;
          monObj.title = imgObjects[nextit].alt;
          if (document.getElementById(IDClass + "Text")){
              monObjTxt = document.getElementById(IDClass + "Text");
              monObjTxt.innerHTML = imgObjects[nextit].alt;
              }
          }

      if (document.getElementById(IDClass + "Small" + IDObj)){
          // on remet tous à 0
          for (a=0;a<MaxItems;a++){
               monObjSmallPrec = document.getElementById(IDClass + "Small" + a);
               monObjSmallPrec.style.border = "0px solid rgb(102,102,102)";
               monObjSmallPrec.style.margin = "5px";
               monObjSmallPrec.style.padding = "0px";
               }
          monObjSmall = document.getElementById(IDClass + "Small" + nextit);
          monObjSmall.style.border = "1px solid #" + Color;
          monObjSmall.style.margin = "3px";
          monObjSmall.style.padding = "1px";
          }

          self.setTimeout('ant_next_img('+nextit+',"'+IDClass+'",'+MaxItems+',"'+Color+'",'+TimeOut+')',TimeOut);
      }

  else if (Mode == 'stop') {
       var nextit=IDObj;
       self.setTimeout('ant_next_img('+nextit+',"'+IDClass+'",'+MaxItems+',"'+Color+'",'+TimeOut+')',TimeOut);
       }

}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}


// idem recherche avancée
function submitenter2(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.elements['ant_index'].value=0;
   myfield.form.adminop.value='advanced_search';
   myfield.form.submit();
   return false;
   }
else
   return true;
}

// 12/01/2008 : mise à jour champ texte (quantite dans transactions par ex)
function submitenter_text(myfield,e,it)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.adminop.value='save';
   // alert ('quant ' + myfield.value);
   myfield.form.elements['status_' + it].value=1;
   myfield.form.submit();
   return false;
   }
else
   return true;
}

// Permet de vider le contenu d'une boite de sélection
function antCleanSelectBox(selectid){
      for (x = document.getElementById(selectid).length; x >= 0; x = x - 1) {
             document.getElementById(selectid)[x] = null;
             }
    }

function getXYPosition(e){
         myMouseX=(e||event).clientX;
         myMouseY=(e||event).clientY;
         if (document.documentElement.scrollTop > 0) {
             myMouseY = myMouseY + document.documentElement.scrollTop;
             }
         return myMouseX;
         }

// Permet de posisition le cursor a la fin d'un champ

function ant_move_cursor(el){
         if (el.createTextRange) {
             var v = el.value;
             var r = el.createTextRange();
             r.moveStart('character', v.length);
             r.select();
             }
         }

// fonction de test pour trouver le keycode correspondant à une touche
function detect_keycode(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;


alert ('Keycode : ' + keycode);
return false;

}

function key_arrow_down(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 40)
   {
   var tmpfield=document.getElementById('suggestions');
   //var list=tmpfield.getElementsByTagName('span');
   var list=tmpfield.childNodes;
   var curhighlight=0;
   var nexthighlight=0;
   for (a=0;a<list.length;a++){
        if (list.item(a).className == 'highlight'){
            curhighlight=a;
            nexthighlight=a+1;
            }
        }
   // alert(list.length);
   // alert(list.item(0).antkey);
   if (curhighlight < (list.length-1)){
       list.item(curhighlight).className = '';
       list.item(nexthighlight).className = 'highlight';
       }
   else if (curhighlight == 0) list.item(curhighlight).className = 'highlight';
   // alert(list.item(0).innerHTML);
   return false;
   }

else if (keycode == 38)
   {
   var tmpfield=document.getElementById('suggestions');
   //var list=tmpfield.getElementsByTagName('span');
   var list=tmpfield.childNodes;
   var curhighlight=0;
   var previoushighlight=0;
   for (a=0;a<list.length;a++){
        if (list.item(a).className == 'highlight'){
            curhighlight=a;
            previoushighlight=a-1;
            }
        }
   // alert(list.length);
   // alert(list.item(0).antkey);
   if (curhighlight > 0){
       list.item(curhighlight).className = '';
       list.item(previoushighlight).className = 'highlight';
       }
   // alert(list.item(0).innerHTML);
   return false;
   }

else if (keycode == 13)
   {
   var tmpfield=document.getElementById('suggestions');
   //var list=tmpfield.getElementsByTagName('span');
   var list=tmpfield.childNodes;
   var curhighlight=0;
   for (a=0;a<list.length;a++){
        if (list.item(a).className == 'highlight'){
            curhighlight=a;
            }
        }
   //alert (list.item(curhighlight).antkey);
   if (list.item(curhighlight).className == 'highlight'){
       extSelectEntry(list.item(curhighlight));
       }

   // alert(list.item(0).innerHTML);
   return false;
   }
else
   return true;
}


function extSelectEntry (elem) {
            document.getElementById('string').value = elem.innerHTML;
            document.getElementById('prodlink').value = elem.antkey;
            //remoteSuggest.antGetSizes(elem.antkey,<?php echo $cle_langue;?>);
            // 15/10/2007  on lance automatiquement ajout des items
            updateOp('addallcustom');
            }
