/* [START] Submit category and subcategory */
function submit_cats(categ, subcateg) {
  document.sub_cats.cat.value = categ;
  document.sub_cats.subcat.value = subcateg;
  document.sub_cats.submit();
}
/* [END] Submit category and subcatery */

/* [START] Change page */
function change_page(pag) {
  document.page_browser.page.value = pag;
  document.page_browser.submit();
}
/* [END] Change page */

/* [START] Convertor Valutar */
function calculate_convertor() {
  var valuta1 = document.form_conversie.valuta1.value;
  var valuta2 = document.form_conversie.valuta2.value;
  convert_cur(valuta1,valuta2);
}

function convert_cur(valuta1,valuta2) {
  var suma = new Number(document.form_conversie.suma.value);
  var rezultat = 0;
  if (suma>0) {
    if (valuta1=='RON') {
      if (valuta2=='RON') {
        rezultat = suma;
      } else {
        rezultat = suma/currency[valuta2];
      }
    } else if (valuta2=='RON') {
      rezultat = suma * currency[valuta1];
    } else {
      rezultat = (suma*currency[valuta1])/currency[valuta2];
    }
  }
  document.form_conversie.rezultat.value = (Math.round(rezultat*100000))/100000;
  if (document.form_conversie.rezultat.value==0){
    document.form_conversie.rezultat.value = '';
  }
}
/* [END] Convertor Valutar */

/* [START] Count Chars */
function count_char(el) {
  var txt = document.getElementById(el);
  var max = 255;
  var len = Number(txt.value.length);
  var nr = max - len;
  if (nr==1)
    document.getElementById('descriere_len').innerHTML = "Va ramas 1 caracter.";
  else
    document.getElementById('descriere_len').innerHTML = "V-au ramas " + nr + " caractere.";
  if (len > max) {
    txt.value = txt.value.substring(0,max);
    document.getElementById('descriere_len').innerHTML = "V-au ramas 0 caractere.";
  }
}
/* [END] Count Chars */

/* [START] Validate form */
function submit_form(form_nr) {
  if (form_nr == 1) {
    if (validate_form1(document.adaugare_anunt)) {
      document.adaugare_anunt.submit();
      return true;
    }
    return false;
  } else {
    if (validate_form2(document.adaugare_anunt)) {
      document.adaugare_anunt.submit();
      return true;
    }
    return false;
  }
  return false;
}

function submit_contest() {
  if (validate_contest(document.inregistrare_concurs)) {
    document.inregistrare_concurs.submit();
    return true;
  }
  return false;
}

function validate_contest(formy) {
  var nume = formy.nume.value;
  var adresa = formy.adresa.value;
  var codpostal = formy.codpostal.value;
  var localitate = formy.localitate.value;
  var tel = formy.tel.value;
  var email = formy.email.value;
  var desc = formy.desc.value;

  if (nume.length<3) {
    alert("Va rugam introduceti numele si prenumele Dvs!");
    formy.nume.focus();
    return false;
  }

  if (isalpha(nume)==false) {
    alert("Numele si prenumele poate sa contina doar litere, spatiu si liniuta!");
    formy.nume.focus();
    return false;
  }

  if (adresa.length<3) {
    alert("Va rugam introduceti adresa!");
    formy.adresa.focus();
    return false;
  }

  if (codpostal.length != 6) {
    alert("Codul postal este incorect. Va rugam, introduceti intre 6 numere!");
    formy.codpostal.focus();
    return false;
  }

  if (isnum(codpostal)==false) {
    alert("Codul postal este incorect. Va rugam, introduceti DOAR numere!");
    formy.codpostal.focus();
    return false;
  }

  if (localitate.length < 3) {
    alert("Va rugam introduceti localitatea!");
    formy.localitate.focus();
    return false;
  }

  if (isalpha(localitate)==false) {
    alert("Localitatea poate sa contina doar litere, spatiu si liniuta!");
    formy.localitate.focus();
    return false;
  }

  if (formy.judet.selectedIndex < 1) {
    alert("Va rugam selectati judetul!");
    formy.judet.focus();
    return false;
  }

  if (tel.length<7 || tel.length>20) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti intre 7 si 20 de caractere!");
    formy.tel.focus();
    return false;
  }

  if (isnum(tel,"- ")==false) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti DOAR numere, liniuta si spatiu!");
    formy.tel.focus();
    return false;
  }

  message = isemail(email);
  if (message != "") {
    alert(message);
    formy.email.focus();
    return false;
  }

  if (desc.length < 3) {
    alert("Va rugam introduceti ceva la descrierea masinii!");
    formy.desc.focus();
    return false;
  }

  if (desc.length > 255) {
    alert("Va rugam introduceti maxim 255 caractere la descrierea masinii!");
    formy.desc.focus();
    return false;
  }

  if (formy.img1.value.length < 3) {
    alert("Va rugam adaugati macar o poza!");
    formy.img1.focus();
    return false;
  }

  if (formy.acord.checked == false) {
    alert("Va rugam cititi regulamentul!");
    formy.acord.focus();
    return false;
  }

  return true;
}

