Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var arrivalRequest;
- var arrivalResult = null;
- var dstArrivalObj = null;
- var arrivalIndex = -1;
- var arrivalSelectedValue = null;
- var arrivalOk = false;
- var arrivalInput = null;
- var arrivalSrollVisible = false;
- var finalDeparture = null;
- var finalArrival = null;
- var finalRequest;
- function arrivalIn() {
- dstArrivalObj = document.getElementById('plecari');
- clearTimeout(thread);
- hideDepartures();
- // daca e scris ceva in inputul de sosiri in momentul in care ia focusul lansam thread-ul
- arrivalInput = document.getElementById('la');
- if (arrivalInput.value != '') {
- if (thread != null)
- clearTimeout(thread);
- thread = setTimeout('doArrivalRequest()', 300);
- }
- }
- function arrivalOut() {
- clearTimeout(thread);
- hideArrivals();
- }
- function arivalKeyUp(key) {
- hideDepartures();
- arrivalInput = document.getElementById('la');
- if (arrivalInput.value == '') {// daca e vid anulam call-ul si ascundem meniul
- clearTimeout(thread);
- hideArrivals();
- return;
- }
- if ((key == 9) || (key == 13) || (key == 38) || (key == 40) || (key == 16))
- // tab, enter, sageata sus, sageata jos, shift
- return true;
- if (thread != null)
- clearTimeout(thread);
- thread = setTimeout('doArrivalRequest()', 300);
- }
- function arrivalKeyDown(key) {
- hideDepartures();
- arrivalInput = document.getElementById('la');
- dstArrivalObj = document.getElementById('sosiri');
- if (arrivalInput.value == '') {// daca e vid anulam call-ul si ascundem meniul
- clearTimeout(thread);
- hideArrivals();
- }
- if ((key == 9) && (arrivalSelectedValue != null) && (arrivalOk)) {
- arrivalInput.value = arrivalSelectedValue;
- hideArrivals();
- finish();
- }
- if ((key == 13) && (arrivalSelectedValue != null) && (arrivalOk)) {
- arrivalInput.value = arrivalSelectedValue;
- hideArrivals();
- finish();
- }
- // daca meniul nu este vizibil nu tinem cont de sageata sus si sageata jos
- if (! arrivalSrollVisible)
- return true;
- if (key == 38) {
- if (arrivalIndex > 0) {
- arrivalIndex--;
- showArrivals();
- buildArrivalTable();
- }
- return true;
- }
- if (key == 40) {
- if (arrivalIndex < arrivalResult.arrivals.length - 1) {
- arrivalIndex++;
- showArrivals();
- buildArrivalTable();
- }
- return true;
- }
- }
- function doArrivalRequest() {
- if (arrivalInput.value == '') // daca e vid nu face call-ul
- return;
- departureInput = document.getElementById('dela');
- try {
- if (window.XMLHttpRequest)
- arrivalRequest = new XMLHttpRequest();
- else
- if (window.ActiveXObject)
- arrivalRequest = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {
- return false;
- }
- arrivalRequest.onreadystatechange = waitArrivalResponse;
- arrivalRequest.open('GET', 'getsosiri.php?' + departureInput.name + '=' + replaceDiacritics(townMatch(departureInput.value)) + '&' + arrivalInput.name + '=' + replaceDiacritics(townMatch(arrivalInput.value)), true);
- arrivalRequest.send('');
- return true;
- }
- function waitArrivalResponse() {
- if (arrivalRequest.readyState == 4) {
- if (arrivalRequest.status == 200) {
- arrivalResult = eval('(' + arrivalRequest.responseText + ')');
- if (arrivalResult.arrivals.length == 0) {
- arrivalResult.arrivals[0] = 'Nici o cursÄ gÄsitÄ!'
- arrivalOk = false;
- }
- else {
- arrivalOk = true;
- }
- arrivalIndex = 0;
- if (!((arrivalInput.value == '') || ((replaceDiacritics(townMatch(arrivalInput.value.toLowerCase())) == replaceDiacritics(arrivalResult.arrivals[0].toLowerCase())) && (arrivalResult.arrivals.length == 1)))) {
- showArrivals();
- buildArrivalTable();
- }
- // un singur raspuns, match perfect pe user input
- if ((replaceDiacritics(townMatch(arrivalInput.value.toLowerCase())) == replaceDiacritics(arrivalResult.arrivals[0].toLowerCase())) && (arrivalResult.arrivals.length == 1)) {
- hideArrivals();
- finish();
- }
- }
- }
- }
- function showArrivals() {
- if (dstArrivalObj == null)
- return;
- dstArrivalObj.style.top = '81px';
- dstArrivalObj.style.left = $('#la').offset().left + 'px';
- dstArrivalObj.style.visibility = 'visible';
- dstArrivalObj.style.display = 'inline';
- arrivalSrollVisible = true;
- }
- function hideArrivals() {
- if (dstArrivalObj == null)
- return;
- while (dstArrivalObj.rows.length > 0)
- dstArrivalObj.deleteRow(0);
- dstArrivalObj.style.visibility = 'hidden';
- dstArrivalObj.style.display = 'none';
- arrivalSrollVisible = false;
- arrivalSelectedValue = null;
- }
- function selectArrivalTableItem() {
- var color;
- if (arrivalOk)
- color = '#14a143';
- else
- color = 'red';
- for (var i = 0; i < dstArrivalObj.rows.length; i++) {
- var row = dstArrivalObj.rows[i];
- var cell = row.cells[0];
- if (i == arrivalIndex) {
- cell.style.color = 'white';
- cell.style.backgroundColor = color;
- arrivalSelectedValue = arrivalResult.arrivals[i];
- }
- else {
- cell.style.color = '#666666';
- cell.style.backgroundColor = 'white';
- }
- }
- }
- function getArrivalTableItemIndex(cell) {
- for (var i = 0; i < dstArrivalObj.rows.length; i++) {
- var row = dstArrivalObj.rows[i];
- if (row.cells[0] == cell)
- return i;
- }
- }
- function buildArrivalTable() {
- while (dstArrivalObj.rows.length > 0)
- dstArrivalObj.deleteRow(0);
- if (arrivalResult == null)
- return;
- for (var i = 0; i < arrivalResult.arrivals.length; i++) {
- var row = dstArrivalObj.insertRow(i);
- var cell = row.insertCell(0);
- cell.innerHTML = arrivalResult.arrivals[i];
- cell.onmousemove = function() {
- arrivalIndex = getArrivalTableItemIndex(this);
- selectArrivalTableItem();
- }
- cell.onmousedown = function() {
- arrivalIndex = getArrivalTableItemIndex(this);
- selectArrivalTableItem();
- if (arrivalOk) {
- arrivalInput.value = arrivalSelectedValue;
- finish();
- }
- hideArrivals();
- }
- }
- selectArrivalTableItem();
- }
- function finish() {
- try {
- if (window.XMLHttpRequest)
- finalRequest = new XMLHttpRequest();
- else
- if (window.ActiveXObject)
- finalRequest = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {
- return false;
- }
- finalDeparture = townNameFormat(townMatch(replaceDiacritics(departureInput.value)));
- finalArrival = townNameFormat(townMatch(replaceDiacritics(arrivalInput.value)));
- finalRequest.onreadystatechange = doFinalRequest;
- finalRequest.open('GET', 'autocare.php?nmp=1&dela=' + finalDeparture + '&la=' + finalArrival, true);
- finalRequest.send('');
- return true;
- }
- function doFinalRequest() {
- if (finalRequest.readyState == 4) {
- if (finalRequest.status == 200) {
- var content = document.getElementById('content');
- content.innerHTML = finalRequest.responseText;
- document.title = 'Orarul curselor FANY de la ' + finalDeparture + ' la ' + finalArrival;
- var urlDeparture = finalDeparture.replace(/-/g, ' ');
- var urlArrival = finalArrival.replace(/-/g, ' ');
- var ajax_url = '/autocare-' + urlDeparture + '-' + urlArrival;
- var pageTracker = _gat._getTracker('UA-9627298-1');
- pageTracker._trackPageview(ajax_url);
- // +1 code
- var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
- po.src = 'https://apis.google.com/js/plusone.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement