﻿/* router */
function router(path) 
{
	var baseHref = document.getElementsByTagName('base')[0].href;
	return baseHref + path + '.html';
}

function submitForm()
{
	var check1 = $("#ile_dor").val();
	var check2 = $("#ile_nie").val();
	
	if ((check2 > 0) && (check2 > check1))
	{
		alert('Każde niemowlę musi mieć opiekę osoby dorosłej.');
		return false;				
	}

	$("#searchInfo").dialog({
		autoOpen:false,
		bgiframe: false,
		width: 450,
		modal: true,
		closeOnEscape: false,
		resizable:false,
		beforeclose: function(event, ui) {
		searchRequest.abort();
		}
	});

 	$("#searchInfo").dialog('open');
	
		searchRequest = $.ajax({ type: "POST",
    	url: router('search'),
       	data: $('form#szukaj').serializeArray(),
       	dataType: "html",
       	error: function()
       	{
       		alert("Error loading XML document");
       	},
       	success: function(answer)
       	{
       		if (answer == 'ok')
       		{
       			window.location.href = router('search/results'); 			
       		} else
       		{
       			alert(answer);
       		}
        }
	});	
}

function sortBy(by)
{
	$('#sort_by').val(by);
	submitForm();
}

function changePage(no)
{
	$('#page').val(no);
	submitForm();
}

function submitTable(carrier, stops)
{
	$('#flt_carrier').val(carrier);
	$('#flt_stops').val(stops);
	submitForm();
}

function validateForm()
{
	var isMC = $("#__multicity").val();
	
	if (isMC == '1')
	{
		if (!validateCity(1, true) || !validateCity(2, true))
		{
			return false;
		}
		
		if (validateCity(4, false) && validateCity(3, false) && validateCity(2, false) && validateCity(1, false))
		{
			$('#multicity_hidden').val('3');			
		} else
		if (validateCity(3, false) && validateCity(2, false) && validateCity(1, false))
		{
			$('#multicity_hidden').val('2');			
		} else			
		{
			$('#multicity_hidden').val('1');			
		}
	} else
	{
		if (!validateCity(1, true))
		{
			return false;
		}

		$('#multicity_hidden').val('0');
	}

	return true;
}

function validateCity(city, message)
{
	if (city == 1)
	{
		var check1 = $("#w_kod_z").val();
		var check2 = $("#w_kod_d").val();		
	} else
	if (city == 2)
	{
		var check1 = $("#w_kod_z2").val();
		var check2 = $("#w_kod_d2").val();		
	} else
	if (city == 3)
	{
		var check1 = $("#w_kod_z3").val();
		var check2 = $("#w_kod_d3").val();		
	} else
	if (city == 4)
	{
		var check1 = $("#w_kod_z4").val();
		var check2 = $("#w_kod_d4").val();		
	}
		
	if ((check1 == '') || (check2 == ''))
	{
		if (message) alert('Nie wybrano prawidłowego miejsca startu lub przylotu dla miasta '+city);
		return false;
	}

	if (city > 1)
	{
		if (city == 2)
		{
			var check1 = $("#tt_source_date2").val();
		} else
		if (city == 3)
		{
			var check1 = $("#tt_source_date3").val();
		} else
		if (city == 4)
		{
			var check1 = $("#tt_source_date4").val();
		}
		
		if (check1 == '')
		{
			if (message) alert('Nie wybrano daty wylotu dla miasta '+city);
			return false;			
		}
	}
	
	return true;
}

/* zmienne globalne */
var searchRequest = null;
var oldCity = new Array(10);
var openedCHID = null;

/* zamknij aktualnie aktualnego CityHelpera */
function closeCHID()
{
	if (openedCHID)
	{
	 	$(openedCHID).hide();
		$(openedCHID).html('');
		openedCHID = null;
	}	
}

function cityClear(field1, field2)
{
	$('#'+field1).val('');
	$('#'+field2).val('');
	closeCHID();
}

/* Otworz wyszukiwarke dla wybranego pola */

