/* ---------- DOCUMENT READY ---------- */
$(document).ready(function(){
	/* FAQ LIST */
	$('ul#airlines img').imghover({suffix: '-on'});
	$('.faqq-sublist').hide();
	$('.faqq-category').click(function() {
		$('.faqq-category-selected').attr('class', 'faqq-category');
		$('.faqq-sublist').slideUp("normal");
		$(this).attr('class', 'faqq-category-selected').next().slideDown("normal");
	});
	$('#faqq-list').find('.faqq-sublist li.selected').parent().show().prev().attr('class', 'faqq-category-selected');
	
	
	/* PROMOTION TABLE */
	$('table.promotions tr').not(':first')
	.hover(
		function(){$(this).addClass('hover');},
		function(){$(this).removeClass('hover');}
	)
	.click(
		function(){window.location = $('a:first',$(this)).attr('href');}
	);	
	
	$('#esky table.promotions').each(function(){
		$(this).find('tr:first td').css('border-top','0px');
	});

	
	/* CALENDAR */
	$('.datepicker-f')
	.unbind('click')
	.click(function(){
		if ($(this).hasClass('disabled')) {
			return false;
		}
		$(this).esky_calendar({
			thisInput:'ffrom',
			linkedInput:false,
			blockTo : new Date().zeroTime().addDays(1),
			allowSameDay : true,
			loop:2,
			i18n : I18N_CalendarText
		});
		return false;
	});	
	$('.datepicker-t')
	.unbind('click')
	.click(function(){
		if ($(this).hasClass('disabled')) {
			return false;
		}
		$(this).esky_calendar({
			thisInput:'fto',
			linkedInput:'ffrom',
			blockTo : new Date().zeroTime().addDays(1),
			allowSameDay : true,
			loop:2,
			i18n : I18N_CalendarText
		});
		return false;
	});
	
	
	/* AUTOCOMPLETE */
	$('input.airport').autocomplete(ibeConfig.autocomplete,{
		delay: 300,
		minChars: 3,
		matchSubset: 1,
		matchContains: 1,
		cacheLength: 10,
		autoFill: false,
		maxItemsToShow: 15,
		autoFillOne: true
	});	
	$('a.map-button').unbind('click').destinator();
	
	/* ONEWAY SWITCH */
	/*
	$('#oneway-switch').click(function(){
		if ($(this).is(':checked'))
		{
			$('.out-date').hide();
			$('.datepicker-t').val('');
		}
		else {
			$('.out-date').show();
		}
	});
	*/	
	
	
	$('#trip-type-selection label').click(function(){
		$('input:enabled', $(this)).click();
	});
	$('#qsf input[name=fly_trip_type]').click(function(){
		var $input = $(this);
		if ($input.not(':disabled'))
		{
			var mode = $input.val();
			$('#trip-type-selection label').removeClass('selected');
			$('li.' + mode + ' label').addClass('selected');
			if (mode == 'onewaytrip') {
				$('.out-date').hide();
				$('.datepicker-t').val('');
				
			}
			else {
				$('.out-date').show();
			}
		}
	});
	/*
	if ($('form.odysseiform').size() > 0) {
		$(window).unload(function(){
			$('form.odysseiform').saveQuery('flights_opl', (7 * 24 * 60 * 60 * 1000)); //Save for 7 days
		});
	}	
	*/
	$('form#contact').validate({
		filters : {
			'*' : 'Trim'
		},
		rules : {
			'*' : 'Required',			
			email : 'EmailAddress'
		},
		messages : {
			'*' : 'Wszystkie pola są wymagane.',
			email : 'Prosimy podać poprawny adres e-mail.'
		},
		display: function(data){
			$('div#contact-error').remove();
			$('.form-input-error').removeClass('form-input-error');
			if (!data) {
				return false;
			}
			$html = $('<div></div>').attr('id','contact-error')
				.append($('<h2></h2>').text('Błędne pola'))
				.append($('<ul></ul>'));
			
			$('form#contact').before($html);

			$errors = $('div#contact-error ul');
			for(index in data.label){
				data.label[index].addClass('form-input-error').data('error',data.message[index]);//.click(validationMessage);
				if (data.repeated[index] === false) {
					var title = data.label[index].attr('title');
					$errors.append($('<li></li>').html(data.message[index]+"<br/>")); // Leave <br>!!! Otherwise there is a strange error...
				}
			}
			window.scroll(0,0);			
		},
		options: {
			labelErrorClass: 'error',
			messagesErrorId: 'contact-error',
			breakChain: true,
			postAction : function(){
				$contact_form = $(this);
				$contact_form.append($('<input type="hidden" name="ajaxed" id="ajaxed" value="true"></input>'));
				$('button',$contact_form).before($('<p></p>').attr('id','contact-form-sending').text('Wysyłanie...')).attr('disabled','disabled');//.fadeOut();

				$.ajax({
					url: $contact_form.attr('action'),
					data: $contact_form.serialize(),
					dataType: 'json',
					type: 'POST',
					success: function(a){
						if(a.response === true){					
							$html = $('<div></div>').attr('id','contact-success')
								.append($('<h2></h2>').text('Dziękujemy'))
								.append($('<p>Państwa wiadomość została do nas przesłana.<br/>Prosimy także pamiętać o naszej infolinii:</p>'))
								.append($('<div id="call-center-number"><span>0 801 08 08 09</span><br/>opłata tylko 0,35 PLN / min + VAT</div>'));						
							
							$text = $contact_form.parent();
							$contact_form.remove(); $('em.required').remove();
							$text.append($html);
						} else {
							$html = $('<div></div>').attr('id','contact-error')
								.append($('<h2></h2>').text('Błąd wysyłania'))
								.append($('<p>Przepraszamy, ale wysyłanie wiadomości nie powiodło się. Prosimy spróbować ponownie lub skorzystać z naszej infolinii.</p>'));							
							$('#contact-form-sending', $contact_form).remove();
							$('button',$contact_form).removeAttr('disabled');
							$contact_form.before($html);
						}
					},
					error: function(){
						$html = $('<div></div>').attr('id','contact-error')
							.append($('<h2></h2>').text('Błąd wysyłania'))
							.append($('<p>Przepraszamy, ale wysyłanie wiadomości nie powiodło się. Prosimy spróbować ponownie lub skorzystać z naszej infolinii.</p>'));							
						
						$('#contact-form-sending', $contact_form).remove();
						$('button',$contact_form).removeAttr('disabled');
						//$('button',$contact_form).show();
						$contact_form.before($html);							
					}
				});
				return false;
			}
		}
	});

	
});
