/*CITYHELPER*/

$(document).ready(function() {



  
	var cityHelperBackEnd = 'includes/cityhelper.php'; //CityHelper webserwice backend
	var countryFlagsUrl = IRSdata.path+'/public/img/flag/'; // flags for city helper - Flag icons - http://www.famfamfam.com
	var lang = 'pl'; //aver for cityhelper (if not pecified en is used
	var max = 90; // max results list
	var width = 275; //Width of city heler

	function formatItem(row) {
		// City Helper list
		// row[0]  - string for city helper to search in for
		// row[1]  - airport code
		// row[2]  - city name
		// row[3]  - coutry code
		// row[4]  - airport name
		return '<small style="float:left;">' + row[1] + " " + row[2] + " (" + row[4] + ")</small> <img style='float:right' src='" + countryFlagsUrl+row[3] + ".png'>";
	}
	function formatResult(row) {
		//City helper return string to input
		// row[0]  - string for city helper to search in for
		// row[1]  - airport code
		// row[2]  - city name
		// row[3]  - coutry code
		// row[4]  - airport name
		return row[2].replace(/(<.+?>)/gi, '') + " (" + row[4].replace(/(<.+?>)/gi, '') + ")";
	}

	$("#input_t_f_1").autocomplete(cityHelperBackEnd, {
		width: width,
		matchContains: true,
		minChars: 3,
		lang: lang,
		max: max,
		formatItem: formatItem,
		formatResult: formatResult
	});
	$("#input_t_f_1").result(function(event, data, formatted) {	    
		var hidden = $("#code_input_t_f_1");
		hidden.val(data[1]);
	});

// departure single city #2
	$("#input_t_f_2").autocomplete(cityHelperBackEnd, {
		width: width,
		matchContains: true,
		minChars: 3,
		lang: lang,
		max: max,
		formatItem: formatItem,
		formatResult: formatResult
	});
	$("#input_t_f_2").result(function(event, data, formatted) {
		var hidden = $("#code_input_t_f_2")
		hidden.val(data[1]);
	});
	
	$("#input_t_f_1").keypress(function(e){
	    code = e.keyCode ? e.keyCode : e.which;
	    if(code.toString() != 13) { // if not enter
		$("#code_input_t_f_1").attr('value','');
	    }	   
	});
	
	$("#input_t_f_2").keypress(function(e){
	   code = e.keyCode ? e.keyCode : e.which;
	    if(code.toString() != 13) { // if not enter
		$("#code_input_t_f_2").attr('value','');
	    }
	});
	
//datepicker
if($(".datepicker").length){
    $.datepicker.setDefaults($.extend({
	numberOfMonths: 1,
	showButtonPanel: true,
	minDate: 0,
	maxDate: '+12M +10D',
	dateFormat: "yy-mm-dd",
	showOn: 'button',
	buttonImage: IRSdata.path+'/public/flight/img/icon/16/cal.png',
	buttonImageOnly: true
    }));
    $(".datepicker").datepicker({
        dateFormat: "yy-mm-dd",
	onSelect: function(dateText, inst) {
            var fieldset = $(this).parents('fieldset').attr('id');
            var f_prefix = fieldset.split("_");
            var dateTable = dateText.split("-");
            if(f_prefix[0] == 'main'){
                if($(this).is('.from')){
                    $( ".to" ).datepicker( "option", "minDate", new Date(dateTable[0],dateTable[1] -1 , dateTable[2]) );
                    if($( ".to" ).val() < dateText)	$( ".to" ).val(dateText);
                }
            }
            if(f_prefix[0] == 'multicity'){
                //TODO - 4 multicity feature
            }
            return false;
	}
    });
}

//auto read-write date value
$(".datepicker").keyup(function(){
    if($(this).is('.from')){
	var itemVal = $(this).val();
	if (itemVal.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}$/)) {
            var dateTable = itemVal.split("-");
            $( ".to" ).datepicker( "option", "minDate", new Date(dateTable[0],dateTable[1] -1 , dateTable[2]) );
            if($( ".to" ).val() < itemVal){
		$( ".to" ).val(itemVal);
            }
	}
    }

    if($(this).is('.to')){
        var itemVal2 = $(this).val();
        if (itemVal2.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}$/)) {
            if($( ".from" ).val()>$( this ).val()){
                $( ".to" ).val($(".from").val());
            }
        }
    }
});

