#C:\Perl\bin\perl5.8.8.exe -w
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
#--------------------------------------Récupération des données du formulaire
read(STDIN, my $donnees, $ENV{'CONTENT_LENGTH'});
my @champs_formulaire = split(/&/, $donnees);
my ($champ, $nom, $valeur);
my %formulaire;
foreach $champ (@champs_formulaire) 
{
  (my $nom, my $valeur) = split(/=/, $champ);
  $valeur =~ tr/+/ /;
  $valeur =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $valeur =~ s/</</g;
  $valeur =~ s/>/>/g;
  $formulaire{$nom} = $valeur;
}
my $mot=$formulaire{rechercher};
$mot=~tr/A-Z/a-z/; #transformation en miniscule
my $langue=$formulaire{langue};
#-------------------------------------------------Traitement
if (!open(FILEDICO, "<lexik.xml")){die "Pb a l'ouverture du fichier lexik.xml";};
if (!open(FILEIN, "<chansons.xml")){die "Pb a l'ouverture du fichier Alignement.xml";};
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
print "<html><head><title>Résultat de la recherche</title>\n";
print "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">";
print "<style type=\"text/css\"><!--th {font-weight:bolt}--></style></head>\n";
print "<body bgcolor=\"#CCCCC\"><a name=\"debut\"><ul><li><h4>Traduction : <span style=\"color:red\">";
my $fr;
my $kb;
my $traduction;
while(my $ligne=<FILEDICO>)
{
	if ($ligne=~/<mot(.+)<fr>(.+)<\/fr><kb>(.+)<\/k(.+)/i)
	{
		$fr=$2;
		$kb=$3;
		if ($fr eq $mot)
		{
			print "$fr</span> = <span style=\"color:green\">$kb<\/span></h4></li></ul>";
			$traduction=$kb;
			last;
		}
		if ($kb eq $mot)
		{
			print "$kb</span> = <span style=\"color:green\">$fr<\/span></h4></li></ul>";
			$traduction=$fr;
			last;
		}
	}
}
if (eof(FILEDICO))
{
	print "non trouvée</span></h4></li></ul>";
}
close(FILEDICO);
my $j=0;
print "<table border=\"0\" rules=\"rows\" style=\"margin-left:10px;margin-right:10px\">";
my $auteur="";
my $titre="";
my $k;
while(my $ligne=<FILEIN>)
{
	if ($ligne=~/<chanson num="(.+)" auteur="(.+)" titre="(.+)">/)
	{
			$auteur=$2;
			$titre=$3;
			$k=0;
	}
	if ($ligne=~/<element langue="fr">(.+)<\/element><element langue="kb">(.+)<\/element>/)
	{
		$fr=$1;
		$kb=$2;
		$k++;
		if ($langue eq "kabyle")
		{
			if ($kb=~/$mot/)
			{
				$j++;
				$kb=~s/$mot/<span style=\"color:red\">$mot<\/span>/;
				$fr=~s/$traduction/<span style=\"color:green\">$traduction<\/span>/;
				if ($j==1)
				{
					print "<tr><th> n° </th><th> Contexte langue source  </th><th> Contexte langue cible  </th><th> Auteur <th> chanson </th><th> Ligne</th></tr>\n";
				}
				print "<tr><th> $j - </th><td> $kb  </td><td> $fr </td><td> $auteur  </td><td> $titre  </td><td> $k </td></tr>\n";
			}
			if ($fr=~/$mot/)
			{
				$j++;
				$fr=~s/$mot/<span style=\"color:red\">$mot<\/span>/;
				$kb=~s/$traduction/<span style=\"color:green\">$traduction<\/span>/;
				if ($j==1)
				{
					print "<tr><th> n° </th><th> Contexte langue source  </th><th> Contexte langue cible  </th><th> Auteur <th> chanson </th><th> Ligne</th></tr>\n";
				}
				print "<tr><th> $j - </th><td> $kb  </td><td> $fr </td><td> $auteur  </td><td> $titre  </td><td> $k </td></tr>\n";
			}
		}
		else
		{
			if ($fr=~/$mot/)
			{
				$j++;
				$fr=~s/$mot/<span style=\"color:red\">$mot<\/span>/;
				$kb=~s/$traduction/<span style=\"color:green\">$traduction<\/span>/;
				if ($j==1)
				{
					print "<tr><th> n° </th><th> Contexte langue source  </th><th> Contexte langue cible  </th><th> Auteur <th> chanson </th><th> Ligne</th></tr>\n";
				}
				print "<tr><th> $j - </th><td> $fr  </td><td> $kb </td><td> $auteur  </td><td> $titre  </td><td> $k </td></tr>\n";
			}
			if ($kb=~/$mot/)
			{
				$j++;
				$kb=~s/$mot/<span style=\"color:red\">$mot<\/span>/;
				$fr=~s/$traduction/<span style=\"color:green\">$traduction<\/span>/;
				if ($j==1)
				{
					print "<tr><th> n° </th><th> Contexte langue source  </th><th> Contexte langue cible  </th><th> Auteur <th> chanson </th><th> Ligne</th></tr>\n";
				}
				print "<tr><th> $j - </th><td> $fr  </td><td> $kb </td><td> $auteur  </td><td> $titre  </td><td> $k </td></tr>\n";
			}
		}
	}
}
print "<tr> </tr></table>";
if ($j>18){print "<a href=\"#ebut\">Haut de page</a>";}
print "<br/><br/><br/><i><div align=\"center\" style=\"font-size:75%\">Jugurtha Aït Hamlat - pluriTAL ©2009, INALCO, Paris 10, Paris 3</div></i></body></html>\n";
close(FILEIN);