function validate_form1(formy) {
  var titlu = formy.anunt_titlu.value;
  var pret = formy.anunt_pret.value;
  var descriere = formy.anunt_descriere.value;
  var model = formy.anunt_model.value;
  var versiune = formy.anunt_versiune.value;
  var kilometraj = formy.anunt_kilometraj.value;
  var culoare = formy.anunt_culoare.value;
  var cc = formy.anunt_cc.value;
  var emisieCO2 = formy.anunt_emisieCO2.value;
  var puteremaxima = formy.anunt_puteremaxima.value;

  if (formy.accord.checked==false) {
    alert("Trebui sa fiti de acord cu termenii si conditiile!");
    formy.accord.focus();
    return false;
  }

  if (titlu.length<3) {
    alert("Va rugam introduceti un titlu pentru anuntul dumneavoastra!");
    formy.anunt_titlu.focus();
    return false;
  }

  if (isalphanum(titlu)==false) {
    alert("Titlul anuntului poate sa contina doar litere, numere, spatiu, liniuta, punct, si virgula!");
    formy.anunt_titlu.focus();
    return false;
  }

  if (pret.length<1) {
    alert("Va rugam, introduceti un pret!");
    formy.anunt_pret.focus();
    return false;
  }

  if (isnum(pret,"")==false) {
    alert("Pretul este incorect. Va rugam, introduceti DOAR numere!");
    formy.anunt_pret.focus();
    return false;
  }

  if (descriere.length<3) {
    alert("Va rugam introduceti o descriere!");
    formy.anunt_descriere.focus();
    return false;
  }

  if (model.length<1) {
    alert("Va rugam introduceti un model!");
    formy.anunt_model.focus();
    return false;
  }

  if (isalphanum(model)==false) {
    alert("Modelul poate sa contina doar litere, numere, liniuata si spatiu!");
    formy.anunt_model.focus();
    return false;
  }

  if (versiune.length>1 && isalphanum(versiune)==false) {
    alert("Versiunea poate sa contina doar litere, numere, spatiu, liniuta, punct, si virgula!");
    formy.anunt_versiune.focus();
    return false;
  }

  if (kilometraj.length<1) {
    alert("Va rugam introduceti un kilometraj!");
    formy.anunt_kilometraj.focus();
    return false;
  }

  if (isalphanum(kilometraj)==false) {
    alert("Kilometrajul poate sa contina doar litere, numere, spatiu si liniuta!");
    formy.anunt_kilometraj.focus();
    return false;
  }

  if (culoare.length<3) {
    alert("Va rugam introduceti o culoare!");
    formy.anunt_culoare.focus();
    return false;
  }

  if (isalpha(culoare)==false) {
    alert("Culoarea poate sa contina doar litere, spatiu si liniuta!");
    formy.anunt_culoare.focus();
    return false;
  }

  if (cc.length<1) {
    alert("Va rugam introduceti capacitatea cilindrica!");
    formy.anunt_cc.focus();
    return false;
  }

  if (isalphanum(cc)==false) {
    alert("Capacitatea cilindrica poate sa contina doar litere, numere, spatiu, punct, virgula si liniuta!");
    formy.anunt_cilindrii.focus();
    return false;
  }

  if (emisieCO2.length>1 && isnum(emisieCO2,".,")==false) {
    alert("Emisia de CO2 poate sa contina doar numere, punct si virgula!");
    formy.anunt_emisiaCO2.focus();
    return false;
  }

  if (puteremaxima.length<1) {
    alert("Va rugam introduceti puterea maxima!");
    formy.anunt_puteremaxima.focus();
    return false;
  }

  if (isalphanum(puteremaxima)==false) {
    alert("Puterea maxima poate sa contina doar litere, numere, spatiu, punct, si virgula!");
    formy.anunt_puteremaxima.focus();
    return false;
  }

  if (formy.anunt_marca.selectedIndex < 1) {
    alert("Va rugam selectati marca!");
    formy.anunt_marca.focus();
    return false;
  }

  if (formy.anunt_anfabricatie.selectedIndex < 1) {
    alert("Va rugam selectati anul de fabricatie!");
    formy.anunt_anfabricatie.focus();
    return false;
  }

  if (formy.anunt_acte.selectedIndex < 1) {
    alert("Va rugam selectati situatia actelor!");
    formy.anunt_acte.focus();
    return false;
  }

  if (formy.anunt_stare.selectedIndex < 1) {
    alert("Va rugam selectati starea vehiculului!");
    formy.anunt_stare.focus();
    return false;
  }

  if (formy.anunt_combustibil.selectedIndex < 1) {
    alert("Va rugam selectati tipul combustibilului!");
    formy.anunt_combustibil.focus();
    return false;
  }

  if (formy.anunt_poluare.selectedIndex < 1) {
    alert("Va rugam selectati norma poluarii!");
    formy.anunt_poluare.focus();
    return false;
  }

  if (formy.anunt_puntemotoare.selectedIndex < 1) {
    alert("Va rugam selectati puntea motoarelor!");
    formy.anunt_puntemotoare.focus();
    return false;
  }

  if (formy.anunt_cutiaviteze.selectedIndex < 1) {
    alert("Va rugam selectati tipul cutiei de viteze!");
    formy.anunt_cutiaviteze.focus();
    return false;
  }

  if (formy.anunt_caroserie.selectedIndex < 1) {
    alert("Va rugam selectati caroseria!");
    formy.anunt_caroserie.focus();
    return false;
  }

  return true;
}

