function $()
{
  
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++)
  {
    var element = arguments[i];

    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
  
}

function validate(id,lang)
{

  // Regular expressions patterns
  var REXP_NAME = "^[A-Za-z\-\'\x20]+$";
  var REXP_CNAME = "^[A-Za-z0-9\-\.\'\&\x20]+$";
  var REXP_EMAIL = "^[A-Za-z0-9\.\_\-]+@([A-Za-z0-9\-]+.)*[A-Za-z0-9\-]+.[A-Za-z]{2,6}$";
  
  // Error messages
  var INVALID_NAME = "Please enter your full name. Omit any accents.";
  var INVALID_NAME_FR = "Veuillez saisir votre nom.\nSi votre nom contient des accents veuillez les enlever.";
  var INVALID_CNAME = "Please enter your company name. Omit any accents.";
  var INVALID_CNAME_FR = "Veuillez saisir le nom de votre compagnie.\nSi le nom contient des accents veuillez les enlever.";
  var INVALID_TEL = "Please fill in the telephone field.";
  var INVALID_TEL_FR = "Veuillez entrer un numéro de téléphone.";
  var INVALID_EMAIL = "The email address entered is invalid.";
  var INVALID_EMAIL_FR = "Veuillez entrer une adresse courriel valide.";
  var INVALID_COMMENTS = "Please fill in the request field.";
  var INVALID_COMMENTS_FR = "Veuillez remplir le champ : demande.";
  
  // Create variables
  
  var validName = new RegExp(REXP_NAME);
  var validCName = new RegExp(REXP_CNAME);
  var validEmail = new RegExp(REXP_EMAIL);
  
  var errormsgs = null;
  
  var errormsgs_en = '{"INVALID_FN" : INVALID_NAME, "INVALID_CNAME" : INVALID_CNAME, "INVALID_TEL" : INVALID_TEL, "INVALID_EMAIL" : INVALID_EMAIL,"INVALID_COMMENTS" : INVALID_COMMENTS}';
  var errormsgs_fr = '{"INVALID_FN" : INVALID_NAME_FR,"INVALID_CNAME" : INVALID_CNAME_FR, "INVALID_TEL_FR" : INVALID_TEL_FR, "INVALID_EMAIL" : INVALID_EMAIL_FR,"INVALID_COMMENTS" : INVALID_COMMENTS_FR}';
                      
  errormsgs_en = eval('(' + errormsgs_en + ')');
  errormsgs_fr = eval('(' + errormsgs_fr + ')');
                      
  if (lang == "en")
    errormsgs = errormsgs_en;
  else if (lang == "fr")
    errormsgs = errormsgs_fr;
    
  if (!validName.test($('fn').value))
  {
    alert(errormsgs["INVALID_FN"]);
    return;
  }
  if(!validCName.test($('cn').value))
  {
    alert(errormsgs["INVALID_CNAME"]);
    return;
  }
  if($('formWebDemo') != null)
  {
    if($('tel').value == "")
    {
      alert(errormsgs["INVALID_TEL"]);
      return;
    }
  }
  if(!validEmail.test($('email').value))
  {
    alert(errormsgs["INVALID_EMAIL"]);
    return;
  }
  if ($('formInfo') != null)
  {
    if($('comments').value == "")
    {
      alert(errormsgs["INVALID_COMMENTS"]);
      return;
    }
  }
  
  $(id).submit();
  
}