// 2009-06-17 CR remove sIFR
/* req: /site/js/geo.js, /lng/site/js/geo.js */

function myOnLoad()
{
  if(typeof(_onload) != "undefined") {
    _onload();
  }
}

function switchEvaluate()
{
  var e1 = document.getElementById("postcar");
  var e2 = document.getElementById("evalcar");
  if(e1 != null && e2 != null) {
    e1.style.display = 'none';
    e2.style.display = '';
  }
}

function switchPost()
{
  var e1 = document.getElementById("postcar");
  var e2 = document.getElementById("evalcar");
  if(e1 != null && e2 != null) {
    e2.style.display = 'none';
    e1.style.display = '';
  }
}

currentSection = null;

function switchSection(section)
{
  var validForm = true;
  
  if(section == 2){
    validForm = validateSection(section);
    
    /*if(validForm)
      saveCar();*/
  }
  
  if(validForm){
    if(section != 4){
      if(currentSection == null) currentSection = document.getElementById("step1");
      
      var e = document.getElementById('step' + (section + 1));
      
      if(currentSection != null && e != null && currentSection != e) {
        currentSection.style.display = 'none';
        e.style.display = 'block';
        currentSection = e;
        
//        sIFR.replace(helvetica, { selector: 'h2.faded', css: [ '.sIFR-root { color: #CCCCCC; font-size:14px; text-align:left; font-weight:bold; text-transform: uppercase;}' ], wmode: 'transparent', tuneHeight:-6, offsetTop:0 });
//        sIFR.replace(helvetica, { selector: 'h4.faded', css: [ '.sIFR-root { color: #CCCCCC; font-size:14px; text-align:left;}' ], wmode: 'transparent', tuneHeight:-6, offsetTop:0 });
//        
//        sIFR.replace(helvetica, { selector: 'h2', css: [ '.sIFR-root { color: #067CAE; font-size:14px; text-align:left; font-weight:bold; text-transform: uppercase;}' ], wmode: 'transparent', tuneHeight:-6, offsetTop:0 });
//        sIFR.replace(helvetica, { selector: 'h4', css: [ '.sIFR-root { color: #656565; font-size:14px; text-align:left; }' ], wmode: 'transparent', tuneHeight:-6, offsetTop:0 });
        
        //document.location.href = "#asteps";
      }
    }
    else{
      saveCar();
      //document.getElementById('usedcarform').submit();
    }
  }
  
  return false;
}
/*function switchSectionInit(section)
{
  var NB_STEPS = 4;
  
  for(i = 1; i <= NB_STEPS; i++){
    document.getElementById('step' + i).style.display = 'none';
  }
  
  document.getElementById('step1').style.display = '';
}*/

function fileUpload(id)
{
  var e = document.getElementById(id);
  if(e != null) {
    e.click();
  }
  return false;
}

function mmentry(ma,mo)
{
  this.make=ma;
  this.models=mo;
}

function updateModels(f)
{
  var smakes = f.make;
  var smodels = f.model;

  /*
  .. maybe v8 needed this !?
  if(smodels.options.length > 0) {
    o = smodels.options[smodels.options.length-1]
    smodels.options[smodels.options.length-1] = null
  }
  else {
    o = null;
  }*/

  var make = smakes[smakes.selectedIndex].value
  var models = 0
  for(idx = 0; idx < mm.length; ++idx)  {
    m = mm[idx]
    if(m.make == make)  {
      smodels.selectedIndex = 0
      for(idx = 1; idx < m.models.length+1; ++idx)
        smodels.options[idx] = new Option(m.models[idx-1], m.models[idx-1])
      while(idx < smodels.options.length)
        smodels.options[idx] = null
      break
    }
  }
  /*if(o != null) {
    smodels.options[smodels.options.length] = o
  }*/
}

function matchModel(f, m)
{
  for(idx = 0; idx < f.model.options.length; ++idx)  {
    model = f.model.options[idx]
    if(model.value == m)  {
      f.model.selectedIndex = idx
      return
    }
  }
  f.model.options[f.model.options.length] = new Option(m, m)
  f.model.selectedIndex = f.model.options.length - 1
}

