Index: MLXMANIFEST
===================================================================
--- MLXMANIFEST	(revision 890)
+++ MLXMANIFEST	(revision 900)
@@ -4,9 +4,9 @@
 library/fnmatch.pyc	3414	4d50000f78e903598af06ef1c5cfb3ef
 library/multiprocessing/managers.pyc	36290	ca35d24d87467303c5e94a0de51e9593
-library/gtk/_gtk.pyc	549	fe4816d7315373754a9c2a78c1cb910d
+library/gtk/_gtk.pyc	549	ccdd4be123a0909d44052f30869b38d8
 library/encodings/cp858.pyc	7591	02054a0b8e91b9758826eb70cddf096f
 library/encodings/cp1254.pyc	2678	17ff2ac86f90886d5c73ed789f0499f3
 library/encodings/unicode_internal.pyc	2022	1e902113491e0c334b44deb0c8940e01
-library/lxml/etree.pyc	555	4cedd864ad5b158d44762634ecc002c9
+library/lxml/etree.pyc	555	8f2c530f47011cee9a5f642ef3df8d71
 library/encodings/gbk.pyc	1622	71c1e7fe25116114241829a60e57c5f4
 sounds/speed.mp3	26331	3d64da0eea9f48fa73be82d385354bf6
@@ -17,5 +17,5 @@
 doc/manual/hu/pirepViewer.png	26835	267e4325e550ed14ed22f86a2c7e8e9d
 doc/manual/hu/prefsGeneral.png	25601	a33faad4d576b080ae0c040f5a1a5404
-library/mlx/gui/statusbar.pyc	4812	b6448dd0f6077bc70527ee0c39c330e1
+library/mlx/gui/statusbar.pyc	4812	490a882b53429fa18f317e146f0c70c0
 doc/manual/hu/mainWindow.png	29545	489097bf9f0d72ba0cb2661c0dfe881b
 library/lxml.etree.pyd	2977792	d9f46391d4eeb719304a07b1ddaa72d9
@@ -32,5 +32,5 @@
 library/WINHTTP.dll	354304	d29f2889baa10e19ad9ff70c8d5ecf50
 locales/ca.pak	7484	6490335e2837ffefb296ff1fabb50372
-library/mlx/gui/timetable.pyc	27480	9ef0c7c9b50df08d7c1bc75d14dac825
+library/mlx/gui/timetable.pyc	27480	92ebb8630c797b4235b54ecf205ed344
 library/encodings/cp720.pyc	2736	a0f8bdcf6477a00166d2a38b1ba3ce7c
 library/xml/sax/_exceptions.pyc	5829	9f1abe12a091b6808b131a0b4e179b5a
@@ -41,5 +41,5 @@
 library/encodings/big5hkscs.pyc	1670	0ff54e70f21b5e4a359d3779367cba85
 library/encodings/utf_8.pyc	1806	4b8dee0284ea2f55c4142fcde7463524
-locale/hu/LC_MESSAGES/mlx.mo	90385	b4cc05ef2d0e7afff8adea144d3533c3
+locale/hu/LC_MESSAGES/mlx.mo	90718	d3f06c29211edf37a14045d9345e4d0b
 library/encodings/mac_roman.pyc	2716	4b4745eccfcb77860b70b374ac07fbcc
 library/py_compile.pyc	6292	425da7ee065aa158fd274946204a4a77
@@ -52,10 +52,10 @@
 library/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo	21895	a932ead453f04de30e348c1689a4d896
 locales/fil.pak	7790	38cdea149d120d8e9a8a0b0a90ac5dfd
-library/mlx/gui/dcdata.pyc	19919	9ea5897e2b27e087ff36f16c77a09487
+library/mlx/gui/dcdata.pyc	19919	a37ad72d994b8a523da07130970c2f0b
 library/encodings/iso8859_5.pyc	2679	58a290e94b0266ef8ff4ee52da00e257
 library/encodings/iso2022_kr.pyc	1683	ef9549932514d2deda6c4676e5e5f1db
 library/libglib-2.0-0.dll	1242929	18e88b04da123bf05b07ff60a4e96654
 library/base64.pyc	10528	39abec9c60dc011d3c763f443f9b1a11
-library/mlx/gui/bugreport.pyc	4602	99c9fc4da49ca115a5bd140a8405b87d
+library/mlx/gui/bugreport.pyc	4602	a32ca4d644f316b3d120ae3dc2597eba
 doc/manual/en/flightSelection.png	32104	68b94da285951d84fd15ec40d809751a
 library/multiprocessing/pool.pyc	19766	3a4d776f05a59e31df0218fcf52b9a6d
@@ -100,8 +100,8 @@
 library/encodings/koi8_r.pyc	2700	fff1b35002b9e938b7ea6fd0fbe824ae
 sounds/737taxi.mp3	157362	846c403e5cb660be53c8b6da16b68234
-library/mlx/const.pyc	7504	d661c08870a0056cb2b4bab198de8c34
+library/mlx/const.pyc	7781	ca412d026807bd7532a49e6f40d63833
 python27.dll	2206720	f8f39495ed4a813e8f3049a4b9f5cff4
 locales/th.pak	13637	7262d0f5e1877212a45a1ef1ccc4c777
-library/mlx/gui/cef.pyc	13567	b11c3bd18b59392a8a828d8ae904d2d1
+library/mlx/gui/cef.pyc	13567	4e4065185decfc2a23900a45b112a896
 library/encodings/punycode.pyc	7570	335ff94e207934ae64e6f5fc07a5cacc
 library/encodings/shift_jisx0213.pyc	1710	1ec0383aafb1dcadb5f9b6afff16eb7f
@@ -118,5 +118,5 @@
 library/email/header.pyc	13339	f741f4c3543a278fec30f4d9bdd0f859
 library/share/locale/hu/LC_MESSAGES/atk10.mo	8465	e3f3466da367215aad971d7b0394229d
-library/select.pyc	543	64632c3b8962883ab952e483a722d0f9
+library/select.pyc	543	49de99d20755a51a448c47694aabf924
 library/encodings/uu_codec.pyc	4646	5282a5fcb676851224d2924aa3e48a9e
 library/ConfigParser.pyc	23857	1d17020dd0000ce0f73de812effa152f
@@ -129,6 +129,6 @@
 icudt.dll	9956864	5434e18b933e03f274d8da59fda4c676
 doc/manual/hu/simbriefSetup.png	32497	b287886107be21b6695897085b218fd4
-library/mlx/soundsched.pyc	9185	5d9c36cbf8971ad0e91adff5f9c4ab54
-library/mlx/logger.pyc	13109	78ca8e8f2b0b51e228a32fcca6f50fb7
+library/mlx/soundsched.pyc	9185	4211730170fddb82b5683ce1849234ee
+library/mlx/logger.pyc	13109	a70c061d36cf6b4e540f5610133466d3
 library/email/charset.pyc	13200	771aee9802116e673d08b44bc0450f99
 library/xplra.pyc	32012	50a1d9f19c0cc88783d264909ad1c678
@@ -158,13 +158,13 @@
 doc/manual/hu/flightSelection.png	32828	68562091faef606b1247e5d3a40c488e
 library/win32pipe.pyd	24064	de374eded459293b2a7eb8ed8fb38eaa
-library/win32pipe.pyc	552	481d263642893856d1c992f484f380aa
+library/win32pipe.pyc	552	70f5476d7ed103cb22b901a81e2d62fc
 doc/manual/hu/cruise.png	27925	f7045d9150a756f487e3ae3d08b4c1a5
 library/encodings/iso2022_jp_2004.pyc	1723	66376e788f3819e781897268c1100986
 library/cefpython3.cefpython_py27.pyd	968192	58161b73feae974f560d2c9f416adf3b
 library/encodings/cp866.pyc	8103	f36418dcf93b17b3ced63bd544f44159
-library/gio/_gio.pyc	549	ce68d42eef1532c1ec170b997a7fdebd
+library/gio/_gio.pyc	549	63dbf557dc3df483aa6a0bae37a2d472
 library/encodings/cp437.pyc	7874	63f1278c0a66129c6fb4f504d6b61b66
 doc/manual/hu/prefsSounds.png	22667	452c396c2bda9684bf052c98fd7870d1
-library/mlx/gates.pyc	7002	5c82c4c4dd0918bf385497549f14767f
+library/mlx/gates.pyc	7002	20aca1eaf3de122eda51883b5b518f6f
 library/mimetools.pyc	7837	c9accd6ef795bf71c90630be0161cadc
 doc/manual/en/pirepLoaded.png	9887	e27a7c87e134944787e29874c455380d
@@ -175,8 +175,8 @@
 doc/manual/hu/acarsTab.png	305091	489953210460410f2ec9d281b7ad6868
 library/encodings/utf_32_be.pyc	1747	3e8c9ef8145de502320202b1688fd2ee
-library/cefpython3/cefpython_py27.pyc	600	22895e1b76e628cfe1126552651999d4
+library/cefpython3/cefpython_py27.pyc	600	542ae3754fe3029d9fffe5ac7f9bd374
 library/encodings/mac_romanian.pyc	2756	a3b2a0892236bc80c8efe8940e33339e
 library/multiprocessing/connection.pyc	13385	c86567e4a002e8beca2301d1110b887c
-library/_ctypes.pyc	546	ea964009a19c93c9b7e6d5a0952d740b
+library/_ctypes.pyc	546	21922d74db381df8923d751a6ccef8eb
 Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest	1856	a1328f4f5ae0580ce72b0717893c9072
 library/encodings/iso8859_2.pyc	2678	da65f42e1be5bec97161e8c1cc4f0fb7
@@ -191,20 +191,20 @@
 library/quopri.pyc	6352	87c42d94f753dd4c8a761cfa79453bb8
 library/htmlentitydefs.pyc	6347	814dc784fdb3d998dccee4c3f4c0394f
-library/mlx/gui/monitor.pyc	13015	506dbdd642eea450bb2cd7bb0c397caa
+library/mlx/gui/monitor.pyc	13015	adcdde553f6ef5956faa6856489c6b0b
 library/encodings/latin_1.pyc	2111	52427573ccbfd06220b67d5a9dd1376e
-library/mlx/update.pyc	17632	a3cb8734519c01a74e628f78c1eac5ce
+library/mlx/update.pyc	17632	e27fbb1e86d28e99f493c83ae1dae57d
 library/bdb.pyc	17708	9a8fdcaa65f595c842689247847879d9
 library/unittest/case.pyc	37758	1d2235e74c246b562c5c00ddf73c621a
 library/subprocess.pyc	38648	c9f749db06dfc9fb32079de51d6efd01
