/* Check formular fields
************************ */
function validForm(formular, element, object, fields, returnAction) { 

  // Constants
  var alertMsg  = "Veuillez saisir :";
  var highlight = "#f3c200";

  // Check fields
  for (i = 0; i < fields; i++) {

    // Reset highlight
    object[i].style.backgroundColor = "white";
    
    // Highlight
    if (formular.elements[element[i][0]].value == "") {
      object[i].style.backgroundColor = highlight;
      alertMsg = alertMsg + element[i][1];
    }
  }

  // Show warning message
  if (alertMsg != "Veuillez saisir :") {
    alert(alertMsg);
    return false;
  }

  // Submit formular
  else {
    if (returnAction != null) {
      returnAction = eval(returnAction);
      return returnAction;
    }

    else {
      return true;
    }
  }
}


/* Report
********* */
function validFormReport(formular) {

  // IDs & messages
  var element = new Array(
    new Array("title", "\n - le titre"),
    new Array("description", "\n - les détails")
  );

  var returnAction = "report(); getReport();";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}


/* Process
********** */
function validFormProcess(formular) {

  // IDs & messages
  var element = new Array(
    new Array("processing_detail", "\n - les détails")
  );

  var returnAction = "process(); refreshEvents('manager');";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}

/* Manager's profil
******************* */
function validFormProfilManager(formular) {

  // IDs & messages
  var element = new Array(
    new Array("name", "\n - votre nom"),
    new Array("function", "\n - votre fonction")
  );

  var returnAction = "profilManager(); refreshEvents('profil');";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}


/* User's profil
**************** */
function validFormProfilUser(formular) {

  // IDs & messages
  var element = new Array(
    new Array("name", "\n - votre pseudo"),
    new Array("real_name", "\n - votre nom"),
    new Array("address", "\n - votre adresse"),
    new Array("city", "\n - votre localité"),
    new Array("phone", "\n - votre téléphone")
  );

  var returnAction = "profilUser(); refreshEvents('profil');";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0]),
    document.getElementById(element[2][0]),
    document.getElementById(element[3][0]),
    document.getElementById(element[4][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}


/* Comment
********** */
function validFormComment(formular) {

  // IDs & messages
  var element = new Array(
    new Array("comment_detail", "\n - votre commentaire")
  );

  var returnAction = "addComment(); refreshEvents('icons');";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}

/* Login
******** */
function validFormLogin(formular) {

  // IDs & messages
  var element = new Array(
    new Array("email", "\n - votre adresse e-mail"),
    new Array("password", "\n - votre mot de passe")
  );

  var returnAction = "loginForm();";

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}

/* Feedback
*********** */
function validFormFeedback(formular) {

  // IDs & messages
  var element = new Array(
    new Array("name", "\n - votre nom"),
    new Array("email", "\n - votre adresse e-mail"),
    new Array("message", "\n - votre message")
  );

  var returnAction = null;

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0]),
    document.getElementById(element[2][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}

/* Register
*********** */
function validFormRegister(formular) {

  // IDs & messages
  var element = new Array(
    new Array("name", "\n - votre pseudo"),
    new Array("email", "\n - votre adresse e-mail"),
    new Array("password", "\n - votre mot de passe"),
    new Array("real_name", "\n - votre nom"),
    new Array("address", "\n - votre adresse"),
    new Array("city", "\n - votre localité"),
    new Array("phone", "\n - votre téléphone")
  );

  var returnAction = null;

  // Inputs for highlighting
  var object = new Array(
    document.getElementById(element[0][0]),
    document.getElementById(element[1][0]),
    document.getElementById(element[2][0]),
    document.getElementById(element[3][0]),
    document.getElementById(element[4][0]),
    document.getElementById(element[5][0]),
    document.getElementById(element[6][0])
  );

  var fields = element.length; 

  return validForm(formular, element, object, fields, returnAction);
}