//auto write
$(".datepicker").each(function(){
	var id = $(this).attr('id');
	var classes = $(this).is('.auto_off');
	if(classes == false)
		$('#' + id).datepicker('option', {dateFormat: "yy-mm-dd"});

});

$('a.map').click(function(e) {
		var minusLeft = 0;
		if ($('form#searchBoxForm input[name=step]').val() == 2)
				minusLeft = 66;
		var itemId = $(this).attr('id');
		var i_pos = $(this).offset();
		var a_pos_top = i_pos.top + 24;
		var a_pos_left = i_pos.left - (259 - minusLeft);
		itemId = itemId.replace("map", "input");
		e.preventDefault();
		$("#atlas_box").toggle();
		$("#atlas_box").offset({top: a_pos_top});
		$("#atlas_box").offset({left: a_pos_left});
		$("#spot_placeholder").text(itemId);
		return false;
});
$('a#atlas_close').click(function(e) {e.preventDefault();$("#atlas_box").hide();$("#spot_placeholder").text();return false;});

});


if($('#range-check').length){
    $('#range-check').change(function(){
	if($('#range-check:checked').val()){
	 $('input[name="date_from_flex"]').attr("value",2);
	 $('input[name="date_to_flex"]').attr("value",2);
	}
	else{
	 $('input[name="date_from_flex"]').attr("value",0);
	 $('input[name="date_to_flex"]').attr("value",0);
	}
    });
}
$('.submit_parent').click(function(){
    $(this).parents('form').submit();
});

$('input[name="one_way"]').change(function(){
    
    if($(this).attr('id') == 'sBoxTab-1'){
	$('dl.one-way-slide').show();
    }
    else{
	$('dl.one-way-slide').hide();
    }
});

function displayDialog(splasch_id){
    var dialogContent = $('#'+splasch_id).html();
    var predialog = $('<div style="display:hidden" class="none" id="infoDialog"><div >'+dialogContent+'</div></div>').appendTo('body');
    var scroll_pos = $(window).scrollTop();
    predialog.dialog({
	bgiframe: true,
	height: 150,
	width: 850,
	modal: true,
	dialogClass: 'splash_info',
	closeOnEscape: false,
	draggable: false,
	resizable: false,
	buttons: {
	    Ok: function() {
		    predialog.dialog('close');

	    }
	}
    });
    window.scrollTo(0 , scroll_pos);//fix ie7 position dialog
}
$('.submit_qsf').click(function(){
    
   var passenger_count = parseInt($('#adt_count').val()) +  parseInt($('#yth_count').val()) +  parseInt($('#chd_count').val()) +  parseInt($('#inf_count').val());
   if( checkDate() == 0){
       displayDialog('splashBoxInfoDate');
    
   }
   else if(passenger_count > 9){
       displayDialog('splashBoxInfoPassengers');
    
   }
   else{
	 $(this).parents("form").submit();
   }
});
function checkDate(){
    //1 correct, 0 incorrect, -1 wrong date
    date_from_val = $('#date_from_input').attr('value');
    date_parts = date_from_val.split('-');
    if(date_parts.length == 3){
	dateFrom = new Date(date_parts[0],date_parts[1]-1,date_parts[2]);
	difference = dateFrom- new Date();
	days = Math.round(difference/(1000*60*60*24));
	if(days >= 1)
	    return 1;
	else
	    return 0;
    }
    else{
	return -1;
    }
}