-library/mlx/acft.pyc	42418	ab4080e74ed57c8608a662d38dd9f5c2
+library/mlx/acft.pyc	43831	4bb1ff76aca2130bed92b093a1749116
 library/gobject._gobject.pyd	113152	3d05dd191361f83aa247b62c700fa04e
 doc/manual/hu/checklistEditor.png	27863	8c750892a52dc10ca654a9d0b2765358
 library/bisect.pyc	2971	ad8ce3e265b404ed3971b842106f8179
-library/mlx/gui/acars.pyc	1054	f1ac7c30434908114c49343eca6dfd32
+library/mlx/gui/acars.pyc	1054	6467ef4c361a74b4c2a289cba55761c3
 library/gtk/_lazyutils.pyc	2772	93f9aa41ad4223106d99340cd539a566
-library/mlx/mlx.pyc	3027	6acdd392d3f3095bac42108db71a7f63
+library/mlx/mlx.pyc	3027	062ba9eaf26e78de62ed20f4ab91cc79
 library/encodings/cp864.pyc	7999	ca90afae086cb6b8f69b8419cc3cd1cb
 library/pyexpat.pyd	152576	5a82e9ec95005aca6130751e5b961cc3
-library/pyexpat.pyc	546	c0175ad3bb5cd86249bf1cef3e3a560f
+library/pyexpat.pyc	546	331b065065412d197efb50068f1b11b0
 library/unittest/loader.pyc	10884	591a785be23fba35582ce33bdd3d7acd
 library/ftplib.pyc	32043	5a1925388a0874e459aed6891f4cf0c1
@@ -214,5 +214,5 @@
 library/unittest/suite.pyc	9838	bf2c79bd4a6b6032f1ea53fa4908748f
 library/encodings/mac_arabic.pyc	7824	820deef79b02e1f7e52eb18e9be655bf
-library/mlx/gui/prefs.pyc	28139	1e2b4ccb44bc09700582f3e3cd2e44fa
+library/mlx/gui/prefs.pyc	27921	2d3de746b632866251dccb5b1eb63f23
 library/encodings/tis_620.pyc	2748	5969b4db4f967b11ae7992cdfbf5890e
 library/encodings/cp855.pyc	8071	0a4259ba854c24186f2ce61d85883b4a
@@ -224,5 +224,5 @@
 sounds/ding.wav	80856	18e639792d3767436ac6955eb60e4f54
 doc/manual/en/simbriefResult.png	32136	c55b3f649ca19cbbef738feaee26d639
-library/mlx/checks.pyc	62721	18a21eeaf1e699d8928877ea074e04fa
+library/mlx/checks.pyc	62721	3af0d317e94f7220e1ea224d43cfa4d8
 doc/manual/en/student.png	27531	5cc3fbe19909e31ecf82b764d17a6766
 doc/manual/en/pirepViewer.png	25098	7c545e70b995ac0f9fcae93fe5d0e899
@@ -230,5 +230,5 @@
 library/gobject/constants.pyc	1957	2e9cdc605e7c449ef4fc23f56128acec
 doc/manual/hu/calloutsEditor.png	16026	fede870894a85e5d21ca16a026aa6a98
-library/mlx/xplane.pyc	67128	8e7c7ec2b3b222768fe77c418db1002e
+library/mlx/xplane.pyc	67548	6ede9cf8fe1651636b499142797b4f6e
 library/ssl.pyc	13785	d90c880699ecbedb3182f556b9733868
 library/tempfile.pyc	18526	e2cc2d63c29e15f20ee9325e790643a3
@@ -256,6 +256,6 @@
 locales/pt-PT.pak	7270	731a9c54bd2331f411a5a2976d1f3622
 library/encodings/iso8859_10.pyc	2693	5e6cc8f721486ddbc1c99da285e13191
-library/mlx/config.pyc	33266	a7d9c1089d89b2eae06344b4eb62b515
-library/atk.pyc	534	696d668cfdc42d4ddb0973dec25e43af
+library/mlx/config.pyc	32932	2c787fa0d592ff65e6e890e45e7f4731
+library/atk.pyc	534	ce47437fcb9187bb74723200c98838fa
 library/gio._gio.pyd	263168	acb8c95fdc391079bebdf7d8685b0dbc
 library/encodings/cp861.pyc	7868	c97a8970ce4d9f40cbafbea6576fbdca
@@ -269,5 +269,5 @@
 library/zlib1.dll	100352	d90dad5eea33a178bac56fff2847d4c2
 locales/en-GB.pak	6364	2a92f4fc905c2743129ccbcdf80d443a
-library/mlx/gui/delaycodes.pyc	13323	5d2e3c3064fdfc49404973b22a629130
+library/mlx/gui/delaycodes.pyc	13323	67bd0762b1242b4dae043546155187c2
 library/encodings/raw_unicode_escape.pyc	2048	8138045029da04bf45204ab756d1bcd4
 sounds/TOD.mp3	174707	92176d53d948fbfebd08c011b063179a
@@ -284,8 +284,8 @@
 locales/pt-BR.pak	7211	d0542b9b325ea58be590d021aeb7333d
 library/libexpat-1.dll	143096	701659d3689bf4a8265b669b7d774255
-library/mlx/gui/info.pyc	7374	a4e2d54b4f7acf65b29ff20393e5d2c8
+library/mlx/gui/info.pyc	7374	7431efd8a70bb0b8f485f8ec758576a5
 library/encodings/iso8859_6.pyc	2723	c8f9aa14a6a2ebf05d977317114bc65d
 library/libpango-1.0-0.dll	333729	5a14efd93ee27cfe960220fe4a904911
-library/mlx/gui/gui.pyc	64506	1ef86c765984abf3a3ef6f4f39a12b36
+library/mlx/gui/gui.pyc	64705	83d22920b5e0b2433d399ba0c91e09f9
 library/stat.pyc	2503	d3b6dc7a54e705219f04d0be75a212de
 locales/ru.pak	10392	1b66f03dd656a2433ce643d0259fca6f
@@ -293,5 +293,5 @@
 locales/sr.pak	10790	fd63b700458a187aca8dde86c160a059
 doc/manual/hu/registration.png	31260	877f209cc012ce6b3335368276babcc6
-library/gobject/_gobject.pyc	573	9c208b5682178410d144235e4e0dc566
+library/gobject/_gobject.pyc	573	5692421648da2f24e72d0dd23cddd9c2
 libcef.dll	38585344	4dfb8a77f35c41bdbe8469877d4af853
 library/encodings/utf_7.pyc	1747	2beeb059236527197d6c640396476ce8
@@ -306,14 +306,14 @@
 doc/manual/hu/monitorWindow.png	21499	c8296e51e14588ac5b037b4832161dfc
 library/pangocairo.pyd	17920	5fc69a7d29a6d3127710c64de440daa4
-library/pangocairo.pyc	555	28af83fc19cded4fc98ec58484387a76
+library/pangocairo.pyc	555	c9b1bfcfc52d98e171d8aef36d276bb1
 library/zipfile.pyc	37345	568c6ee7e0404625f47248340afb4524
 locales/it.pak	7188	10ae10d8bfcffbfa1160574134e14edb
 doc/manual/en/acarsTab.png	198944	3ec162b7e6b077ab62d673c335929fb3
-library/mlx/rpccommon.pyc	3956	5ff33f58a6bee5a753dde2421cf938b2
+library/mlx/rpccommon.pyc	3956	e6db84bdf8a987dc7c35294673ecfb1d
 doc/manual/hu/helpTab.png	29126	88f236f84b1b520c60653f4665fd10e2
 library/sre.pyc	499	92bb633daa0bab6550ec0e3677673b5b
 library/tokenize.pyc	13565	354d02cd79df187a28c1851a1e3bad96
 library/win32con.pyc	140797	84d2d064066cfbcc219230f7e9c6e0b0
-library/mlx/gui/flight.pyc	182603	683c1e711e9614a6bdb7e6fcb840989e
+library/mlx/gui/flight.pyc	183734	9e63c9c96171c2df91ce7e36f98da1e9
 library/xmlrpclib.pyc	40724	d4f819f9199ea21236a74c967e335c43
 library/lib/gtk-2.0/2.10.0/engines/libwimp.dll	97984	a5bbbe46e1363aba9020a76f2d58e9d6
@@ -328,26 +328,26 @@
 locales/fi.pak	7098	70c7e2fb26c7abf09cb0f9972fb6c93a
 doc/manual/en/monitorWindow.png	20886	42e08d10c758e21209c4c021f391dee7
-library/_hashlib.pyc	549	1165d901defce2ba71812217e87d6f91
+library/_hashlib.pyc	549	9a5d5dc1c1e02eddb61723be3c81d39b
 library/copy.pyc	11674	30d1745c5e38ab170f8a0486fbebf305
 locales/et.pak	6856	18a0a857e46c28b7f1cd8ff639a24aec
 library/unittest/result.pyc	7444	aefbb3cc79c0ff17787ce84faed7f5e8
-library/mlx/gui/__init__.pyc	107	22f268cac1c5be2f3a058810b6caead3
-library/mlx/pirep.pyc	11862	8590e401f3d6a84091913b6e4d390318
+library/mlx/gui/__init__.pyc	107	3494fc6a671a7b8a9dc72ea93948ae52
+library/mlx/pirep.pyc	11862	77ce612c43f8356f164f2d6dbba54071
 library/json/scanner.pyc	2169	e19ee185b7c79ab5cc433b39fcd33faa
 library/traceback.pyc	11223	50ace5c2c6c040a923082442da94cd78
-library/mlx/flight.pyc	21369	025c6f2183b19adb20e604a1cda0366b
+library/mlx/flight.pyc	21771	942d1b3cc815f1775d7829e7d5986d6d
 library/urllib2.pyc	43566	7eb57ea0dcd1086d1d9073a5cefb0903
 library/encodings/mac_farsi.pyc	2659	df751a61510129a25f7a43ae3aace4f7
 library/encodings/iso2022_jp_3.pyc	1699	ee1c3aa11bbe19eeb4deafa238563133
 library/cefpython3/__init__.pyc	556	38a652a0209e49e323bee4dd54a018af
