/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

manage Error on mail : manageResultRegisterDemand

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ */

function connect()
//================
{
  clearTextContent( document.getElementById("regAppliErrorMessage") );
  setRowHidden( document.getElementById("errorAccountCreation"), true );  
  hide('registerApplicationDiv');
  
  clearTextContent(  document.getElementById("loginFormMessage") ); 
	show('loginDiv');
	var field = document.forms['loginForm'].email;
  field.value = document.forms['registerAppliForm'].email.value;
	field.focus();
}

function register(role)
//=====================
{
	hide('loginDiv');
	if( role == 'U' ) {
	  show('registerApplicationDiv');
	  document.getElementById('switchType').innerHTML=LABEL_PRO_REQUEST;
	  document.getElementById('switchType').onclick = function() {register('P');return false;}
    document.forms['registerAppliForm'].service.value='registerDemand';
    document.forms['registerAppliForm'].email.focus();
    setRowHidden(document.getElementById('nameRow'),true);
    setRowHidden(document.getElementById('firstNameRow'),true);
    setRowHidden(document.getElementById('companyRow'),true);
    setRowHidden(document.getElementById('phoneRow'),true);
    setRowHidden(document.getElementById('docRow'),true);
    setRowHidden(document.getElementById('callRow'),true);
    setRowHidden(document.getElementById('messageRow'),true);
    //interaction with validate.js
    mandatory['registerAppliForm'] = new Array('email');
  }
  else if( role == 'P' ) {
    show('registerApplicationDiv');
    document.forms['registerAppliForm'].service.value='registerProRequest';
    document.getElementById('switchType').innerHTML=LABEL_PUBLIC_REQUEST
    document.getElementById('switchType').onclick = function() {register('U');return false;}
    setRowHidden(document.getElementById('nameRow'),false);
    document.forms['registerAppliForm'].name.focus();
    setRowHidden(document.getElementById('firstNameRow'),false);
    setRowHidden(document.getElementById('companyRow'),false);
    setRowHidden(document.getElementById('phoneRow'),false);
    setRowHidden(document.getElementById('docRow'),false);
    setRowHidden(document.getElementById('callRow'),false);
    setRowHidden(document.getElementById('messageRow'),false);
    //interaction with validate.js
    mandatory['registerAppliForm'] = new Array('email','name','firstname','company');
  }
}
/*
function registerProfessional()
//=============================
{
	hide('loginBoxContent');
	showInline('openButton1');
	show('registerBox');
	
	document.forms['registerForm'].email.focus();
}*/

function returnToConnect()
//========================
{
  hide('registerApplicationDiv');
	show('loginDiv');
}

function submitPasswordDemand(currentLanguage)
//============================================
{
  clearTextContent(  document.getElementById("loginFormMessage") ); 
  
  //part of validateForm("loginForm", currentLanguage, "loginFormMessage")
  //password is not mandatory
  var form = document.forms.loginForm;
  var field = form["email"];
  if( field.value == '' )
  {
    displayError( noText[currentLanguage] + items[currentLanguage]["email"] , "loginFormMessage");
    field.focus();
    return false;
  }
  if( field.value.search( regex[EMAIL] ) == -1 ) 
  {
    displayError( "Cet email n'est pas valide." , "loginFormMessage");
    field.focus();
    return false;
  }
  
  form.passwordForgotten.value='true';
  form.submit();
  return true;
}

function submitRegisterDemand(currentLanguage)
//============================================
{
  if( validateForm("registerAppliForm", currentLanguage, "regAppliErrorMessage") )
  {
    clearTextContent( document.getElementById("regAppliErrorMessage") );
    setRowHidden( document.getElementById("errorAccountCreation"), true );
      
    document.getElementById("regAppliButton").disabled = true;    
    postForm("", "registerAppliForm", manageResultRegisterDemand);
  }
  return false;
}

function manageResultRegisterDemand(loader)
//=========================================
{
  document.getElementById("regAppliButton").disabled = false;
  
  var xmlDoc = loader.req.responseXML.documentElement;
  var status = getFirstElementValue(xmlDoc, "status");

	if( status == "ok_creation" )
	{
    hide('registerApplicationDiv');
    show('registeredAppliMessage');
  }
  else if (status == "ok_pro")
  {
    hide('registerApplicationDiv');
    show('registeredProMessage');
  } 
  else if( status == "ko_account" )
  {
    displayError( errorsLabels["fr"]["ERROR_ACCOUNT_CREATION"] , "regAppliErrorMessage");
    setRowHidden( document.getElementById("errorAccountCreation"), false );
    //field.focus();
  }
  else if( status == "ko_mail" )
  {
    displayError( errorsLabels["fr"]["ERROR_MAIL_ACCOUNT_CREATION"] , "regAppliErrorMessage");
    //field.focus();
  }
  else if ( status == "ko_request") {
    displayError( errorsLabels["fr"]["ERROR_PRO_REQUEST"] , "regAppliErrorMessage");
  }
  else
    displayError( errorsLabels["fr"]["UNDEFINED_ERROR"] , "regAppliErrorMessage");
}

function initProAccountCreation()
//===============================
{
  hide('createProAccountMessage');
  hide('createProAccountErrorMessage');
  show('createAccountDiv');
  clearFormContent('createProAccountForm');
}
function submitProAccountCreation(currentLanguage)
//================================================
{
  if( validateForm("createProAccountForm", currentLanguage, "proAccountErrorMessage") )
  {
    clearTextContent( document.getElementById("proAccountErrorMessage") );
    setRowHidden( document.getElementById("proAccountErrorMessage"), true );
      
    document.getElementById("proAccountButton").disabled = true;    
    postForm("", "createProAccountForm", manageCreateProAccount);
  }
  return false;
}
function manageCreateProAccount(loader)
//=====================================
{
  document.getElementById("proAccountButton").disabled = false;
  
  var xmlDoc = loader.req.responseXML.documentElement;
  var status = getFirstElementValue(xmlDoc, "status");

	if( status == "ok_creation" )
	{
    hide('createAccountDiv');
    hide('createProAccountErrorMessage');
    show('createProAccountMessage');
  }
  /*
  else if (status == "ok_pro")
  {
    hide('registerApplicationDiv');
    show('registeredProMessage');
  }
  */
  else if( status == "ko_account" )
  {
    displayError( errorsLabels["fr"]["ERROR_ACCOUNT_CREATION"] , "regAppliErrorMessage");
    hide('createProAccountMessage');
    show('createProAccountErrorMessage');
    //setRowHidden( document.getElementById("errorAccountCreation"), false );
    //field.focus();
  }
  /*
  else if( status == "ko_mail" )
  {
    displayError( errorsLabels["fr"]["ERROR_MAIL_ACCOUNT_CREATION"] , "proAccountErrorMessage");
    //field.focus();
  }
  else if ( status == "ko_request") {
    displayError( errorsLabels["fr"]["ERROR_PRO_REQUEST"] , "regAppliErrorMessage");
  }
  else
    displayError( errorsLabels["fr"]["UNDEFINED_ERROR"] , "regAppliErrorMessage");
  */
}
