
var autodefil_link_crt = 0
var autodefil_timer_id = 0
var autodefil_interval_timer = 1000
var autodefil_nb_links = 0

function AutoDefil()
{
  document.links[autodefil_link_crt].focus()

  autodefil_link_crt++
  
  if(autodefil_link_crt >= autodefil_nb_links)
    autodefil_link_crt = 0
}

function LinkOnFocus()
{
  this.style.border = "medium solid #EEEE44";
}

function LinkOnBlur()
{
  this.style.border = "none"
}

function StartAutoDefilTimer()
{
  RemoveAllAccessMotorBut(0) //1 seul outil d'access moteur à la fois!

  access_motor_modes[0]=1 //cf onload.js pour la définition de access_motor_modes
  autodefil_nb_links = document.links.length
  autodefil_timer_id = window.setInterval("AutoDefil()",autodefil_interval_timer)
  
  for(var i=0;i<document.links.length;i++)
  {
     document.links[i].onfocus = LinkOnFocus
     document.links[i].onblur = LinkOnBlur
  }

}

function StopAutoDefilTimer()
{    
  access_motor_modes[0]=0 //cf onload.js pour la définition de access_motor_modes
  window.clearInterval(autodefil_timer_id)
  autodefil_link_crt = 0
  
  for(var i=0;i<document.links.length;i++)
  {
     document.links[i].onfocus = null
     document.links[i].onblur = null
     document.links[i].style.border = "none"
  }
}

function PauseAutoDefilTimer()
{
  access_motor_modes[0]=2 //cf onload.js pour la définition de access_motor_modes
  window.clearInterval(autodefil_timer_id)
}

function AutoDefilBascule()
{
  if(access_motor_modes[0]!=1)
    StartAutoDefilTimer()
  else
    StopAutoDefilTimer()
}

function AutoDefilSetParams(value)
{
  if(value)
    autodefil_interval_timer = value
  else
    autodefil_interval_timer = 1000
}

function AutoDefilGetParams()
{
  return autodefil_interval_timer
}

function UpdateAutoDefilParam()
{
  autodefil_interval_timer = document.autodefil_speed_form.autodefil_speed.value
}

function AutoDefilSetParamForm()
{
  var nb_param_value = 6
  var param_array = new Array(nb_param_value)
  param_array[0] = 500
  param_array[1] = 1000
  param_array[2] = 2000
  param_array[3] = 3000
  param_array[4] = 4000
  param_array[5] = 5000
  
  //Récupération du paramètre en cours dans le cookie:
  var cookie_access_motor_params = WM_readCookie("access_motor_params")
  var cookie_access_motor_params_str = cookie_access_motor_params.split(":")
  var current_param_value = cookie_access_motor_params_str[0]

  document.write("<form name=\"autodefil_speed_form\">\n")
  document.write("<select name=\"autodefil_speed\" style=\"margin:10px 10px 0 0;\">\n")

  for(var i=0 ; i<nb_param_value ; i++)
  {
    document.write("<option ")

    if(param_array[i] == current_param_value)
      document.write("selected ")

    document.write("value=\"" + param_array[i] + "\">1 lien toutes les " + param_array[i]/1000 + " seconde(s)</option>\n")
  }

  document.write("</select>\n<button onclick=\"javascript:UpdateAutoDefilParam()\">Valider !</button>\n")
  document.write("</form>")

}

function AutoDefilOnKeyDown(key)
{
  switch(key)
  {
    case 17: //ctrl
      if(access_motor_modes[0]!=1)
        StartAutoDefilTimer()
      else
        PauseAutoDefilTimer()
    break
    
    case 36: //home
        autodefil_link_crt = 0
        document.links[autodefil_link_crt].focus()
    break
    
    case 13: //enter
        //on laisse le "enter" passer...
    break

    default:
        StopAutoDefilTimer()
    break
  }
}

