#!/usr/bin/perl

use HTML::Munger;
use CGI;
&CGI::ReadParse;

require "/home/ant/ph/1337.pl";

print "Content-type: text/html\n\n";

if($in{url}) {
    $munger = new HTML::Munger;
#    $munger->set_munger(\&to_1337);
    $munger->set_munger(\&to_morse);
    $page = `/usr/bin/lynx -source $in{url}`;
    print STDERR "$page\n";
    print $munger->munge($in{url}, '/~dave/cgi/filter.cgi?url=', $page);
} else {
    print "<HTML><BODY><FORM>\n";
    print "Url to filter <INPUT TYPE=TEXT NAME=url><BR>\n";
    print "<INPUT TYPE=SUBMIT VALUE=\"Filter!\">\n";
#    print "<SELECT NAME=FILTER>\n";
#    print "<OPTION VALUE=\"1337\">1337 5634k\n";
#    print "<OPTION VALUE=\"morse\">Morse Code\n";
#    print "</SELECT>\n";
    print "</FORM></BODY></HTML>";
}

sub to_morse {
    my($string) = $_[0];
    my($ret) = "";
    my($char);
    my($loops) = 0;
    while($string =~ s/^(.)//) {
	$char = $1;
	$loops++;
	if($char =~ /[\w\.\,\/\+\=\?\(\)\-\"\'\:\;\$]/) {
	    $char = lc $char;
	    if($char eq "a") { $ret .= ".- "; }
	    elsif($char eq "b") { $ret .= "-... "; }
	    elsif($char eq "c") { $ret .= "-.-. "; }
	    elsif($char eq "d") { $ret .= "-.. "; }
	    elsif($char eq "e") { $ret .= ". "; }
	    elsif($char eq "f") { $ret .= "..-. "; }
	    elsif($char eq "g") { $ret .= "--. "; }
	    elsif($char eq "h") { $ret .= ".... "; }
	    elsif($char eq "i") { $ret .= ".. "; }
	    elsif($char eq "j") { $ret .= ".--- "; }
	    elsif($char eq "k") { $ret .= "-.- "; }
	    elsif($char eq "l") { $ret .= ".-.. "; }
	    elsif($char eq "m") { $ret .= "-- "; }
	    elsif($char eq "n") { $ret .= "-. "; }
	    elsif($char eq "o") { $ret .= "--- "; }
	    elsif($char eq "p") { $ret .= ".--. "; }
	    elsif($char eq "q") { $ret .= "--.- "; }
	    elsif($char eq "r") { $ret .= ".-. "; }
	    elsif($char eq "s") { $ret .= "... "; }
	    elsif($char eq "t") { $ret .= "- "; }
	    elsif($char eq "u") { $ret .= "..- "; }
	    elsif($char eq "v") { $ret .= "...- "; }
	    elsif($char eq "w") { $ret .= ".-- "; }
	    elsif($char eq "x") { $ret .= "-..- "; }
	    elsif($char eq "y") { $ret .= "-.-- "; }
	    elsif($char eq "z") { $ret .= "--.. "; }
	    elsif($char eq ".") { $ret .= ".-.-.- "; }
	    elsif($char eq ",") { $ret .= "--..-- "; }
	    elsif($char eq "/") { $ret .= "-..-. "; }
	    elsif($char eq "+") { $ret .= ".-.-. "; }
	    elsif($char eq "=") { $ret .= "-...- "; }
	    elsif($char eq "?") { $ret .= "..--.. "; }
	    elsif($char eq "(") { $ret .= "-.--. "; }
	    elsif($char eq ")") { $ret .= "-.--.- "; }
	    elsif($char eq "-") { $ret .= "-....- "; }
	    elsif($char eq "\"") { $ret .= ".-..-. "; }
	    elsif($char eq "_") { $ret .= "..--.- "; }
	    elsif($char eq "'") { $ret .= ".----. "; }
	    elsif($char eq ":") { $ret .= "---... "; }
	    elsif($char eq ";") { $ret .= "-.-.-. "; }
	    elsif($char eq "\$") { $ret .= "...-..- "; }
	    else { $ret .= $char; }
	}
	else {
	    $ret .= $char;
	}
    }
#    return "$_[0]\($loops,$ret\)";
    return "$ret";
}