-library/mlx/common.pyc	444	81a72ceff029e4be88de252226d0f2b4
+library/mlx/common.pyc	444	6befa042b541293b90ca3b7caf281e6d
 doc/manual/en/simbriefSetup.png	30414	9788762f9a23ffd71a66cbd90a23f13b
 library/ctypes/__init__.pyc	18846	2bd183962453ae93d6887b303d3fd338
-library/mlx/acars.pyc	2352	9396f366c1d2958204ceadf4e5b4eb7a
+library/mlx/acars.pyc	2352	91494421b7612bb60560eecc985d5aab
 library/encodings/cp865.pyc	7868	7d40a7ba053ac23339218be8799e5397
 locales/bn.pak	14431	f402d363b8a07649b6787b745434daf7
 sounds/taps.mp3	16614	d4a019c7e9342ae329aee6932d6a43c3
 library/markupbase.pyc	9010	b33ff430e9b1adba3d540b5394ff289a
-library/cairo/_cairo.pyc	561	5f0ebf0e8ff791c32ffb875ada20d672
+library/cairo/_cairo.pyc	561	01892a78d8cdbfcfc71fb98ea17f8f08
 locales/te.pak	16110	c3af85e60b78273a93970cf8805ded04
 library/lxml/cssselect.pyc	3861	2e693f0c25ab04b1d130646cddd4e081
@@ -359,5 +359,5 @@
 library/winerror.pyc	112982	4986a8f2df094dddedd12c9fddf4966d
 library/encodings/cp775.pyc	7888	25bf7dd514dff294aa02d5119399b2b7
-library/mlx/fsuipc.pyc	75964	7ccb88cac4ea838538647400b3b2a0ae
+library/mlx/fsuipc.pyc	75964	d5345164190acf18b2bb8a291415ff55
 library/xml/sax/__init__.pyc	3579	c78222ad1fd4f3dbdea06666fe74e84e
 doc/manual/en/connect.png	29728	191520526caf0fa58efcd97d597c9247
@@ -365,5 +365,5 @@
 library/libgdk-win32-2.0-0.dll	931390	a2b46daac3d4140efdf86429f7aea476
 doc/manual/hu/pendingFlights.png	20945	2ce8d177aea079b21582704e38c68371
-library/mlx/gui/common.pyc	20876	45e8cc2a1c41ba7091e7845fc51fbd0a
+library/mlx/gui/common.pyc	20998	c4a79324478fadd4754707e1cca0b38a
 library/dummy_threading.pyc	1265	5ab5c897721aeb346b5bccb84066c5bd
 doc/manual/hu/index.html	67085	0008be8482043be070db2c2c4f2c3046
@@ -379,10 +379,10 @@
 library/encodings/iso8859_16.pyc	2695	85e819a29dec2b601ce978dcd5a040fc
 sounds/cpt_takeoff.mp3	8255	254edcf79b8b3752d1a7c191c57f615a
-library/bz2.pyc	534	7b01882aa537ced5392bfd6a05c92bee
+library/bz2.pyc	534	3fc098070fd71f141def09bf7e420ab1
 library/email/utils.pyc	8840	a7be428df6fddee6121cfce55382d1f8
 doc/manual/en/prefsGeneral.png	25633	a5ef76b874f4ad5384b519a11bdf9c47
 library/encodings/iso2022_jp_2.pyc	1699	4b917caa926e5779176612409c66be39
 library/_ssl.pyd	720896	90826a140137efd0d806038828e16f8e
-library/pango.pyc	540	1c0e90e57415e1e74c0b496cce34a7f5
+library/pango.pyc	540	21cec340f978ffee00f37a02d495d61b
 doc/manual/en/flightBooking.png	37170	266bd9c93de3a1449b51854a05b98366
 library/glib/__init__.pyc	187	d44c8c2772b263a36726ac0dcfc04b42
@@ -390,5 +390,5 @@
 library/libgobject-2.0-0.dll	341594	356d697647a480562c4e2e921b13f8ed
 doc/manual/hu/acceptedFlights.png	43527	6c52b86433a227efed500f27769aef97
-mlxupdate.exe	19456	9b19d587509c61dcc52b91a871d0f675
+mlxupdate.exe	19456	1d7bb33aea239a041e1ae6a9ea67445a
 library/email/errors.pyc	3229	cdb78ab237e195ad69f059128bc03b1d
 library/linecache.pyc	3091	666e6f81b0ea9a7637f8068493f738d5
@@ -401,5 +401,5 @@
 library/getopt.pyc	6454	8f8cd6763f5339988d157d153c910bf5
 library/encodings/cp857.pyc	7611	1b46c8959ac097b73e1c680d464cdc32
-library/_ssl.pyc	537	244c691a5e5f65839b6a8dcba79e2e88
+library/_ssl.pyc	537	d4812f8f7f922f63cdc1340e179b7f84
 library/os2emxpath.pyc	4312	0c35794eeb4739ebb4eb28b9a1daf0ca
 library/pprint.pyc	9852	6b4724e14285c257116655b1d4ba6db1
@@ -411,9 +411,9 @@
 library/ntpath.pyc	11407	533c9331a1b72cc80dd3f88145ba4466
 library/json/__init__.pyc	12974	d7e08774d4fee83dd2a6d3868855a800
-library/mlx/gui/checklist.pyc	12279	0d648433bc36dd90e70dbd27c094733a
+library/mlx/gui/checklist.pyc	12279	555775aaed42b3d0687e1b0f501a9f61
 locales/de.pak	7420	18ba99b07536017ed8b87cb4f77aee1c
 library/encodings/cp1252.pyc	2676	b4c43cc72650c911cf3654dbaf565df9
 library/unicodedata.pyd	688128	c856c31a03dc892e4f2aee93d0bfee44
-library/unicodedata.pyc	558	1d02ca413783825aeb8e6b3976f0add4
+library/unicodedata.pyc	558	f8c55c5d1ca43879e328efe26742ccec
 library/multiprocessing/sharedctypes.pyc	8069	0b5a57d8a8a1562a9d562edabd5065c1
 library/encodings/cp1256.pyc	2675	c1bf26ed9c9b5ee0eec495138993cffb
@@ -422,11 +422,11 @@
 logo.png	69816	4a7517b22cfd75cc9c15e3fc1b7ebeec
 library/libpangoft2-1.0-0.dll	815421	1dbfead06e26edb81f0849490210e3ff
-library/mlx/util.pyc	5026	ee65b78fc430008ce301eee1155d85b1
+library/mlx/util.pyc	5026	e28805b72a8df264fd03df201653c221
 doc/manual/hu/student.png	28297	1e72329a3a463d4c50f1b9d91c3aeacc
 library/_LWPCookieJar.pyc	5440	3782ae675165b232a3f78608ac2dbccd
 library/libfontconfig-1.dll	279059	dd583bedc5efe7bbd21a8ef107dec88d
 library/_strptime.pyc	14347	ad17a449b54061177a080e3a21507a39
-library/mlx/singleton.pyc	9184	3b71000d428959ab355db2658cea9557
-library/mlx/airports.pyc	4350	95dddcb84b0fb7dc4342c69a45ab20b6
+library/mlx/singleton.pyc	9184	9eec2ed5b230e043afc56592fb13a684
+library/mlx/airports.pyc	4350	c91293cee62158e0b57827f7da2b0b3a
 library/Queue.pyc	8848	4a5b98abcb80aaf94e6de1eb41ec66fa
 sounds/notify.wav	119384	108025b17f67e61946df5d7fbf713cdb
@@ -443,6 +443,6 @@
 doc/manual/en/flightBookingRegular.png	10987	46a0cd0f77d8f4c286196752c6cf1b37
 library/encodings/palmos.pyc	2876	9284ad53dcfd82dfae0a79923b1cf91d
-library/mlx/web.pyc	49987	6f9d6f859938b4e4f3e5c4004e6e5194
-library/mlx/gui/gates.pyc	5635	541e695d5acf90721e523c5513fe7d0d
+library/mlx/web.pyc	50085	0d3f05478f11de55def73551a5803590
+library/mlx/gui/gates.pyc	5635	ea478376f306ce9d6d0ed2e759407c00
 library/gobject/propertyhelper.pyc	8878	cc3598dab17d31ff46a6dee669ccb5ed
 library/intl.dll	152489	eb2d4c4d4a527bc88a69a16cc99afcf5
@@ -465,24 +465,24 @@
 library/multiprocessing/heap.pyc	6104	71b50576901ea09d8e4666a9a80724d3
 library/encodings/unicode_escape.pyc	1996	32990583f1caf874e556087da7b92971
-library/_multiprocessing.pyc	573	75d775fe0fe2d2285eb0f31de28bacc4
+library/_multiprocessing.pyc	573	85faa60bc8d8b3d69345f10292e39005
 doc/manual/hu/logTab.png	28908	25b9aceb760189c177a5562c0cfa2a04
-library/win32event.pyc	555	d92a7808ed1848a5f745893510cb9249
-library/win32file.pyc	552	3b5fe9c088871cf707f54153c8680507
+library/win32event.pyc	555	9d23ca715afe49593db8c754a663114d
+library/win32file.pyc	552	c3ed345f1e6540e4f2a5991b293595ed
 library/_multiprocessing.pyd	28672	edd174951a2233941c8d2064c0f69a68
 library/encodings/shift_jis_2004.pyc	1710	f8bb22a8b02dba2b66b7f77122c98fd6
 library/encodings/cp856.pyc	2701	8b6649490089bedd87e9b8c56985f6b3
 locales/hu.pak	7647	7a37ba9f9113e4f7e9de5b5b9643a48c
-library/mlx/gui/weighthelp.pyc	13179	09924037c8e067c96c1e7acd88671ed1
+library/mlx/gui/weighthelp.pyc	14211	e3f70a4883c77f65d41a06b3b04500e2
 library/encodings/cp850.pyc	7621	20d776af743fa7acf090fbd575eea143
 library/gio/__init__.pyc	809	bc9332556e93183a58be5c10cba18557
 doc/manual/hu/debugLogTab.png	32687	9280a72a7c4d4dc5d93a133410505402
 library/weakref.pyc	13028	5d1c14275f47e8cf6d40bc6877fde976
-library/mlx/fs.pyc	11967	1ee8179acadd281b9e9141fa241192bd
+library/mlx/fs.pyc	11967	10fe7e01a3569b609698be97ab21dd5b
 locales/he.pak	8198	2486731ee9bedc244d41143a2741775f
 library/nturl2path.pyc	1755	7835082f2dd6806f99cc25bed13ff7dc
 library/email/message.pyc	27764	493826f529d17f5a21080a4c98b49369