function BodyStyle(id,e,f)
{
  this.id = id
  this.e = e
  this.f = f
}

function updateBodyStyles(f)
{
  while(f.bodystyle.length > 2)
    f.bodystyle.options[1] = null
  cat = f.category.options[f.category.selectedIndex].value
  if(cat == '' || cat == null)
    return
  items = eval("cat_" + cat)
  o = f.bodystyle.options[f.bodystyle.options.length-1]
  f.bodystyle.options[f.bodystyle.options.length-1] = null
  for(idx = 0; idx < items.length; ++idx)  {
    i = items[idx]
    f.bodystyle.options[f.bodystyle.options.length] = new Option(i.f, i.id)
  }
  f.bodystyle.options[f.bodystyle.options.length] = o
}

function matchBodyStyle(f, b)
{
  for(idx = 0; idx < f.bodystyle.options.length; ++idx)  {
    model = f.bodystyle.options[idx]
    if(model.value == b)  {
      f.bodystyle.selectedIndex = idx
      break
    }
  }
}

function isBlank(s)
{
  return (s == null || s == "");
}

function isNumber(s)
{
  digits = "0123456789"
  for(var i = 0; i < s.length; i++)  {
    if(digits.indexOf(s[i]) < 0)
      return false
  }
  return true
}

function findLastSubString(str, matchText)
{
  for(i = str.length - 1; i > 0; i--) {
   idx = str.indexOf(matchText, i);
   if(idx != -1) {
      return idx;
    }
  }
}

function isSupportedFileTye(filename)
{

  allowedExt = new Array('.jpg','.gif');
  supported = false;

  pos = findLastSubString(filename,".");
  ext = filename.substring(pos).toLowerCase();

  for(i=0;i<allowedExt.length;i++){
    if(allowedExt[i] == ext){
      supported = true;
    }
  }

  return supported;
}

function _validatePostCarForm(f)
{
  var ok = false;

  if(isBlank(f.year.options[f.year.selectedIndex].value))
    alert("Vous devez choisir une année");
  else if(f.make.selectedIndex == -1 || isBlank(f.make.options[f.make.selectedIndex].value))
    alert("Vous devez choisir une marque");
  else if(f.model.selectedIndex == -1 || isBlank(f.model.options[f.model.selectedIndex].value) && isBlank(f.modelalt.value))
    alert("Vous devez choisir ou écrire un modèle");
  else if(isBlank(f.color.options[f.color.selectedIndex].value))
    alert("Vous devez choisir une couleur extérieure");
  else if(isBlank(f.km.value))
    alert("Vous devez inscrire le kilométrage (inscrivez « 0 » si vous ne le savez pas)");
  else if(!isNumber(f.km.value))
    alert("Le kilométrage est invalide");
  else if(isBlank(f.price.value))
    alert("Vous devez inscrire le prix demandé");
  else if(!isNumber(f.price.value) || parseInt(f.price.value) < 1)
    alert("Le prix demandé est invalide");
  //else if((!isBlank(f.photo.value)) && (!isSupportedFileTye(f.photo.value)))
  //  alert("The photo must be in the following format: .gif , .jpg");
  else
    ok = true

  return ok
}

function describeEstimationTool()
{
  var e = document.getElementById('evaltext');
  if(e != null) {
    e.style.display = 'block';
  }
  return false;
}

function validatePostCarForm(f)
{
  if(_validatePostCarForm(f)) {
    saveCar(); // multifileupload.js
    //f.submit();
  }
}

