/**
* Search validation
* @access public
* @return boolean is form ready for submission?
**/
var checkValid = function(){
	var home = $('#homecity').val();
	var dest = $('#destcity').val();
	var departuredate = $('#departureDateDP').val();
	var returndate = $('#returnDateDP').val();
	var isreturn = $('#returnTrip:checked').val() === '1';
		
	if(home === ''){
		$('#homecity').val($('#home').val());
	}

	if(dest === ''){
		$('#destcity').val($('#dest').val());
	}

	if(isreturn){

		if(home != '' && dest != '' && departuredate != '' && returndate != ''){
			$('#lgsearch').submit();
			return(true);
		} else {
			alert('Fyll i alla rutor.\nFör avrese- och ankomst måste du välja en plats från listan');
		}

    } else {
	
		if(home != '' && dest != '' && departuredate != ''){
			$('#lgsearch').submit();
			return(true);
		} else {
			alert('Fyll i alla rutor.\nFör avrese- och ankomst måste du välja en plats från listan');
		}
	}
	return(false); 
};                             

$(document).ready(function() {
	$.datepicker.setDefaults($.datepicker.regional['sv']);

		var updateReturn = function(a){
		fixedDateString = a.replace(/-/gi,'/');
		dt = new Date(fixedDateString);
		$('#departureDate').val(parseInt(dt.getMonth() + 1, 10) + '/' + dt.getDate() + '/' + dt.getFullYear());
		$("#returnDateDP" ).datepicker( "option", "minDate", dt);
};

var updateReturnDate = function(a){
fixedDateString = a.replace(/-/gi,'/')
		dt = new Date(fixedDateString);
$('#returnDate').val(parseInt(dt.getMonth() + 1, 10) + '/' + dt.getDate() + '/' + dt.getFullYear());
	};
	$( "#departureDateDP" ).datepicker({
		showOn: "button",
		buttonImage: base_url+"assets/images/cal.png",
		buttonImageOnly: true,
        minDate: 0,
		onSelect: updateReturn
	});    
			
	$( "#returnDateDP" ).datepicker({
		showOn: "button",
		buttonImage: base_url+"assets/images/cal.png",
		buttonImageOnly: true,
		onSelect: updateReturnDate
	}); 
	
	if($('#searchbtn') && $('#searchbtn').length){
		$('#searchbtn').click(function(){
			checkValid();
		});
	}

    $('#returnTrip').click(function(){
        var state = $(this).attr('checked');
        if(state){
            $('#returnrow').show();
        } else {
            $('#returnrow').hide();
        }
    });
	$("#home, #dest").autocomplete({
		source: function(request, response){   
			$.ajax({
				url: base_url + 'search/ac',
				type: 'post',  
				data: 'term='+request.term,
				dataType: "json",
				success: function(data){
					if(data){
						response( $.map( data, function( item ) { 
							return {   
								searchtype:item.searchtype,
								label:item.lg_airport_name + ', ' + item.lg_airport_city + ', ' + item.lg_airport_countryswe,
			  					value: item.lg_airport_name + ', ' + item.lg_airport_city + ', ' + item.lg_airport_countryswe,
								iata: item.lg_airport_code 
							}
						})); 
					}
				}
			});
		},
	    select: function( event, ui ) {
			field = $(this).attr("id");
			if(field == 'home'){
				$('#homecity').val(ui.item.iata);
                $.cookie('departure', ui.item.label.replace(/<.*?>/g, '') + '#' + ui.item.iata);
			} else {
				$('#destcity').val(ui.item.iata); 
			}
	    },
		selected: function( event, ui){
			return;
		},
		minLength: 2   
	   
	});



$.ui.autocomplete.prototype._renderItem = function (ul, item) {
               item.label = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(this.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
               item.label = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(alla\ flygplatser)(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
               return $("<li></li>")
                       .data("item.autocomplete", item)
                       .append("<a>" + item.label + "</a>")
                       .appendTo(ul);
       };


   
    today = new Date();
	departure =  new Date(today.setDate(today.getDate()+21));
	//$('#departureDate').val(parseInt(departure.getMonth() + 1, 10)  + '/' + departure.getDate() + '/' + departure.getFullYear());
	plusseven = new Date(today.setDate(departure.getDate()+21));
	//$('#returnDate').val(parseInt(plusseven.getMonth() + 1, 10)  + '/' + plusseven.getDate() + '/' + plusseven.getFullYear());

    if($.cookie('departure')){
        vals = $.cookie('departure').split('#');
        $('#home').val(vals[0]);
        $('#homecity').val(vals[1]);
    }
});