function citySearch(field)
{
	var fieldNo = 0;
	
	if (field == 'miasto_z') { fieldNo = 1; }
	if (field == 'miasto_d') { fieldNo = 2; }
	if (field == 'miasto_zA') { fieldNo = 3; }
	if (field == 'miasto_dA') { fieldNo = 4; }
	if (field == 'miasto_z2') { fieldNo = 5; }
	if (field == 'miasto_d2') { fieldNo = 6; }
	if (field == 'miasto_z3') { fieldNo = 7; }
	if (field == 'miasto_d3') { fieldNo = 8; }
	if (field == 'miasto_z4') { fieldNo = 9; }
	if (field == 'miasto_d4') { fieldNo = 10; }

	var query = $("#"+field).val();	

	if (oldCity[fieldNo] == query) return;
	
	oldCity[fieldNo] = query;
	
	openedCHID = '#'+field+'_helper';

	var length = query.length; 
	
	if (length > 2)
	{
		$.ajax({ type: "POST",
          	 url: router('search/city/'+field),
          	 data: "query="+query,
          	 dataType: "html",
          	 error: function() { alert("Error loading XML document"); },
          	 success: function(answer) {
	  		 $(openedCHID).html(answer);
    	 	 $(openedCHID).show();
            }
          }); 
  	} else
  	{
	 	$(openedCHID).hide();
		$(openedCHID).html('');
		openedCHID = null;
  	}
	
}

/* wstaw miasto i kod */

function insertTown(field, code, town)
{
	if (field == 'miasto_z' || field == 'miasto_zA')
	{
		$("#w_kod_z").val(code);
		$("#miasto_z").val(town);
		$("#miasto_zA").val(town);
	} else
	if (field == 'miasto_d' || field == 'miasto_dA') 
	{
		$("#w_kod_d").val(code);
		$("#miasto_d").val(town);
		$("#miasto_dA").val(town);
	} else
	{
		$("#"+field).val(town);		
	}
	
	if (field == 'miasto_z2') $("#w_kod_z2").val(code);
	if (field == 'miasto_d2') $("#w_kod_d2").val(code);
	if (field == 'miasto_z3') $("#w_kod_z3").val(code);
	if (field == 'miasto_d3') $("#w_kod_d3").val(code);
	if (field == 'miasto_z4') $("#w_kod_z4").val(code);
	if (field == 'miasto_d4') $("#w_kod_d4").val(code);
	closeCHID();
}