function postCarMinElementsFilled(f)
{
  var minFilled = true;
  if(isBlank(f.year.options[f.year.selectedIndex].value))
    minFilled = false;
  else if(isBlank(f.make.options[f.make.selectedIndex].value))
    minFilled = false;
  else if(isBlank(f.model.options[f.model.selectedIndex].value) && isBlank(f.modelalt.value))
    minFilled = false;
  else if(isBlank(f.color.options[f.color.selectedIndex].value))
    minFilled = false;
  else if(isBlank(f.km.value))
    minFilled = false;
  else if(!isNumber(f.km.value))
    minFilled = false;
  else if(isBlank(f.price.value))
    minFilled = false;
  else if(!isNumber(f.price.value) || parseInt(f.price.value) < 1)
    minFilled = false;
  //else if((!isBlank(f.photo.value)) && (!isSupportedFileTye(f.photo.value)))
  //  minFilled = false;
  return minFilled;
}

function checkPostCarMinElementsFilled(f)
{
  if(postCarMinElementsFilled(f)) {
    
  }
}

function validateEmail(email)
{
  if(isBlank(email))
    return false;

  return true;
}

function validateOneAC(pr, ac1)
{
  var pracs = new Array(
    new Array("AB",  '403', '780'),
    new Array("BC",  '250', '604', '778'),
    new Array("MB",  '204'),
    new Array("NB",  '506'),
    new Array("NL",  '902'),
    new Array("NU",  '867'),
    new Array("ON",  '289', '416', '519', '613', '647', '705', '807', '905'),
    new Array("PE", '902'),
    new Array("QC",  '418', '450', '514', '819'),
    new Array("SK",  '306'),
    new Array("NL",  '709'),
    new Array("NT",  '867'),
    new Array("YT",  '867')
  )
  var ok = false;
  for(i in pracs)  {
    acs = pracs[i]
    if(acs[0] == pr)  {
      // Bingo!
      ok = false
      for(j = 1; j < acs.length; ++j)  {
        ac = acs[j]
        if(ac1 == ac)
          ok = true;
      }
    }
  }
  return ok;
}

function validateACs(f)
{
  var pr = f.province.options[f.province.selectedIndex].value;
  var ac1 = f.area_day.options[f.area_day.selectedIndex].value;
  var ac2 = f.area_night.options[f.area_night.selectedIndex].value;
  var ok = true;

  if(ac1 != "")
    ok = ok && validateOneAC(pr, ac1)
  if(ac2 != "")
    ok = ok && validateOneAC(pr, ac2)

  return ok;
}

function validatePersonalInfoForm(f)
{
  var ok = false

  if(isBlank(f.name.value))
    alert("Vous devez inscrire votre nom");
  else if(isBlank(f.city.value))
    alert("Vous devez choisir une ville");
  else if(!validatePC(f.postalcode, false))
    alert("Le code postal doit être dans le format suivant :\nH9H 9H9");
  else if(f.province.selectedIndex < 1)
    alert("Vous devez choisir une province ou un territoire");
  else if((isBlank(f.phone_day.value)) && (isBlank(f.phone_night.value)))
    alert("Vous devez inscrire votre numéro de téléphone (jour ou soir)");
  else if(!isBlank(f.phone_day.value) && isBlank(f.area_day.options[f.area_day.selectedIndex].value))
    alert("Vous devez inscrire votre code régional (jour)");
  else if(!isBlank(f.phone_night.value) && isBlank(f.area_night.options[f.area_night.selectedIndex].value))
    alert("Vous devez inscrire votre code régional (soir)");
  else if(!validateEmail(f.email.value))
    alert("Le champ du courriel est vide ou votre adresse est invalide");
  else if(f.email.value != f.e2.value)
    alert("Les deux champs du courriel ne correspondent pas");
  /*else if(isBlank(f.password.value))
    alert("You must enter a password");    */
  else if(!validateACs(f))
    alert("Le code régional que vous avez sélectionné ne correspond pas à votre province");
  else
    ok = true;
  
  if(ok) {
    f.submit();
  }
  return false;
}

