<perl>
########################################### einige Variablen festlegen ################################

$bgpage   ="gold";                            # Page bgcolor
$bgchat   ="#f0f0f0";                         # Chat bgcolor 
$chattime ="7200";                            # aktuell Einträge zeigen seit x Sekunden , 3600 = 1Std
$showtime =5000;                              # Millisekunden für Chataktualisierung; 5000 = 5 Sek 

#-------------------------------------------- einige Smileys definieren ---------------------------------
# sieht aber nicht so gut aus, deshalb # und auch bei Anzeige ein #
#$smiley{':-Q'}="<img src=\"http://www.gifpix.de/smilies/1/smoker3.gif\">";    # Raucher
#$smiley{':-D'}="<img src=\"http://www.gifpix.de/smilies/1/hahaha.gif\">";     # auslachen
#$smiley{';-\)'}="<img src=\"http://www.gifpix.de/smilies/1/zwinker.gif\">";   # zwinkern
#$smiley{':\)'}="<img src=\"http://www.gifpix.de/smilies/1/nut.gif\">";        # glücklich 
#$smiley{':-\('}="<img src=\"http://www.gifpix.de/smilies/3/angry3.gif\">";    # Traurig, enttäuschend
#$smiley{':-x'}="<img src=\"http://www.gifpix.de/smilies/1/kiss2.gif\">";      # Küßchen 
#$smiley{':-o'}="<img src=\"http://www.gifpix.de/smilies/3/erstaunt3.gif\">";  # Oh,nein;kaum zu glauben
#$smiley{':-V'}="<img src=\"http://www.gifpix.de/smilies/3/director.gif\">";   # Schreien 
#$smiley{':-\@'}="<img src=\"http://www.gifpix.de/smilies/3/nunu.gif\">";      # extrem verärgert
#$smiley{':-\)\)'}="<img src=\"http://www.gifpix.de/smilies/1/up.gif\">";      # große Freude
#$smiley{':-C'}="<img src=\"http://www.gifpix.de/smilies/2/augenreib.gif\">";  # Unglaublich
#$smiley{':-\(\('}="<img src=\"http://www.gifpix.de/smilies/2/troest2.gif\">"; # sehr traurig
# 
#$smiley{''}="<img src=\" \">" ;  #-------------------------------------------# blanko für weitere...

#------------------------------------------------------------------------------ Farbauswahl
%Farben=(
	"Deep Sky Blue",
	"#00BFFF",
	"Blue Violet",
	"#8A2BE2",
	"Dark Red",
	"#8B0000",
	"Dark Khaki",
	"#BDB76B",
	"Medium Violet Red",
	"#C71585",
	"Medium Orchid",
	"#BA55D3",
	"Dark Orange",
	"#FF8C00",
	"Sea Green",
	"#2E8B57",
	"Maroon",
	"#800000",
	"Blue",
	"#0000FF",
	"Goldenrod",
	"#DAA520",
	"Dark Sea Green",
	"#8FBC8F",
	"Medium Blue",
	"#0000CD",
	"Dark Slate Gray",
	"#2F4F4F",
	"Brown",
	"#A52A2A",
	"Medium Sea Green",
	"#3CB371",
	"Dark Goldenrod",
	"#B8860B",
	"Dark Cyan",
	"#008B8B",
	"Red",
	"#FF0000",
	"Dim Gray",
	"#696969",
	"Medium Aquamarine",
	"#66CDAA",
	"Gold",
	"#FFD700",
	"Purple",
	"#800080",
	"Burly Wood",
	"#DEB887",
	"Corn Flower Blue",
	"#6495ED",
	"Indigo",
	"#4B0082",
	"Gray",
	"#808080",
	"Cadet Blue",
	"#5F9EA0",
	"Dark Green",
	"#006400",
	"Chartreuse",
	"#7FFF00",
	"Crimson",
	"#DC143C",
	"Dark Violet",
	"#9400D3",
	"Dark Magenta",
	"#BD008B",
	"Magenta",
	"#FF00FF",
	"Dark Blue",
	"#00008B",
	"Green",
	"#008000",
	"Lime Green",
	"#32CD32",
	"Indian Red",
	"#CD5C5C",
	"Green Yellow",
	"#ADFF2F",
	"Midnight Blue",
	"#191970",
	"Dodger Blue",
	"#1E90FF",
	"Orange",
	"#FFA500",
	"Forest Green",
	"#228B22",
	"Dark Salmon",
	"#E9967A",
	"Deep Pink",
	"#FF1493",
	"Yellow",
	"#FFFF00",
	"Dark Turquoise",
	"#00CED1",
	"Medium Turquoise",
	"#48D1CC",
	"Dark Gray",
	"#A9A9A9",
	"Cyan",
	"#00FFFF",
	"Medium Purple",
	"#9370DB",
	"Yellow Green",
	"#9ACD32",
	"Hot Pink",
	"#FF69B4",
	"Fuchsia",
	"#FF00FF",
	"Dark Slate Blue",
	"#483D8B",
	"Medium Spring Green",
	"#00FA9A",
	"Fire Brick",
	"#B22222",
	"Dark Olive Green",
	"#556B2F",
	"Medium Slate Blue",
	"#7B68EE",
	"Chocolate",
	"#D2691E",
	"Dark Orchid",
	"#9932CC",
	"Coral",
	"#FF7F50","Navy","#000080" 
);
$farbwahl="<select name='Farbe:=' style='font-size:11px'><option value='#000000' style='background-color:#000000;border-left:30px solid #000000'>= Black</option>";

