var isEven = function(someNumber){
	return (someNumber%2 == 0) ? true : false;
};

function getOnline(flight_type)
{
	    var httpRequest;
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
                // See note below about this line
            }
        } 
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch (e) {}
            }
        }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        httpRequest.onreadystatechange = function() { setOnline(httpRequest,flight_type); };
		httpRequest.open('GET', "/cgi-bin/online.cgi?type="+flight_type, true);
		httpRequest.send('');
		return true;
}

function setOnline(httpRequest,flight_type)
{
    if (httpRequest.readyState == 4) {
       if (httpRequest.status == 200) {
		var xmldoc = httpRequest.responseXML;
		var arFlights = xmldoc.getElementsByTagName('flight');
		// Убираем устаревшие данные о рейсах, оставляем только строку заголовка таблицы
		var bodyTbl = document.getElementById('online_content').getElementsByTagName('tbody')[0];
		
        var onlineTable = document.getElementById('online_content');
        for (var i=onlineTable.rows.length-1; i>0; i--) {
        	onlineTable.deleteRow(i);
        }
        
		var j=0;
		for (var i=0; i < arFlights.length; i++) {
			var tr = document.createElement("tr");
			
			if (j==0) {
				tr.className = "onlineflights_datarow";
				j=j+1;
			} else {
				tr.className = "onlineflights_datarow highlighted";
				j=j-1;
			}
			
			var td = document.createElement("td");
			var flight = document.createElement("a");
			var flight_name = arFlights[i].getElementsByTagName("name")[0].childNodes[0].data;
			flight.appendChild(document.createTextNode(flight_name.toUpperCase()));
			flight.title= arFlights[i].getElementsByTagName("ac")[0].childNodes[0].data + ':: ' + arFlights[i].getElementsByTagName("plane")[0].childNodes[0].data;
			flight.href = arFlights[i].getElementsByTagName("ac_url")[0].childNodes[0].data;
			flight.className="hasTip";
			td.appendChild(flight);
			td.className="of_name";
			tr.appendChild(td);
			
			var td = document.createElement("td");
			var city = arFlights[i].getElementsByTagName("city")[0].childNodes[0].data;
			city = city.substr(0,1).toUpperCase() + city.substr(1,city.length);
			var site = arFlights[i].getElementsByTagName("site_fullname")[0].childNodes[0].data;
			if (site == '-') {
				if (arFlights[i].getElementsByTagName("site_url")[0].childNodes[0].data == '-') {
					td.appendChild(document.createTextNode(city));
				} else {
					var siteLink = document.createElement("a");
					siteLink.href = arFlights[i].getElementsByTagName("site_url")[0].childNodes[0].data;
					siteLink.appendChild(document.createTextNode(city));
					td.appendChild(siteLink);
				}
			} else {
				if (arFlights[i].getElementsByTagName("site_url")[0].childNodes[0].data == '-') {
					td.appendChild(document.createTextNode(city));
				} else {
					td.appendChild(document.createTextNode(city+' ('));
					var siteLink = document.createElement("a");
					siteLink.href = arFlights[i].getElementsByTagName("site_url")[0].childNodes[0].data;
					siteLink.appendChild(document.createTextNode(site));
					td.appendChild(siteLink);
					td.appendChild(document.createTextNode(')'));
				}				
			}
			td.className="of_city";
			tr.appendChild(td);
			
			var td = document.createElement("td");
			td.appendChild(document.createTextNode(arFlights[i].getElementsByTagName("time")[0].childNodes[0].data));
			td.className="of_time";
			
			tr.appendChild(td);
			
			var td = document.createElement("td");
			td.appendChild(document.createTextNode(arFlights[i].getElementsByTagName("status")[0].childNodes[0].data));
			if ( arFlights[i].getElementsByTagName("status")[0].childNodes[0].data == 'отменён') {
				tr.className = "onlineflights_datarow cancelled";
			}
			td.className="of_status";
			tr.appendChild(td);
			
			bodyTbl.appendChild(tr);
		}
		
		// Устанавливаем переключатель рейсов в активный режим
		var flMenuItems = document.getElementById('of_selector').getElementsByTagName('li');
		for (var i=0; i<flMenuItems.length; i++) {
			var str = flMenuItems[i].className;
			if (str.indexOf('departures')==0) {
				if (flight_type == 1) {
					flMenuItems[i].className = 'departures active';
				} else {
					flMenuItems[i].className = 'departures';
				}
			}
			if (str.indexOf('arrivals')==0) {
				if (flight_type == 0) {
					flMenuItems[i].className = 'arrivals active';
				} else {
					flMenuItems[i].className = 'arrivals';
				}
			}
		}
        } else {
           alert(httpRequest.status);
        }        
    }
}
