var login_cookie_duration = 15;	// Duration of login/passwd cookie (days)
var link_lms_manual = 'Log In';		// Log In link text on site index
var link_lms_auto = 'My Training';	// LMS access link text on site index

// Messages from the LMS
var MSG_LOGIN_ERROR = 0;	// Cannot login to LMS with login / password
var MSG_MAIL_MY_PASS_OK = 1;	// Password emailed OK (email my password)
var MSG_MAIL_MY_PASS_KO = 2;	// Email not found in LMS (email my password)
var lms_msg_fr = [];
lms_msg_fr[MSG_LOGIN_ERROR] = "Erreur de connexion au LMS : Veuillez vérifier votre login et votre mot de passe.";
lms_msg_fr[MSG_MAIL_MY_PASS_OK] = "Un email contenant votre mot de passe a été envoyé à l'adresse email indiquée.";
lms_msg_fr[MSG_MAIL_MY_PASS_KO] = "Erreur : L'adresse email indiquée n'existe pas dans le LMS.";
var lms_msg_en = [];
lms_msg_en[MSG_LOGIN_ERROR] = "Cannot connect to the LMS: Please check your login and password.";
lms_msg_en[MSG_MAIL_MY_PASS_OK] = "An email containing your password has been sent to the specified email address.";
lms_msg_en[MSG_MAIL_MY_PASS_KO] = "Error: The specified email address does not exist in the LMS.";
var lms_msg_de = [];
lms_msg_de[MSG_LOGIN_ERROR] = "Fehler bei Einwahl in das LMS: Bitte überprüfen Sie Ihre Login und Ihr Passwort.";
lms_msg_de[MSG_MAIL_MY_PASS_OK] = "Eine E-Mail mit Ihrem Passwort wurde an Ihre angegebene E-Mail Adresse gesendet.";
lms_msg_de[MSG_MAIL_MY_PASS_KO] = "Fehler: Die angegebene E-Mail Adresse ist im LMS nicht vorhanden.";
var lms_msg_ru = [];
lms_msg_ru[MSG_LOGIN_ERROR] = "Не удается подключиться к LMS: Пожалуйста, проверьте ваши Логин и пароль.";
lms_msg_ru[MSG_MAIL_MY_PASS_OK] = "письмо, содержащее ваш пароль был выслан на указанный адрес электронной почты.";
lms_msg_ru[MSG_MAIL_MY_PASS_KO] = "Ошибка: указанный адрес электронной почты не существует в LMS.";
var lms_msg_pt = [];
lms_msg_pt[MSG_LOGIN_ERROR] = "Não foi possível estabelecer ligação com a plataforma: Por favor verifique o seu login e password.";
lms_msg_pt[MSG_MAIL_MY_PASS_OK] = "Foi-lhe enviado um email com a sua password.";
lms_msg_pt[MSG_MAIL_MY_PASS_KO] = "Erro: O endereço de email não consta na plataforma.";
var lms_msg_es = [];
lms_msg_es[MSG_LOGIN_ERROR] = "Error de conexión al LMS: Por favor, compruebe su nombre de usuario y contraseña.";
lms_msg_es[MSG_MAIL_MY_PASS_OK] = "Un correo electrónico con su contraseña ha sido enviada a la dirección de correo electrónico proporcionada.";
lms_msg_es[MSG_MAIL_MY_PASS_KO] = "Error: no hay correo electrónico indicada en el LMS.";

var lms_url;	// Root URL to the LMS front
switch (window.document.location.hostname)
{
case '192.168.146.210' :		// Local site
  lms_url = "http://192.168.146.210/ELMS.2008.v3.3";
  break;
case 'yeswww' :		// Local site
	  lms_url = "http://yes:8888/lms2010";
	  //lms_url = "http://youandyes.yourenglishsolution.com/demo";
	  break;
case 'website.yourenglishsolution.fr' :	// Test site
  lms_url = "http://youandyes.yourenglishsolution.com/demo";
  break;
case 'website.yourenglishsolution.com' : // Preprod French
  lms_url = "http://youandyes.yourenglishsolution.com/preprod";
  break;
case 'website.yourenglishsolution.de' : // Preprod German
  lms_url = "http://youandyes.yourenglishsolution.de/preprod";
  break;
case 'yourenglishsolution.de' :		// German site
case 'www.yourenglishsolution.de' :
case 'yourenglishsolution.at' :		// At site
case 'www.yourenglishsolution.at' :
case 'yourenglishsolution.ch' :		// Ch site
case 'www.yourenglishsolution.ch' :
  lms_url = "http://youandyes.yourenglishsolution.de";
  break;
case 'website.yourenglishsolution.ru' : // preprod ru, pt, es
case 'website.yourenglishsolution.com.pt' :
case 'website.yourenglishsolution.es' :
	  lms_url = "http://youandyes2.yourenglishsolution.com/preprod";
  break;
case 'yourenglishsolution.com.pt' : // Portugal
case 'www.yourenglishsolution.com.pt' :
case 'yourenglishsolution.ru' :		// Russian site
case 'www.yourenglishsolution.ru' :
case 'yourenglishsolution.es' :		// Espagne site
case 'www.yourenglishsolution.es' :
	lms_url = "http://youandyes2.yourenglishsolution.com";
  break;
//case 'yourenglishsolution.es' :		// Espagne site
//case 'www.yourenglishsolution.es' :
  //lms_url = "http://youandyes2.yourenglishsolution.com/preprod";
  //break;
default :				// French site
  lms_url = "http://youandyes.yourenglishsolution.com";
}


// Update link on index page for LMS access (login page or auto connect)
function update_lms_link(link_id)
{
  var txt = document.getElementById(link_id);

  if (get_cookie('lms_login'))
  { txt.innerHTML = link_lms_auto; }
  else
  { txt.innerHTML = link_lms_manual; }
}

// Fill index page login form with cookie values if set, then submit
function login_form_fill_submit(form)
{
  var remember_me = get_cookie('remember_me');

  if (remember_me)
  {
    form.login.value = get_cookie('lms_login');
    form.pass.value = get_cookie('lms_passwd');
    form.action = get_lms_url('home');
  }
  else
  { form.action = 'login'; }

  form.submit();
}

// Process GET params (from LMS) and display message in 'element_id'
function process_page_args(element_id, lang)
{
  var msg_tab;
  var query = '' + location.search;
  
  var url = window.location.href;
  var noparams = url.split('?');
  var nohttp = noparams[0].split('//');
  var urlparts = nohttp[1].split("/");
  if ( typeof( urlparts[2] ) != "undefined" )
	  lang = 'en';
  switch (lang)
  {
  case 'fr' :
    msg_tab = lms_msg_fr;
    break;
  case 'es' :
    msg_tab = lms_msg_es;
    break;
  case 'de' :
    msg_tab = lms_msg_de;
    break;
  case 'ru' :
	msg_tab = lms_msg_ru;
	break;
  case 'pt' :
	msg_tab = lms_msg_pt;
	break;
  default :	// en
    msg_tab = lms_msg_en;
  }

  if (query.length < 1) { return; }

  query = query.substring(1);

  var keypairs = new Object();
  var numKP = 1;

  while (query.indexOf('&') > -1)
  {
    keypairs[numKP] = query.substring(0,query.indexOf('&'));
    query = query.substring((query.indexOf('&')) + 1);
    numKP++;
  }

  var i, txt, msg, keyName, keyValue;
  var is_error = false;

  keypairs[numKP] = query;
  for (i in keypairs)
  {
    msg = '';
    keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
    keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
    switch (keyName)
    {
    case 'loginerr' :		// Login error from LMS
      if (keyValue == '1')
      { msg = msg_tab[MSG_LOGIN_ERROR]; }
      txt = document.getElementById(element_id)
      is_error = true;
      break;
    case 'emailpasswd' :	// Return code email password lost from LMS
      if (keyValue == '1')
      { msg = msg_tab[MSG_MAIL_MY_PASS_OK]; }
      else
      {
	msg = msg_tab[MSG_MAIL_MY_PASS_KO];
      }
      txt = document.getElementById(element_id)
      break;
    }
    if (msg != '')
    { txt.innerHTML = msg; }
  }
}