$(document).ready(function () {

	$("#promoCarrier").change(function () {
		$('#lastChange').val('carrier');
		$('form#promo').submit();
	});

	$("#promoCity").change(function () {
		$('#lastChange').val('city');
		$('form#promo').submit();
	});

	$("#promoCountry").change(function () {
		$('#lastChange').val('country');
		$('form#promo').submit();
	});

	$('#dostarczenie').change(function () {
		if ($('#dostarczenie').val() == 'ETIX')
		{
			$('#biuro').fadeOut();	
		} else
		{
			$('#biuro').fadeIn();	
		}
	});
	
	$('#plat_online').change(function () {
		$('#nazwaBanku').html($('#plat_online').find(':selected').text());
	});
	
	$('#czy_faktura').change(function () {
		var fak = $("#czy_faktura").attr("checked");
		if (fak)
		{
			$('#faktura').show();
		} else
		{
			$('#faktura').hide();
		}
	});
	
	$('#platnosc').change(function () {
		if ($('#platnosc').val() == 'PRZELEW')
		{
			$('#karta').hide();
			$('#gotowka').hide();
			$('#online').hide();
			$('#przelew').show();
		} else
		if ($('#platnosc').val() == 'KARTA')
		{
			$('#przelew').hide();
			$('#gotowka').hide();
			$('#online').hide();
			$('#karta').show();
		} else
		if ($('#platnosc').val() == 'GOTOWKA')
		{
			$('#przelew').hide();
			$('#karta').hide();
			$('#online').hide();
			$('#gotowka').show();
		}  else
		if ($('#platnosc').val() == 'PLATONLINE')
		{
			$('#przelew').hide();
			$('#karta').hide();
			$('#gotowka').hide();
			$('#online').show();
		}					
	});
	
	
	/* colorbox */
	$("a[rel='lightbox']").colorbox({transition:"fade"});                                                                            

	/* ponowne wyszukiwanie */
	if ($('#again').length)
	{
		$("#again").click(function()
		{
				$("#searchBox2").dialog({
					autoOpen:false,
					bgiframe: false,
					width: 360,
					modal: true,
					closeOnEscape: false,
					resizable:false
				});

			 	$("#searchBox2").dialog('open');
		});
	}

	if ($("#submit3").length)
	{
		$("#submit3").click(function () {
			
			var zgoda = $("#zgoda").attr("checked");
			var akceptuj = $("#akceptuj").attr("checked");
			
			if (!akceptuj)
			{
				alert('Nie zaakceptowano regulaminu. Rezerwacja nie może zostać zrealizowana.');
				return false;			
			}
			
			if (!zgoda)
			{
				alert('Nie wyrażono  zgody na przekazanie i przetwarzanie danych osobowych');
				return false;
			}
			
			return true;
			
		});
		
	}
	
	/* wyszukiwarka */
	if ($("#submit").length)
	{
		/* wstaw domyślne daty */
		insertDate('tt_source_date', 3);
		insertDate('tt_destination_date', 15);
		insertDate('tt_source_dateA', 3);

		/* bindowanie kalendarzy */
		$("#tt_source_date,#tt_source_dateA,#tt_source_date2,#tt_source_date3,#tt_source_date4").datepicker({
			showButtonPanel: true,
			dateFormat: 'dd/mm/yy',
	        beforeShow: function (i, e) {
            var z = jQuery(i).closest(".ui-dialog").css("z-index") + 4;
            e.dpDiv.css('z-index', z);
			} 
		});
		
		/* Connector MC SC */
		$("#tt_source_date").change(function () {
			$("#tt_source_dateA").val($("#tt_source_date").val());
		});
		
		$("#tt_source_dateA").change(function () {
			$("#tt_source_date").val($("#tt_source_dateA").val());
		});
		
		$("#godz_w").change(function () {
			$("#godz_wA").val($("#godz_w").val());
		});
		
		$("#godz_wA").change(function () {
			$("#godz_w").val($("#godz_wA").val());
		});		

		$("#klasa").change(function () {
			$("#klasaA").val($("#klasa").val());
		});
		
		$("#klasaA").change(function () {
			$("#klasa").val($("#klasaA").val());
		});

		$("#carrier").change(function () {
			$("#carrierA").val($("#carrier").val());
		});
		
		$("#carrierA").change(function () {
			$("#carrier").val($("#carrierA").val());
		});

		$("#ile_dor").change(function () {
			$("#ile_dorA").val($("#ile_dor").val());
		});
		
		$("#ile_dorA").change(function () {
			$("#ile_dor").val($("#ile_dorA").val());
		});

		$("#ile_mlo").change(function () {
			$("#ile_mloA").val($("#ile_mlo").val());
		});
		
		$("#ile_mloA").change(function () {
			$("#ile_mlo").val($("#ile_mloA").val());
		});
		
		$("#ile_dzi").change(function () {
			$("#ile_dziA").val($("#ile_dzi").val());
		});
		
		$("#ile_dziA").change(function () {
			$("#ile_dzi").val($("#ile_dziA").val());
		});
		
		$("#ile_nie").change(function () {
			$("#ile_nieA").val($("#ile_nie").val());
		});
		
		$("#ile_nieA").change(function () {
			$("#ile_nie").val($("#ile_nieA").val());
		});		

		$("#ile_sen").change(function () {
			$("#ile_senA").val($("#ile_sen").val());
		});
		
		$("#ile_senA").change(function () {
			$("#ile_sen").val($("#ile_senA").val());
		});

		$("#tt_destination_date").datepicker({
			showButtonPanel: true,
			dateFormat: 'dd/mm/yy',
	        beforeShow: function (i, e) {
            var z = jQuery(i).closest(".ui-dialog").css("z-index") + 4;
            e.dpDiv.css('z-index', z);
			}
		});

		/* binduj helpery */
	    $("#miasto_z").keyup(function ()  { citySearch('miasto_z'); });
	    $("#miasto_z").focus(function ()  { cityClear('miasto_z', 'w_kod_z'); });
	    $("#miasto_d").keyup(function ()  { citySearch('miasto_d'); });
	    $("#miasto_d").focus(function ()  { cityClear('miasto_d', 'w_kod_d'); });
	    $("#miasto_zA").keyup(function () { citySearch('miasto_zA'); });
	    $("#miasto_zA").focus(function () { cityClear('miasto_z', 'w_kod_z'); cityClear('miasto_zA', 'w_kod_z'); });
	    $("#miasto_dA").keyup(function () { citySearch('miasto_dA'); });
	    $("#miasto_dA").focus(function () { cityClear('miasto_d', 'w_kod_d'); cityClear('miasto_dA', 'w_kod_d'); });
	    $("#miasto_z2").keyup(function () { citySearch('miasto_z2'); });
	    $("#miasto_z2").focus(function () { cityClear('miasto_z2', 'w_kod_z2'); });
	    $("#miasto_d2").keyup(function () { citySearch('miasto_d2'); });
	    $("#miasto_d2").focus(function () { cityClear('miasto_d2', 'w_kod_d2'); });
	    $("#miasto_z3").keyup(function () { citySearch('miasto_z3'); });
	    $("#miasto_z3").focus(function () { cityClear('miasto_z3', 'w_kod_z3'); });
	    $("#miasto_d3").keyup(function () { citySearch('miasto_d3'); });
	    $("#miasto_d3").focus(function () { cityClear('miasto_d3', 'w_kod_d3'); });
	    $("#miasto_z4").keyup(function () { citySearch('miasto_z4'); });
	    $("#miasto_z4").focus(function () { cityClear('miasto_z4', 'w_kod_z4'); });
	    $("#miasto_d4").keyup(function () { citySearch('miasto_d4'); });
	    $("#miasto_d4").focus(function () { cityClear('miasto_d4', 'w_kod_d4'); });
	    
	    jQuery(document).bind('keydown', 'esc',function (evt){ closeCHID(); });

        
		$("#tt_oneway").click(function () {
			var oneway = $("#tt_oneway").attr("checked");
			if (oneway)
			{
				$("#tt_destination").fadeOut();
			} else
			{
				$("#tt_destination").fadeIn();
			}		
		});
				
		$("#tt_checkft").click(function () {
			var lowcost = $("#tt_checkft").attr("checked");
			if (lowcost)
			{
				$("#flight_type").val('2');
			} else
			{
				$("#flight_type").val('0');
			}			
		});
		
        /* warstwa multicity */
		$("#multicity").click(function()
		{
			$("#tt_tab1").hide();
			$("#tt_tab2").show();
			$("#__multicity").val("1");
		});

		/* warstwa singlecity */
		$("#singlecity").click(function()
		{
			$("#tt_tab2").hide();
			$("#tt_tab1").show();
			$("#__multicity").val("0");
		});

		$("#ttown1").click(function()
		{
			$("#town2").hide();
			$("#town3").hide();
			$("#town4").hide();
			$("#town1").show();
			$("#miasto").html('Miasto 1');
		});

		$("#ttown2").click(function()
		{
			if (validateCity(1, true))
			{
				$("#town1").hide();
				$("#town3").hide();
				$("#town4").hide();
				$("#town2").show();
				$("#miasto").html('Miasto 2');
			}
		});
		
		$("#ttown3").click(function()
		{
			if (validateCity(1, true) && validateCity(2, true))
			{
				$("#town1").hide();
				$("#town2").hide();
				$("#town4").hide();
				$("#town3").show();
				$("#miasto").html('Miasto 3');
			}
		});

		$("#ttown4").click(function()
		{
			if (validateCity(1, true) && validateCity(2, true) && validateCity(3, true))
			{
				$("#town1").hide();
				$("#town2").hide();
				$("#town3").hide();
				$("#town4").show();
				$("#miasto").html('Miasto 4');
			}
		});
		
		/* wyszukuj, informacja, przekierowanie */
		$("#submit,#submit2").click(function()
		{
			if (!validateForm())
			{
				return false;
			}
			
			submitForm();
			
	 		return false;
	 		
		});
	}
});