function validate_form2(formy) {
  var numeprenume = formy.anunt_numeprenume.value;
  var nrtelefon = formy.anunt_nrtelefon.value;
  var addremail = formy.anunt_addremail.value;
  var localitate = formy.anunt_localitate.value;

  if (numeprenume.length<3) {
    alert("Va rugam introduceti numele si prenumele Dvs!");
    formy.anunt_numeprenume.focus();
    return false;
  }

  if (isalpha(numeprenume)==false) {
    alert("Numele si prenumele poate sa contina doar litere, spatiu si liniuta!");
    formy.anunt_numeprenume.focus();
    return false;
  }

  if (nrtelefon.length<7 || nrtelefon.length>20) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti intre 7 si 20 de caractere!");
    formy.anunt_nrtelefon.focus();
    return false;
  }

  if (isnum(nrtelefon,"- ")==false) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti DOAR numere, liniuta si spatiu!");
    formy.anunt_nrtelefon.focus();
    return false;
  }

  message = isemail(addremail);
  if (addremail.length>3 && message!="") {
    alert(message);
    formy.anunt_addremail.focus();
    return false;
  }

  if (formy.anunt_judet.selectedIndex < 1) {
    alert("Va rugam selectati judetul!");
    formy.anunt_judet.focus();
    return false;
  }

  if (localitate.length<3) {
    alert("Va rugam introduceti localitatea!");
    formy.anunt_localitate.focus();
    return false;
  }

  if (isalpha(localitate)==false) {
    alert("Localitatea poate sa contina doar litere, spatiu si liniuta!");
    formy.anunt_localitate.focus();
    return false;
  }

  return true;
}

function validate_form_crr(formy) {
  var nume = formy.cerere_nume.value;
  var telefon = formy.cerere_telefon.value;
  var email = formy.cerere_email.value;

  if (nume.length<3) {
    alert("Va rugam introduceti numele si prenumele Dvs!");
    formy.cerere_nume.focus();
    return false;
  }

  if (isalpha(nume)==false) {
    alert("Numele si prenumele poate sa contina doar litere, spatiu si liniuta!");
    formy.cerere_nume.focus();
    return false;
  }

  if (telefon.length<7 || telefon.length>20) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti intre 7 si 20 de caractere!");
    formy.cerere_telefon.focus();
    return false;
  }

  if (isnum(telefon,"- ")==false) {
    alert("Numarul de telefon este incorect. Va rugam, introduceti DOAR numere, liniuta si spatiu!");
    formy.cerere_telefon.focus();
    return false;
  }

  message = isemail(email);
  if (message!="") {
    alert(message);
    formy.cerere_email.focus();
    return false;
  }

  var an = formy.cerere_an;
  var serieSasiu = formy.cerere_serieSasiu.value;
  var model = formy.cerere_model.value;
  var tipMotor = formy.cerere_tipMotor.value;
  var putere = formy.cerere_putere.value;
  var cc = formy.cerere_cc.value;
  var piese = formy.cerere_piese.value;
  var codOrig = formy.cerere_codOrig.value;

  if (serieSasiu.length < 10 || serieSasiu.length > 20) {
    alert("Va rugam introduceti seria sasiu!");
    formy.cerere_serieSasiu.focus();
    return false;
  }

  if (model.length < 3) {
    alert("Va rugam introduceti modelul!");
    formy.cerere_model.focus();
    return false;
  }

  if (tipMotor.length < 3) {
    alert("Va rugam introduceti tipul motorului!");
    formy.cerere_tipMotor.focus();
    return false;
  }

  if (putere.length < 2) {
    alert("Va rugam introduceti puterea motorului!");
    formy.cerere_putere.focus();
    return false;
  }

  if (!isnum(putere, ",.")) {
    alert("Va rugam introduceti DOAR NUMERE, virgula si punct la PUTEREA MOTORULUI.\nValoarea este in KILOWATTS (1000 W = 1 kW), va rugam NU itroduceti kW sau W la capat.");
    formy.cerere_putere.focus();
    return false;
  }

  if (cc.length < 3) {
    alert("Va rugam introduceti capacitatea cilindrica!");
    formy.cerere_cc.focus();
    return false;
  }

  if (piese.length < 3) {
    alert("Va rugam introduceti piesele dorite!");
    formy.cerere_piese.focus();
    return false;
  }

  if (an.selectedIndex < 1) {
    alert("Va rugam selectati anul!");
    formy.cerere_an.focus();
    return false;
  }

  if (an.options[an.selectedIndex].value >= 2000 && codOrig.length < 3) {
    alert("Va rugam introduceti codul pieselor originale!");
    formy.cerere_codOrig.focus();
    return false;
  }

  if (formy.cerere_marca.selectedIndex < 1) {
    alert("Va rugam selectati marca!");
    formy.cerere_marca.focus();
    return false;
  }

  if (formy.cerere_carburant.selectedIndex < 1) {
    alert("Va rugam selectati carburantul!");
    formy.cerere_carburant.focus();
    return false;
  }

  if (formy.cerere_caroserie.selectedIndex < 1) {
    alert("Va rugam selectati caroseria!");
    formy.cerere_caroserie.focus();
    return false;
  }

  return true;
}

function isnum(str, extra) {
  var ValidChars = "1234567890"+extra;
  var i = 0;
  str = str.toLowerCase();

  while (i<str.length) {
    var chr = str.charAt(i);
    if (ValidChars.indexOf(chr)==-1)
      return false;
    i++;
  }

  return true;
}

function isalpha(str) {
  var ValidChars = "abcdefghijklmnopqrstuvwxyz- ";
  var i = 0;
  str = str.toLowerCase();

  while (i<str.length) {
    var chr = str.charAt(i);
    if (ValidChars.indexOf(chr)==-1)
      return false;
    i++;
  }

  return true;
}

function isalphanum(str) {
  var ValidChars = "abcdefghijklmnopqrstuvwxyz1234567890-., ";
  var i = 0;
  str = str.toLowerCase();

  while (i<str.length) {
    var chr = str.charAt(i);
    if (ValidChars.indexOf(chr)==-1)
      return false;
    i++;
  }

  return true;
}


function isemail(email) {
  var ValidChars = "abcdefghijklmnopqrstuvwxyz1234567890-_.@";
  var i = 0;

  email = email.toLowerCase();

  if (email.length<5) {
    return "Adresa de mail este invalida! Va rugam sa specificati una reala!";
  }

  while (i<email.length) {
    var chr = email.charAt(i);
    if (ValidChars.indexOf(chr)==-1) {
      return "Adresa de mail este invalida! Va rugam sa specificati una reala!";
    }
    i++;
  }

  if (email.indexOf('@')==-1) {
    return "Adresa de mail este invalida (nu contine '@')! Va rugam sa specificati una reala!";
  }

  if (email.indexOf('.')==-1) {
    return "Adresa de mail este invalida (nu contine '.'! Va rugam sa specificati una reala!";
  }

  return "";
}
/* [END] Validate form */
