#!/usr/bin/perl
#
# �z�i�H�ϥγo���ɮ����I�K�������}������
# �άO�H�թ�r��B�z�� perl �ץ��H�U�{���X :)
#
#VictorHsieh 2003.02.11

use lib '/home/bbs/bin';
use LocalVars;
use vars qw/ %opt %station_num @arg $command $addr/;
use strict;

$addr = "http://passenger.tra.gov.tw/ap/index.asp";

@arg = split ' ', <STDIN>;
map { /(.+)=(.+)/ and $opt{$1} = $2 } grep /.+=.+/, @arg;

station_init();
translate();

$command = "MIval=Train_Time&encode=Big5&action=on";
map { $command .= "&$_=$opt{$_}"} keys %opt;
exec "$LYNX -dump -assume_charset=big5 -nolist \"$addr?$command\"";

# �N page.c �����榡�ର�K�����ҨϥΪ��榡
sub translate{
	change_opt('from-station', 'Station1');
	change_opt('to-station', 'Station2');
	change_opt('from-time', 'From_Time');
	change_opt('to-time', 'To_Time');
	change_opt('type', 'Type');
	change_opt('tt', 'Time');
	change_opt('date','Departure_Date');
	change_opt('path', 'line');
}

# �ഫ�Ѽƪ����ܪk
sub change_opt{
	my ($old, $new) = @_;
	if(defined $opt{$old}){
		if( $old =~ /station/ ){
			$opt{$old} = $station_num{$opt{$old}};
		}
		elsif( $old =~ /type/ ){
			$opt{$old} = ($opt{$old} eq 'fast')? 'F' : 'S';
		}
		elsif( $old =~ /tt/ ){
			$opt{$old} = ($opt{$old} eq 'start')? 'D' : 'A';
		}
		elsif( $old =~ /date/ ){
			my ($sec, $min, $hour, $mday, $mon, $year) = gmtime;
			$mday = $mday + $opt{$old};
			$mon++;
			$opt{$old} = join '/',
				($year+1900,
				($mon>9)? $mon : "0$mon",
				($mday>9)? $mday : "0$mday");
		}
		elsif( $old =~ /path/ ){
			my @line = qw/ mainwest maineast mainsouth pin innerbay gg/;
			$opt{$old} = $line[$opt{$old}-1];
		}

		$opt{$new} = $opt{$old} and delete $opt{$old};
	}
}

# �U���N�X����
sub station_init{
	%station_num = (
		"��" => 1001, "�K��" => 1002, "�C��" => 1003, "����" => 1004,
		"����" => 1005, "�n��" => 1006, "�Q�s" => 1007, "�x�_" => 1008,
		"�U��" => 1009, "�O��" => 1011, "��L" => 1012, "�s��" => 1013,
		"�a�q" => 1014, "���" => 1015, "���c" => 1016, "���c" => 1017,
		"�H��" => 1018, "����" => 1019, "�I��" => 1020, "��f" => 1021,
		"�s��" => 1022, "�˥_" => 1023, "�s��" => 1025, "���s" => 1026,
		"�T��" => 1027, "�˫n" => 1028, "�ͤ�" => 1102, "�j�s" => 1104,
		"���s" => 1105, "�s��" => 1106, "�ըF��" => 1107, "�s�H" => 1108,
		"�q�]" => 1109, "�b��" => 1110, "��n" => 1111, "�j��" => 1112,
		"�O����" => 1113, "�M��" => 1114, "�F��" => 1115, "�s��" => 1116,
		"�j�{" => 1117, "�l��" => 1118, "����" => 1120, "���" => 1202,
		"���L" => 1203, "�ùt" => 1204, "���Y" => 1205, "�Ф�" => 1206,
		"�G��" => 1207, "�L��" => 1208, "�ۺh" => 1209, "�椻" => 1210,
		"��n" => 1211, "���t" => 1212, "�j�L" => 1213, "����" => 1214,
		"�Ÿq" => 1215, "���W" => 1217, "�n�t" => 1218, "���" => 1219,
		"�s��" => 1220, "�h��" => 1221, "�L����" => 1222, "����" => 1223,
		"�ުL" => 1224, "����" => 1225, "�s��" => 1226, "�ñd" => 1227,
		"�x�n" => 1228, "�O�w" => 1229, "���w" => 1230, "�j��" => 1231,
		"����" => 1232, "���s" => 1233, "���Y" => 1234, "����" => 1235,
		"����" => 1236, "����" => 1238, "�j��" => 1239, "�y��" => 1302,
		"�״I" => 1304, "�]��" => 1305, "�n��" => 1307, "���r" => 1308,
		"�T�q" => 1310, "���w" => 1314, "�Z��" => 1315, "�׭�" => 1317,
		"��l" => 1318, "�x��" => 1319, "�Q��" => 1320, "���\\" => 1321,
		"�j�y" => 1322, "�ӭ�" => 1323, "��s" => 1402, "����" => 1403,
		"�E����" => 1404, "������" => 1405, "�̪F" => 1406, "�N�w" => 1602,
		"�Ӿ�" => 1604, "���M" => 1605, "����" => 1606, "�ץ�" => 1607,
		"�ˤf" => 1608, "�n��" => 1609, "��L" => 1610, "�U�a" => 1611,
		"���_" => 1612, "�j�I" => 1613, "�I��" => 1614, "��_" => 1615,
		"���J" => 1616, "�T��" => 1617, "�ɨ�" => 1619, "�w�q" => 1620,
		"�F��" => 1621, "�F��" => 1622, "�I��" => 1623, "���W" => 1624,
		"����" => 1625, "���s" => 1626, "���" => 1627, "��M" => 1628,
		"�緽" => 1629, "����" => 1630, "�s��" => 1631, "�x�F" => 1632,
		"�ü�" => 1703, "�F�D" => 1704, "�n�D" => 1705, "�Z��" => 1706,
		"�~��" => 1708, "�M��" => 1709, "�M��" => 1710, "�R�w" => 1711,
		"�s��" => 1712, "����" => 1713, "�_�H" => 1714, "�Ὤ" => 1715,
		"�x�x" => 1802, "�|�}�F" => 1803, "���" => 1804, "�Jֻ" => 1805,
		"�T�I��" => 1806, "�d��" => 1807, "����" => 1808, "�^�d" => 1809,
		"�ֶ�" => 1810, "�۫�" => 1811, "�j��" => 1812, "�j��" => 1813,
		"�t�s" => 1814, "�~�D" => 1815, "�Y��" => 1816, "���H" => 1817,
		"�G��" => 1818, "�|��" => 1819, "�y��" => 1820, "�G��" => 1821,
		"����" => 1822, "ù�F" => 1823, "�V�s" => 1824, "�s��" => 1825,
		"Ĭ�D�s��" => 1826, "Ĭ�D" => 1827, "�j��" => 1903, "�Q��" => 1904,
		"��j" => 1905, "���}" => 1906, "����" => 1907, "�׮� " => 1908,
		"�ˤ�" => 2203, "�W��" => 2204, "�˪F" => 2205, "��s" => 2206,
		"�E�g�Y" => 2207, "�X��" => 2208, "�n�e" => 2209, "���W" => 2210,
		"�a��" => 2211, "���u" => 2702, "�B��" => 2703, "�s�u" => 2704,
		"����" => 2705, "����" => 2706, "���L" => 2707,
	);
}