<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Ajax Script4All_DIV - www.bei123.de - Alles aus baseportal herausholen</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript" language="JavaScript">function _DO(x){eval(x);}</script>
<style type="text/css">
body{
    background-image:url(http://bei123.de/images/bg-page.jpg);
    background-repeat:repeat-x;
    background-color:#FFFFFF;
    color: black; 
    font-size: 100.01%;
    font-family: helvetica,georgia,arial,sans-serif;
    }

var {
    font-family:arial;
    font-style:normal;
    }

</style>
</head><body>
<perl>
$clgif="<img src='http://bei123.de/images/close1.gif' border=0 alt='(close)' align='right'>";
$INTRO="<img src='http://bei123.de/files/bei123_bp_office.gif' border=0 alt='' align='right'><font size=6>...&copy;DEMO der DIV-Verwaltung</font><br><br>";
$INTRO.="<br><b>;-)</b> ...Es werden jetzt auch die Links mit <i>Sonder- und Leerzeichen</i> von AJAX verarbeitet<br>";
$INTRO.="Getestet mit den Browsern:<ul>";
$INTRO.="<li>Google Chrome 1.0.154.36</li>";
$INTRO.="<li>Firefox 3.0.5</li>";
$INTRO.="<li>Internet Explorer 7.0.5730.13</li>";
$INTRO.="<li>Opera 9.61</li>";
$INTRO.="</ul>";
$INTRO.="<br>Der Code : <b><a href='http://baseportal.de/cgi-bin/baseportal.pl?show=".$htx."' target='_BLANK'>".$htx."</a></b><br>";
$INTRO.=&colorfull("Ajax Script4All_DIV", [255,0,0], [0,0,255],60);
$INTRO="<div style='padding:2px'>$INTRO</div><br>";
&DEFINITION();
#-------------------------------------------------------------------------------------------------- MENÜ
out "<DIV style='border:1px solid silver'>";
out "<div style='border:1px solid silver;border-bottom:1px solid #a0a0a0;border-right:1px solid #a0a0a0;border-top:1px solid #f0f0f0;border-left:1px solid #f0f0f0;background-image:url(http://bei123.de/images/grad1.jpg);background-repeat:repeat-y;background-color:#ffd700'>&nbsp;<var id='menu'><font color='#ffffff'><b>Datei</b></font></var>&nbsp;".$show{BaseLink}->('Müßli-Produktion')."&nbsp;&nbsp;".$show{BaseLink}->('Gut@Böse $VAR %HASH')."&nbsp;&nbsp;".$show{BaseLink}->('Phantom Coupé')."&nbsp;&nbsp;".$show{BaseLink}->('Beßmann & Müller');
out "</div>"; 
out "<div id='DIV1' style='background-color:#ffffff;'>$INTRO</div>"; ## siehe 2.)
out "</DIV>";
#-------------------------------------------------------------------------------------------------------
sub DEFINITION
{##--------------------------------------------------------------------------------- Hauptmenü definieren
%show =
(
BaseLink => sub{my $BL=convert_html($_[0]);return qq{<a name="$BL" onclick='DO("div=DIV1"+"&"+"P="+encodeURIComponent(this.name)+"")' style="padding:2px;border-left:1px solid #ffffff;border-right:1px solid #f0f0f0;border-top:1px solid #ffffff;border-bottom:1px solid #ffffff;background-color:#e0e0e0;color:blue;font-weight:normal;cursor:pointer;font-size:1em" onMouseOver='this.style.backgroundColor="#ffffff",this.style.color="#000000",this.style.fontWeight="normal"' onMouseOut='this.style.backgroundColor="#e0e0e0",this.style.color="blue",this.style.fontWeight="normal"'>&nbsp;$BL&nbsp;</a>}},
);
}## &nbsp;


################################################################################ die Ausführungsroutinen ##

sub MY_DIV1
{##
$MY_DIV1="<img src='http://bei123.de/files/bei123_bp_office.gif' border=0 alt='' align='right'><b>$div</b><br>";
$MY_DIV1.="Aufruf von: <b>$P</b> ";
#-------------------------------------------------------------------------------------------- AnwendungLink
my $wert1="STARTDIV";
my $wert2="zum_TESTEN";
my $dps="wert1=$wert1&wert2=$wert2";     #--------------------------------- zu übergebende Div-Params
#------------------------------------------------
$Option1=&DIV_OPEN("DIV2","more","$dps","","","","Jetzt zeig mal, was Du kannst");# Option1
$CLOSE=&DIV_CLOSE("DIV2","div2 beenden","","color:#d80000;font-weight:bold;cursor:pointer");# - Close
#---------------------------------------------- Anzeige
$MY_DIV1.="<p>TEST, Mal ein paar Variablen durchschleusen:<br>\$wert1=$wert1 - \$wert2=$wert2</p><br>I want $Option1 Div's<br><br><br>";
$MY_DIV1.="$CLOSE<div id='DIV2'></div>";
#----------------------------------------------
return("<div style='padding:2px'>$MY_DIV1</div><br>");
}##

sub MY_DIV2
{##
#------------------------------------------------------------------------------------- Closer aktivieren
out(qq|document.getElementById("c$div").style.display="block";|); 
#----------------------------------------------------------------------- neue Optionen & Close definieren
my $wert1="$wert1";
my $wert2="WAS_NEUES";
my $dps="wert1=$wert1&wert2=$wert2"; 
$Option1=&DIV_OPEN("DIV3","Open transparent","$dps","Information","","","Und los gehts mit $wert1 und $wert2 - transparent");#--- Option1
$CLOSE=&DIV_CLOSE("DIV3","$clgif","$dps");# --------------------------------------------------------- Close
#-------------------------------------------------------------------------------------------- Inhalt DIV2
$MY_DIV2="<b>$div</b> zu <b>$P</b><br>";
$MY_DIV2.="$wert1 $wert2 <p>Und noch ein paar Divs: $Option1</p>";
#------------------------------------------------------------------------------------- ein kleines Formular
$MY_DIV2.="<dfn id='FORMULAR' style='font-weight:bold'>Meine Anfrage</dfn> Name:<input type='text' id='NAME' style='width:150px'><textarea id='TEXTAREA' rows=5 style='width:100%'></textarea><br>";
#--------------------------------------------------------------------------------------- Eingabe übernehmen 
# 4.SubroutinenWert = javascript Anweisung, kann man für Felder-Verarbeitung (foreach())nutzen
#
$Option2=&DIV_OPEN("DIV3","(Senden)","wert1=Irgednwas&wert2=NICHTS","TEST","'+encodeURIComponent(document.getElementById('FORMULAR').innerHTML)+'&'+'Text='+encodeURIComponent(document.getElementById('TEXTAREA').value)+'&'+'Name='+encodeURIComponent(document.getElementById('NAME').value)+'","color:green;font-weight:bold;cursor:pointer","KLICK Senden, wenn Sie einen Text eingegeben haben");#--- Option2
#-------------------------------------------------------------------------------------- WEITERER Inhalt DIV2
$MY_DIV2.="Ein Div mit Text $Option2 (Demo)";
#------------------------------------------------------------------------------------------------------------
$MY_DIV2.="<DIV style='position:absolute;top:50;left:300;width:500px;'><DIv style='background-image:url(http://bei123.de/images/grad1.jpg);background-repeat:repeat-y;background-color:#ffd700;width:100%;text-align:right;font-size:0.8em;'>$CLOSE</DIv><Div style='text-align:left;position:absolute;background-color:#f0f0f0;opacity:0.9;filter:alpha(opacity=90);height:400px'><div id='DIV3'></div></Div></DIV>";
#------------------------------------------------------------------------------------------------------------
return("<div style='border:2px dotted #d80000;width:50%'>$MY_DIV2</div>");
}##

sub MY_DIV3
{##
out(qq|document.getElementById("c$div").style.display="block";|);
#---------------------------------------------------------------
$MY_DIV3="<b>$div</b>(transparent) zu <b>$P</b>";
#------------------------------------------------------------------------------------------ crazy HACK
$MY_DIV3.="<br><br>\$wert1 = $wert1 <br>\$wert2 = $wert2<br>\$M = <font color=red>$M</font> <br>js-\$JS ".eval($JS)." ".($JS ne "" ? " Wert mit <b>eval(\$JS)</b> geholt ;-) <br>":""); #### ausbaufähig !!!!!
#-----------------------------------------------------------------------------------------------------
if($JS ne "")#---- JavaScript übergeben ?
{#--------------------------------------------------------------------------------------- convertieren
$JS=convert_utf8($JS);
$JS=convert_html($JS);
#-------------------------
$Text=convert_html($Text);
$Text=convert_br($Text);
#----------------------------------------------------------------------------------------------------
$MY_DIV3.="<br>Anzeige in neuem DIV<div id='JS$div' style='width:100%;color:#000000;font-size:0.8em;background-color:#ffffff;height:100px;overflow:auto'><div style='padding:2px'><b>$JS</b><br><font color='blue'>".($Name ne "" ? html2text($Name):"n.n.")."</font><br>$Text</div><br></div> u.s.w.";
}
#-----------------------------------------------------------------------------------------------------
$MY_DIV3.="<b>.. zuvor noch kein Text eingegeben!</b>" if($Text eq "" && $M eq "TEST");
return("<div style='width:500px;border-top:1px solid #a0a0a0;'><div style='padding:2px'>$MY_DIV3</div></div>");
}##

############################################################################# Ausführungsroutinen Ende ##

#********************************************************************** Nützliche/hilfreiche Subroutinen#
sub colorfull
{#####################------------------------------------------------------------ Farbe ins Spiel bringen
my($str,$left,$right,$size)=@_;
my @step;
$step[$_] = ($right->[$_] - $left->[$_]) / (length($str) - 1) for (0 .. 2);
my @chars = split //, $str;
@chars=map{sprintf("<font style='font-size:%dpx;color:#%02x%02x%02x'>$chars[$_]</font>", $size, $left->[0] + $_ * $step[0], $left->[1] + $_ * $step[1], $left->[2] + $_ * $step[2])}(0 .. $#chars);
return join("", @chars);
}#####################

sub html2text 
{#####################----------------------------- entfernt html-tags und gibt nur Text ohne HTML zurück
my $html=$_[0];
($text = $html) =~ s/<(\/|!)?[-.a-zA-Z0-9]*.*?>//g;
return($text);
}#####################

#**********************************************************************************************************


#################################### DIV-Funktions-Subroutinen #############################################
sub DIV_OPEN
{## ------------------------------------------------------------------------- Funktion: neues Div öffnen
my($wid,$wnn,$wp,$wm,$wjs,$wcss,$wt)=@_;
#-------------------------------------------------------------- und evtl. noch weitere
#1. $wid  = Name des zu öffenenden Div, 
#2. $wnn  = LinkText,
#3. $wp   = Parameter z.b. "wert1=16&eingabe=Halo"
#4. $wm   = Modul lt. %hash noch zu definieren !!!!!!!!!!!
#5. $wjs  = js-Routinen übernehmen
#6. $wcss = CSS-Style des OpenLinks
#7. $wt   = title
#---------------------------------------------------------------
$wcss     = $wcss||"color:blue;font-weight:bold;cursor:pointer";
$wt       = $wt||"Zeige $wid zu $P";
#--------------------------------------------------------------------------------------------------------
my $wo="<a name='$P' onclick=(DO('div=$wid&P='+encodeURIComponent(this.name)+'&$wp&M=$wm&JS=".$wjs."')) style='$wcss' title='$wt'>$wnn</a>";
return($wo);
}##

sub DIV_CLOSE
{## ------------------------------------------------------------- Funktion: offenes Div wieder schließen
my($wid,$wnn,$wp,$wcss,$wt)=@_;
#-------------------------------------------------- DA kann man beim Schließen auch noch MEHR machen !!!   
#1. $wid  = Name des zu öffenenden Div,
#2. $wnn  = LinkText,
#3. $wp   = Parameter z.b. "wert1=16&eingabe=Halo"
#4. $wcss = CSS-Style des CloseLinks
#5. $wt   =title
#--------------------------------------------------------------
$wnn      = $wnn||"(close $wid)";
$wcss     = $wcss||"color:#000000;font-weight:normal;cursor:pointer"; 
$wt       = $wt||"Beende $wid zu $P";
#--------------------------------------------------------------------------------------------------------
my $wc="<var id='c$wid' style='display:none'><a name='$P' onclick=(DO('div=$div&P='+encodeURIComponent(this.name)+'&$wp')) style='$wcss' title='$wt'> $wnn </a>&nbsp;</var>";
return($wc);
}##

sub NULL
{##
out(qq|document.getElementById("menu").innerHTML="<font color='#ffffff'><b>Datei</b></font>";|);
#--------------------------------------------------------------------
return(qq|document.getElementById("DIV1").innerHTML="$INTRO";|); #-- Zurück
}##

sub DIV1
{##
$W1=&MY_DIV1();
return(qq|document.getElementById("DIV1").innerHTML="$W1";|);
}########

sub DIV2
{##
$W2=&MY_DIV2();
return(qq|document.getElementById("DIV2").innerHTML="$W2";|);
}##

sub DIV3
{##
$W3=&MY_DIV3();
return(qq|document.getElementById("DIV3").innerHTML="$W3";|);
}##
sub Modus_Option
{############################# Auswahl als Optionionen darstellen
($SUB)=@_;
#---------------------------------------------------------------------------------------------------
$m="<form style='float:left;margin:0px;'><select name='Liste' style='width:15em;padding:0px;font-size:0.9em;background-color:#f0f0f0;'"; 

#onchange=showquote(1,'key='+this.form.Liste.options[this.form.Liste.selectedIndex].value+'')><option value='' style='color:blue' >Auswahl</option><optgroup label="">";

# onclick=(DO('div=$wid&P='+encodeURIComponent(this.name)+'&$wp&M=$wm&JS=".$wjs."'))

#$m.=" onchange=(DO('div=DIV2&P='+this.form.Liste.options[this.form.Liste.selectedIndex].value+'&$wp&M=$wm&JS=".$wjs."'))>";

$m.=" onchange=(DO('div=DIV2&P='+encodeURIComponent(this.form.Liste.options[this.form.Liste.selectedIndex].value)+'&$wp&M=$wm&JS=".$wjs."'))>";

#$m.="<optgroup><option></option><option style='color:blue'>Auswahl ".convert_html(convert_utf8($SUB))."</option></optgroup><optgroup>";

$m.="<optgroup label='Auswahl $SUB'></optgroup><optgroup>";

foreach(@menu1)
{#------------------------------------------------------------------------------
$m.= "<option value=".convert_utf8($_).">".convert_html(convert_utf8($_))."</option>";
}#------------------------------------------------------------------------------
$m.="</optgroup>";
$m.= "</select></form>&nbsp;";
return($m);
}###########################
sub script
{## ------------------------------------------------------------------------------ ein Script für alle !!
out(qq|document.getElementById("menu").innerHTML="<a onclick=(DO('div=NULL')) style='color:#ffffff;font-weight:bold;cursor:pointer;'>Home</a>";|);
#--------------------------------------------------------------------------------- Menünamen convertieren
$P=convert_utf8($P);
$P=convert_html($P);
out &$div(); #-------------------------------------------------------------------- die DIV-Subs ausführen
}##
</perl>
</body></html>
<perl script=DO>&script();</perl>
<div style="display:block"><center><banner type="banner"></center></div>