function viewComparableVehicles(year, make, model, low, high)
{
  var e1 = document.getElementById("placead1");
  var e2 = document.getElementById("placead2");
  if(e1 != null && e2 != null) {
    var o = document.getElementById("comparablevehiclestable");
    if(o != null) {
      e1.style.display = "none";
      e2.style.display = "";

      var HTML = '<tr class="alt1"><td class="firstcol bold">Année</td><td class="colmake bold">Marque</td><td class="colmodel bold">Modèle</td><td class="colkm bold">KM</td><td class="lastcol bold">Prix</td></tr>';
      var url = "support_comparables.spy?make=" + escape(make) + "&model=" + escape(model) + "&year=" + escape(year) + "&price1=" + low + "&price2=" + high + "&t=" + parseInt(Math.random() * 100000);
      // Send a blocking request...
      http = createXMLHttpRequestObject();
      if(http != null) {
         get_xmlwait(http, url);
         var response = http.responseText;
         while(response.length > 2 && !(response.charAt(0) == '[' && response.charAt(1) == '{')) {
           response = response.substring(1);
         }
         
         
         try {
           var data = eval(response);
         }
         catch(error) {
           var data = [];
           HTML += '<tr><td colspan="5" class="firstcol lastcol bold" style="text-align: center; width: 600px !important;">Il n\'y a aucun véhicule correspondant à votre demande dans notre base de donnée.</td></tr>';
         }
         
         for(var i = 0; i < data.length; i++) {
           car = data[i];
           HTML += '<tr><td class="firstcol">' + car.year + '</td><td class="colmake">' + car.make + '</td><td class="colmodel">' + car.model + '</td><td class="colkm">' + car.km + ' km</td><td class="lastcol">' + (car.price ? car.price + ' $' : 's.o.') + '</td></tr>';
         }
      }
      
      HTML = '<table cellpadding="0" cellspacing="0" class="cleantable vtop infotable-vehicles">' + HTML + '</table>';
      o.innerHTML = HTML;
    }  
  }
  return false;
}

function validatePaymentForm(f)
{
  return false;
}

function switchPackage(f, action, pkg)
{
  f.action = action;
  f.pkg.value = pkg;
  f.submit();
  return false;
}









var formSubmit = true; // variable pour empecher les clicks abusifs sous IE

