$(function(){
  
  var fancyboxCfg = {
    'titleShow': false,
    'transitionIn': 'fade',
    'transitionOut': 'fade'
  };
  
  var formRegExp = {    
    f_Name: /\S+/i,
    f_Company: /\S+/i,
    f_Phone: /^[\d\+\-()\s]+$/i,
    f_Email: /\S+@\S+\.\S{2,3}/i,
    f_Question: /\S+/i
  };
  
  var ERR_CLASS = 'invalid_value';
  var ERR_CLASS_LABEL = 'invalid_value_label';
  var error = false;
  
  function easyCaptchaValidation(form)
  {
    var img = $('#easy_captcha', form);
    var inp = $('input[name="captcha"]', form);
    if(img.size() == 1 && inp.size() == 1)
    {
      var dArr = img.attr('src').split("w=");
      var word = Base64.decode(new String(dArr[1]));
      if(word == inp.val())
      {
	inp.parent("div").fadeOut(300, function(){
	  $.fancybox.resize();
	});
      }
      else
      {
	error = true;
	inp.addClass(ERR_CLASS);
      }
    }
  }
  
  $('#online-form-submit').click(function(){
    error = false;
    var rel = $(this).attr('rel');
    var form = $('#' + rel);
    var required = false;
    
    $('input, textarea', form).each(function(){
      $(this).removeClass(ERR_CLASS);
      var re = formRegExp[$(this).attr('name')];
      
      var req = $(this).attr('required');
      
      if((req == 'true' || req == true) && $(this).val() == '')
      {
	//alert("req: " + req + "; re: " + re);
	// console.log('El ' + $(this).attr('name') + ' is invalid');
	// console.log('El ' + $(this).attr('name') + ' attr req = ' + req);
	required = true;
	$(this).addClass(ERR_CLASS);
	error = true;
      }
      else
	required = true;

      if(re != null || re != undefined)
	if($(this).val() != '' && re.test($(this).val()) == false)
	{
	  $(this).addClass(ERR_CLASS);
	  error = true;
	}
      required = false;
    });
        
    easyCaptchaValidation(form);
    
    if(error == false)
    {
      var url = form.attr('action');
      var data = form.serialize();
      
 
      $.post(url, data, function(resp){
	$.fancybox(resp, fancyboxCfg);
	$('input[type=text], textarea', form).each(function(){
	  if($(this).attr('name') != 'captcha')
	    $(this).val('');
	});
	$('input[type=checkbox], input[type=radio]', form).each(function(){
	  $(this).attr('checked', false);
	});
      });
    }
  });

}); 


