/*
	author: Cristiano Aicardi
	copyright: Net Source (http://www.netsource.it/)
	version: 1.0
	ref: jQuery
	ajaxCall: getAirport.xml.php
*/

function select(element) {
	if (element.is("li")) {
		$("li.selected", "#suggest").removeClass("selected");
		element.addClass("selected");
	}
}
function setText() {
	$("#q").val($("li.selected", "#suggest").text());
	clear();
}
function clear() {
	$("#suggest").empty();
	$("#suggest").hide();
}
function cancelEvent(e) {
	if (!e) {
		e = window.event;
	}
	if (e.preventDefault) {
		e.preventDefault();
	} else {
		e.returnValue = false;
	}
}

$(function() {
	$("#q").attr("autocomplete", "off");
	clear();

$("#q").keydown( function(e) {
	var selected;
	var input = $(this);
	if ($("*").index($("li.selected", "#suggest")[0]) >= 0) {
		selected = $("li.selected", "#suggest");
	} else {
		selected = null;
	}

switch(e.keyCode) {

	case 13:
		cancelEvent(e);
		if (selected) {
			setText();
		}
		break;

	case 38:
		cancelEvent(e);
		if (selected) {
			select(selected.prev());
		}
		break;

	case 40:
		cancelEvent(e);
		if (selected) {
			select(selected.next());
		} else {
			$("li", "#suggest").eq(0).addClass("selected");
		}
		break;

	default:
		timeout = setTimeout(function() {
			if (input.val().length >= 3) {
				$("#suggest").show();
				/* $("#suggest").html("<img src='img/layout/ajax-loader.gif' alt='' />"); */
				$.get("ajaxCall/getAirport.xml.php?q=" + input.val()+"&type=orig", function(data) {
				$("#suggest").html("<ul>");
				$("item", data).each(function(i) {
				var li = document.createElement("li");
				$(li).html($(this).text());
				$("ul", "#suggest").append(li);
				$(li).mouseover(function() {
				select($(this));
				});
				$(li).click(function() {
					setText();
				});
				});
				});
			} else {
				clear();
			}
			}, 10);
			break;
			}
			});
			});

function select2(element) {
	if (element.is("li")) {
		$("li.selected", "#suggest2").removeClass("selected");
		element.addClass("selected");
	}
}
function setText2() {
	$("#q2").val($("li.selected", "#suggest2").text());
	clear2();
suggestAirlines();
}
function clear2() {
	$("#suggest2").empty();
	$("#suggest2").hide();
}
function cancelEvent2(e) {
	if (!e) {
		e = window.event;
	}
	if (e.preventDefault) {
		e.preventDefault();
	} else {
		e.returnValue = false;
	}
}

$(function() {
	$("#q2").attr("autocomplete", "off");
	clear2();

$("#q2").keydown( function(e) {
	var selected;
	var input = $(this);
	if ($("*").index($("li.selected", "#suggest2")[0]) >= 0) {
		selected = $("li.selected", "#suggest2");
	} else {
		selected = null;
	}

switch(e.keyCode) {

	case 13:
		cancelEvent2(e);
		if (selected) {
			setText2();
		}
		break;

	case 38:
		cancelEvent2(e);
		if (selected) {
			select2(selected.prev());
		}
		break;

	case 40:
		cancelEvent2(e);
		if (selected) {
			select2(selected.next());
		} else {
			$("li", "#suggest2").eq(0).addClass("selected");
		}
		break;

	default:
		timeout = setTimeout(function() {
			if (input.val().length >= 3) {
				$("#suggest2").show();
				/* $("#suggest2").html("<img src='img/layout/ajax-loader.gif' alt='' />"); */
				$.get("ajaxCall/getAirport.xml.php?q=" + input.val()+"&type=dest", function(data) {
				$("#suggest2").html("<ul>");
				$("item", data).each(function(i) {
				var li = document.createElement("li");
				$(li).html($(this).text());
				$("ul", "#suggest2").append(li);
				$(li).mouseover(function() {
				select2($(this));
				});
				$(li).click(function() {
					setText2();
				});
				});
				});
			} else {
				clear2();
			}
			}, 10);
			break;
			}
			});
			});

/* TEXTBOX VETTORI */

function selectVtt(element) {
	if (element.is("li")) {
		$("li.selected", "#suggestVtt").removeClass("selected");
		element.addClass("selected");
	}
}
function setTextVtt() {
	$("#qVtt").val($("li.selected", "#suggestVtt").text());
	clearVtt();
}
function clearVtt() {
	$("#suggestVtt").empty();
	$("#suggestVtt").hide();
}
function cancelEventVtt(e) {
	if (!e) {
		e = window.event;
	}
	if (e.preventDefault) {
		e.preventDefault();
	} else {
		e.returnValue = false;
	}
}

$(function() {
	$("#qVtt").attr("autocomplete", "off");
	clearVtt();

$("#qVtt").keydown( function(e) {
	var selected;
	var input = $(this);
	if ($("*").index($("li.selected", "#suggestVtt")[0]) >= 0) {
		selected = $("li.selected", "#suggestVtt");
	} else {
		selected = null;
	}

switch(e.keyCode) {

	case 13:
		cancelEventVtt(e);
		if (selected) {
			setTextVtt();
		}
		break;

	case 38:
		cancelEventVtt(e);
		if (selected) {
			selectVtt(selected.prev());
		}
		break;

	case 40:
		cancelEventVtt(e);
		if (selected) {
			selectVtt(selected.next());
		} else {
			$("li", "#suggestVtt").eq(0).addClass("selected");
		}
		break;

	default:
		timeout = setTimeout(function() {
			if (input.val().length >= 3) {
				$("#suggestVtt").show();
				/* $("#suggestVtt").html("<img src='img/layout/ajax-loader.gif' alt='' />"); */
				$.get("ajaxCall/getAvailableAirline.xml.php?q=" + input.val(), function(data) {
				$("#suggestVtt").html("<ul>");
				$("item", data).each(function(i) {
				var li = document.createElement("li");
				$(li).html($(this).text());
				$("ul", "#suggestVtt").append(li);
				$(li).mouseover(function() {
				selectVtt($(this));
				});
				$(li).click(function() {
					setTextVtt();
				});
				});
				});
			} else {
				clearVtt();
			}
			}, 10);
			break;
			}
			});
			});

/* CRI - Selezione compagnie aeree preferite */

function suggestAirlines() {

	$("#suggestVtt").show();
	/* $("#suggestVtt").html("<img src='img/layout/ajax-loader.gif' alt='' />"); */
	$.get("ajaxCall/suggestAirline.xml.php?q=" + $("#q2").val(), function(data) {
	$("#suggestVtt").html("<ul>");
	$("item", data).each(function(i) {
	var li = document.createElement("li");
	$(li).html($(this).text());
	$("ul", "#suggestVtt").append(li);
	$(li).mouseover(function() {
	selectVtt($(this));
	});
	$(li).click(function() {
		setTextVtt();
	});
	});
	});
}