@option=map{"<option value='$Farben{$_}' style='background-color:$Farben{$_};border-left:30px solid $Farben{$_}'>= $_</option>"}(sort(keys(%Farben)));

$farbwahl.="@option</select>";
  
########################################################################################################
</perl>

<html><head><title>AJAX-Chat ::: Alles aus baseportal herausholen ::: www.bei123.de</title>

<style type="text/css" media="screen">
/* Inset 3D Raised */
.raised {background: transparent; width:40%; margin:0 auto;}
.raised h1, .raised p {margin:0 10px;}
.raised h1 {font-size:2em; color:#fff; letter-spacing:1px;}
.raised p {padding-bottom:0.5em;}
.raised .top, .raised .bottom {display:block; background:transparent; font-size:1px;}
.raised .b1, .raised .b2, .raised .b3, .raised .b4, .raised .b1b, .raised .b2b, .raised .b3b, .raised .b4b {display:block; overflow:hidden;}
.raised .b1, .raised .b2, .raised .b3, .raised .b1b, .raised .b2b, .raised .b3b {height:1px;}
.raised .b2 {background:#ccc; border-left:1px solid #fff; border-right:1px solid #eee;}
.raised .b3 {background:#ccc; border-left:1px solid #fff; border-right:1px solid #ddd;}
.raised .b4 {background:#ccc; border-left:1px solid #fff; border-right:1px solid #aaa;}
.raised .b4b {background:#ccc; border-left:1px solid #eee; border-right:1px solid #999;}
.raised .b3b {background:#ccc; border-left:1px solid #ddd; border-right:1px solid #999;}
.raised .b2b {background:#ccc; border-left:1px solid #aaa; border-right:1px solid #999;}
.raised .b1 {margin:0 5px; background:#fff;}
.raised .b2, .raised .b2b {margin:0 3px; border-width:0 2px;}
.raised .b3, .raised .b3b {margin:0 2px;}
.raised .b4, .raised .b4b {height:2px; margin:0 1px;}
.raised .b1b {margin:0 5px; background:#999;}
.raised .boxcontent {display:block;  background:#ccc; border-left:1px solid #fff; border-right:1px solid #999;}
</style>
</head>

<body onload="_chat2('einen Moment bitte....')" bgcolor=$bgpage>

<center>
<div style="width:90%;"><div class="raised" style="width:100%"><b class="top"><b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b></b><div class="boxcontent">
<div style='border-bottom:1px solid white;border-right:1px solid white;border-top:1px solid silver;border-left:1px solid silver;width:99%;background-color:$bgchat'><banner type=banner></div>

<perl>
#################################################################################### das Chat Programm
$chat=$htx."_chat_texte.htx"; # Template für Chattexte
put "", $chat;                # Template initialisieren, da sonst Fehlermeldung bei erstmaligem Start   
#------------------------------------------------------------------------------------- bei Abmeldung
if($_put{on} eq "off" ) 
{####################################
  %chat=eval get $chat;
  $time=time();
  $chat{$time}={"Text","....................ABGEMELDET","Name",$_put{Name},"Farbe",$_put{Farbe}};
  mod serial(%chat), $chat;
  undef %_put;
}####################################

if($_put{Name} ne "" and $_put{on} eq "on")
{####################################
  #-------------------------------------------------------------- Betritt den Chat 
  %chat=eval get $chat;
  $time=time();
  $chat{$time}={"Text","....................BETRITT den Chat...","Name",$_put{Name},"Farbe",$_put{Farbe}};
  mod serial(%chat), $chat;
}###################################

if(%_put ne "" and $_put{Text} ne "")
{####################################
  %chat=eval get $chat;
  $time=time();
  $chat{$time}={"Text",$_put{Text},"Name",$_put{Name},"Farbe",$_put{Farbe}};
  mod serial(%chat), $chat;
}####################################

out "<center>".&form."</center>";#------------------------------- entsprechendes Chatformular ausgeben 

################################################################## Subroutinen und Ajax-Script 
###############################################################################################

sub form
{########################
my $formular="";
if(!$_put{Name})
{########################
$formular.="<form action='$_link' method='post' enctype='multipart/form-data'><b>Name</b> : <input type=text name='Name:=' value='' size=30 style='font-size:11px'><input type=hidden name='on:=' value='on'>  <input type=submit value=' zum Chat anmelden ' style='font-size:11px'> ggf. <b>Farbe</b> : $farbwahl</form>";
}
else
{########################
$formular.="<b>$_put{Name}</b>: Text eingeben und '<i>Maus-Klick</i>' auf Button [<font color=red><b>Chat</b></font>]<br><table border=0 cellpadding=1 cellspacing=1><tr><td><form action='$_link' method='post' enctype='multipart/form-data'><input type=hidden name='Name:=' value='$_put{Name}'><input type=hidden name='Farbe:=' value='$_put{Farbe}'><input type=text name='Text:=' size=100 style='font-size:11px'> : <input type='submit' value='Chat' style='font-size:11px'></form></td><td><form action='$_link' method='post' enctype='multipart/form-data'><input type=hidden name='on:=' value='off'><input type=hidden name='Name:=' value='$_put{Name}'><input type=hidden name='Farbe:=' value='$_put{Farbe}'> oder <input type='submit' value=' $_put{Name} abmelden ' style='font-size:11px'></form></td></tr></table>";
}
########################## 
return($formular);
}######################### ende sub form

sub showchat
{########################
$std=$chattime/3600;
#---------------------------
out "<font color=red><b>CHAT</b></font> Uhrzeit: ".datum("jetzt","<b>Stunde:Minute.Sekunde</b> - Tag0.Monat0.Jahr")." - Eingaben bleiben <b>$std</b> Stunden erhalten.";
out "<hr>";
#------------------------------------------------------------------------------------------------
%chat=eval get $chat; # Daten aus Template holen 
#--------------------
foreach(sort{$b<=>$a} grep($_ > time()-$chattime,keys(%chat))) #Beiträge $chattime Sekunden aktuell 
{#---------------------------------------------------------------------------------------- Anzeigen
$chat_new{$_}={"Text",$chat{$_}{Text},"Name",$chat{$_}{Name},"Farbe",$chat{$_}{Farbe}};
$mText=convert_links($chat{$_}{Text});
#--------------------------------------------- smileys ausgeschaltet
#  foreach my $sm(keys(%smiley))
#  {
#   $mText =~ s#$sm#$smiley{$sm}#g;
#  }
#-------------------------------------------------------------------------------------------------
outl "<font color=$chat{$_}{Farbe}><b>".convert_html($chat{$_}{Name})."</b></font><font color=red> ".datum($_,"Stunde:Minute")."</font> : <font color=blue>$mText</font>";
}#-------------------------------------------------------------------------------------------------
$zahl=keys(%chat_new); # gibt es überhaupt aktuelle Einträge?
outl "<font color=red><b>CHAT</b></font> meldet".convert_html(": keine aktuellen Beiträge seit $std Stunden ! ")."<img\ src=\"http://www.gifpix.de/smilies/3/banned2.gif\">" if($zahl<1);
}########################
</perl>

<perl script=chat2>
########################### Chat Einträge anzeigen
&showchat;
######################
</perl>

<script>
function _chat2(x)
{
document.getElementById("out").innerHTML=x;
window.setTimeout("chat2()", $showtime);
}
</script>

<div id="out" style="padding:10px;background:$bgchat;width=99.99%;text-align:left;border-bottom:1px solid $bgpage;border-top:1px solid $bgpage"></div></p></div><b class="bottom"><b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b></b></div>
</div></center>
</body></html>