// 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.e, 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("You must choose a year");
  else if(f.make.selectedIndex == -1 || isBlank(f.make.options[f.make.selectedIndex].value))
    alert("You must choose a make");
  else if(f.model.selectedIndex == -1 || isBlank(f.model.options[f.model.selectedIndex].value) && isBlank(f.modelalt.value))
    alert("You must choose or write a model");
  else if(isBlank(f.color.options[f.color.selectedIndex].value))
    alert("You must choose an exterior color");
  else if(isBlank(f.km.value))
    alert("You must write the mileage (write « 0 » if you don't know)");
  else if(!isNumber(f.km.value))
    alert("The mileage is invalid");
  else if(isBlank(f.price.value))
    alert("You must write the price asked");
  else if(!isNumber(f.price.value) || parseInt(f.price.value) < 1)
    alert("Price asked is invalid");
  //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("NS",  '902'),
    new Array("NU",  '867'),
    new Array("ON",  '289', '416', '519', '613', '647', '705', '807', '905'),
    new Array("PEI", '902'),
    new Array("QC",  '418', '450', '514', '819'),
    new Array("SK",  '306'),
    new Array("NF",  '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("You must enter your name");
  else if(isBlank(f.city.value))
    alert("You must enter your city");
  else if(!validatePC(f.postalcode, false))
    alert("The postal code needs to be in the following format :\nH9H 9H9");
  else if(f.province.selectedIndex < 1)
    alert("You must select a province or a territory");
  else if((isBlank(f.phone_day.value)) && (isBlank(f.phone_night.value)))
    alert("You must enter your phone number (day or evening)");
  else if(!isBlank(f.phone_day.value) && isBlank(f.area_day.options[f.area_day.selectedIndex].value))
    alert("You must enter your area code (day)");
  else if(!isBlank(f.phone_night.value) && isBlank(f.area_night.options[f.area_night.selectedIndex].value))
    alert("You must enter your area code (evening)");
  else if(!validateEmail(f.email.value))
    alert("The e-mail field is empty or the address is invalid");
  else if(f.email.value != f.e2.value)
    alert("The two e-mail fields don't match");
  /*else if(isBlank(f.password.value))
    alert("You must enter a password");    */
  else if(!validateACs(f))
    alert("The area code you selected doesn't correspond to your 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">Year</td><td class="colmake bold">Make</td><td class="colmodel bold">Model</td><td class="colkm bold">KM</td><td class="lastcol bold">Price</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;">There are no vehicles in our database matching your request.</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 : 'n/a') + '</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\">'Price' : Please write your desired price (format: 9999 or 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\">'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 (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\">'Color' : Please select your vehicle's color</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('color');
  }  
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "The following fields require your attention:";
  else
    title_err = "The following field requires your attention:";

  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\">'Username' : Please write your username</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('agun2');
    
    if(!validateField('agpw2', regexNotEmpty) || validateField('agpw2', regexOnlySpace)){
      errorField('agpw2');
      msgerreur += "<li><a href=\"#a-agpw2\">'Password' : Please write your password</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('agpw2');
    
    section = 'login';
  }
  else{
    if (!validateField('firstname', regexAlpha)){
      errorField('firstname');
      msgerreur += "<li><a href=\"#a-fname\">'First name' : Please write your first name</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('firstname');
    
    if (!validateField('lastname', regexAlpha)){
      errorField('lastname');
      msgerreur += "<li><a href=\"#a-lname\">'Last name' : Please write your last name</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('lastname');
    
    if (!(document.getElementById('genderm').checked || document.getElementById('genderf').checked)){
      msgerreur += "<li><a href=\"#a-gender\">'Gender' : Please select your gender</a></li>";
      erreur = true;
      nb_err++;
    }
    
    if (!(!validateField('email', regexEmailNo) && validateField('email', regexEmailYes))){
      errorField('email');
      msgerreur += "<li><a href=\"#a-email\">'E-mail' : Please write a valid e-mail address</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('email');
    
    if (document.getElementById('province').selectedIndex == 0){
      errorField('province');
      msgerreur += "<li><a href=\"#a-province\">'Province' : Please select your province</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('province');
    
    if (!validateField('pcode', regexPC)){
      errorField('pcode');
      msgerreur += "<li><a href=\"#a-pcode\">'Postal code' : Please write your postal code</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\">'Username' : Please write a username</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('username');
    
    if(!validateField('password', regexNotEmpty) || validateField('password', regexOnlySpace)){
      errorField('password');
      msgerreur += "<li><a href=\"#a-password\">'Password' : Please write a password</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\">'Re-type password' : Please re-type your password</a></li>";
        erreur = true;
        nb_err++;
      }
      else
        okField('password2');
    }
    
    if(!document.getElementById('accept').checked){
      msgerreur += "<li><a href=\"#a-accept\">You must accept our Terms and Conditions to register</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 = "The following fields require your attention:";
  else
    title_err = "The following field requires your attention:";
  
  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\">'Name' : Please write your name</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('uname');
  
  if (!validateField('city', regexAlpha)){
    errorField('city');
    msgerreur += "<li><a href=\"#a-city\">'City' : Please write your city</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('city');
  
  if (!validateField('pcode', regexPC)){
    errorField('pcode');
    msgerreur += "<li><a href=\"#a-pcode\">'Postal code' : Please write your postal code</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\">'Telephone (day)' : Please write your phone number</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\">'Telephone (night)' : Please write your phone number</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\">'E-mail' : Please write a valid e-mail address</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\">'Re-type e-mail' : Please re-type your e-mail address</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('e2');
  }
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "The following fields require your attention:";
  else
    title_err = "The following field requires your attention:";

  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();
}