$(document).ready(function(){

	var install_path = "";
	var search_path = install_path + '/oferty';
	var detail_path = install_path + '/oferta';
	var hotel_path = install_path + '/hotele';
	var booking_add_path = install_path + '/rezerwacja/dodaj/';
	var rate_add_path = install_path + '/opinia/dodaj';
	var rate_find_path = install_path + '/opinie/szukaj';
	var rate_result_path = install_path + '/opinie/lista';
	var ajax_path = install_path + "/tools/ajax";
	var par_url = window.location.search;
	var price_data = [];
	var back = -1;
	
	var form_error_message = '<p>UWAGA!<br />Formularz nie został wysłany ponieważ nie wszystkie wymagane pola zostały wypełnione.<br />Proszę uzupełnić poniższe pola i wysłać formularz ponownie!</p>';

	$('#search-results-limit').change(function() {
		var par_url_result = par_url.replace(/&pokaz=[1-2]0/i, "");

		location.href=(par_url?par_url_result:"?") + (par_url_result?'&':'') + "pokaz=" + $("#search-results-limit").val();
	});
	$('#search-results-order').change(function() {
		var par_url_order = par_url.replace(/&sortuj=(gora|dol)/i, "");
		location.href=(par_url?par_url_order:"?") + (par_url_order?'&':'') + "sortuj=" + $("#search-results-order").val();
	});

	$('#offer-calculator-date').change(function() {
		if ( $('#offer-calculator-date').val() ) {
			location.href= detail_path + $('#offer-calculator-date').val() + "#calc";
		}
	});

	$("input[name='days']").change(function() {
		location.href= detail_path + $(this).val() + "#calc";
	});

	$("#hotel-query-submit").click(function() {
    	var link = "/";
    	if ( $('#selector-link').val() ) {
    		link = $('#selector-link').val();
    	}
    	if ( $('#selector-2').val() ) {
    		link = link + $('#selector-2').val() + "/";
    	}
    	location.href= hotel_path + link;
    });

    // rating form
	$('input[name="rec"]').change(function() {
		if ( $('input[name="rec"]:checked').val() == 2 ) {
			$('input[name="recommend[1]"]').attr('checked', false);
			$('input[name="recommend[2]"]').attr('checked', false);
			$('input[name="recommend[3]"]').attr('checked', false);
			$('input[name="recommend[4]"]').attr('checked', false);
			$('input[name="recommend[5]"]').attr('checked', false);
			$('input[name="recommend[6]"]').attr('checked', false);
			$('input[name="recommend[1]"]').attr('disabled', true);
			$('input[name="recommend[2]"]').attr('disabled', true);
			$('input[name="recommend[3]"]').attr('disabled', true);
			$('input[name="recommend[4]"]').attr('disabled', true);
			$('input[name="recommend[5]"]').attr('disabled', true);
			$('input[name="recommend[6]"]').attr('disabled', true);
		} else {
			$('input[name="recommend[1]"]').attr('disabled', false);
			$('input[name="recommend[2]"]').attr('disabled', false);
			$('input[name="recommend[3]"]').attr('disabled', false);
			$('input[name="recommend[4]"]').attr('disabled', false);
			$('input[name="recommend[5]"]').attr('disabled', false);
			$('input[name="recommend[6]"]').attr('disabled', false);
		}
	});
	

	if ( $('#rating-hotel').length ) {
		$('#rating-hotel').submit(function() {
			if ( $('#r-h').length ) {
				var country = $('#selector-1').val();
				var place = $('#selector-2').val();
				var hotel = $('#selector-3').val();
				$('#id_hotel').val($('#selector-3').val());
				$('#rating-hotel').attr("action",rate_add_path + "/hotel/?hotel=" + hotel + "&city=" + place + "&country=" + country);
			} else {
				var country = $('#id_country').val();
				var place = $('#city_address').val();
				var hotel = $('#id_hotel').val();
				$('#rating-hotel').attr("action",rate_add_path + "/hotel/?hotel=" + hotel + "&city=" + place + "&country=" + country);
			}
			return $('#rating-hotel').validate().form();
		});
		jQuery.validator.messages.required = "";
		$('#rating-hotel').validate({
			focusInvalid: false,

			invalidHandler: function(e, validator) {
				formError(e, validator, 'rhf', 'error');
			},

			submitHandler: function(form) {
				form.submit();
			}    	
		});
	}
	
	if ( $('#rating-city').length ) {
		$('#rating-city').submit(function() {
			if ( $('#r-c').length ) {
				var country = $('#selector-1').val();
				var place = $('#selector-2').val();
				$('#city').val($('#selector-2').val());
				$('#rating-city').attr("action",rate_add_path + "/miejscowosc/?city=" + place + "&country=" + country);
			}
			return $('#rating-city').validate().form();
		});
		jQuery.validator.messages.required = "";
		$('#rating-city').validate({
			focusInvalid: false,

			invalidHandler: function(e, validator) {
				formError(e, validator, 'rcf', 'error');
			},

			submitHandler: function(form) {
				form.submit();
			}    	
		});
	}
	
	//rating search
	$('#rs-1').submit(function() {
		var co = $("input[name='search-for']:checked").val();
		var szukaj = $('#find-review-phrase').val();
		if ( szukaj == '' ) {
			switch ( co ) {
				case 'hotel'		:		alert("Proszę podać nazwę hotelu!");
											break;
				case 'miejscowosc'	:		alert("Proszę podać nazwę miejscowości!");
											break;
				case 'zdjecia'		:		alert("Proszę podać nazwę hotelu lub miejscowości!");
											break;
			}
			return false;
		}
		location.href = encodeURI(rate_find_path + "/?szukaj=" + szukaj + "&typ=" + co);
		return false;
	});
	
	$('#rs-2').submit(function() {
		var szukaj = $('#find-review-phrase-2').val();
		if ( szukaj == '' ) {
			alert("Proszę podać szukaną frazę!");
			return false;
		}
		location.href = encodeURI(rate_result_path + "/?szukaj=" + szukaj);
		return false;
	});
	
	// gallery
	if ( $('#gallery').length ) {	
		$('#gallery a[rel="lightbox"]').lightBox({
			imageLoading: '/_images/lightbox/lightbox-ico-loading.gif',
			imageBtnClose: '/_images/lightbox/lightbox-btn-close.gif',
			imageBtnPrev: '/_images/lightbox/lightbox-btn-prev.gif',
			imageBtnNext: '/_images/lightbox/lightbox-btn-next.gif',
			txtImage: 'Zdjęcie',
			txtOf: 'z'

	   });
	}
	
	if ( $('div[class="rating-photo"]').length ) {	
		$('div[class="rating-photo"] a').lightBox({
			imageLoading: '/_images/lightbox/lightbox-ico-loading.gif',
			imageBtnClose: '/_images/lightbox/lightbox-btn-close.gif',
			imageBtnPrev: '/_images/lightbox/lightbox-btn-prev.gif',
			imageBtnNext: '/_images/lightbox/lightbox-btn-next.gif',
			txtImage: 'Zdjęcie',
			txtOf: 'z'

	   });
	}
	
	function formError(e, validator, mv, form_error_name) {
		var errors = validator.numberOfInvalids();
		if (errors) {
			var e = '<div class="block link-list"><ul>';
			$.each(validator.invalidElements(), function(i, j){
				var o = $(j).parent();
				e = e + '<li><a href="#p-' + $(j).attr('id') + '">'+ $(o).attr('title') + '</a></li>';
			});
			e = e + '</ul></div>';
			$("div." + form_error_name + " span").html(form_error_message + e);
			$("div." + form_error_name).show();
			location.href=par_url + "#" + mv;
		} else {
			$("div." + form_error_name).hide();
		}
	}
	
	// recommend
	var options = { 
		        //target:        '#output1',   // target element(s) to be updated with server response 
				beforeSubmit: function() {
					return $('#recommend').validate().form();
				},
		        success:       showResponse,  // post-submit callback 
		 
		        // other available options: 
		        //url:       url         // override for form's 'action' attribute 
		        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
		        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
		        clearForm: true,        // clear all form fields after successful submit 
		        resetForm: true        // reset the form after successful submit 
		 
		        // $.ajax options can be used here too, for example: 
		        //timeout:   3000 
    }; 
	if ( $('#recommend').length ) {	 
    	// bind form using 'ajaxForm' 
    	$('#recommend').ajaxForm(options);

    	jQuery.validator.messages.required = "";
        $("#recommend").validate({
        	focusInvalid: false,

    		invalidHandler: function(e, validator) {
        		formError(e, validator, 'recommend', 'error2');
    		},

    		submitHandler: function(form) {
    			$("div.error2").hide();
    			$('#alr').addClass('ajax-loading');
    		}    	
    	});
	}  

    function showResponse(responseText, statusText)  { 
     
        //alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
        //    '\n\nThe output div should have already been updated with the responseText.');
        $('#alr').removeClass('ajax-loading');
        if ( responseText ) {
        	alert("Wiadomość została wysłana!"); 
        	$('#recommend').stop(true, true).slideToggle(200);
        }
    }     

	// ask form
    var optionsQuestion = { 
				beforeSubmit: function() {
        			return $('#asking').validate().form();
    			},
		        success:       showQuestionResponse, 
		 
		        clearForm: true, 
		        resetForm: true 
    }; 
	if ( $('#asking').length ) {	 
    	$('#asking').ajaxForm(optionsQuestion);

    	jQuery.validator.messages.required = "";
        $("#asking").validate({
        	focusInvalid: false,

    		invalidHandler: function(e, validator) {
        		formError(e, validator, 'ask', 'error');
        	},

    		submitHandler: function(form) {
    			$("div.error").hide();
    			$('#alq').addClass('ajax-loading');
    		}    	
    	});
	}  

    function showQuestionResponse(responseText, statusText)  { 

//        alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
//           '\n\nThe output div should have already been updated with the responseText.');
    	
        $('#alq').removeClass('ajax-loading');
        if ( responseText ) {
        	alert("Zapytanie o ofertę zostało wysłane!"); 
        	$('#ask').stop(true, true).slideToggle(200);
        }
    }     

	// book form
	$("#step-3").click(function() {

		$('#book').submit();
		return false;
	});

	if ( $('#booking').length ) {
	    jQuery.validator.messages.required = "";
	    $("#booking").validate({
	    	focusInvalid: false,

			invalidHandler: function(e, validator) {
    			formError(e, validator, 'bf', 'error');
    		},
	
			submitHandler: function(form) {
				$('#booking').attr("action", booking_add_path);
				form.submit();
			}    	
		});
	}
	
    
    function setHiddenPriceDataFields(value) {
    	
        //set hidden fields
		$("input[name='trip-period']").val($("input[name='days']:checked").attr('alt'));
        $("input[name='trip-food']").val($("input[name='board']:checked").attr('alt'));
        $("input[name='trip-departure']").val($("input[name='departure']:checked").attr('alt'));
        
        $("input[name='trip-persons']").val(price_data[value]['name']);
        $("input[name='trip-persons-count']").val(price_data[value]['persons']);
        $("input[name='trip-room']").val(price_data[value]['room'] + ' (' + price_data[value]['description'] + ')');
        $("input[name='trip-price']").val(price_data[value]['price']);
        
    }

    function clearTripPersonsField() {
    
    	$('#trip-persons-block').html("");
    }
    
    function setTripPersonsField(lp) {
    	
    	var block = "";
    	for ( i = 1; i <= lp; i++ ) {
    		var block = block + '<div class="field-text"><label for="trip-person-' + i + '">' + i + '. Imię i nazwisko <img src="' + install_path + '/_images/icons/required.png" alt="(wymagane)"/></label><span><input type="text" name="trip-person-' + i + '" id="trip-person-' + i + '"/></span></div><div class="field-text"><label for="trip-person-bd-' + i + ']">Data urodzenia [DD-MM-RRRR] <img src="' + install_path + '/_images/icons/required.png" alt="(wymagane)"/></label><span><input type="text" name="trip-person-bd-' + i + '" id="trip-person-bd-' + i + '"/></span></div>';
    	}
    	$('#trip-persons-block').html(block);
    }
    
    //calculator
    function total_price_list() {

		var al = $('#al').addClass('ajax-loading');
		//alert("id=" + $("input[name='trip-id']").val() + "&id_transport=" + $("input[name='departure']:checked").val() + "&id_food=" + $("input[name='board']:checked").val());
		  
		$.ajax({  
			type: "GET",  
			data: "id=" + $("input[name='trip-id']").val() + "&id_transport=" + $("input[name='departure']:checked").val() + "&id_food=" + $("input[name='board']:checked").val(),  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/total-price-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {
				$('#total-price-list tbody tr').remove();  
  
				price_data = data;

				var currency = "PLN";
				
				if ( data != null ) {
					$.each(data, function(i, j){  
						if ( i == 0 ) {
							currency = j.currency;
							$('#total-price').text(j.smallest + ' ' + currency);
							setTripPersonsField(j.persons);
							setHiddenPriceDataFields(0);
						}
						var row = '<tr' + (i==0?' class="best"':'') + '><th><label><input type="radio" name="room" value="' + i + '" ' + (i==0?'checked="checked"':'') + ' /> ' +  j.name +  ' </label></th><td>' +  (j.room=='0'?'nocleg':j.room) +  (j.description?' <img src="' + install_path + '/simg/i.jpg" title="' + j.description + '" />':'') + '</td><td>' +  (j.sold==1?'<strike>' + j.price + '</strike> <em>sprzedane</em>':j.price) + ' ' + currency + '</td></tr>';
						$('tbody','#total-price-list').append(row);
					});
					$("input[name='room']").change(function() {
						clearTripPersonsField();
						setTripPersonsField(price_data[$(this).val()]['persons']);
						setHiddenPriceDataFields($(this).val());
					});
				} else {
					var row = '<tr><td>-</td><td>Brak ofert w wybranej konfiguracji!</td><td>-</td></tr>';
					$('tbody','#total-price-list').append(row);
				}
				al.removeClass('ajax-loading');
				
			}  
		});  		
	}
	
	$("input[name='board']").change(function() {
		total_price_list();
	});

	$("input[name='departure']").change(function() {
		total_price_list();
	});
	
	if ( $('#total-price-list').length ) {
		total_price_list();
	}

	//price history

	if ( $('#selector-1').length ) {
		$('div[class="legend"]').hide();
	}
	
    function hotel_city_list(addr) {

		var alc = $('#alc').addClass('ajax-loading');
		  
		$.ajax({  
			type: "GET",  
			data: "id=" + $((addr?"#selector-link":"#selector-1")).val() + "&addr=" + addr,  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/hotel-city-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {
				$('#selector-2 option').remove();
				$('#selector-2').append('<option value="">wybierz</option>');
				if ( addr ) {
					//$('#selector-2').append('<option value="">-</option>');
				}
				$('#selector-3 option').remove();  
				$.each(data, function(i, j){  
					 $('#selector-2').append('<option value="' + j.city_address + '">' + j.city + '</option>');
				});  
				alc.removeClass('ajax-loading');
			}  
		});  		
	}

	$("#selector-1").change(function() {
		hotel_city_list(0);
		resetRateInfo();
	});

	$("#selector-link").change(function() {
		hotel_city_list(1);
	});

	function hotel_list() {

		var alc = $('#alc').addClass('ajax-loading');
		  
		$.ajax({  
			type: "GET",  
			data: "id=" + $("#selector-1").val() + "&city=" + $("#selector-2").val(),  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/hotel-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {
				$('#selector-3 option').remove();
				$('#selector-3').append('<option value="">wybierz</option>');
				$.each(data, function(i, j){  
					 $('#selector-3').append('<option value="' + j.id + '">' + j.name + ' [' + j.touroperator + ']</option>');
				});
				alc.removeClass('ajax-loading');
			}  
		});  		
	}

    $("#selector-2").change(function() {
    	if ( $('#selector-3').length ) {
    		hotel_list();
    		resetRateInfo();
    	} else {
    		if ( $('#rate-info').length ) {
    			var info = "Oceniasz miejscowość " + $("#selector-2 option:selected").text(); 
    			$("#rate-info").html(info);
    		}
    	}
	});

    $("#selector-3").change(function() {
    	if ( $('#rate-info').length ) {
    		var info = "Oceniasz hotel " + $("#selector-3 option:selected").text() + " w miejscowości " + $("#selector-2 option:selected").text(); 
    		$("#rate-info").html(info);
    	}
	});

    function resetRateInfo() {
    	if ( $('#rate-info').length ) {
    		$("#rate-info").html("");
    	}
    }
    
    
    
    function hotel_category_img(cat) {
        switch (cat) {
        	case	'1.0' :	
        	case	'1.5' :	return "1.png";
        	case	'2.0' :	
        	case	'2.5' :	return "2.png";
        	case	'3.0' :	
        	case	'3.5' :	return "3.png";
        	case	'4.0' :	
        	case	'4.5' :	return "4.png";
        	case	'5.0' :	
        	case	'5.5' :	return "5.png";
        }
    }

    function ph_month(month) {

    	var data = ['w styczniu','w lutym','w marcu','w kwietniu','w maju','w czerwcu','w lipcu','w sierpniu','we wrześniu','w październiku','w listopadzie','w grudniu'];
        return data[month];
    }
    
    function price_history_plot() {
		var alc = $('#alc').addClass('ajax-loading');
		  
		$.ajax({  
			type: "GET",  
			data: "id=" + $("#selector-3").val(),  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/price-history-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {

				var options = {
					xaxis: {
						ticks: [
							[0, 'Sty'],
							[1, 'Lut'],
							[2, 'Mar'],
							[3, 'Kwi'],
							[4, 'Maj'],
							[5, 'Cze'],
							[6, 'Lip'],
							[7, 'Sie'],
							[8, 'Wrz'],
							[9, 'Paź'],
							[10, 'Lis'],
							[11, 'Gru']
						]
					},
					yaxis: {
						autoscaleMargin: .2,
						tickFormatter: function(val, o) {
							return val + 'zł';
						}
					},
					legend: {
						show: true,
						noColumns: 5,
						container: $('#plot-legend')
					},
					grid: {
						borderWidth: .2
					}			
				};	
				var plot_data = [];

				var hotel_name = data['hotel']['hotel'];
				var hotel_category = '<img src="' + install_path + '/_images/icons/stars/' + hotel_category_img(data['hotel']['category']) + '" " alt="' + data['hotel']['category'] + '"/>';
				var hotel_cc =  '<small>' + data['hotel']['country'] + ', ' + data['hotel']['city'] + '</small>';

				$('#hotel-name').html(hotel_name + hotel_category + hotel_cc);

				var tc = 0;
				if ( data['price_table'] != undefined ) {
				
					$.each(data['price_table'], function(i, j){
						var tmp = [];
						$.each(j, function(i2, j2){
							tmp.push([i2, j2]);
							tc++;
						});

						plot_data.push({'label': i, 'shadowSize': 0, 'data': tmp});
					});

					if ( tc > 1 ) {
						if ( data['smallest_price'] != undefined ) {
							var lowest_price_month = ph_month(data['smallest_price']['month']);
							var lowest_price_year = data['smallest_price']['year'];
							var lowest_price = 'Najniższa cena została odnotowana <strong>' + lowest_price_month + " " + lowest_price_year + '</strong>';
							$('p[class="lowest-price"]').html(lowest_price);
						}

						$('div[class="legend"]').show();
						$('#plot-placeholder').show();
					
						$.plot($('#plot-placeholder'), plot_data, options);
					} else {
						$('div[class="legend"]').hide();
						$('#plot-placeholder').hide();

						$('p[class="lowest-price"]').html('Przepraszamy ale historia cenowa tego hotelu nie jest jeszcze dostępna. Jeśli chcesz poznać historię cenową - zapraszamy już wkrótce - kiedy tylko zostaną zanotowane zmiany');
					}
				} else {
					$('div[class="legend"]').hide();
					$('#plot-placeholder').hide();
					
					$('p[class="lowest-price"]').html('Przepraszamy ale historia cenowa tego hotelu nie jest jeszcze dostępna. Jeśli chcesz poznać historię cenową - zapraszamy już wkrótce - kiedy tylko zostaną zanotowane zmiany');
				}
				alc.removeClass('ajax-loading');
			}  
		});  		
    }
    
    $("#selector-3").change(function() {
    	if ( $('#p-h').length ) {
    		price_history_plot();
    	}
	});

    //search box

    function search_box_list(id) {

		var ald = $('#ald').addClass('ajax-loading');
		$.ajax({  
			type: "GET",  
			data: "id=" + id,  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/direction-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {
				var selected = $('#search-region-hidden').val();
				$('#search-region option').remove();
				$('#search-region').append('<option value="">dowolny</option>');
			
				if ( data != undefined ) {
					$.each(data, function(i, j){  
						var name = j.name;
						if ( j.region != undefined ) {
							name = "&#160;&#160;-&#160;" + name;
						}
						
						$('#search-region').append('<option value="' + j.link + '">' + name + '</option>');
					});
				}
				$('#search-region').val(selected);
				$('#search-region').trigger('change');
				
			}  
		});
		$.ajax({  
			type: "GET",  
			data: "id=" + id,  
			dataType: "json",  
			cache: false,  
			url: ajax_path + '/city-list/',  
			error: function() {  
				//alert("Failed to submit");  
			},  
			success: function(data) {
				var selected = $('#search-departure-hidden').val();
				$('#search-departure option').remove();
				$('#search-departure').append('<option value="">dowolne</option>');
				
				if ( data != undefined ) {
					$.each(data, function(i, j){  
						$('#search-departure').append('<option value="' + j.link + '">' + j.name + '</option>');
					});
				}
				$('#search-departure').val(selected);
				$('#search-departure').trigger('change');
				ald.removeClass('ajax-loading');
			}  
		});  		
	}

    if ( $("input[name='tm']:checked").length ) {
    	search_box_list($('input[name="tm"]:checked').val());
    } else {
    	search_box_list(0);
    }
    
    $('input[name="tm"]').click(function() {
		search_box_list($(this).val());
	});

	$('#search-box').submit(function() {

		var region = $('#search-region').val();
		
		var departure = $('#search-departure').val();
		departure = (departure?"wyjazd=":"") + departure;

		var date_day = $('#search-date').val();
		var date_month = $('#search-month').val();
		var d = new Date();
		var date = (date_day&&date_month?"termin=":"") + d.getFullYear() + "-" + date_month + "-" + date_day;

		var price_min = $("input[name='price-min']").val();
		var price_max = $("input[name='price-max']").val();
		var price = (price_min&&price_max?"cena=":"") + price_min + "-" + price_max;

		var lm = $("input[name='lm']:checked").val();
		var fm = $("input[name='fm']:checked").val();
		var opt_str = (opt_str?",":"") + (lm=="lm"?lm:"");
		opt_str = opt_str + (opt_str?",":"") + (fm=="fm"?fm:"");
		var opt = (opt_str?"opcje=":"") + opt_str;

		var transport_str = '';
		if ( $("input[name='tm']:checked").length ) {
			transport_str = $("input[name='tm']:checked").val()
			transport_str = (transport_str?"dojazd=":"") + transport_str;
		}

		var food = $('#search-board').val();
		food = (food?"wyzywienie=":"") + food;
		
		var cat = $('#search-hotel-category').val();
		cat = (cat?"standard=":"") + cat;

		var type = $('#search-trip-category').val();
		type = (type?"rodzaj=":"") + type;

		var ret_date_day = $('#search-return-date').val();
		var ret_date_month = $('#search-return-month').val();
		var d = new Date();
		var ret_date = (ret_date_day&&ret_date_month?"powrot=" + d.getFullYear() + "-" + ret_date_month + "-" + ret_date_day:"");
		
		var hotel = $('#search-hotel-name').val();
		hotel = (hotel?"hotel=":"") + hotel;

		
		var result_count = "";
		if ( $('#search-results-limit').length ) {
			result_count = $('#search-results-limit').val();
		}
		result_count = (result_count?"pokaz=":"") + result_count;
			
		var sort_order = "";
		if ( $('#search-results-order').length ) {
			sort_order = $('#search-results-order').val();
		}
		sort_order = (sort_order?"sortuj=":"") + sort_order;

		var sort = "";
		if ( $('#s-kierunek').length && $('#s-kierunek').hasClass('active') ) {
			sort = "sortowanie=kierunek";
		}
		if ( $('#s-kategoria').length && $('#s-kategoria').hasClass('active') ) {
			sort = "sortowanie=kategoria";
		}
		if ( $('#s-ocena').length && $('#s-ocena').hasClass('active') ) {
			sort = "sortowanie=ocena";
		}
		if ( $('#s-termin').length && $('#s-termin').hasClass('active') ) {
			sort = "sortowanie=termin";
		}
		if ( $('#s-cena').length && $('#s-cena').hasClass('active') ) {
			sort = "sortowanie=cena";
		}
		var request_str = "";

		request_str = request_str + (request_str&&transport_str?"&":"") + transport_str;
		
		request_str = request_str + (request_str&&departure?"&":"") + departure;

		request_str = request_str + (request_str&&date?"&":"") + date;
		
		request_str = request_str + (request_str&&price?"&":"") + price;

		request_str = request_str + (request_str&&opt?"&":"") + opt;

		request_str = request_str + (request_str&&type?"&":"") + type;

		request_str = request_str + (request_str&&food?"&":"") + food;

		request_str = request_str + (request_str&&cat?"&":"") + cat;

		request_str = request_str + (request_str&&ret_date?"&":"") + ret_date;

		request_str = request_str + (request_str&&hotel?"&":"") + hotel;

		request_str = request_str + (request_str&&result_count?"&":"") + result_count;

		request_str = request_str + (request_str&&sort?"&":"") + sort;

		request_str = request_str + (request_str&&sort_order?"&":"") + sort_order;
		
		request_str = search_path + (region?"":"/") + region + (request_str?"?":"") + request_str;

		location.href = request_str;
		return false;
	});

	if ( $('#choice-offer').length ) {
	    jQuery.validator.messages.required = "";
	    $("#choice-offer").validate({
	    	focusInvalid: false,

			invalidHandler: function(e, validator) {
    			formError(e, validator, 'cf', 'error');
    		},
	
			submitHandler: function(form) {
				form.submit();
			}    	
		});
	}
	
	$("#newsletter-submit-button").click(function() {

		$('#newsletter-box').submit();
		return false;
	});
	
	//print
	$("#print").click(function() {
		window.print();
	});
	
	//back
	$("#back").click(function() {
		window.history.go(back);
	});
	
	//up
	$("#up").click(function() {
		back = -2;
	});

	//help
	$("a[class=help]").simpletip ({
		content: $("a[class=help]").attr('alt')

	});
	
	//popup
	if ( $('#cond-popup').length ) {
		$('#cond-popup').click(function() {
		    window.open(this.href,"popup","height=480,width=640,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no");
		    return false;
		});
	}
	
	//external	
	function externalLinks() {
		if ( !document.getElementsByTagName ) {
			return;
		}
		var anchors = document.getElementsByTagName("a");
		for ( var i=0; i<anchors.length; i++ ) {
			var anchor = anchors[i];
			if ( anchor.getAttribute("href") && anchor.getAttribute("rel") == "external" ) {
				anchor.target = "_blank";
			}
		}
	}
	//window.onload = externalLinks;
	
	//ie change event fix
	$(function () {
	    if ($.browser.msie) {
	        $('input:radio').click(function () {
	            this.blur();
	            this.focus();
	        });
	    }
	});
	
});