-library/mlx/gui/pirep.pyc	41544	35d195acdae021797e1630406d501a43
+library/mlx/gui/pirep.pyc	41544	e7917f01c2960e4e75f9c2100c2c099b
 library/mimetypes.pyc	17806	927ce6a7079707aaee925e855ed23454
-library/mlx/gui/faultexplain.pyc	10129	f21b2f7b30d736b986b96356587c4810
+library/mlx/gui/faultexplain.pyc	10129	fe284c4445ac283cdbce34e81522e8ca
 sounds/F70taxi.mp3	154854	51332dc691d3519355f61ed06c959d8d
 doc/manual/hu/statusIcon1.png	6920	614cde237a5b4e2678ed15d9cd01088e
@@ -500,5 +500,5 @@
 library/libgdk_pixbuf-2.0-0.dll	285194	e4c64b0e7e4c6606f3973a16c0c1ee84
 library/encodings/big5.pyc	1630	a21b45d3e487bf09f40a08448040c97d
-library/mlx/gui/update.pyc	11482	0253f16c44bb29de314f25c9a5f57e64
+library/mlx/gui/update.pyc	11482	e53b2ce9e7650dc6ba852436d111b318
 library/encodings/cp1250.pyc	2676	c92e287a2aa6a1c924df287d826aa3b7
 doc/manual/en/gatesTab.png	31516	7078e7c5adff9ee39816d2c3855d8523
@@ -508,12 +508,12 @@
 locales/vi.pak	7990	f0d8ddd9bdabaef79a9c92f3fd021f25
 library/encodings/cp862.pyc	8003	261df6dd1a6e5ad90a83dfc739a25e0a
-library/mlx/gui/statusicon.pyc	5616	72e7f1f435bced8727eecc708d69de12
+library/mlx/gui/statusicon.pyc	5616	03e079307c1f83f36284e1b32887b28e
 library/lxml/__init__.pyc	708	4e6d5e156fb2fe6a8103dd02a1037634
 library/encodings/cp863.pyc	7868	fc7ff06dab536b93c68fcb8e7bac713f
-library/mlx/gui/flightlist.pyc	27053	b046e01f173832414d29324cf463731e
+library/mlx/gui/flightlist.pyc	27053	31a0362eefea63d7c0d561b2630e1db2
 library/codecs.pyc	34722	339dc90c17d548887dbcf1bbbcae5d5b
 doc/manual/hu/gateSelection.png	31891	937dc56457188df05056c0f9f3a53975
 library/cmd.pyc	13512	808f813d5e354b7073a1356e44c7b554
-library/mlx/rpc.pyc	24596	1c6827ff7711034037cc8755f8dca8af
+library/mlx/rpc.pyc	25576	d1676892ee7b5ba7eb78fabc6a0d95ad
 locales/ko.pak	7278	41ecc83d5eef5887c7c288b3b570c7b4
 library/jsonrpclib/history.pyc	1662	2e0e6d5c26e2794085d62feb524e4542
@@ -536,17 +536,17 @@
 library/_socket.pyd	38400	5d273be76603399e88cf57f2605004bf
 library/plistlib.pyc	18067	d8d36573e80bfdde7c73e47828f6e710
-library/_socket.pyc	546	e20437226441ba8d2569ed7e3a281b50
+library/_socket.pyc	546	c1e4db0a21a801b9b80f832160a478f0
 library/encodings/hex_codec.pyc	3520	a8b8d5b7c8810379c7007bcbc253951c
-library/mlx/sound.pyc	12511	1cb833d4bb47c63572bef0fc1e0a675d
-library/glib/_glib.pyc	555	964f3f75bc28dfdca564030e97b8ea1a
-library/win32api.pyc	549	7feab59155c5af902ecbe162cdd768b5
+library/mlx/sound.pyc	12511	0140b1775a6b22439d9b493788a4a2ff
+library/glib/_glib.pyc	555	99e673a25af3353b819a0075fb815ad5
+library/win32api.pyc	549	f4736268be4f2daada705d764dafc4f7
 library/encodings/iso8859_13.pyc	2696	f901ae0bbcfbb78f0c1783e89b2e2dc5
 doc/manual/en/index.html	59898	7a24695cf320678b5995a390ad369d4c
-library/mlx/gui/callouts.pyc	16060	2e120c6e554d8d68459a52791e374789
+library/mlx/gui/callouts.pyc	16060	7a3055f313e693779e9d2df22bb7568a
 library/encodings/iso8859_15.pyc	2693	b892f358bbc25ae9d3824be158aabe28
 doc/manual/en/flightBookingVIP.png	11944	49f18078475994d8268bcf7dadc725dd
 doc/manual/hu/prefsMessages.png	22980	6e60ec51305e95e5d057c0dd82b69460
 library/xml/parsers/__init__.pyc	294	83f6a77ed8cd962b3c75c4779dc557ac
-locale/en/LC_MESSAGES/mlx.mo	84371	5900f6fe7e5fdb4fabfa99a2c751c9d1
+locale/en/LC_MESSAGES/mlx.mo	84747	68a4b4efba3da4c128ad05027d9d2d8a
 library/_abcoll.pyc	19891	a5c1881934f1533c22b22b9317ac1d68
 library/encodings/iso8859_11.pyc	2787	a31e6d0d34e35259d7183cc9437eacca
@@ -555,6 +555,6 @@
 locales/da.pak	6631	1bf496bcde38f3f2899cd0fab6986959
 library/encodings/mac_latin2.pyc	4717	564dbaf5c296a147203eb821dc2466ba
-library/mlx/__init__.pyc	103	029f80bd80f880e6ca70ef4ba46f7d06
-library/mlx/i18n.pyc	1972	141a57905a2597e5ced25866d032d3a4
+library/mlx/__init__.pyc	103	877b8715b7e58440a0e8f212cab6035e
+library/mlx/i18n.pyc	1972	fe45816e49cf5e380bc39942a9dfa875
 library/xml/sax/saxutils.pyc	12382	32ed045b3b520234ebea6a508a6569fe
 locales/sw.pak	7078	5406f21a67934bbf0e6c633d2ca573f9
@@ -562,5 +562,5 @@
 doc/manual/hu/gatesTab.png	32840	316fb040e358c79b2a846b1eed4651c6
 library/webbrowser.pyc	18138	c85009edebad6d278fe786fec10ebbbe
-library/mlx/pyuipc_sim.pyc	57371	aa5ce6859748277fc6268bda9c88c115
+library/mlx/pyuipc_sim.pyc	57371	956c32d114beb4e05f81a39929ed7e8d
 library/encodings/cp875.pyc	2636	c72faa5d1cb6105ae81c971448fea479
 library/dis.pyc	6068	3934ab23d64f3da393305b19df0f1fd0
@@ -575,5 +575,5 @@
 locales/sk.pak	7622	dfdff6206e5a79aef8b46d0d9c2a8367
 library/select.pyd	11776	d90bf525f9f6c9c3aa6532fa6e569b4f
-library/pyuipc.pyc	543	9cfd3ec36a463e39df7baa62f6b971e8
+library/pyuipc.pyc	543	bd02fb3882060c583980f63884e6f82e
 library/locale.pyc	48754	a51d20267132acc6bc66ac6252cf870f
 doc/manual/en/logTab.png	28120	b92cf63420e59e0c48da4f0b3baae040
@@ -585,5 +585,5 @@
 library/distutils/errors.pyc	5885	fbeaddf5d59ea781ec63197dd950aa89
 library/logging/__init__.pyc	54813	7bcdf2e8da474f5e94d8e499f6fc3ed4
-runmlx.exe	64000	010b7fa1b6da6f77072342815123917e
+runmlx.exe	64000	3d56abfb42aab80561691e290df1fcbd
 locales/zh-CN.pak	6386	36e1df83611aef6fbfeeafd067dd4241
 locales/hi.pak	13321	4b6b27ab4421c94685fc09051a2339f8
@@ -603,3 +603,3 @@
 library/unittest/main.pyc	7701	82258a486f5133466c9cf10323814fbf
 library/encodings/iso2022_jp_ext.pyc	1715	97eda1c1468f65445951b0bf23a89570
-library/mlx/watchdog.pyc	3957	8dd7d882e0716f1c6c9054e5009bcc1e
+library/mlx/watchdog.pyc	3957	4b6c34d79e730066e8af7cf71689f9ad
Index: locale/en/mlx.po
===================================================================
--- locale/en/mlx.po	(revision 869)
+++ locale/en/mlx.po	(revision 899)
@@ -70,4 +70,7 @@
 msgstr "British Aerospace 146-200"
 
+msgid "aircraft_il62"
+msgstr "Ilyushin Il-62"
+
 msgid "aircraft_family_b737ng"
 msgstr "Boeing 737NG"
@@ -102,4 +105,7 @@
 msgid "aircraft_family_b462"
 msgstr "British Aerospace 146-200"
+
+msgid "aircraft_family_il62"
+msgstr "Ilyushin Il-62"
 
 msgid "file_filter_all"
@@ -636,9 +642,15 @@
 "You can also query the ZFW reported by the simulator."
 
-msgid "payload_crew"
-msgstr "C_rew:"
-
-msgid "payload_crew_tooltip"
-msgstr "The number of the crew members on your flight."
+msgid "payload_cockpit_crew"
+msgstr "Cockpit c_rew:"
+
+msgid "payload_cockpit_crew_tooltip"
+msgstr "The number of the cockpit crew members on your flight."
+
+msgid "payload_cabin_crew"
+msgstr "Cabin cr_ew:"
+
+msgid "payload_cabin_crew_tooltip"
+msgstr "The number of the cabin crew members on your flight."
 
 msgid "payload_pax"
@@ -1494,6 +1506,9 @@
 "<b><span foreground=\"orange\">yellow</span></b>."
 
-msgid "weighthelp_crew"
-msgstr "Crew (%s):"
+msgid "weighthelp_cockpit_crew"
+msgstr "Cockpit crew (%s):"
+
+msgid "weighthelp_cabin_crew"
+msgstr "Cabin crew (%s):"
 
 msgid "weighthelp_pax"
Index: locale/hu/mlx.po
===================================================================
--- locale/hu/mlx.po	(revision 870)
+++ locale/hu/mlx.po	(revision 899)
@@ -70,4 +70,7 @@
 msgstr "British Aerospace 146-200"
 
+msgid "aircraft_il62"
+msgstr "Iljusin Il-62"
+
 msgid "aircraft_family_b737ng"
 msgstr "Boeing 737NG"
