// JavaScript Document
function validForm(input) 
{
  var value = input.val();
  if(input.hasClass('required') || input.attr('name').match('mail')) {
    if(input.attr('name').match('mail')) {
      if(value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) && value.length > 5) {
			input.removeClass('notvalid');
			input.addClass('valid');
      } else {
			input.removeClass('valid');
		if(value.length > 0 || input.hasClass('required')) {
		  input.addClass('notvalid');
		} else {
		  input.removeClass('notvalid');
		}
      }
    } else if(value.length >= 3 && input.hasClass('required')) {
      input.removeClass('notvalid');
      input.addClass('valid');
    } else if(input.hasClass('required')) {
      input.removeClass('valid');
      input.addClass('notvalid');
    } 
  }
}

function post(url) 
{

  if(post.check == true) 
    return flase;
  post.check = true;
  
  $("#form").css("height",$("#form").height());
  
  $("#form form").fadeOut(300,  function() {
    $("#form").append('<div class="loading"></div>');
    $.post(url,$('form').serializeArray() ,function(data) {
      setTimeout(function() {
	if(data == null) {
	  data = {}
	  data.sClass = 'fail'
	  data.notice = 'Błąd aplikacji';
	  data.option = 'Wykryto niezdefiniowany błąd aplikacji. <p>Czy chcesz <span onclick="resetForm();">ponowić próbę ?</span></p>';
	}
	$("#form .loading").remove();
	$("#form").append('<div id="formArea"><div class='+data.sClass+' id="formStatus"><img src="/templates/images/'+data.sClass+'.gif" width="36" height="36" />'+data.notice+'</div>'+(data.option ? '<p>'+data.option+'</p>': '')+'</div>');
	$("#formStatus").hide();
	$("#formStatus").fadeIn(300);
	
	$("#formArea p span").mouseover(function () {
	  $(this).css('text-decoration','underline');
	}).mouseout(function () {
	  $(this).css('text-decoration','none');
	}); 
      },100);
    },"json");
  });
}

function resetForm(ClearVal)
{
  $('#formArea').remove();
  $("#form form").fadeIn(500);
  
  if(ClearVal) {
    $("input:not(input[name|=title]), textarea").val('');
    $('select').find('option:first').attr('selected', 'selected');
	$('input.notvalid').removeClass('notvalid');
  }else
  
  $('input[type|=text], textarea, select').each(function(i, elem) { 
  	validForm($(elem)); 
  });
  
  post.check = false;
}