if(window.RegExp){
  var regexAlpha = /^[A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\'\.]+$/;
  var regexNum = /^[0-9]+$/;
  var regexAlphaNum = /^[0-9A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\'\.]+$/;
  var regexAddress = /^[0-9]+(\,)? [0-9A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\.\,\']+$/;
  var regexPC = /^[A-Za-z][0-9][A-Za-z]( )?[0-9][A-Za-z][0-9]$/;
  var regexPhone = /^[0-9]{10}$/;
  var regexEmailNo = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
  var regexEmailYes = /^.+\@(\[?)[A-Za-z0-9\-\.]+\.([A-Za-z]{2,4}|[0-9]{1,3})(\]?)$/;
  var regexUrl = /^(?:(?:ftp|https?):\/\/)?(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?:com|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero|[a-z][a-z])\b(?:\d+)?(?:\/[^;"'<>()\[\]{}\s\x7f-\xff]*(?:[.,?]+[^;"'<>()\[\]{}\s\x7f-\xff]+)*)?/;
  var regexVIN = /^[0-9A-Za-z]{17}$/;
  var regexYear = /^[1-2][0-9]{3}$/;
  var regexKM = /^[0-9]+$/;
  var regexDate = /^[0-9]{4}\/((0[1-9])|(1[0-2]))\/((0[1-9])|((1|2)[0-9])|(3(0|1)))$/;
  /*var regexHour = /^(((0|1)[0-9])|(2[0-3]))$/;*/
  var regexMoney = /^[0-9\.]+$/;
  var regexLicence = /^[A-Za-z][0-9]{4}-[0-9]{6}-[0-9]{2}$/;
  var regexPlate = /^[A-Za-z0-9 -]{4,8}$/;
  
  var regexNotEmpty = /^.+$/;
  var regexOnlySpace = /^ +$/;
}

function validateField(field, regex){
  return regex.test(document.getElementById(field).value);
}

function errorField(field) {  
  if (document.layers) {
    fieldstyle = document.layers[field].className;
    document.layers[field].className = fieldstyle + ' field-err';
  }
  else if(document.getElementById){
    fieldstyle = document.getElementById(field).className;
    document.getElementById(field).className = fieldstyle + ' field-err';
  }
}
function okField(field){
  if (document.layers) {
    classname = document.layers[field].className;
    if (classname.search('long') != '-1')
      document.layers[field].className = 'long';
    else if (classname.search('short') != '-1')
      document.layers[field].className = 'short';
    else
      document.layers[field].className = '';
  }
  else if(document.getElementById){
    classname = document.getElementById(field).className;
    if (classname.search('long') != '-1')
      classname = document.getElementById(field).className = 'long';
    else if (classname.search('short') != '-1')
      classname = document.getElementById(field).className = 'short';
    else
      classname = document.getElementById(field).className = '';
  }
}

function validateSection(section) {
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  var title_err = '';
  var msgerreur = "<ul>";
  
  if(section == 2){
    if (!validateField('price', regexMoney)){
      errorField('price');
      msgerreur += "<li><a href=\"#a-price\">'Prix' : Veuillez entrer le prix de votre véhicule (format: 9999 ou 9999.99)</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('price');
    
    
    if (document.getElementById('make').selectedIndex == 0){
      errorField('make');
      msgerreur += "<li><a href=\"#a-make\">'Marque' : Veuillez sélectionner la marque de votre véhicule</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('make');
    
    if (document.getElementById('model').selectedIndex < 1 && (!validateField('modelalt', regexNotEmpty) || validateField('modelalt', regexOnlySpace))){
      errorField('model');
      msgerreur += "<li><a href=\"#a-model\">'Modèle' : Veuillez sélectionner le modèle de votre véhicule</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('model');
    
    if(!validateField('km', regexKM)){
      errorField('km');
      msgerreur += "<li><a href=\"#a-km\">'Kilométrage' : Veuillez entrer le kilométrage de votre véhicule (format: 9999)</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('km');
    
    if (document.getElementById('color').selectedIndex == 0){
      errorField('color');
      msgerreur += "<li><a href=\"#a-color\">'Couleur' : Veuillez choisir la couleur de votre véhicule</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('color');
  }  
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "Il y a un problème avec les champs suivants :";
  else
    title_err = "Il y a un problème avec le champ suivant :";

  if(erreur == true) {
		if(document.getElementById){
      document.getElementById('err-msg-' + section).innerHTML = title_err + msgerreur;
      document.getElementById('err-msg-' + section).className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else
    return true;
}

function validatePersonalInfo(section) {
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  var title_err = '';
  var msgerreur = "<ul>";
  
  if(section == 'login' || (section != 'create' && (document.getElementById('agun2').value != '' || document.getElementById('agpw2').value != ''))){
    if(!validateField('agun2', regexNotEmpty) || validateField('agun2', regexOnlySpace)){
      errorField('agun2');
      msgerreur += "<li><a href=\"#a-agun2\">'Nom d'utilisateur' : Veuillez entrer votre nom d'utilisateur</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('agun2');
    
    if(!validateField('agpw2', regexNotEmpty) || validateField('agpw2', regexOnlySpace)){
      errorField('agpw2');
      msgerreur += "<li><a href=\"#a-agpw2\">'Mot de passe' : Veuillez entrer votre mot de passe</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('agpw2');
    
    section = 'login';
  }
  else{
    if (!validateField('firstname', regexAlpha)){
      errorField('firstname');
      msgerreur += "<li><a href=\"#a-fname\">'Prénom' : Veuillez entrer votre prénom</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('firstname');
    
    if (!validateField('lastname', regexAlpha)){
      errorField('lastname');
      msgerreur += "<li><a href=\"#a-lname\">'Nom' : Veuillez entrer votre nom de famille</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('lastname');
    
    if (!(document.getElementById('genderm').checked || document.getElementById('genderf').checked)){
      msgerreur += "<li><a href=\"#a-gender\">'Sexe' : Veuillez indiquer votre sexe</a></li>";
      erreur = true;
      nb_err++;
    }
    
    if (!(!validateField('email', regexEmailNo) && validateField('email', regexEmailYes))){
      errorField('email');
      msgerreur += "<li><a href=\"#a-email\">'E-mail' : Veuillez entrer une adresse de courriel valide</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('email');
    
    if (document.getElementById('province').selectedIndex == 0){
      errorField('province');
      msgerreur += "<li><a href=\"#a-province\">'Province' : Veuillez indiquer votre province</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('province');
    
    if (!validateField('pcode', regexPC)){
      errorField('pcode');
      msgerreur += "<li><a href=\"#a-pcode\">'Code postal' : Veuillez entrer votre code postal</a></li>";
      erreur = true;
      nb_err++;
    }
    else{
      okField('pcode');
      
      var pc = document.getElementById('pcode').value;
      pc = pc.toUpperCase();
      if(pc.indexOf(' ') == -1)
        pc = pc.substring(0,3) + ' ' + pc.substring(3);
      document.getElementById('pcode').value = pc;
    }
    
    document.getElementById('acode').value = document.getElementById('area_j').value;
    document.getElementById('homephone').value = document.getElementById('phone2').value+'-'+document.getElementById('phone3').value+'*'+document.getElementById('phone4').value;
    
    if(!validateField('username', regexNotEmpty) || validateField('username', regexOnlySpace)){
      errorField('username');
      msgerreur += "<li><a href=\"#a-username\">'Nom d'utilisateur' : Veuillez choisir un nom d'utilisateur</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('username');
    
    if(!validateField('password', regexNotEmpty) || validateField('password', regexOnlySpace)){
      errorField('password');
      msgerreur += "<li><a href=\"#a-password\">'Mot de passe' : Veuillez choisir un mot de passe</a></li>";
      erreur = true;
      nb_err++;
    }
    else{
      okField('password');
      
      if (document.getElementById('password2').value != document.getElementById('password').value){
        errorField('password2');
        msgerreur += "<li><a href=\"#a-password2\">'Mot de passe (confirmation)' : Veuillez entrer votre mot de passe une seconde fois</a></li>";
        erreur = true;
        nb_err++;
      }
      else
        okField('password2');
    }
    
    if(!document.getElementById('accept').checked){
      msgerreur += "<li><a href=\"#a-accept\">Vous devez accepter nos termes et conditions pour vous inscrire</a></li>";
      erreur = true;
      nb_err++;
    }
    
    section = 'create';
  }
  
  
  
  
  
  
  /*
  if(section == 2){
    if (!validateField('price', regexMoney)){
      errorField('price');
      msgerreur += "<li><a href=\"#a-price\">'Price' : Please write your desired price</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('price');
    
    
    if (document.getElementById('make').selectedIndex == 0){
      errorField('make');
      msgerreur += "<li><a href=\"#a-make\">'Make' : Please select your vehicle's make</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('make');
    
    if (document.getElementById('model').selectedIndex < 1 && (!validateField('modelalt', regexNotEmpty) || validateField('modelalt', regexOnlySpace))){
      errorField('model');
      msgerreur += "<li><a href=\"#a-model\">'Model' : Please select your vehicle's model</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('model');
    
    if(!validateField('km', regexKM)){
      errorField('km');
      msgerreur += "<li><a href=\"#a-km\">'Mileage' : Please write the vehicle's mileage</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('km');
    
    if (document.getElementById('color').selectedIndex == 0){
      errorField('color');
      msgerreur += "<li><a href=\"#a-color\">'Color' : Please select your vehicle's color</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('color');
  }
  */
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "Il y a un problème avec les champs suivants :";
  else
    title_err = "Il y a un problème avec le champ suivant :";
  
  if(section == 'login'){
    if(erreur == true) {
  		if(document.getElementById){
        document.getElementById('err-msg').innerHTML = title_err + msgerreur;
        document.getElementById('err-msg').className = 'visible';
      }
      else
        alert(msgerreur);
      formSubmit = true;
  		return false;
    }
    else{
      document.getElementById('usedcarform').submit();
    }
  }
  else{
    if(erreur == true) {
  		if(document.getElementById){
        document.getElementById('err-msg2').innerHTML = title_err + msgerreur;
        document.getElementById('err-msg2').className = 'visible';
      }
      else
        alert(msgerreur);
      formSubmit = true;
  		return false;
    }
    else{
      document.getElementById('usedcarform2').submit();
    }
  }
}

function validateAccountInfo(f){
  var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  var title_err = '';
  var msgerreur = "<ul>";
  
  if(!validateField('uname', regexNotEmpty) || validateField('uname', regexOnlySpace)){
    errorField('uname');
    msgerreur += "<li><a href=\"#a-uname\">'Nom' : Veuillez entrer votre nom</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('uname');
  
  if (!validateField('city', regexAlpha)){
    errorField('city');
    msgerreur += "<li><a href=\"#a-city\">'Ville' : Veuillez entrer votre ville</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('city');
  
  if (!validateField('pcode', regexPC)){
    errorField('pcode');
    msgerreur += "<li><a href=\"#a-pcode\">'Code postal' : Veuillez entrer votre code postal</a></li>";
    erreur = true;
    nb_err++;
  }
  else{
    okField('pcode');
    
    var pc = document.getElementById('pcode').value;
    pc = pc.toUpperCase();
    if(pc.indexOf(' ') == -1)
      pc = pc.substring(0,3) + ' ' + pc.substring(3);
    document.getElementById('pcode').value = pc;
  }
  
  var phoneDay = document.getElementById('area_j').value + document.getElementById('phone2').value + document.getElementById('phone3').value;
  if (!regexPhone.test(phoneDay)){
    errorField('area_j');
    errorField('phone2');
    errorField('phone3');
    msgerreur += "<li><a href=\"#a-phone\">'Téléphone (jour)' : Veuillez entrer votre numéro de téléphone</a></li>";
    erreur = true;
    nb_err++;
  }
  else {
    okField('area_j');
    okField('phone2');
    okField('phone3');
  }
  
  var phoneNight = document.getElementById('area_s').value + document.getElementById('phone2s').value + document.getElementById('phone3s').value;
  if (!regexPhone.test(phoneNight)){
    errorField('area_s');
    errorField('phone2s');
    errorField('phone3s');
    msgerreur += "<li><a href=\"#a-phones\">'Téléphone (soir)' : Veuillez entrer votre numéro de téléphone</a></li>";
    erreur = true;
    nb_err++;
  }
  else {
    okField('area_s');
    okField('phone2s');
    okField('phone3s');
  }
  
  if (!(!validateField('email', regexEmailNo) && validateField('email', regexEmailYes))){
    errorField('email');
    msgerreur += "<li><a href=\"#a-email\">'Courriel' : Veuillez entrer une adresse de courriel valide</a></li>";
    erreur = true;
    nb_err++;
  }
  else{
    okField('email');
    
    if (document.getElementById('e2').value != document.getElementById('email').value){
      errorField('e2');
      msgerreur += "<li><a href=\"#a-email2\">'Courriel (confirmation)' : Veuillez entrer votre adresse courriel une seconde fois</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('e2');
  }
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "Il y a un problème avec les champs suivants :";
  else
    title_err = "Il y a un problème avec le champ suivant :";

  if(erreur == true) {
		if (document.layers) {
      document.layers.error.document.write(title_err + msgerreur);
      document.layers.error.document.close();
      document.layers['err-msg'].className = 'visible';
    }
    else if(document.getElementById){
      document.getElementById("err-msg").innerHTML = title_err + msgerreur;
      document.getElementById('err-msg').className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else
    document.getElementById(f).submit();
}