function store_cookie(name, value, days)
{
  var expireDate = new Date();

  expireDate.setTime(expireDate.getTime() + days * 24 * 3600 * 1000);
  document.cookie =
    name + '=' + escape(value) + ';expires=' + expireDate.toGMTString();
}

function get_cookie(name)
{
  var start, end;

  start = document.cookie.indexOf(name + "=");
  if (start >= 0)
  {
    start += name.length + 1;
    end = document.cookie.indexOf(";", start);
    if (end < 0)
    { end = document.cookie.length; }
    return unescape(document.cookie.substring(start, end));
  }
  return '';
}

function toggle_remember_me(rotate_id)
{
  var remember_me = get_cookie('remember_me');

  if (remember_me)
  {
    document.getElementById(rotate_id).src = 'image/check_off.png';
    store_cookie('remember_me', '', -1);
    store_cookie('lms_login', '', -1);
    store_cookie('lms_passwd', '', -1);
  }
  else
  {
    document.getElementById(rotate_id).src = 'image/check_on.png';
    store_cookie('remember_me', '1', login_cookie_duration);
  }
}

function toggle_remember_video(rotate_id)
{
  var remember_me = get_cookie('remember_video');

  if (remember_me)
  {
    document.getElementById(rotate_id).src = 'image/check_off.png';
    store_cookie('remember_video', '', -1);
  }
  else
  {
    document.getElementById(rotate_id).src = 'image/check_on.png';
    store_cookie('remember_video', '1', login_cookie_duration);
  }
}

function fill_login_form(form, rotate_id, help_pass_id)
{
  var remember_me = get_cookie('remember_me');

  if (remember_me)
  {
    form.login.value = get_cookie('lms_login');
    form.pass.value = get_cookie('lms_passwd');
    document.getElementById(rotate_id).src = 'image/check_on.png';
    if (help_pass_id)
    {
      form.pass.style.display = 'block';
      document.getElementById(help_pass_id).style.display='none';
    }
  }
}

function login_form_save_submit(form)
{
  var remember_me = get_cookie('remember_me');

  if (remember_me)
  {
    store_cookie('lms_login', form.login.value, login_cookie_duration);
    store_cookie('lms_passwd', form.pass.value, login_cookie_duration);
  }
  else
  {
    store_cookie('lms_login', '', -1);
    store_cookie('lms_passwd', '', -1);
  }
  
  /*if (form.landcode)
	  form.langcode.value = form.selectlang.options[form.selectlang.selectedIndex].value;
	  */

  form.action = get_lms_url('login');
  form.submit();
}

function get_lms_url(url_type)
{
  var url = lms_url + '/data/modules/yes/candidate/';

  switch (url_type)
  {
  case 'home' :			url += 'login_trainee.php';	break;
  case 'login' :		url += 'login_trainee.php';	break;
  case 'email_my_passwd' :	url += 'login.php';		break;
  }

  return url;
}

function changeLoginLang(code) {
	var url = window.location.href;
	var noparams = url.split('?');
	var nohttp = noparams[0].split('//');
	var urlparts = nohttp[1].split("/");
	var urllogin = "http://"+urlparts[0]+"/"+urlparts[1];
	var newurllogin = '';
	if (urlparts[1] == "login") {
		switch (code) {
		case "en":
			newurllogin = urllogin+"/"+code;
			break;
		default:
			newurllogin = urllogin;
			break;
		}
	}

	window.location.href = newurllogin;
}