@@ -102,4 +105,7 @@
 msgid "aircraft_family_b462"
 msgstr "British Aerospace 146-200"
+
+msgid "aircraft_family_il62"
+msgstr "Iljusin Il-62"
 
 msgid "file_filter_all"
@@ -640,9 +646,15 @@
 "Azt is ellenőrizheted, hogy a szimulátor milyen ZFW-t jelent."
 
-msgid "payload_crew"
-msgstr "_Legénység:"
-
-msgid "payload_crew_tooltip"
-msgstr "A legénység létszáma."
+msgid "payload_cockpit_crew"
+msgstr "_Pilóták:"
+
+msgid "payload_cockpit_crew_tooltip"
+msgstr "A pilóták létszáma."
+
+msgid "payload_cabin_crew"
+msgstr "_Utaskísérők:"
+
+msgid "payload_cabin_crew_tooltip"
+msgstr "A légiutaskísérők létszáma."
 
 msgid "payload_pax"
@@ -1497,6 +1509,9 @@
 "<b><span foreground=\"orange\">sárga</span></b> színben olvasható."
 
-msgid "weighthelp_crew"
-msgstr "Legénység (%s):"
+msgid "weighthelp_cockpit_crew"
+msgstr "Pilóták (%s):"
+
+msgid "weighthelp_cabin_crew"
+msgstr "Utaskísérők (%s):"
 
 msgid "weighthelp_pax"
Index: src/mlx/acft.py
===================================================================
--- src/mlx/acft.py	(revision 905)
+++ src/mlx/acft.py	(revision 917)
@@ -97,4 +97,7 @@
 class Aircraft(object):
     """Base class for aircraft."""
+    dowCockpit = 2
+    dowCabin = 3
+
     @staticmethod
     def create(flight, bookedFlight):
@@ -125,5 +128,7 @@
         self._landingAntiIceLineID = None
 
-        self.humanWeight = 82.0
+        self.cockpitCrewWeight = 85.0
+        self.cabinCrewWeight = 75.0
+        self.humanWeight = 84.0
 
         self.initialClimbSpeedAltitude = 1500
@@ -829,7 +834,8 @@
 class B734(Boeing737CL):
     """Boeing 737-400 aircraft."""
+    dow = 35100
+
     def __init__(self, flight):
         super(B734, self).__init__(flight)
-        self.dow = 35100
         self.mtow = 62822
         self.mlw = 54885
@@ -1243,4 +1249,32 @@
         """Get the derate type for this type."""
         return DERATE_B462
+
+#---------------------------------------------------------------------------------------
+
+class IL62(Aircraft):
+    """Ilyushin IL-62 aircraft.
+
+    The aircraft type-specific values in the aircraft state have the following
+    structure:
+    - fuel: left, centre, right
+    - n1: left outer, left inner, right inner, right outer
+    - reverser: empty (the plane has no reversers)"""
+    dow = 69500
+
+    def __init__(self, flight):
+        super(B462, self).__init__(flight)
+        self.mtow = 165000
+        self.mlw = 165000
+        self.mzfw = 165000
+        self.gearSpeedLimit = 210
+        self.flapSpeedLimits = { 18 : 217,
+                                 24 : 180,
+                                 30 : 170,
+                                 33 : 150 }
+
+    @property
+    def derateType(self):
+        """Get the derate type for this type."""
+        return DERATE_NONE
 
 #---------------------------------------------------------------------------------------
@@ -1271,5 +1305,6 @@
              const.AIRCRAFT_T154  : T154,
              const.AIRCRAFT_YK40  : YK40,
-             const.AIRCRAFT_B462  : B462 }
+             const.AIRCRAFT_B462  : B462,
+             const.AIRCRAFT_IL62  : IL62 }
 
 #---------------------------------------------------------------------------------------
@@ -1281,4 +1316,16 @@
 #---------------------------------------------------------------------------------------
 
+def setupTypes(aircraftTypes):
+    """Setup the values in the given types using the info retrieved
+    from the server."""
+    for aircraftTypeInfo in aircraftTypes:
+        clazz = getClass(aircraftTypeInfo.aircraftType)
+
+        clazz.dow = aircraftTypeInfo.dow
+        clazz.dowCockpit = aircraftTypeInfo.dowCockpit
+        clazz.dowCabin = aircraftTypeInfo.dowCabin
+
+#---------------------------------------------------------------------------------------
+
 if __name__ == "__main__":
     value = SmoothedValue()
Index: src/mlx/checks.py
===================================================================
--- src/mlx/checks.py	(revision 912)
+++ src/mlx/checks.py	(revision 917)
@@ -1415,5 +1415,5 @@
 class PayloadChecker(SimpleFaultChecker):
     """Check if the payload matches the specification."""
-    TOLERANCE=550
+    TOLERANCE=50
 
     @staticmethod
Index: src/mlx/common.py
===================================================================
--- src/mlx/common.py	(revision 800)
+++ src/mlx/common.py	(revision 908)
@@ -18,5 +18,6 @@
 #---------------------------------------------------------------------------------------
 
-MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://virtualairlines.hu")
+#MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://virtualairlines.hu")
+MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://oldmava.mavasystems.hu")
 
 #-------------------------------------------------------------------------------
Index: src/mlx/config.py
===================================================================
--- src/mlx/config.py	(revision 738)
+++ src/mlx/config.py	(revision 897)
@@ -673,11 +673,4 @@
         """Determine if RPC calls should be used."""
         return self._useRPC
-
-    @useRPC.setter
-    def useRPC(self, useRPC):
-        """Set whether RPC calls should be used."""
-        if useRPC!=self._useRPC:
-            self._useRPC = useRPC
-            self._modified = True
 
     def getChecklist(self, aircraftType):
@@ -788,5 +781,4 @@
                                     Config.DEFAULT_UPDATE_URL +
                                     ("/exp" if secondaryInstallation else ""))
-        self._useRPC = self._getBoolean(config, "general", "useRPC", True)
 
         for aircraftType in const.aircraftTypes:
@@ -881,7 +873,4 @@
         config.set("update", "url", self._updateURL)
 
-        config.set("general", "useRPC",
-                   "yes" if self._useRPC else "no")
-
         config.add_section(Checklist.SECTION)
         config.add_section(ApproachCallouts.SECTION)
@@ -1018,5 +1007,4 @@
         print "  autoUpdate:", self._autoUpdate
         print "  updateURL:", self._updateURL
-        print "  useRPC:", self._useRPC
 
         print "  messageTypeLevels:"
Index: src/mlx/const.py
===================================================================
--- src/mlx/const.py	(revision 911)
+++ src/mlx/const.py	(revision 917)
@@ -12,5 +12,5 @@
 
 ## The version of the program
-VERSION="0.39.6"
+VERSION="0.40.1"
 
 #-------------------------------------------------------------------------------
@@ -108,4 +108,7 @@
 ## Aircraft type: British Aerospace BAe-146
 AIRCRAFT_B462 = 17
+
+## Aircraft type: British Aerospace BAe-146
+AIRCRAFT_IL62 = 19
 
 #-------------------------------------------------------------------------------
@@ -122,5 +125,5 @@
                  AIRCRAFT_T154, AIRCRAFT_T134,
                  AIRCRAFT_YK40, AIRCRAFT_DC3,
-                 AIRCRAFT_B462]
+                 AIRCRAFT_B462, AIRCRAFT_IL62]
 
 #-------------------------------------------------------------------------------
@@ -158,4 +161,7 @@
 ## Aircraft type family: British Aerospace BAe-146
 AIRCRAFT_FAMILY_B462 = 11
+
+## Aircraft type family: Ilyushin IL-62
+AIRCRAFT_FAMILY_IL62 = 12
 
 #-------------------------------------------------------------------------------
@@ -185,5 +191,7 @@
     AIRCRAFT_FAMILY_YK40: [AIRCRAFT_YK40],
 
-    AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462]
+    AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462],
+
+    AIRCRAFT_FAMILY_IL62: [AIRCRAFT_IL62]
 
     }
@@ -219,5 +227,28 @@
               AIRCRAFT_T154  : "T154",
               AIRCRAFT_YK40  : "YK40",
-              AIRCRAFT_B462  : "B462" }
+              AIRCRAFT_B462  : "B462",
+              AIRCRAFT_IL62  : "IL62" }
+
+#-------------------------------------------------------------------------------
+
+## A mapping from ICAO codes to the corresponding aircraft types
+icao2Type = { "B736" : AIRCRAFT_B736,
+              "B737" : AIRCRAFT_B737,
+              "B738" : AIRCRAFT_B738,
+              "B732" : AIRCRAFT_B732,
+              "B733" : AIRCRAFT_B733,
+              "B734" : AIRCRAFT_B734,
+              "B735" : AIRCRAFT_B735,
+              "DH8D" : AIRCRAFT_DH8D,
+              "B762" : AIRCRAFT_B762,
+              "B763" : AIRCRAFT_B763,
+              "CRJ2" : AIRCRAFT_CRJ2,
+              "F70"  : AIRCRAFT_F70,
+              "DC3"  : AIRCRAFT_DC3,
+              "T134" : AIRCRAFT_T134,
+              "T154" : AIRCRAFT_T154,
+              "YK40" : AIRCRAFT_YK40,
+              "B462" : AIRCRAFT_B462,
+              "IL62" : AIRCRAFT_IL62 }
 
 #-------------------------------------------------------------------------------
Index: src/mlx/flight.py
===================================================================
--- src/mlx/flight.py	(revision 846)
+++ src/mlx/flight.py	(revision 899)
@@ -152,7 +152,17 @@
 
     @property
+    def numCockpitCrew(self):
+        """Get the number of cockpit crew members on the flight."""
+        return self._gui.numCockpitCrew
+
+    @property
+    def numCabinCrew(self):
+        """Get the number of cabon crew members on the flight."""
+        return self._gui.numCabinCrew
+
+    @property
     def numCrew(self):
         """Get the number of crew members on the flight."""
-        return self._gui.numCrew
+        return self.numCockpitCrew + self.numCabinCrew
 
     @property
Index: src/mlx/gui/common.py
===================================================================
--- src/mlx/gui/common.py	(revision 863)
+++ src/mlx/gui/common.py	(revision 895)
@@ -547,5 +547,6 @@
                   _const.AIRCRAFT_T154  : xstr("aircraft_t154"),
                   _const.AIRCRAFT_YK40  : xstr("aircraft_yk40"),
