// JavaScript Document

//function to count and limit a textarea field
function counterUpdate(opt_countedTextBox, opt_countBody, opt_maxSize) {
  var countedTextBox = opt_countedTextBox ? opt_countedTextBox : "counttxt";
  var countBody = opt_countBody ? opt_countBody : "countBody";
  var maxSize = opt_maxSize ? opt_maxSize : 1024;

  var field = document.getElementById(countedTextBox);

  if (field && field.value.length >= maxSize) {
    field.value = field.value.substring(0, maxSize);
  }
  var txtField = document.getElementById(countBody);
  if (txtField) {
    txtField.innerHTML = maxSize- field.value.length;
  }
}
//function to check if a text is a number
function IsNumeric(sText)
{
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++) 
  { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) 
    { IsNumber = false;  }
   }
   return IsNumber;
}
//function to check if a text input is number and display error
function CheckNumber(obj,textbody,maxchars)
{
  var maxSize=maxchars; //anul e format din 4 cifre
  var field = document.getElementById(obj);
  if (field && field.value.length >= maxSize) {
    field.value = field.value.substring(0, maxSize);
  }
  var obj_textBody = textbody;
  var txtField = document.getElementById(obj_textBody);
  txtField.innerHTML = "&nbsp;";
  if (IsNumeric(field.value)==false) { 
    field.value = field.value.substring(0,field.value.length-1);
	txtField.innerHTML = "<font style='color: #990000;'>numai cifre!</font>"; 
  }
}

function isEmpty(elem)
{
  if(elem.value.length == 0)
	return true;
  return false;
}

function notSelection(elem, selIndex)
{ 
  if(elem.selectedIndex == selIndex) 
    return true;
  return false;
}

function lengthRestriction(elem, min, max)
{
  var uInput = elem.value;
  if(uInput.length >= min && uInput.length <= max)
    return true;
  return false;
}

function formValidator()
{
  //set the objects who will be validated
  var obj_marca = document.MyCarAddForm.marca;
  var obj_tip = document.MyCarAddForm.tip;
  var obj_model = document.getElementById('model');
  var obj_culoare = document.getElementById('culoare');
  var obj_anfabr = document.getElementById('anfabricatie');
  var obj_putere = document.getElementById('putere');
  var obj_nrkm = document.getElementById('numarkm');
  var obj_pret = document.getElementById('pret');
  //set form validator value and error message
  var form = true;
  var errMsg = "<br /><font style='color:#990000; font-weight: bold;'> ERORI:<br />";
  //validation
  if (notSelection(obj_marca,0))
  {  errMsg+="Nu a fost aleasa marca!<br />"; form=false; }
  if (notSelection(obj_tip,0))
  {  errMsg+="Nu a fost ales tipul!<br />"; form=false; }
  if (isEmpty(obj_model))
  {  errMsg+="Modelul masinii nu a fost specificat!<br />"; form=false; }
  if (isEmpty(obj_culoare))
  {  errMsg+="Introduceti culoarea masinii!<br />"; form=false; }
  if (isEmpty(obj_anfabr))
  {  errMsg+="Introduceti anul fabricatiei!<br />"; form=false; }
  else if (!lengthRestriction(obj_anfabr, 4, 4))
  {  errMsg+="Anul fabricatiei este gresit! (ex. valid: 1998 ; ex. invalid: 98)<br />"; form=false; }
  if (isEmpty(obj_putere))
  {  errMsg+="Introduceti puterea (KW)!<br />"; form=false; }
  else if (!lengthRestriction(obj_putere, 2, 4))
  {  errMsg+="Puterea nu este corecta!<br />"; form=false; }
  if (isEmpty(obj_nrkm))
  {  errMsg+="Introduceti numarul de km. ai masinii!<br />"; form=false; }
  else if (!lengthRestriction(obj_nrkm, 2, 8))
  {  errMsg+="Numar de km. incorect!<br />"; form=false; }
  if (isEmpty(obj_pret))
  {  errMsg+="Pretul masinii nu este specificat!<br />"; form=false; }
  else if (!lengthRestriction(obj_pret, 3, 8))
  {  errMsg+="Pretul masinii este incorect!<br />"; form=false; }
  
  errMsg+="</font><br />";
  //if errors display them
  if (!form)
  {
    var txtField = document.getElementById("errorMessages");
    document.location.href="#formular";
	txtField.innerHTML = errMsg;
  }
  
  //alert(errMsg);
  
  return form;
}

function CarsSearchFormGetValues()
{
  //set the form objects
  var obj_marca=document.BigCarsSearchForm.marca;
  var obj_tip=document.BigCarsSearchForm.tip;
  var obj_caroserie=document.BigCarsSearchForm.caroserie;
  var obj_stare=document.BigCarsSearchForm.stare;
  var obj_putere=document.BigCarsSearchForm.putere;
  var obj_anfabr=document.BigCarsSearchForm.anfabricatie;
  var obj_carburant=document.BigCarsSearchForm.carburant;
  var obj_cutie=document.BigCarsSearchForm.cutie;
  var obj_locatie=document.BigCarsSearchForm.locatie;
  var obj_pret=document.BigCarsSearchForm.pret;
  var obj_moneda=document.BigCarsSearchForm.moneda;
  var obj_ord=document.BigCarsSearchForm.ordonare;
  var obj_submitButton=document.BigCarsSearchForm.BigCarsSearch;
  //set the submit button disabled state
  obj_submitButton.disabled=true;
  //set the objects disabled state for GET data
  if (obj_marca.value=='0') obj_marca.disabled=true;
  if (obj_tip.value=='0') obj_tip.disabled=true;
  if (obj_caroserie.value=='0') obj_caroserie.disabled=true;
  if (obj_stare.value=='0') obj_stare.disabled=true;
  if (obj_putere.value=='') obj_putere.disabled=true;
  if (obj_anfabr.value=='') obj_anfabr.disabled=true;
  if (obj_carburant.value=='0') obj_carburant.disabled=true;
  if (obj_cutie.value=='0') obj_cutie.disabled=true;
  if (obj_locatie.value=='0') obj_locatie.disabled=true;
  if (obj_pret.value=='') {obj_pret.disabled=true; obj_moneda.disabled=true;}
  if (obj_ord.value=='Pret') obj_ord.disabled=true;
}
