var validNameChars = lowercaseLetters + "'.-' ";
var validLoginNameChars = lowercaseLetters + digits + "_-"

function isFirstSelected(select)
{
  return (select.selectedIndex == 0);
}


function validateLoginName(form)
{
  if (isWhitespace(form.txtLoginName.value) ||
    !isCharsInBag(form.txtLoginName.value.toLowerCase(), validLoginNameChars) ||
    (form.txtLoginName.value.length < 4) || (form.txtLoginName.value.length > 12))
  {
    alert( "Introduceti-va numele de acces pe care il doriti in cadrul campului \"Cont\" (intre 4 si 12 caractere).");
    form.txtLoginName.focus();    
    return false;
  } 
  return true;
}

function validatePassword(form)
{
  if (isWhitespace(form.txtPassword.value) || (form.txtPassword.value.length < 4) || (form.txtPassword.value.length > 12))
  {
    alert( "Introduceti parola pe care o doriti in cadrul campului \"Parola\" (intre 4 si 12 caractere).");
    form.txtPassword.focus();    
    return false;
  }    
  else if (form.txtPassword.value != form.txtRePassword.value)
  {
    alert( "Parola de control nu se verifica. Asigurati-va ca ati introdus-o corect.");
    form.txtPassword.value = "";
    form.txtRePassword.value = "";
    form.txtPassword.focus();    
    return false;
  }    
  return true;
}

function validateEmail(form)
{
  if (!isEmail(form.txtEmail.value))
  {
    alert( "Introduceti o adresa de email valida in cadrul campului \"E-mail\".");
    form.txtEmail.focus();    
    return false;
  } 
  return true;
}

function validateName(form)
{
  if (isWhitespace(form.txtFirstName.value))
  {
    alert( "Introduceti-va prenumele in cadrul campului \"Prenume\".");
    form.txtFirstName.focus();    
    return false;
  }
  else if (!isCharsInBag(form.txtFirstName.value.toLowerCase(), validNameChars))
  {
    alert( "Introduceti numai litere in cadrul campului \"Prenume\".");
    form.txtFirstName.focus();    
    return false;
  }  
  else if (isWhitespace(form.txtLastName.value))
  {
    alert( "Introduceti-va numele de familie in cadrul campului \"Nume\".");
    form.txtLastName.focus();    
    return false;
  }
  else if (!isCharsInBag(form.txtLastName.value.toLowerCase(), validNameChars))
  {
    alert( "Introduceti numai litere in cadrul campului \"Nume\".");
    form.txtLastName.focus();    
    return false;
  } 
  return true;
}

function validateAddress(form)
{
  if (isWhitespace(form.txtAddress.value))
  {
    alert( "Introduceti-va adresa postala (Str. Nr. Bl. Sc. Ap.) la care locuiti in cadrul campului \"Adresa\".");
    form.txtAddress.focus();    
    return false;
  }
  else if (isWhitespace(form.txtZipCode.value))
  {
    alert( "Introduceti-va codul postal in cadrul campului \"Cod postal\".");
    form.txtZipCode.focus();    
    return false;
  }
  else if (isWhitespace(form.txtCity.value))
  {
    alert( "Introduceti-va localitatea in care locuiti in cadrul campului \"Localitate\".");
    form.txtCity.focus();    
    return false;
  }
  else if (isFirstSelected(form.optRegion_ID))
  {
    alert( "Selectati judetul sau sectorul in care locuiti." );
    form.optRegion_ID.focus();       
    return false;
  }
  return true;
}

function validatePhone(form)
{
if (isWhitespace(form.txtPhone.value))
  {
    alert( "Introduceti-va numarul de telefon la care puteti fi contactat in cadrul campului \"Telefon\".");
    form.txtPhone.focus();    
    return false;
  }
  else if (!isCharsInBag(form.txtPhone.value, validWorldPhoneChars))
  {
    alert( "Introduceti un numar de telefon corect in cadrul campului \"Telefon\".");
    form.txtPhone.focus();    
    return false;
  }  
  return true;
}

function validateRegistration(form)
{
  if (validateLoginName(form) &&
    validatePassword(form) &&
    validateEmail(form) &&    
    validateName(form) &&
    validateAddress(form) &&
    validatePhone(form))
  {
    return true;
  } 
  return false;
}

function validateYourName(form)
{
  if (isWhitespace(form.txtYourName.value) ||
    !isCharsInBag(form.txtYourName.value.toLowerCase(), validNameChars))
  {
    alert( "Introduceti-va numele in cadrul campului \"Numele dvs.\"");
    form.txtYourName.focus();    
    return false;
  } 
  return true;
}

function validateYourEmail(form)
{
  if (!isEmail(form.txtYourEmail.value))
  {
    alert( "Introduceti adresa dvs. de e-mail.");
    form.txtYourEmail.focus();    
    return false;
  } 
  return true;
}

function validateFriendName(form)
{
  if (isWhitespace(form.txtFriendName.value) ||
    !isCharsInBag(form.txtFriendName.value.toLowerCase(), validNameChars))
  {
    alert( "Introduceti-va numele in cadrul campului \"Numele prietenului dvs.\"");
    form.txtFriendName.focus();    
    return false;
  } 
  return true;
}

function validateFriendEmail(form)
{
  if (!isEmail(form.txtFriendEmail.value))
  {
    alert( "Introduceti adresa de e-mail a prietenului dvs.");
    form.txtFriendEmail.focus();    
    return false;
  } 
  return true;
}

function validateNickName(form)
{
  if (isWhitespace(form.txtNickName.value) ||
    !isCharsInBag(form.txtNickName.value.toLowerCase(), validLoginNameChars) ||
    (form.txtNickName.value.length < 4) || (form.txtNickName.value.length > 12))
  {
    alert( "Introduceti aliasul pe care il doriti in cadrul campului \"Alias nou\" (intre 4 si 12 caractere).");
    form.txtNickName.focus();    
    return false;
  } 
  return true;
}

function validateTellAFriend(form)
{
  if (validateYourName(form) &&
    validateYourEmail(form) &&
    validateFriendName(form) &&    
    validateFriendEmail(form))
  {
    return true;
  } 
  return false;
}

function validateInfoChange(form)
{
  if (validateEmail(form) &&    
    validateName(form) &&
    validateAddress(form) &&
    validatePhone(form))
  {
    return true;
  } 
  return false;
}
function validatePasswordChange(form)
{
  if (validatePassword(form))
  {
    return true;
  } 
  return false;
}