-                  _const.AIRCRAFT_B462  : xstr("aircraft_b462") }
+                  _const.AIRCRAFT_B462  : xstr("aircraft_b462"),
+                  _const.AIRCRAFT_IL62  : xstr("aircraft_il62") }
 
 #------------------------------------------------------------------------------
@@ -572,5 +573,7 @@
     _const.AIRCRAFT_FAMILY_YK40: xstr("aircraft_family_yk40"),
 
-    _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462")
+    _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462"),
+
+    _const.AIRCRAFT_FAMILY_IL62: xstr("aircraft_family_il62")
 }
 
Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 872)
+++ src/mlx/gui/flight.py	(revision 908)
@@ -32,5 +32,5 @@
 #
 # This module implements the main tab of the application, the flight
-# wizard. The wizard consists of \ref Page "pages", that come one after the
+# wizard. The wizard consists of \ref Page "pages", that come one yafter the
 # other. As some pages might be skipped, the pages dynamically store the index
 # of the previous page so that going back to it is simpler. The \ref
@@ -2125,5 +2125,5 @@
                                   xscale = 0.0, yscale = 0.0)
 
-        table = gtk.Table(7, 3)
+        table = gtk.Table(8, 3)
         table.set_row_spacings(4)
         table.set_col_spacings(16)
@@ -2132,20 +2132,32 @@
         self.setMainWidget(alignment)
 
-        label = gtk.Label(xstr("payload_crew"))
+        label = gtk.Label(xstr("payload_cockpit_crew"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
         table.attach(label, 0, 1, 0, 1)
 
-        self._numCrew = IntegerEntry(defaultValue = 0)
-        self._numCrew.set_width_chars(6)
-        self._numCrew.connect("integer-changed", self._weightChanged)
-        self._numCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
-        table.attach(self._numCrew, 1, 2, 0, 1)
-        label.set_mnemonic_widget(self._numCrew)
+        self._numCockpitCrew = IntegerEntry(defaultValue = 0)
+        self._numCockpitCrew.set_width_chars(6)
+        self._numCockpitCrew.connect("integer-changed", self._weightChanged)
+        self._numCockpitCrew.set_tooltip_text(xstr("payload_cockpit_crew_tooltip"))
+        table.attach(self._numCockpitCrew, 1, 2, 0, 1)
+        label.set_mnemonic_widget(self._numCockpitCrew)
+
+        label = gtk.Label(xstr("payload_cabin_crew"))
+        label.set_use_underline(True)
+        label.set_alignment(0.0, 0.5)
+        table.attach(label, 0, 1, 1, 2)
+
+        self._numCabinCrew = IntegerEntry(defaultValue = 0)
+        self._numCabinCrew.set_width_chars(6)
+        self._numCabinCrew.connect("integer-changed", self._weightChanged)
+        self._numCabinCrew.set_tooltip_text(xstr("payload_cabin_crew_tooltip"))
+        table.attach(self._numCabinCrew, 1, 2, 1, 2)
+        label.set_mnemonic_widget(self._numCabinCrew)
 
         label = gtk.Label(xstr("payload_pax"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 1, 2)
+        table.attach(label, 0, 1, 2, 3)
 
         self._numPassengers = IntegerEntry(defaultValue = 0)
@@ -2153,5 +2165,5 @@
         self._numPassengers.connect("integer-changed", self._weightChanged)
         self._numPassengers.set_tooltip_text(xstr("payload_pax_tooltip"))
-        table.attach(self._numPassengers, 1, 2, 1, 2)
+        table.attach(self._numPassengers, 1, 2, 2, 3)
         label.set_mnemonic_widget(self._numPassengers)
 
@@ -2159,5 +2171,5 @@
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 2, 3)
+        table.attach(label, 0, 1, 3, 4)
 
         self._bagWeight = IntegerEntry(defaultValue = 0)
@@ -2165,13 +2177,13 @@
         self._bagWeight.connect("integer-changed", self._weightChanged)
         self._bagWeight.set_tooltip_text(xstr("payload_bag_tooltip"))
-        table.attach(self._bagWeight, 1, 2, 2, 3)
+        table.attach(self._bagWeight, 1, 2, 3, 4)
         label.set_mnemonic_widget(self._bagWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
+        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
 
         label = gtk.Label(xstr("payload_cargo"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 3, 4)
+        table.attach(label, 0, 1, 4, 5)
 
         self._cargoWeight = IntegerEntry(defaultValue = 0)
@@ -2179,13 +2191,13 @@
         self._cargoWeight.connect("integer-changed", self._weightChanged)
         self._cargoWeight.set_tooltip_text(xstr("payload_cargo_tooltip"))
-        table.attach(self._cargoWeight, 1, 2, 3, 4)
+        table.attach(self._cargoWeight, 1, 2, 4, 5)
         label.set_mnemonic_widget(self._cargoWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
+        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
 
         label = gtk.Label(xstr("payload_mail"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 4, 5)
+        table.attach(label, 0, 1, 5, 6)
 
         self._mailWeight = IntegerEntry(defaultValue = 0)
@@ -2193,20 +2205,20 @@
         self._mailWeight.connect("integer-changed", self._weightChanged)
         self._mailWeight.set_tooltip_text(xstr("payload_mail_tooltip"))
-        table.attach(self._mailWeight, 1, 2, 4, 5)
+        table.attach(self._mailWeight, 1, 2, 5, 6)
         label.set_mnemonic_widget(self._mailWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
+        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
 
         label = gtk.Label("<b>" + xstr("payload_zfw") + "</b>")
         label.set_alignment(0.0, 0.5)
         label.set_use_markup(True)
-        table.attach(label, 0, 1, 5, 6)
+        table.attach(label, 0, 1, 6, 7)
 
         self._calculatedZFW = gtk.Label()
         self._calculatedZFW.set_width_chars(6)
         self._calculatedZFW.set_alignment(1.0, 0.5)
-        table.attach(self._calculatedZFW, 1, 2, 5, 6)
-
-        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
+        table.attach(self._calculatedZFW, 1, 2, 6, 7)
+
+        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
 
         self._zfwButton = gtk.Button(xstr("payload_fszfw"))
@@ -2214,13 +2226,13 @@
         self._zfwButton.connect("clicked", self._zfwRequested)
         self._zfwButton.set_tooltip_text(xstr("payload_fszfw_tooltip"))
-        table.attach(self._zfwButton, 0, 1, 6, 7)
+        table.attach(self._zfwButton, 0, 1, 7, 8)
 
         self._simulatorZFW = gtk.Label("-")
         self._simulatorZFW.set_width_chars(6)
         self._simulatorZFW.set_alignment(1.0, 0.5)
-        table.attach(self._simulatorZFW, 1, 2, 6, 7)
+        table.attach(self._simulatorZFW, 1, 2, 7, 8)
         self._simulatorZFWValue = None
 
-        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
+        table.attach(gtk.Label("kg"), 2, 3, 7, 8)
 
         self.addCancelFlightButton()
@@ -2229,7 +2241,12 @@
 
     @property
-    def numCrew(self):
-        """The number of the crew members on the flight."""
-        return self._numCrew.get_int()
+    def numCockpitCrew(self):
+        """The number of the cockpit crew members on the flight."""
+        return self._numCockpitCrew.get_int()
+
+    @property
+    def numCabinCrew(self):
+        """The number of the cabin crew members on the flight."""
+        return self._numCabinCrew.get_int()
 
     @property
@@ -2256,7 +2273,14 @@
         """Setup the information."""
         bookedFlight = self._wizard._bookedFlight
-
-        self._numCrew.set_int(bookedFlight.numCrew)
-        self._numCrew.set_sensitive(True)
+        aircraft = self._wizard.gui._flight.aircraft
+
+        numCockpitCrew = bookedFlight.numCockpitCrew
+        numCabinCrew = bookedFlight.numCabinCrew
+        numCrew = numCockpitCrew + numCabinCrew
+
+        self._numCockpitCrew.set_int(numCockpitCrew)
+        self._numCockpitCrew.set_sensitive(True)
+        self._numCabinCrew.set_int(numCabinCrew)
+        self._numCabinCrew.set_sensitive(True)
         self._numPassengers.set_int(bookedFlight.numPassengers)
         self._numPassengers.set_sensitive(True)
@@ -2276,5 +2300,6 @@
     def finalize(self):
         """Finalize the payload page."""
-        self._numCrew.set_sensitive(False)
+        self._numCockpitCrew.set_sensitive(False)
+        self._numCabinCrew.set_sensitive(False)
         self._numPassengers.set_sensitive(False)
         self._bagWeight.set_sensitive(False)
@@ -2285,9 +2310,13 @@
     def calculateZFW(self):
         """Calculate the ZFW value."""
+        aircraft = self._wizard.gui._flight.aircraft
         zfw = self._wizard.gui._flight.aircraft.dow
-        zfw += (self._numCrew.get_int() + self._numPassengers.get_int()) * 82
+        zfw += (self.numCockpitCrew - aircraft.dowCockpit) * aircraft.cockpitCrewWeight
+        zfw += (self.numCabinCrew - aircraft.dowCabin) * aircraft.cabinCrewWeight
+        zfw += (self._numPassengers.get_int()) * aircraft.humanWeight
         zfw += self._bagWeight.get_int()
         zfw += self._cargoWeight.get_int()
         zfw += self._mailWeight.get_int()
+        zfw = int(zfw)
         return zfw
 
@@ -5541,7 +5570,12 @@
 
     @property
-    def numCrew(self):
-        """Get the number of crew members."""
-        return self._payloadPage.numCrew
+    def numCockpitCrew(self):
+        """Get the number of cockpit crew members."""
+        return self._payloadPage.numCockpitCrew
+
+    @property
+    def numCabinCrew(self):
+        """Get the number of cabin crew members."""
+        return self._payloadPage.numCabinCrew
 
     @property
@@ -5891,4 +5925,5 @@
                 self._loginResult = result
                 self.gui.loginSuccessful()
+                acft.setupTypes(result.aircraftTypes)
             else:
                 if isReload:
Index: src/mlx/gui/gui.py
===================================================================
--- src/mlx/gui/gui.py	(revision 869)
+++ src/mlx/gui/gui.py	(revision 899)
@@ -264,7 +264,12 @@
 
     @property
-    def numCrew(self):
-        """Get the number of crew members."""
-        return self._wizard.numCrew
+    def numCockpitCrew(self):
+        """Get the number of cockpit crew members."""
+        return self._wizard.numCockpitCrew
+
+    @property
+    def numCabinCrew(self):
+        """Get the number of cabin crew members."""
+        return self._wizard.numCabinCrew
 
     @property
Index: src/mlx/gui/prefs.py
===================================================================
--- src/mlx/gui/prefs.py	(revision 738)
+++ src/mlx/gui/prefs.py	(revision 897)
@@ -276,6 +276,4 @@
 
         self._updateURL.set_text(config.updateURL)
-
-        self._useRPC.set_active(config.useRPC)
 
         self._settingFromConfig = False
@@ -322,5 +320,4 @@
         config.autoUpdate = self._autoUpdate.get_active()
         config.updateURL = self._updateURL.get_text()
-        config.useRPC = self._useRPC.get_active()
 
     def _buildGeneral(self):
@@ -817,10 +814,4 @@
         updateURLBox.pack_start(self._updateURL, True, True, 4)
 
-        self._useRPC = gtk.CheckButton(xstr("prefs_use_rpc"))
-        mainBox.pack_start(self._useRPC, False, False, 16)
-
-        self._useRPC.set_use_underline(True)
-        self._useRPC.set_tooltip_text(xstr("prefs_use_rpc_tooltip"))
-
         return mainAlignment
 
Index: src/mlx/gui/weighthelp.py
===================================================================
--- src/mlx/gui/weighthelp.py	(revision 303)
+++ src/mlx/gui/weighthelp.py	(revision 899)
@@ -56,5 +56,5 @@
 
         
-        self._weightsTable = table = gtk.Table(16, 5)
+        self._weightsTable = table = gtk.Table(17, 5)
         table.set_homogeneous(False)
         table.set_row_spacings(4)
@@ -91,17 +91,33 @@
         
 
-        self._crewLabel = gtk.Label(xstr("weighthelp_crew") % ("99",))
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._crewLabel)
+        self._cockpitCrewLabel = \
+          gtk.Label(xstr("weighthelp_cockpit_crew") % ("99",))
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._cockpitCrewLabel)
         table.attach(alignment, 0, 1, 1, 2)
 
-        self._crewWeight = gtk.Label("0")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._crewWeight)
+        self._cockpitCrewWeight = gtk.Label("0")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._cockpitCrewWeight)
         table.attach(alignment, 1, 2, 1, 2)
         
         table.attach(gtk.Label("kg"), 2, 3, 1, 2)
+
+        self._cabinCrewLabel = \
+          gtk.Label(xstr("weighthelp_cabin_crew") % ("99",))
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._cabinCrewLabel)
+        table.attach(alignment, 0, 1, 2, 3)
+
+        self._cabinCrewWeight = gtk.Label("0")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._cabinCrewWeight)
+        table.attach(alignment, 1, 2, 2, 3)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
 
         text = xstr("weighthelp_pax") % ("999",)
@@ -112,5 +128,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._paxLabel)
-        table.attach(alignment, 0, 1, 2, 3)
+        table.attach(alignment, 0, 1, 3, 4)
 
         self._paxWeight = gtk.Label("20000")
