$(document).ready(function(){

	$("a.harmonogram").click(function () {
		var el = '#' + $(this).attr('rel');
		if( $(el).css('display') == 'none' )
			$(el).slideDown();
			else
				$(el).slideUp();
	});    

	/* contactForm validation */
	$('#contactForm').validate({
		event: "keyup",
		rules: {
			email: {
				required: true,
				email: true
			},
			name: {
				required: true
			},
			message: {
				required: true
			}
		},
		messages: {
			email: 'Proszę podać prawidłowy adres e-mail',
			name: 'Proszę uzupełnić imię i nazwisko',
			message: 'Proszę uzupełnić pole'
		},
		success: function(aaa) {},
		submitHandler: function() {
			weAjaxForm('contactForm','','successBar','errorBar','','progressBar','','')
			return false;
		}
	});

});



function nospamEmail(elId, user, domain, params)
{
	$('#' + elId).attr('href','mailto:' + user + '@' + domain + params);
	$('#' + elId).text(user + '@' + domain);
}


/*******************************************************************************/
/* ajax form submit, coded by: Mirek Ratman */
// formId - ID of <form>
// formBoxId - ID of parent element of <form>
// okElId - ID of element with success text
// errorElId - ID of element with failed text
// criticalErrorElId - ID of element with critical error text
// ajaxLoader - ID of progress element
// redirectUrl - url of redirection after success
// popupIdClose - ID of element (this popup) to close
// note: alle ID without # char 
/*******************************************************************************/
function weAjaxForm(formId,formBoxId,okElId,errorElId,criticalErrorElId,ajaxLoader,redirectUrl,popupIdClose)
{
	if( formId == '' ){
		return alert('No formId specified !');}
	else{
		var formId = '#'+formId;}
	
	if( formBoxId != '' ){
		var formBoxId = '#'+formBoxId;}
	
	if( okElId != '' ){
		var okElId = '#'+okElId;}
	
	if( errorElId != '' ){
		var errorElId = '#'+errorElId;}
	
	if( criticalErrorElId != '' ){
		var criticalErrorElId = '#'+criticalErrorElId;}

	if( popupIdClose != '' ){
		var popupIdClose = '#'+popupIdClose;}
	
	if( ajaxLoader != '' ){
		var ajaxLoader = '#'+ajaxLoader;}

	if( okElId != '' ){
		if( $(okElId).css('display') != 'none' ){
			$(okElId).slideUp();}
	}
	
	if( errorElId != '' ){
		if( $(errorElId).css('display') != 'none' ){
			$(errorElId).slideUp();}
	}
	
	var ajaxRequestType  = 'get';
	if( $(formId).attr('method') != '' )
		var ajaxRequestType  = $(formId).attr('method');

	if( $(formId).attr('action') == '' )
		return alert('No form action defined');

	//clearing errors from form
	$(formId).clearErrorClass();

	if( ajaxLoader != '' )
		$(ajaxLoader).show();
	
	$.ajax({
		data: $(formId).serialize(),
		url: $(formId).attr('action'),
		dataType: 'json',
		type: ajaxRequestType,
		success: function(json) {
		
			if( json.msg == undefined )
			{
				if( ajaxLoader != '' )
					$(ajaxLoader).hide();
				if( criticalErrorElId != '' )
					$(criticalErrorElId).hide().slideDown();
				return 'undefined error';
			}

			switch(json.response)
			{
				case false:
					if( ajaxLoader != '' )
						$(ajaxLoader).hide();
					if( errorElId != '' && json.msg )
						$(errorElId).html(json.msg).hide().slideDown();
					
					if( json.errorEl.length > 0 )
					{
						var ii = json.errorEl;
						for( i=0;i<=ii.length-1;i++ )
						{
							//alert(formId + ' [name='+ii[i]+']');
							$(formId + ' [name='+ii[i]+']').addClass('error');
						}
					}
					return false;
				break;
				
				case true:
					if( ajaxLoader != '' )
						$(ajaxLoader).hide();
					if( formBoxId != '' )
						$(formBoxId).slideUp();
					if( okElId != '' )
						$(okElId).slideDown();
					if( okElId != '' )
					{
						if( formBoxId == '' && json.msg )
							$(okElId).html(json.msg).hide().slideDown();
						if( formBoxId == '' )
							setTimeout(function () { $(okElId).fadeOut('slow'); }, 5000);
					}
					if( redirectUrl != '' )
						window.location = redirectUrl;
					return true;
				break;
					
				case 'logout':
					window.location = json.data[0];
				break;
				
				default:
					if( ajaxLoader != '' )
						$(ajaxLoader).hide();
					if( popupIdClose != '' )
						$(popupIdClose).fadeOut("fast");
					if( okElId != '' )
					{
						if( formBoxId == '' && json.msg )
							$(okElId).html(json.msg).hide().slideDown();
						if( formBoxId == '' )
							setTimeout(function () { $(okElId).fadeOut('slow'); }, 5000);
					}
					return 'undefined return';
				break;
			}

		}
	});

	return false;
}
/*******************************************************************************/

/*******************************************************************************/
/* clear form, coded by: Mirek Ratman */
/*******************************************************************************/
	$.fn.clearErrorClass = function()
{
	return $(this).each(function()
	{
		var tag = $(this)[0].tagName.toLowerCase();

		if (tag == 'form')
			return $(':input',$(this)).clearErrorClass();

		if( $(this).hasClass('error') )
			$(this).removeClass('error');
	});
};
/*******************************************************************************/
