//############################## [CMS PORTAL] - JAVA SCRIPTS - VALIDATE ENGINE
//### ver. 1.61 [2009-10-24]
//###
//### Copyright by CN Design Marcin Czechowski
//###
//### cndesign.pl   biuro@cndesign.pl
//###
//### All rights reserved.
//############################################



//******** SHOW ERROR BOX

function error(bledy)
{
 if (errfound) return;
	 alert(bledy);
 errfound = true;
}




//**********************************************************
//******** FIELDS VALIDATING


//****** INPUT , TEXTAREA
function validate_field_input(form_name,field_name)
{
 field = document.forms[form_name][field_name];

 if (field.value == "")
 {
  bledy += "* " + eval(field_name + '_txt') + "!\n";
  validate_field_effect(field,'error');
 }
 else validate_field_effect(field,'normal');
}


//****** CHECKBOX
function validate_field_checkbox(form_name,field_name)
{
 field = document.forms[form_name][field_name];

 if (field.checked == false)
 {
  bledy += "* " + eval(field_name + '_txt') + "!\n";
 }
}


//****** RADIO
function validate_field_radio(form_name,field_name)
{
 field = document.forms[form_name][field_name];

 Option = -1;
 for (i = field.length - 1; i > -1; i--)
 {
  if (field[i].checked)
  {
   Option = i; i = -1;
  }
 }

 if (Option == -1)
 {
  bledy += "* " + eval(field_name + '_txt') + "!\n";
 }
}


//****** SELECT
function validate_field_select(form_name,field_name)
{
 field = document.forms[form_name][field_name];

 if (field.selectedIndex < 0)
 {
  bledy += "* " + eval(field_name + '_txt') + "!\n";
  validate_field_effect(field,'error');
 }
 else validate_field_effect(field,'normal');
}


//****** E-MAIL SIMPLE
function validate_field_email(form_name,field_name)
{
 field = document.forms[form_name][field_name];

 if (field.value == "")
 {
  bledy += "* " + eval(field_name + '_txt') + "!\n";
  validate_field_effect(field,'error');
 }
 else if (field.value != "" && (field.value.length < 4 || field.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) == null))
 {
  bledy += "* " + eval(field_name + '_err_txt') + "!\n";
  validate_field_effect(field,'error');
 }
 else validate_field_effect(field,'normal');
}


//****** E-MAIL WITH CONFIRMATION
function validate_field_email_confirm(form_name)
{
 validate_field_email(form_name,'email');
 validate_field_email(form_name,'email2');

 email = document.forms[form_name]['email'];
 email2 = document.forms[form_name]['email2'];

 if (email.value != "" && email2.value != "" && email.value != email2.value)
 {
  bledy += "* " + email_match_txt + "!\n";
  validate_field_effect(email,'error');
  validate_field_effect(email2,'error');
 }
}


//****** PASSWORD CHANGE
function validate_field_pass(form_name)
{
 pass1 = document.forms[form_name]['pass1'];
 pass2 = document.forms[form_name]['pass2'];

 if (pass1.value != pass2.value)
 {
  bledy += "* " + password_match_txt + "!\n";
  validate_field_effect(pass1,'error');
  validate_field_effect(pass2,'error');
 }
 else if (pass1.value != "" && pass2.value != "" && (pass1.value.length < 6 || pass2.value.length < 6))
 {
  bledy += "* " + password_too_short_txt + "!\n";
  validate_field_effect(pass1,'error');
  validate_field_effect(pass2,'error');
 }
 else
 {
  validate_field_effect(pass1,'normal');
  validate_field_effect(pass2,'normal');
 }
}


//****** PASSWORD CONFIRM
function validate_field_pass_confirm(form_name)
{
 pass1 = document.forms[form_name]['pass1'];
 pass2 = document.forms[form_name]['pass2'];

 if (pass1.value == "")
 {
  bledy += "* " + password_txt + "!\n";
  validate_field_effect(pass1,'error');
 }
 else validate_field_effect(pass1,'normal');

 if (pass2.value == "")
 {
  bledy += "* " + password_confirm_txt + "!\n";
  validate_field_effect(pass2,'error');
 }
 else validate_field_effect(pass2,'normal');

 if (pass1.value != "" && pass2.value != "")
 {
  if (pass1.value != pass2.value)
  {
   bledy += "* " + password_match_txt + "!\n";
   validate_field_effect(pass1,'error');
   validate_field_effect(pass2,'error');
  }
  else if (pass1.value.length < 6 || pass2.value.length < 6)
  {
   bledy += "* " + password_too_short_txt + "!\n";
   validate_field_effect(pass1,'error');
   validate_field_effect(pass2,'error');
  }
 }
}


//****** ZIP-CODE
function validate_field_zipcode(form_name)
{
 zip1 = document.forms[form_name]['zip1'];
 zip2 = document.forms[form_name]['zip2'];

 if (zip1.value == "" || zip2.value == "")
 {
  bledy += "* " + zip_code_txt + "!\n";
  validate_field_effect(zip1,'error');
  validate_field_effect(zip2,'error');
 }
 else
 {
  validate_field_effect(zip1,'normal');
  validate_field_effect(zip2,'normal');
 }
}