@@ -118,7 +134,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._paxWeight)
-        table.attach(alignment, 1, 2, 2, 3)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
+        table.attach(alignment, 1, 2, 3, 4)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
         
         label = gtk.Label(xstr("weighthelp_baggage"))
@@ -126,5 +142,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 3, 4)
+        table.attach(alignment, 0, 1, 4, 5)
 
         self._bagWeight = gtk.Label("2000")
@@ -132,7 +148,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._bagWeight)
-        table.attach(alignment, 1, 2, 3, 4)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
+        table.attach(alignment, 1, 2, 4, 5)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
         
         label = gtk.Label(xstr("weighthelp_cargo"))
@@ -140,5 +156,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 4, 5)
+        table.attach(alignment, 0, 1, 5, 6)
 
         self._cargoWeight = gtk.Label("2000")
@@ -146,7 +162,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._cargoWeight)
-        table.attach(alignment, 1, 2, 4, 5)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
+        table.attach(alignment, 1, 2, 5, 6)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
         
         label = gtk.Label(xstr("weighthelp_mail"))
@@ -154,5 +170,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 5, 6)
+        table.attach(alignment, 0, 1, 6, 7)
 
         self._mailWeight = gtk.Label("2000")
@@ -160,9 +176,9 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._mailWeight)
-        table.attach(alignment, 1, 2, 5, 6)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
-
-        table.attach(gtk.HSeparator(), 1, 2, 6, 7)
+        table.attach(alignment, 1, 2, 6, 7)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
+
+        table.attach(gtk.HSeparator(), 1, 2, 7, 8)
 
         label = gtk.Label("<b>" + xstr("weighthelp_payload") + "</b>")
@@ -171,5 +187,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 7, 8)
+        table.attach(alignment, 0, 1, 8, 9)
 
         self._payload = gtk.Label("<b>32000</b>")
@@ -178,7 +194,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._payload)
-        table.attach(alignment, 1, 2, 7, 8)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 7, 8)
+        table.attach(alignment, 1, 2, 8, 9)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 8, 9)
 
         self._fsPayload = gtk.Label("<b>32001</b>")
@@ -187,7 +203,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsPayload)
-        table.attach(alignment, 3, 4, 7, 8)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 7, 8)
+        table.attach(alignment, 3, 4, 8, 9)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 8, 9)
 
         label = gtk.Label(xstr("weighthelp_dow"))
@@ -196,5 +212,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 8, 9)
+        table.attach(alignment, 0, 1, 9, 10)
 
         self._dow = gtk.Label("35000")
@@ -202,7 +218,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._dow)
-        table.attach(alignment, 1, 2, 8, 9)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 8, 9)
+        table.attach(alignment, 1, 2, 9, 10)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 9, 10)
 
         self._fsDOW = gtk.Label("33012")
@@ -210,11 +226,11 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsDOW)
-        table.attach(alignment, 3, 4, 8, 9)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 8, 9)
-
-        table.attach(gtk.HSeparator(), 1, 2, 9, 10)
-
-        table.attach(gtk.HSeparator(), 3, 4, 9, 10)
+        table.attach(alignment, 3, 4, 9, 10)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 9, 10)
+
+        table.attach(gtk.HSeparator(), 1, 2, 10, 11)
+
+        table.attach(gtk.HSeparator(), 3, 4, 10, 11)
 
         label = gtk.Label("<b>" + xstr("weighthelp_zfw") + "</b>")
@@ -223,5 +239,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 10, 11)
+        table.attach(alignment, 0, 1, 11, 12)
 
         self._zfw = gtk.Label("<b>122000</b>")
@@ -230,7 +246,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._zfw)
-        table.attach(alignment, 1, 2, 10, 11)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 10, 11)
+        table.attach(alignment, 1, 2, 11, 12)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 11, 12)
 
         self._fsZFW = gtk.Label("<b>124000</b>")
@@ -239,9 +255,9 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsZFW)
-        table.attach(alignment, 3, 4, 10, 11)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 10, 11)
-
-        table.attach(gtk.HSeparator(), 0, 5, 11, 12)
+        table.attach(alignment, 3, 4, 11, 12)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 11, 12)
+
+        table.attach(gtk.HSeparator(), 0, 5, 12, 13)
         
         label = gtk.Label(xstr("weighthelp_gross"))
@@ -250,5 +266,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 12, 13)
+        table.attach(alignment, 0, 1, 13, 14)
 
         self._fsGross = gtk.Label("124000")
@@ -256,7 +272,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsGross)
-        table.attach(alignment, 3, 4, 12, 13)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 12, 13)
+        table.attach(alignment, 3, 4, 13, 14)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 13, 14)
 
         label = gtk.Label(xstr("weighthelp_mzfw"))
@@ -265,5 +281,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 13, 14)
+        table.attach(alignment, 0, 1, 14, 15)
 
         self._mzfw = gtk.Label("35000")
@@ -271,7 +287,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._mzfw)
-        table.attach(alignment, 1, 2, 13, 14)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 13, 14)
+        table.attach(alignment, 1, 2, 14, 15)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 14, 15)
 
         label = gtk.Label(xstr("weighthelp_mtow"))
@@ -280,5 +296,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 14, 15)
+        table.attach(alignment, 0, 1, 15, 16)
 
         self._mtow = gtk.Label("35000")
@@ -286,7 +302,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._mtow)
-        table.attach(alignment, 1, 2, 14, 15)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 14, 15)
+        table.attach(alignment, 1, 2, 15, 16)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 15, 16)
 
         label = gtk.Label(xstr("weighthelp_mlw"))
@@ -295,5 +311,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 15, 16)
+        table.attach(alignment, 0, 1, 16, 17)
 
         self._mlw = gtk.Label("35000")
@@ -301,7 +317,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._mlw)
-        table.attach(alignment, 1, 2, 15, 16)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 15, 16)
+        table.attach(alignment, 1, 2, 16, 17)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 16, 17)
 
         self.show_all()
@@ -322,7 +338,12 @@
         self._weightsTable.set_sensitive(False)
         
-        self._crew = -1
+        self._cockpitCrew = -1
+        self._cabinCrew = -1
         self._pax = -1
-        self._humanWeight = 82.0
+        self._dowCockpit = 2
+        self._cockpitCrewMemberWeight = 85.0
+        self._dowCabin = 2
+        self._cabinCrewMemberWeight = 75.0
+        self._humanWeight = 84.0
         self._bag = -1
         self._cargo = -1
@@ -343,11 +364,21 @@
     def _setupCalculated(self):
         """Setup the labels for the calculated values."""
-        if self._crew<0:
-            self._crewLabel.set_text(xstr("weighthelp_crew") % ("-",))
-            self._crewWeight.set_text("-")
-        else:
-            self._crewLabel.set_text(xstr("weighthelp_crew") % (str(self._crew),))
-            crewWeight = self._crew * self._humanWeight
-            self._crewWeight.set_text("%.0f" % (crewWeight,))
+        if self._cockpitCrew<0:
+            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") % ("-",))
+            self._cockpitCrewWeight.set_text("-")
+        else:
+            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") %
+                                            (str(self._cockpitCrew),))
+            crewWeight = (self._cockpitCrew - self._dowCockpit) * self._cockpitCrewMemberWeight
+            self._cockpitCrewWeight.set_text("%.0f" % (crewWeight,))
+            
+        if self._cabinCrew<0:
+            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") % ("-",))
+            self._cabinCrewWeight.set_text("-")
+        else:
+            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") %
+                                          (str(self._cabinCrew),))
+            crewWeight = (self._cabinCrew - self._dowCabin) * self._cabinCrewMemberWeight
+            self._cabinCrewWeight.set_text("%.0f" % (crewWeight,))
             
         if self._pax<0:
