/* Функция isValidEmail принимает один или 2 аргумента:
email - электронный адрес для проверки;
strict - необязательный логический параметр (true/false), который 
определяет строгую проверку при которой пробелы до и после адреса 
считаются ошибкой

В качестве результата функция возвращает либо true, либо false
*/

function isValidEmail (email, strict)
{
 if ( !strict ) email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}


function checkFields()
{
  document.getElementById("lemail").setAttribute("class", "");
  document.getElementById("email").setAttribute("class", "txt");
  document.getElementById("message").setAttribute("class", "");
  document.getElementById("lmessage").setAttribute("class", "");
  if (isValidEmail(document.getElementById("email").value,0) & (document.getElementById("message").value!="")) 
  { 
    return 1;  
  }
  else 
  {
    if (!isValidEmail(document.getElementById("email").value,0))
    {
      document.getElementById("email").setAttribute("class", "txt error");
      document.getElementById("lemail").setAttribute("class", "error");
    }
    if ((document.getElementById("message").value==""))
    {
      document.getElementById("message").setAttribute("class", "error");
      document.getElementById("lmessage").setAttribute("class", "error");
    }
    return false;
  }
}

function checkFieldsQuote()
{
  document.getElementById("lemail").setAttribute("class", "");
  document.getElementById("email").setAttribute("class", "txt");
  document.getElementById("make").setAttribute("class", "txt");
  document.getElementById("lmake").setAttribute("class", "");
  document.getElementById("model").setAttribute("class", "txt");
  document.getElementById("lmodel").setAttribute("class", "");
  if (isValidEmail(document.getElementById("email").value,0) & (document.getElementById("make").value!="")& (document.getElementById("model").value!="")) 
  { 
    return true;  
  }
  else 
  {
    if (!isValidEmail(document.getElementById("email").value,0))
    {
      document.getElementById("email").setAttribute("class", "txt error");
      document.getElementById("lemail").setAttribute("class", "error");
    }
    if ((document.getElementById("model").value==""))
    {
      document.getElementById("model").setAttribute("class", "txt error");
      document.getElementById("lmodel").setAttribute("class", "error");
    }
    if ((document.getElementById("make").value==""))
    {
      document.getElementById("make").setAttribute("class", "txt error");
      document.getElementById("lmake").setAttribute("class", "error");
    }
    return false;
  }
}

function checkFieldsUsedQ()
{
  document.getElementById("lemail").setAttribute("class", "");
  document.getElementById("email").setAttribute("class", "txt");
  if (isValidEmail(document.getElementById("email").value,0)) 
  { 
    return true;  
  }
  else 
  {
    document.getElementById("email").setAttribute("class", "txt error");
    document.getElementById("lemail").setAttribute("class", "error");
    return false;
  }
}

function checkFieldsUsedS()
{
  document.getElementById("lreqMail").setAttribute("class", "");
  document.getElementById("reqMail").setAttribute("class", "txt");
  document.getElementById("lshipDestination").setAttribute("class", "");
  document.getElementById("shipDestination").setAttribute("class", "txt");
  if (isValidEmail(document.getElementById("reqMail").value,0) & (document.getElementById("shipDestination").value!="")) 
  { 
    return true;  
  }
  else 
  { 
    if (!isValidEmail(document.getElementById("reqMail").value,0)) 
    {
      document.getElementById("reqMail").setAttribute("class", "txt error");
      document.getElementById("lreqMail").setAttribute("class", "error");
    }

    if ((document.getElementById("shipDestination").value==""))
    {
      document.getElementById("shipDestination").setAttribute("class", "txt error");
      document.getElementById("lshipDestination").setAttribute("class", "error");
    }
    return false;
  }
}


function checkCredit()
{
  var i;
  r=true;
  for (i=0; i<=document.forms[0].length-1; i++)
  {
    id=document.forms[0].elements[i].id;
    if (id!='pageurl')
    {
      if ((id!='coApplierName') && (id!='mortgageLienHolder') && (id!='comment'))
      {
        if (document.forms[0].elements[i].value == "" ) 
        {
          document.forms[0].elements[i].setAttribute('class', 'txt error');
          document.getElementById("l"+id).setAttribute("class", "error");
          r=false;
        }
        else 
        {
          document.forms[0].elements[i].setAttribute('class', 'txt');
          document.getElementById("l"+id).setAttribute("class", "");
        }
      } 
      else 
      { 
        if (document.forms[0].elements[i].value!='')
        {
          alert('If you have co-applier, contact us, please!');
        }
      }
    }
  }
  return r;
}


function update()
{
  var lf=document.getElementsByName("carLookingFor")[0];
  document.getElementsByName("carYear-used-cars")[0].setAttribute("style", "display: none;");
  document.getElementsByName("carYear-new-cars")[0].setAttribute("style", "display: none;");
  document.getElementsByName("carYear-export-cars")[0].setAttribute("style", "display: none;");
  document.getElementsByName("carYear-"+
    lf.options[lf.selectedIndex].value)[0].setAttribute("style", "display: visible;");
}