@@ -423,10 +454,15 @@
         It returns a tuple with these two items. If any of the items cannot be
         calculated, that is -1."""
-        if self._crew<0 or self._pax<0 or \
+        if self._cockpitCrew<0 or self._cabinCrew<0 or self._pax<0 or \
                self._bag<0 or self._cargo<0 or self._mail<0:
             payload = -1
         else:
-            payload = (self._crew + self._pax) * self._humanWeight + \
-                      self._bag + self._cargo + self._mail
+            payload = \
+              (self._cockpitCrew - self._dowCockpit) * \
+              self._cockpitCrewMemberWeight + \
+              (self._cabinCrew - self._dowCabin) * \
+              self._cabinCrewMemberWeight + \
+              self._pax * self._humanWeight + \
+              self._bag + self._cargo + self._mail
 
         if payload<0 or self._dowValue<0:
@@ -444,5 +480,6 @@
         self._gui.logger.untimedMessage("The weight calculation help function was used by the pilot")
 
-        self._crew = self._gui.numCrew
+        self._cockpitCrew = self._gui.numCockpitCrew
+        self._cabinCrew = self._gui.numCabinCrew
         self._pax = self._gui.numPassengers
         self._bag = self._gui.bagWeight
@@ -451,4 +488,8 @@
         
         aircraft = self._gui.flight.aircraft
+        self._dowCockpit = aircraft.dowCockpit
+        self._cockpitCrewMemberWeight = aircraft.cockpitCrewWeight
+        self._dowCabin = aircraft.dowCabin
+        self._cabinCrewMemberWeight = aircraft.cabinCrewWeight
         self._humanWeight = aircraft.humanWeight
         self._dowValue = aircraft.dow
Index: src/mlx/pirep.py
===================================================================
--- src/mlx/pirep.py	(revision 856)
+++ src/mlx/pirep.py	(revision 908)
@@ -136,4 +136,6 @@
         self.bookedFlight = flight.bookedFlight
 
+        self.numCockpitCrew = flight.numCockpitCrew
+        self.numCabinCrew = flight.numCabinCrew
         self.numCrew = flight.numCrew
         self.numPassengers = flight.numPassengers
@@ -182,5 +184,7 @@
         self.bookedFlight = bookedFlight
 
-        self.numCrew = int(pirepData["numCrew"])
+        self.numCockpitCrew = int(pirepData["numCockpitCrew"])
+        self.numCabinCrew = int(pirepData["numCabinCrew"])
+        self.numCrew = self.numCockpitCrew + self.numCabinCrew
         self.numPassengers = int(pirepData["numPassengers"])
         self.bagWeight = int(pirepData["bagWeight"])
@@ -381,4 +385,6 @@
         attrs["arrivalICAO"] = self.bookedFlight.arrivalICAO
         attrs["numPassengers"] = self.numPassengers
+        attrs["numCockpitCrew"] = self.numCockpitCrew
+        attrs["numCabinCrew"] = self.numCabinCrew
         attrs["numCrew"] = self.numCrew
         attrs["cargoWeight"] = self.cargoWeight
Index: src/mlx/rpc.py
===================================================================
--- src/mlx/rpc.py	(revision 889)
+++ src/mlx/rpc.py	(revision 908)
@@ -208,5 +208,6 @@
                       "TU5"  : const.AIRCRAFT_T154,
                       "YK4"  : const.AIRCRAFT_YK40,
-                      "146"  : const.AIRCRAFT_B462 }
+                      "146"  : const.AIRCRAFT_B462,
+                      "IL6"  : const.AIRCRAFT_IL62 }
 
     # FIXME: copied from web.BookedFlight
@@ -228,5 +229,6 @@
                       const.AIRCRAFT_T154  : "TU5",
                       const.AIRCRAFT_YK40  : "YK4",
-                      const.AIRCRAFT_B462  : "146" }
+                      const.AIRCRAFT_B462  : "146",
+                      const.AIRCRAFT_IL62  : "IL6" }
 
     # FIXME: copied from web.BookedFlight
@@ -234,6 +236,6 @@
     def _decodeAircraftType(typeCode):
         """Decode the aircraft type from the given typeCode."""
-        if typeCode in BookedFlight.TYPECODE2TYPE:
-            return BookedFlight.TYPECODE2TYPE[typeCode]
+        if typeCode in const.icao2Type:
+            return const.icao2Type[typeCode]
         else:
             raise Exception("Invalid aircraft type code: '" + typeCode + "'")
@@ -275,5 +277,6 @@
     _instructions = {
         "numPassengers" : int,
-        "numCrew" : int,
+        "numCockpitCrew" : int,
+        "numCabinCrew" : int,
         "bagWeight" : int,
         "cargoWeight" : int,
@@ -307,5 +310,5 @@
         print >> f, "tail_nr=%s" % (self.tailNumber,)
         print >> f, "passenger=%d" % (self.numPassengers,)
-        print >> f, "crew=%d" % (self.numCrew,)
+        print >> f, "crew=%d" % (self.numCockpitrew + self.numCabinCrew,)
         print >> f, "bag=%d" % (self.bagWeight,)
         print >> f, "cargo=%d" % (self.cargoWeight,)
@@ -376,4 +379,22 @@
         for planeValue in value:
             self._addPlane(Plane(planeValue))
+
+#---------------------------------------------------------------------------------------
+
+class AircraftTypeInfo(RPCObject):
+    """Information about an aircraft type."""
+    # The instructions for the construction
+    _instructions = {
+        "dow" : int,
+        "dowCockpit" : int,
+        "dowCabin" : int,
+        }
+
+    def __init__(self, value):
+        """Construct the booked flight object from the given RPC result
+        value."""
+        super(AircraftTypeInfo, self).__init__(value,
+                                               AircraftTypeInfo._instructions)
+        self.aircraftType = const.icao2Type[value["typeCode"]]
 
 #---------------------------------------------------------------------------------------
@@ -498,5 +519,5 @@
             self._sessionID = reply.value["sessionID"]
 
-            types = [BookedFlight.TYPECODE2TYPE[typeCode]
+            types = [const.icao2Type[typeCode]
                      for typeCode in reply.value["typeCodes"]]
 
@@ -504,4 +525,11 @@
         else:
             return None
+
+    def getTypes(self):
+        """Get the data of the aircraft types supported by us."""
+        value = self._performCall(lambda sessionID:
+                                  self._server.getTypes(sessionID))
+
+        return [AircraftTypeInfo(t) for t in value]
 
     def getFlights(self):
@@ -599,5 +627,5 @@
         of type codes, if any."""
         typeCodes = None if types is None else \
-            [BookedFlight.TYPE2TYPECODE[type] for type in types]
+          [const.icaoCodes[type] for type in types]
 
         values = self._performCall(lambda sessionID:
Index: src/mlx/web.py
===================================================================
--- src/mlx/web.py	(revision 859)
+++ src/mlx/web.py	(revision 908)
@@ -73,5 +73,6 @@
                       "TU5"  : const.AIRCRAFT_T154,
                       "YK4"  : const.AIRCRAFT_YK40,
-                      "146"  : const.AIRCRAFT_B462 }
+                      "146"  : const.AIRCRAFT_B462,
+                      "IL6"  : const.AIRCRAFT_IL62 }
 
     TYPE2TYPECODE = { const.AIRCRAFT_B736  : "736",
@@ -92,5 +93,6 @@
                       const.AIRCRAFT_T154  : "TU5",
                       const.AIRCRAFT_YK40  : "YK4",
-                      const.AIRCRAFT_B462  : "146" }
+                      const.AIRCRAFT_B462  : "146",
+                      const.AIRCRAFT_IL62  : "IL6" }
 
     checkFlightTypes = [ const.AIRCRAFT_B736, const.AIRCRAFT_B737,
@@ -128,4 +130,6 @@
 
         flight.numPassengers = 0
+        flight.numCockpitCrew = 2
+        flight.numCabinCrew = 2
         flight.numCrew = 2
         flight.bagWeight = 0
@@ -246,8 +250,11 @@
                                                             arrivalTime)
 
+        self.numCockpitCrew = self.numCrew
+        self.numCabinCrew = 0
+
         d = dir(self)
         for attribute in ["callsign", "departureICAO", "arrivalICAO",
-                          "aircraftType", "tailNumber",
-                          "numPassengers", "numCrew",
+                          "aircraftType", "tailNumber", "numPassengers",
+                          "numCrew", "numCockpitCrew", "numCabinCrew",
                           "bagWeight", "cargoWeight", "mailWeight",
                           "route", "departureTime", "arrivalTime"]:
@@ -279,8 +286,10 @@
 
         self.aircraftType = \
-          self._decodeAircraftType(bookedFlightData["aircraftType"])
+          self._decodeAircraftICAOType(bookedFlightData["aircraftType"])
         self.tailNumber = bookedFlightData["tailNumber"]
         self.numPassengers = int(bookedFlightData["numPassengers"])
-        self.numCrew = int(bookedFlightData["numCrew"])
+        self.numCockpitCrew = int(bookedFlightData["numCockpitCrew"])
+        self.numCabinCrew = int(bookedFlightData["numCabinCrew"])
+        self.numCrew = self.numCockpitCrew + self.numCabinCrew
         self.bagWeight = int(bookedFlightData["bagWeight"])
         self.cargoWeight = int(bookedFlightData["cargoWeight"])
@@ -327,4 +336,11 @@
             raise Exception("Invalid aircraft type code: '" + typeCode + "'")
 
+    def _decodeAircraftICAOType(self, typeCode):
+        """Decode the aircraft type from the given typeCode."""
+        if typeCode in const.icao2Type:
+            return const.icao2Type[typeCode]
+        else:
+            raise Exception("Invalid aircraft type code: '" + typeCode + "'")
+
     def __repr__(self):
         """Get a representation of the flight."""
@@ -815,8 +831,12 @@
             result.types = loginResult[2]
             result.password = password
+
+            result.aircraftTypes = client.getTypes()
+
             flights = client.getFlights()
             result.flights = flights[0]
             result.reportedFlights = flights[1]
             result.rejectedFlights = flights[2]
+
             if result.rank=="STU":
                 reply = client.getEntryExamStatus()
