Alaska Software Inc. - Ajax
Username: Password:
AuthorTopic: Ajax
Brian L. WolfsohnAjax
on Wed, 27 Feb 2008 01:02:05 +0100
(posted in xb2net and alaska-waa)
What is the current state of ajax and xbase++ ??  

Are there any implementation samples around ?? phil ide's site is down, so 
i can't get to any of those..

phil & sander were also talking about a comet/ajax implementation..

Is anyone doing any of this ??

Brian
Reinthaler RudolfRe: Ajax
on Wed, 27 Feb 2008 08:05:31 +0100
Hello Brian,
look at Dojo toolkit, I have implemented it in my xb2net applications, works 
perfect. I think it is also no problem with WAA.
regards
Rudolf

"Brian L. Wolfsohn" <noblwnospam@cus.com> schrieb im Newsbeitrag 
news:Xns9A50C1A72FD96blwcuscom@80.154.33.133...
> (posted in xb2net and alaska-waa)
> What is the current state of ajax and xbase++ ??
>
> Are there any implementation samples around ?? phil ide's site is down, so
> i can't get to any of those..
>
> phil & sander were also talking about a comet/ajax implementation..
>
> Is anyone doing any of this ??
>
> Brian
Allen LeeAjax
on Fri, 29 Feb 2008 17:14:39 -0800
Hi Rudolf;

After taking a look at the Dojo toolkit, I am curious to see how you
combined javascript with Xbase code.

I am using WAA for my web apps rather than xb2net so I am not familiar with
xb2net coding methods.

May I see some of your code examples to see how you have implemented the
ajax techniques and to see how Dojo could work with WAA.

Thank you
Reinthaler RudolfRe: Ajax
on Sat, 01 Mar 2008 14:46:37 +0100
Hello,
extracting a sample is complicated. I work with templates that include 
standard html code with dojo. In this templates I have tags like  <% ... 
xbase variable or functions %> and to parse this templates at runtime. So 
you can all do what you want. You even can include java script code you 
generate in XBase++ at runtime.
Hera a sample function to show a sorted dojo table from a array :

function sorttable(aHeader,aTable)
******************************************************************
local cHTML := "",x
cHTML +=  '<div class="tableContainer">'
cHTML +=  '<table dojoType="SortableTable" widgetId="Tabelle" 
headClass="fixedHeader" tbodyClass="scrollContent" 
enableMultipleSelect="true" enableAlternateRows="true" 
rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
border="0">'
cHTML +=  '<thead>'
cHTML +=  '<tr>'
for x := 1 to len(aHeader)
     cHTML += '<th field="' + aHeader[x] + '" dataType="' + 
gettabletype(aTable[1,x]) + '">' + aHeader[x]  + '</th>'
next x
cHTML +=  '</tr>'
cHTML +=  '</thead>'
cHTML +=  '<tbody>'
for x := 1 to len(aTable)
     cHTML +=  '<tr>'
     for y := 1 to len(aTable[x])
          cHTML +=  '<td>' + alltrim(var2char(aTable[x,y])) + '</td>'
     next y
     cHTML +=  '</tr>'
next x
cHTML +=  '</tbody>'
cHTML +=  '</table>'


return cHTML

function gettabletype(x)
******************************************************************
do case
     case valtype(x) = "C"
          return "String"
     case valtype(x) = "N"
          return "Number"
     case valtype(x) = "D"
          return "Date"
     other
          return "String"
endcase
return "String"





regards
Rudolf



"Allen Lee" <al@infopro.bc.ca> schrieb im Newsbeitrag 
news:312297ad$5e93a41f$599@news.alaska-software.com...
> Hi Rudolf;
>
> After taking a look at the Dojo toolkit, I am curious to see how you
> combined javascript with Xbase code.
>
> I am using WAA for my web apps rather than xb2net so I am not familiar 
> with
> xb2net coding methods.
>
> May I see some of your code examples to see how you have implemented the
> ajax techniques and to see how Dojo could work with WAA.
>
> Thank you
>
>
Giuseppe CorrentiRe: Ajax
on Sat, 01 Mar 2008 20:38:50 +0100
Hi, sorry for my bad English
Rudolf, I don't think that Dojo is the solution for xbase and Ajax
Dojo is a good and very nice option to make dinamic pages, but it's not good 
for xbase and ajax
becouse it doesn't interact with web-server when the page is loaded.
Ajax gives the possibility to update datas into html page without reload the 
entire page (like google heart),
but datas must/can reside into the web-server.
Ajax needs to interact with web-server!!
A good solution for  xbase's programmers is to use xb2net, with some 
javascript's functions into html,
it's possible to update one or more values into a form, change colors,tables 
and more without reload the page.
saluti Giuseppe


"Reinthaler Rudolf" <office@c-tec.at> ha scritto nel messaggio 
news:166f0abd$a9b102c$7153@news.alaska-software.com...
> Hello,
> extracting a sample is complicated. I work with templates that include 
> standard html code with dojo. In this templates I have tags like  <% ... 
> xbase variable or functions %> and to parse this templates at runtime. So 
> you can all do what you want. You even can include java script code you 
> generate in XBase++ at runtime.
> Hera a sample function to show a sorted dojo table from a array :
>
> function sorttable(aHeader,aTable)
> ******************************************************************
> local cHTML := "",x
> cHTML +=  '<div class="tableContainer">'
> cHTML +=  '<table dojoType="SortableTable" widgetId="Tabelle" 
> headClass="fixedHeader" tbodyClass="scrollContent" 
> enableMultipleSelect="true" enableAlternateRows="true" 
> rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
> border="0">'
> cHTML +=  '<thead>'
> cHTML +=  '<tr>'
> for x := 1 to len(aHeader)
>     cHTML += '<th field="' + aHeader[x] + '" dataType="' + 
> gettabletype(aTable[1,x]) + '">' + aHeader[x]  + '</th>'
> next x
> cHTML +=  '</tr>'
> cHTML +=  '</thead>'
> cHTML +=  '<tbody>'
> for x := 1 to len(aTable)
>     cHTML +=  '<tr>'
>     for y := 1 to len(aTable[x])
>          cHTML +=  '<td>' + alltrim(var2char(aTable[x,y])) + '</td>'
>     next y
>     cHTML +=  '</tr>'
> next x
> cHTML +=  '</tbody>'
> cHTML +=  '</table>'
>
>
> return cHTML
>
> function gettabletype(x)
> ******************************************************************
> do case
>     case valtype(x) = "C"
>          return "String"
>     case valtype(x) = "N"
>          return "Number"
>     case valtype(x) = "D"
>          return "Date"
>     other
>          return "String"
> endcase
> return "String"
>
>
>
>
>
> regards
> Rudolf
>
>
>
> "Allen Lee" <al@infopro.bc.ca> schrieb im Newsbeitrag 
> news:312297ad$5e93a41f$599@news.alaska-software.com...
>> Hi Rudolf;
>>
>> After taking a look at the Dojo toolkit, I am curious to see how you
>> combined javascript with Xbase code.
>>
>> I am using WAA for my web apps rather than xb2net so I am not familiar 
>> with
>> xb2net coding methods.
>>
>> May I see some of your code examples to see how you have implemented the
>> ajax techniques and to see how Dojo could work with WAA.
>>
>> Thank you
>>
>>
>
>
Reinthaler RudolfRe: Ajax
on Sun, 02 Mar 2008 07:58:04 +0100
Hello Giuseppe,
look at the function action_inhalt2() at the bottom of my test programm, 
this is  a sample how I dynamically load a content from a HTML page with 
XB2NET and Dojo.

regards
Rudolf


<HTML>
<HEAD>
<TITLE>{cTitel}</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<script type="text/javascript">

        var djConfig = {
                debugAtAllCosts: true,
                isDebug: true
        };

</script>
<script type="text/javascript" src="dojo.js"></script>
<script type="text/javascript">
  dojo.require("dojo.io.*");
  dojo.require("dojo.event.*");
  dojo.require("dojo.widget.*");
  dojo.require("dojo.widget.Dialog");
  dojo.require("dojo.widget.TaskBar");
  dojo.require("dojo.widget.Button");
  dojo.require("dojo.widget.Rounded");
  dojo.require("dojo.widget.FloatingPane");
  dojo.require("dojo.widget.ContentPane");
  dojo.require("dojo.widget.LayoutContainer");
  dojo.require("dojo.widget.HtmlWidget");
  dojo.require("dojo.widget.html.ComboBox");
  dojo.require("dojo.widget.SplitContainer");
  dojo.require("dojo.widget.DatePicker");
  dojo.require("dojo.widget.Tree");
  dojo.require("dojo.widget.TreeSelector");
  dojo.require("dojo.widget.Checkbox");
  dojo.require("dojo.widget.TabContainer");
  dojo.require("dojo.widget.ResizeHandle");
  dojo.require("dojo.widget.SortableTable");
  dojo.registerModulePath("../ctec", "ctec");
  dojo.require("ctec.*");
  dojo.require("ctec.Controler");

        dojo.addOnLoad(function(){
                 new lt.Controler();

        dojo.hostenv.writeIncludes();
  </script>


        <style type="text/css">
                /***
                        The following is just an example of how to use the 
table.
                        You can override any class names to be used if you 
wish.
                ***/

                table {
                        font-family:Lucida Grande, Verdana;
                        font-size:0.8em;
                        width:100%;
                        border:1px solid #ccc;
                        cursor:default;
                }

                * html div.tableContainer {     /* IE only hack */
                        width:95%;
                        border:1px solid #ccc;
                        height: 285px;
                        overflow-x:hidden;
                        overflow-y: auto;
                }

                table td,
                table th{
                        border-right:1px solid #999;
                        padding:2px;
                        font-weight:normal;
                }
                table thead td, table thead th {
                        background:#94BEFF;
                }

                * html div.tableContainer table thead tr td,
                * html div.tableContainer table thead tr th{
                        /* IE Only hacks */
                        position:relative;
                        top:expression(dojo.html.getFirstAncestorByTag(this,'table').parentNode.scrollTop-2);
                }

                html>body tbody.scrollContent {
                        height: 262px;
                        overflow-x:hidden;
                        overflow-y: auto;
                }

                tbody.scrollContent td, tbody.scrollContent tr td {
                        background: #FFF;
                        padding: 2px;
                }

                tbody.scrollContent tr.alternateRow td {
                        background: #e3edfa;
                        padding: 2px;
                }

                tbody.scrollContent tr.selected td {
                        background: yellow;
                        padding: 2px;
                }
                tbody.scrollContent tr:hover td {
                        background: #a6c2e7;
                        padding: 2px;
                }
                tbody.scrollContent tr.selected:hover td {
                        background: #ff3;
                        padding: 2px;
                }

        body { font-family : sans-serif; }
        .dojoDialog {
                background : #eee;
                border : 1px solid #999;
                -moz-border-radius : 5px;
                padding : 4px;
        }

        form {
                margin-bottom : 0;
        }

        /* group multiple buttons in a row */
        .box {
                display: block;
                text-align: center;
        }
        .box .dojoButton {
                float: left;
                margin-right: 10px;
        }
        .dojoButton .dojoButtonContents {
                font-size: medium;
        }


        body { font-family : sans-serif; }
        .dojoDialog {
                background : #eee;
                border : 1px solid #999;
                -moz-border-radius : 5px;
                padding : 4px;
        }

        form {
                margin-bottom : 0;
        }

        /* group multiple buttons in a row */
        .box {
                display: block;
                text-align: center;
        }
        .box .dojoButton {
                float: left;
                margin-right: 10px;
        }
        .dojoButton .dojoButtonContents {
                font-size: medium;
        }

  .dc {
    font-size: large;
    padding-top: 5px;
    padding-bottom: 5px;
    buttonsize: 100px;
    width:  100px;
    height: 20px;
  }

</style>

<style>
html, body {
        height: 100%;
        width: 100%;
        overflow: hidden;
}
#main {
        height: 90%;
        width: 90%;
        left: 1%;
        top: 1%;
        position: relative;
}

</style>

<script type="text/javascript">
var dlg1,dlg0;
function init(e) {
  dlg0 = dojo.widget.byId("login");
  var btn1 = document.getElementById("hider0");
  dlg0.setCloseControl(btn1);
  dlg1 = dojo.widget.byId("umsatz");
  var btn2 = document.getElementById("hider1");
  dlg1.setCloseControl(btn2);
}
dojo.addOnLoad(init);

</script>




        <div dojoType="FloatingPane"
    id="login"
    title="Login"
    iconSrc="imges/monitor.gif"
  constrainToContainer="true"
        hasShadow="true"
        resizable="true"
        displayMinimizeAction="true"
        displayMaximizeAction="true"
  contentWrapper="none"

                toggle="explode"
    style="width: 300px; position: absolute; height: 170px; left: 150px; 
top: 150px; display: none" >

  <form name="login" >
                <table>
                        <tr>
        <td>User ID:</td>
        <td><input type="text" name="UID"></td>
                        </tr>
                        <tr>
        <td>Passwort:</td>
        <td><input type="text" name="PWD"></td>
                        </tr>
                        <tr>
                                <td colspan="2" align="center">
          <input type="submit" id="hider0" value="OK"></td>

                        </tr>
                </table>
        </form>

  </div>



        <div dojoType="FloatingPane"
    id="umsatz"
    title="Login"
    iconSrc="images/monitor.gif"
  constrainToContainer="true"
        hasShadow="true"
        resizable="true"
        displayMinimizeAction="true"
        displayMaximizeAction="true"
  contentWrapper="none"

                toggle="explode"
    style="width: 600px; position: absolute; height: 400px; left: 150px; 
top: 150px; display: none" >

  <form name="login2" >
                <table>
                        <tr>
        <td>User ID:</td>
        <td><input type="text" name="UID"></td>
                        </tr>
                        <tr>
        <td>Passwort:</td>
        <td><input type="text" name="PWD"></td>
                        </tr>
                        <tr>
                                <td colspan="2" align="center">
          <input type="submit" id="hider0" value="OK"></td>

                        </tr>
                </table>
        </form>

  </div>



</HEAD>



<body>
<div dojoType="LayoutContainer" layoutChildPriority='none' style="border: 
0px solid black; padding: 1px;" id="main" executeScripts="true">

  <div dojoType="ContentPane" layoutAlign="left" style="background-color: 
#eeeeee; width: 128px; margin: 5px;" executeScripts="true">

      <div class="box">
        <button dojoType="button" onclick="dlg0.show()">       <div 
class="dc">Login</div></button>
        <button dojoType="button" 
onclick='open("/dojosamples/editor.html",null,"height=800,width=1000,status=yes,toolbar=no,menubar=no,location=no");'> 
<div class="dc">Editor</div></button>
        <button dojoType="button" onclick="action_test()">   <div 
class="dc">Fenster 2</div></button>
        <button dojoType="button" onclick="action_inhalt()">   <div 
class="dc">Inhalt</div></button>
        <button dojoType="button" onclick="action_inhalt2()">   <div 
class="dc">ext.Inhalt</div></button>
      </div>
      <br clear=both>

        </div>

  <div dojoType="ContentPane" layoutAlign="top" style="background-color: 
#eeeeee; height: 40px; margin: 5px;" executeScripts="true">
    {cTMessage}
        </div>


  <div dojoType="ContentPane" layoutAlign="bottom" style="background-color: 
#eeeeee; height: 20px; margin: 5px;" executeScripts="true">
    {cTMessage}
        </div>

  <div dojoType="ContentPane" id="mainframe"  layoutAlign="client" 
style="background-color: #eeeeee; padding: 10px; margin: 5px;" 
executeScripts="true">
  <div id="inhalt">
    {cKundeninfo}<br>
    {cHTML}

  </div>


        </div>

</div>
</body>
</HTML>


<script type="text/javascript">
function action_test()
{
dlg1 = dojo.widget.byId("umsatz");
dlg1.show();
}                     <!--  Activate cloak
</SCRIPT>



<script type="text/javascript">
function action_inhalt(){
  dojo.io.bind({
    url:     '../rep/export.html',
    handler: function(type,data,evt)
      {
      if (type == 'error'){ alert('Fehler beim einlesen des Frames!')}
      else{
        dojo.byId('mainframe').innerHTML = data}
      }
              });
}
</SCRIPT>


<script type="text/javascript">
function action_inhalt2(){
  dojo.io.bind({
    url:     'http://localhost:81?TESTINHALT',
    handler: function(type,data,evt)
      {
      if (type == 'error'){
            alert('Fehler beim einlesen des MainFrames!')
      }else{
             dojo.byId('mainframe').innerHTML = data}
      }
      });
}
</SCRIPT>
Giuseppe CorrentiRe: Ajax
on Sun, 02 Mar 2008 10:39:07 +0100
Hi Rudolf,
I know dojo, and I have made some web's sites with it, but it is not 
necessary for Ajax, you use a dojo's function like mine.
Look this  javascripts, it works without Dojo or with dojo, with simple 
HTML's page or Flash or  webbuilders, etc.
I think that it works also with others severs,not only with xb2net, that 
answer to a post request.
<script type="text/javascript">
function OpenAjax(richiesta)
{
     if (window.XMLHttpRequest)
     {
          req = new XMLHttpRequest();
          if (req.overrideMimeType)
          {
              req.overrideMimeType('text/xml');
          }
     }
     else
     {
          req = new ActiveXObject("Msxml2.XMLHTTP");
     }
     req .open("POST", richiesta,false)
     req.send(null)
     if(req.status!=200)
     {
          alert('server busy')
          return null
     }
     else
     {
           manipulate this line to make modification into your html's 
pages
          return req.responseText  the server's response
                                               if pwd ok = 'connected' 
else 'disconnected'
                                               and if you use sessions the 
server set
                                              
oclient:setcargo('connected',.t.) or false
                                              you can 
eval(req.responseText) to send a complex response
                                             like "alert('bad 
password');return 'disconnected')"
                                            or array to evaluate to change 
childs into select type, or change the status of buttos
                                          and more .........
     }
}
</script>
//in the html Login Button  put
onclick="form1.status.value=OpenAjax('/?testpassword&pwd='+form1.pwd.value)"
this all!!!


"Reinthaler Rudolf" <office@c-tec.at> ha scritto nel messaggio 
news:44544e60$64af468a$162@news.alaska-software.com...
> Hello Giuseppe,
> look at the function action_inhalt2() at the bottom of my test programm, 
> this is  a sample how I dynamically load a content from a HTML page with 
> XB2NET and Dojo.
>
> regards
> Rudolf
>
>
> <HTML>
> <HEAD>
> <TITLE>{cTitel}</TITLE>
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
> <script type="text/javascript">
>
>        var djConfig = {
>                debugAtAllCosts: true,
>                isDebug: true
>        };
>
> </script>
> <script type="text/javascript" src="dojo.js"></script>
> <script type="text/javascript">
>  dojo.require("dojo.io.*");
>  dojo.require("dojo.event.*");
>  dojo.require("dojo.widget.*");
>  dojo.require("dojo.widget.Dialog");
>  dojo.require("dojo.widget.TaskBar");
>  dojo.require("dojo.widget.Button");
>  dojo.require("dojo.widget.Rounded");
>  dojo.require("dojo.widget.FloatingPane");
>  dojo.require("dojo.widget.ContentPane");
>  dojo.require("dojo.widget.LayoutContainer");
>  dojo.require("dojo.widget.HtmlWidget");
>  dojo.require("dojo.widget.html.ComboBox");
>  dojo.require("dojo.widget.SplitContainer");
>  dojo.require("dojo.widget.DatePicker");
>  dojo.require("dojo.widget.Tree");
>  dojo.require("dojo.widget.TreeSelector");
>  dojo.require("dojo.widget.Checkbox");
>  dojo.require("dojo.widget.TabContainer");
>  dojo.require("dojo.widget.ResizeHandle");
>  dojo.require("dojo.widget.SortableTable");
>  dojo.registerModulePath("../ctec", "ctec");
>  dojo.require("ctec.*");
>  dojo.require("ctec.Controler");
>
>        dojo.addOnLoad(function(){
>                 new lt.Controler();
>
>        dojo.hostenv.writeIncludes();
>  </script>
>
>
>        <style type="text/css">
>                /***
>                        The following is just an example of how to use the 
> table.
>                        You can override any class names to be used if you 
> wish.
>                ***/
>
>                table {
>                        font-family:Lucida Grande, Verdana;
>                        font-size:0.8em;
>                        width:100%;
>                        border:1px solid #ccc;
>                        cursor:default;
>                }
>
>                * html div.tableContainer {     /* IE only hack */
>                        width:95%;
>                        border:1px solid #ccc;
>                        height: 285px;
>                        overflow-x:hidden;
>                        overflow-y: auto;
>                }
>
>                table td,
>                table th{
>                        border-right:1px solid #999;
>                        padding:2px;
>                        font-weight:normal;
>                }
>                table thead td, table thead th {
>                        background:#94BEFF;
>                }
>
>                * html div.tableContainer table thead tr td,
>                * html div.tableContainer table thead tr th{
>                        /* IE Only hacks */
>                        position:relative;
> 
> top:expression(dojo.html.getFirstAncestorByTag(this,'table').parentNode.scrollTop-2);
>                }
>
>                html>body tbody.scrollContent {
>                        height: 262px;
>                        overflow-x:hidden;
>                        overflow-y: auto;
>                }
>
>                tbody.scrollContent td, tbody.scrollContent tr td {
>                        background: #FFF;
>                        padding: 2px;
>                }
>
>                tbody.scrollContent tr.alternateRow td {
>                        background: #e3edfa;
>                        padding: 2px;
>                }
>
>                tbody.scrollContent tr.selected td {
>                        background: yellow;
>                        padding: 2px;
>                }
>                tbody.scrollContent tr:hover td {
>                        background: #a6c2e7;
>                        padding: 2px;
>                }
>                tbody.scrollContent tr.selected:hover td {
>                        background: #ff3;
>                        padding: 2px;
>                }
>
>        body { font-family : sans-serif; }
>        .dojoDialog {
>                background : #eee;
>                border : 1px solid #999;
>                -moz-border-radius : 5px;
>                padding : 4px;
>        }
>
>        form {
>                margin-bottom : 0;
>        }
>
>        /* group multiple buttons in a row */
>        .box {
>                display: block;
>                text-align: center;
>        }
>        .box .dojoButton {
>                float: left;
>                margin-right: 10px;
>        }
>        .dojoButton .dojoButtonContents {
>                font-size: medium;
>        }
>
>
>        body { font-family : sans-serif; }
>        .dojoDialog {
>                background : #eee;
>                border : 1px solid #999;
>                -moz-border-radius : 5px;
>                padding : 4px;
>        }
>
>        form {
>                margin-bottom : 0;
>        }
>
>        /* group multiple buttons in a row */
>        .box {
>                display: block;
>                text-align: center;
>        }
>        .box .dojoButton {
>                float: left;
>                margin-right: 10px;
>        }
>        .dojoButton .dojoButtonContents {
>                font-size: medium;
>        }
>
>  .dc {
>    font-size: large;
>    padding-top: 5px;
>    padding-bottom: 5px;
>    buttonsize: 100px;
>    width:  100px;
>    height: 20px;
>  }
>
> </style>
>
> <style>
> html, body {
>        height: 100%;
>        width: 100%;
>        overflow: hidden;
> }
> #main {
>        height: 90%;
>        width: 90%;
>        left: 1%;
>        top: 1%;
>        position: relative;
> }
>
> </style>
>
> <script type="text/javascript">
> var dlg1,dlg0;
> function init(e) {
>  dlg0 = dojo.widget.byId("login");
>  var btn1 = document.getElementById("hider0");
>  dlg0.setCloseControl(btn1);
>  dlg1 = dojo.widget.byId("umsatz");
>  var btn2 = document.getElementById("hider1");
>  dlg1.setCloseControl(btn2);
> }
> dojo.addOnLoad(init);
>
> </script>
>
>
>
>
>        <div dojoType="FloatingPane"
>    id="login"
>    title="Login"
>    iconSrc="imges/monitor.gif"
>  constrainToContainer="true"
>        hasShadow="true"
>        resizable="true"
>        displayMinimizeAction="true"
>        displayMaximizeAction="true"
>  contentWrapper="none"
>
>                toggle="explode"
>    style="width: 300px; position: absolute; height: 170px; left: 150px; 
> top: 150px; display: none" >
>
>  <form name="login" >
>                <table>
>                        <tr>
>        <td>User ID:</td>
>        <td><input type="text" name="UID"></td>
>                        </tr>
>                        <tr>
>        <td>Passwort:</td>
>        <td><input type="text" name="PWD"></td>
>                        </tr>
>                        <tr>
>                                <td colspan="2" align="center">
>          <input type="submit" id="hider0" value="OK"></td>
>
>                        </tr>
>                </table>
>        </form>
>
>  </div>
>
>
>
>        <div dojoType="FloatingPane"
>    id="umsatz"
>    title="Login"
>    iconSrc="images/monitor.gif"
>  constrainToContainer="true"
>        hasShadow="true"
>        resizable="true"
>        displayMinimizeAction="true"
>        displayMaximizeAction="true"
>  contentWrapper="none"
>
>                toggle="explode"
>    style="width: 600px; position: absolute; height: 400px; left: 150px; 
> top: 150px; display: none" >
>
>  <form name="login2" >
>                <table>
>                        <tr>
>        <td>User ID:</td>
>        <td><input type="text" name="UID"></td>
>                        </tr>
>                        <tr>
>        <td>Passwort:</td>
>        <td><input type="text" name="PWD"></td>
>                        </tr>
>                        <tr>
>                                <td colspan="2" align="center">
>          <input type="submit" id="hider0" value="OK"></td>
>
>                        </tr>
>                </table>
>        </form>
>
>  </div>
>
>
>
> </HEAD>
>
>
>
> <body>
> <div dojoType="LayoutContainer" layoutChildPriority='none' style="border: 
> 0px solid black; padding: 1px;" id="main" executeScripts="true">
>
>  <div dojoType="ContentPane" layoutAlign="left" style="background-color: 
> #eeeeee; width: 128px; margin: 5px;" executeScripts="true">
>
>      <div class="box">
>        <button dojoType="button" onclick="dlg0.show()">       <div 
> class="dc">Login</div></button>
>        <button dojoType="button" 
> onclick='open("/dojosamples/editor.html",null,"height=800,width=1000,status=yes,toolbar=no,menubar=no,location=no");'> 
> <div class="dc">Editor</div></button>
>        <button dojoType="button" onclick="action_test()">   <div 
> class="dc">Fenster 2</div></button>
>        <button dojoType="button" onclick="action_inhalt()">   <div 
> class="dc">Inhalt</div></button>
>        <button dojoType="button" onclick="action_inhalt2()">   <div 
> class="dc">ext.Inhalt</div></button>
>      </div>
>      <br clear=both>
>
>        </div>
>
>  <div dojoType="ContentPane" layoutAlign="top" style="background-color: 
> #eeeeee; height: 40px; margin: 5px;" executeScripts="true">
>    {cTMessage}
>        </div>
>
>
>  <div dojoType="ContentPane" layoutAlign="bottom" style="background-color: 
> #eeeeee; height: 20px; margin: 5px;" executeScripts="true">
>    {cTMessage}
>        </div>
>
>  <div dojoType="ContentPane" id="mainframe"  layoutAlign="client" 
> style="background-color: #eeeeee; padding: 10px; margin: 5px;" 
> executeScripts="true">
>  <div id="inhalt">
>    {cKundeninfo}<br>
>    {cHTML}
>
>  </div>
>
>
>        </div>
>
> </div>
> </body>
> </HTML>
>
>
> <script type="text/javascript">
> function action_test()
> {
> dlg1 = dojo.widget.byId("umsatz");
> dlg1.show();
> }                     <!--  Activate cloak
> </SCRIPT>
>
>
>
> <script type="text/javascript">
> function action_inhalt(){
>  dojo.io.bind({
>    url:     '../rep/export.html',
>    handler: function(type,data,evt)
>      {
>      if (type == 'error'){ alert('Fehler beim einlesen des Frames!')}
>      else{
>        dojo.byId('mainframe').innerHTML = data}
>      }
>              });
> }
> </SCRIPT>
>
>
> <script type="text/javascript">
> function action_inhalt2(){
>  dojo.io.bind({
>    url:     'http://localhost:81?TESTINHALT',
>    handler: function(type,data,evt)
>      {
>      if (type == 'error'){
>            alert('Fehler beim einlesen des MainFrames!')
>      }else{
>             dojo.byId('mainframe').innerHTML = data}
>      }
>      });
> }
> </SCRIPT>
>
>
>
Reinthaler RudolfRe: Ajax
on Sun, 02 Mar 2008 18:32:36 +0100
Hello Giuseppe,
thank's, your way looks also very interesting.
regards
Rudolf

"Giuseppe Correnti" <airsoft1@tin.it> schrieb im Newsbeitrag 
news:6f3028cf$1f7f619d$673@news.alaska-software.com...
> Hi Rudolf,
> I know dojo, and I have made some web's sites with it, but it is not 
> necessary for Ajax, you use a dojo's function like mine.
> Look this  javascripts, it works without Dojo or with dojo, with simple 
> HTML's page or Flash or  webbuilders, etc.
> I think that it works also with others severs,not only with xb2net, that 
> answer to a post request.
> <script type="text/javascript">
> function OpenAjax(richiesta)
> {
>     if (window.XMLHttpRequest)
>     {
>          req = new XMLHttpRequest();
>          if (req.overrideMimeType)
>          {
>              req.overrideMimeType('text/xml');
>          }
>     }
>     else
>     {
>          req = new ActiveXObject("Msxml2.XMLHTTP");
>     }
>     req .open("POST", richiesta,false)
>     req.send(null)
>     if(req.status!=200)
>     {
>          alert('server busy')
>          return null
>     }
>     else
>     {
>           manipulate this line to make modification into your html's 
> pages
>          return req.responseText  the server's response
>                                               if pwd ok = 'connected' 
> else 'disconnected'
>                                               and if you use sessions 
> the server set
>                                              
> oclient:setcargo('connected',.t.) or false
>                                              you can 
> eval(req.responseText) to send a complex response
>                                             like "alert('bad 
> password');return 'disconnected')"
>                                            or array to evaluate to 
> change childs into select type, or change the status of buttos
>                                          and more .........
>     }
> }
> </script>
> //in the html Login Button  put
> onclick="form1.status.value=OpenAjax('/?testpassword&pwd='+form1.pwd.value)"
> this all!!!
>
>
> "Reinthaler Rudolf" <office@c-tec.at> ha scritto nel messaggio 
> news:44544e60$64af468a$162@news.alaska-software.com...
>> Hello Giuseppe,
>> look at the function action_inhalt2() at the bottom of my test programm, 
>> this is  a sample how I dynamically load a content from a HTML page with 
>> XB2NET and Dojo.
>>
>> regards
>> Rudolf
>>
>>
>> <HTML>
>> <HEAD>
>> <TITLE>{cTitel}</TITLE>
>> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
>> <script type="text/javascript">
>>
>>        var djConfig = {
>>                debugAtAllCosts: true,
>>                isDebug: true
>>        };
>>
>> </script>
>> <script type="text/javascript" src="dojo.js"></script>
>> <script type="text/javascript">
>>  dojo.require("dojo.io.*");
>>  dojo.require("dojo.event.*");
>>  dojo.require("dojo.widget.*");
>>  dojo.require("dojo.widget.Dialog");
>>  dojo.require("dojo.widget.TaskBar");
>>  dojo.require("dojo.widget.Button");
>>  dojo.require("dojo.widget.Rounded");
>>  dojo.require("dojo.widget.FloatingPane");
>>  dojo.require("dojo.widget.ContentPane");
>>  dojo.require("dojo.widget.LayoutContainer");
>>  dojo.require("dojo.widget.HtmlWidget");
>>  dojo.require("dojo.widget.html.ComboBox");
>>  dojo.require("dojo.widget.SplitContainer");
>>  dojo.require("dojo.widget.DatePicker");
>>  dojo.require("dojo.widget.Tree");
>>  dojo.require("dojo.widget.TreeSelector");
>>  dojo.require("dojo.widget.Checkbox");
>>  dojo.require("dojo.widget.TabContainer");
>>  dojo.require("dojo.widget.ResizeHandle");
>>  dojo.require("dojo.widget.SortableTable");
>>  dojo.registerModulePath("../ctec", "ctec");
>>  dojo.require("ctec.*");
>>  dojo.require("ctec.Controler");
>>
>>        dojo.addOnLoad(function(){
>>                 new lt.Controler();
>>
>>        dojo.hostenv.writeIncludes();
>>  </script>
>>
>>
>>        <style type="text/css">
>>                /***
>>                        The following is just an example of how to use the 
>> table.
>>                        You can override any class names to be used if you 
>> wish.
>>                ***/
>>
>>                table {
>>                        font-family:Lucida Grande, Verdana;
>>                        font-size:0.8em;
>>                        width:100%;
>>                        border:1px solid #ccc;
>>                        cursor:default;
>>                }
>>
>>                * html div.tableContainer {     /* IE only hack */
>>                        width:95%;
>>                        border:1px solid #ccc;
>>                        height: 285px;
>>                        overflow-x:hidden;
>>                        overflow-y: auto;
>>                }
>>
>>                table td,
>>                table th{
>>                        border-right:1px solid #999;
>>                        padding:2px;
>>                        font-weight:normal;
>>                }
>>                table thead td, table thead th {
>>                        background:#94BEFF;
>>                }
>>
>>                * html div.tableContainer table thead tr td,
>>                * html div.tableContainer table thead tr th{
>>                        /* IE Only hacks */
>>                        position:relative;
>>
>> top:expression(dojo.html.getFirstAncestorByTag(this,'table').parentNode.scrollTop-2);
>>                }
>>
>>                html>body tbody.scrollContent {
>>                        height: 262px;
>>                        overflow-x:hidden;
>>                        overflow-y: auto;
>>                }
>>
>>                tbody.scrollContent td, tbody.scrollContent tr td {
>>                        background: #FFF;
>>                        padding: 2px;
>>                }
>>
>>                tbody.scrollContent tr.alternateRow td {
>>                        background: #e3edfa;
>>                        padding: 2px;
>>                }
>>
>>                tbody.scrollContent tr.selected td {
>>                        background: yellow;
>>                        padding: 2px;
>>                }
>>                tbody.scrollContent tr:hover td {
>>                        background: #a6c2e7;
>>                        padding: 2px;
>>                }
>>                tbody.scrollContent tr.selected:hover td {
>>                        background: #ff3;
>>                        padding: 2px;
>>                }
>>
>>        body { font-family : sans-serif; }
>>        .dojoDialog {
>>                background : #eee;
>>                border : 1px solid #999;
>>                -moz-border-radius : 5px;
>>                padding : 4px;
>>        }
>>
>>        form {
>>                margin-bottom : 0;
>>        }
>>
>>        /* group multiple buttons in a row */
>>        .box {
>>                display: block;
>>                text-align: center;
>>        }
>>        .box .dojoButton {
>>                float: left;
>>                margin-right: 10px;
>>        }
>>        .dojoButton .dojoButtonContents {
>>                font-size: medium;
>>        }
>>
>>
>>        body { font-family : sans-serif; }
>>        .dojoDialog {
>>                background : #eee;
>>                border : 1px solid #999;
>>                -moz-border-radius : 5px;
>>                padding : 4px;
>>        }
>>
>>        form {
>>                margin-bottom : 0;
>>        }
>>
>>        /* group multiple buttons in a row */
>>        .box {
>>                display: block;
>>                text-align: center;
>>        }
>>        .box .dojoButton {
>>                float: left;
>>                margin-right: 10px;
>>        }
>>        .dojoButton .dojoButtonContents {
>>                font-size: medium;
>>        }
>>
>>  .dc {
>>    font-size: large;
>>    padding-top: 5px;
>>    padding-bottom: 5px;
>>    buttonsize: 100px;
>>    width:  100px;
>>    height: 20px;
>>  }
>>
>> </style>
>>
>> <style>
>> html, body {
>>        height: 100%;
>>        width: 100%;
>>        overflow: hidden;
>> }
>> #main {
>>        height: 90%;
>>        width: 90%;
>>        left: 1%;
>>        top: 1%;
>>        position: relative;
>> }
>>
>> </style>
>>
>> <script type="text/javascript">
>> var dlg1,dlg0;
>> function init(e) {
>>  dlg0 = dojo.widget.byId("login");
>>  var btn1 = document.getElementById("hider0");
>>  dlg0.setCloseControl(btn1);
>>  dlg1 = dojo.widget.byId("umsatz");
>>  var btn2 = document.getElementById("hider1");
>>  dlg1.setCloseControl(btn2);
>> }
>> dojo.addOnLoad(init);
>>
>> </script>
>>
>>
>>
>>
>>        <div dojoType="FloatingPane"
>>    id="login"
>>    title="Login"
>>    iconSrc="imges/monitor.gif"
>>  constrainToContainer="true"
>>        hasShadow="true"
>>        resizable="true"
>>        displayMinimizeAction="true"
>>        displayMaximizeAction="true"
>>  contentWrapper="none"
>>
>>                toggle="explode"
>>    style="width: 300px; position: absolute; height: 170px; left: 150px; 
>> top: 150px; display: none" >
>>
>>  <form name="login" >
>>                <table>
>>                        <tr>
>>        <td>User ID:</td>
>>        <td><input type="text" name="UID"></td>
>>                        </tr>
>>                        <tr>
>>        <td>Passwort:</td>
>>        <td><input type="text" name="PWD"></td>
>>                        </tr>
>>                        <tr>
>>                                <td colspan="2" align="center">
>>          <input type="submit" id="hider0" value="OK"></td>
>>
>>                        </tr>
>>                </table>
>>        </form>
>>
>>  </div>
>>
>>
>>
>>        <div dojoType="FloatingPane"
>>    id="umsatz"
>>    title="Login"
>>    iconSrc="images/monitor.gif"
>>  constrainToContainer="true"
>>        hasShadow="true"
>>        resizable="true"
>>        displayMinimizeAction="true"
>>        displayMaximizeAction="true"
>>  contentWrapper="none"
>>
>>                toggle="explode"
>>    style="width: 600px; position: absolute; height: 400px; left: 150px; 
>> top: 150px; display: none" >
>>
>>  <form name="login2" >
>>                <table>
>>                        <tr>
>>        <td>User ID:</td>
>>        <td><input type="text" name="UID"></td>
>>                        </tr>
>>                        <tr>
>>        <td>Passwort:</td>
>>        <td><input type="text" name="PWD"></td>
>>                        </tr>
>>                        <tr>
>>                                <td colspan="2" align="center">
>>          <input type="submit" id="hider0" value="OK"></td>
>>
>>                        </tr>
>>                </table>
>>        </form>
>>
>>  </div>
>>
>>
>>
>> </HEAD>
>>
>>
>>
>> <body>
>> <div dojoType="LayoutContainer" layoutChildPriority='none' style="border: 
>> 0px solid black; padding: 1px;" id="main" executeScripts="true">
>>
>>  <div dojoType="ContentPane" layoutAlign="left" style="background-color: 
>> #eeeeee; width: 128px; margin: 5px;" executeScripts="true">
>>
>>      <div class="box">
>>        <button dojoType="button" onclick="dlg0.show()">       <div 
>> class="dc">Login</div></button>
>>        <button dojoType="button" 
>> onclick='open("/dojosamples/editor.html",null,"height=800,width=1000,status=yes,toolbar=no,menubar=no,location=no");'> 
>> <div class="dc">Editor</div></button>
>>        <button dojoType="button" onclick="action_test()">   <div 
>> class="dc">Fenster 2</div></button>
>>        <button dojoType="button" onclick="action_inhalt()">   <div 
>> class="dc">Inhalt</div></button>
>>        <button dojoType="button" onclick="action_inhalt2()">   <div 
>> class="dc">ext.Inhalt</div></button>
>>      </div>
>>      <br clear=both>
>>
>>        </div>
>>
>>  <div dojoType="ContentPane" layoutAlign="top" style="background-color: 
>> #eeeeee; height: 40px; margin: 5px;" executeScripts="true">
>>    {cTMessage}
>>        </div>
>>
>>
>>  <div dojoType="ContentPane" layoutAlign="bottom" 
>> style="background-color: #eeeeee; height: 20px; margin: 5px;" 
>> executeScripts="true">
>>    {cTMessage}
>>        </div>
>>
>>  <div dojoType="ContentPane" id="mainframe"  layoutAlign="client" 
>> style="background-color: #eeeeee; padding: 10px; margin: 5px;" 
>> executeScripts="true">
>>  <div id="inhalt">
>>    {cKundeninfo}<br>
>>    {cHTML}
>>
>>  </div>
>>
>>
>>        </div>
>>
>> </div>
>> </body>
>> </HTML>
>>
>>
>> <script type="text/javascript">
>> function action_test()
>> {
>> dlg1 = dojo.widget.byId("umsatz");
>> dlg1.show();
>> }                     <!--  Activate cloak
>> </SCRIPT>
>>
>>
>>
>> <script type="text/javascript">
>> function action_inhalt(){
>>  dojo.io.bind({
>>    url:     '../rep/export.html',
>>    handler: function(type,data,evt)
>>      {
>>      if (type == 'error'){ alert('Fehler beim einlesen des Frames!')}
>>      else{
>>        dojo.byId('mainframe').innerHTML = data}
>>      }
>>              });
>> }
>> </SCRIPT>
>>
>>
>> <script type="text/javascript">
>> function action_inhalt2(){
>>  dojo.io.bind({
>>    url:     'http://localhost:81?TESTINHALT',
>>    handler: function(type,data,evt)
>>      {
>>      if (type == 'error'){
>>            alert('Fehler beim einlesen des MainFrames!')
>>      }else{
>>             dojo.byId('mainframe').innerHTML = data}
>>      }
>>      });
>> }
>> </SCRIPT>
>>
>>
>>
>
>
Jeremy SuiterRe: Ajax
on Mon, 03 Mar 2008 14:25:52 +0000
If anyone is interested I have a little demo program that shows Ajax working 
using WAA.

At the moment it just shows how to update 2 drop down listboxes and a 
reference field on the fly as that's what I mostly use Ajax for.

It's a 6MB zip file if anyone wants it so email me and I'll send it to you.

Jeremy

"Reinthaler Rudolf" <office@c-tec.at> wrote in message 
news:3dc67f9$6a2f864c$676@news.alaska-software.com...
> Hello Giuseppe,
> thank's, your way looks also very interesting.
> regards
> Rudolf
>
> "Giuseppe Correnti" <airsoft1@tin.it> schrieb im Newsbeitrag 
> news:6f3028cf$1f7f619d$673@news.alaska-software.com...
>> Hi Rudolf,
>> I know dojo, and I have made some web's sites with it, but it is not 
>> necessary for Ajax, you use a dojo's function like mine.
>> Look this  javascripts, it works without Dojo or with dojo, with simple 
>> HTML's page or Flash or  webbuilders, etc.
>> I think that it works also with others severs,not only with xb2net, that 
>> answer to a post request.
>> <script type="text/javascript">
>> function OpenAjax(richiesta)
>> {
>>     if (window.XMLHttpRequest)
>>     {
>>          req = new XMLHttpRequest();
>>          if (req.overrideMimeType)
>>          {
>>              req.overrideMimeType('text/xml');
>>          }
>>     }
>>     else
>>     {
>>          req = new ActiveXObject("Msxml2.XMLHTTP");
>>     }
>>     req .open("POST", richiesta,false)
>>     req.send(null)
>>     if(req.status!=200)
>>     {
>>          alert('server busy')
>>          return null
>>     }
>>     else
>>     {
>>           manipulate this line to make modification into your html's 
>> pages
>>          return req.responseText  the server's response
>>                                               if pwd ok = 'connected' 
>> else 'disconnected'
>>                                               and if you use sessions 
>> the server set
>>                                              
>> oclient:setcargo('connected',.t.) or false
>>                                              you can 
>> eval(req.responseText) to send a complex response
>>                                             like "alert('bad 
>> password');return 'disconnected')"
>>                                            or array to evaluate to 
>> change childs into select type, or change the status of buttos
>>                                          and more .........
>>     }
>> }
>> </script>
>> //in the html Login Button  put
>> onclick="form1.status.value=OpenAjax('/?testpassword&pwd='+form1.pwd.value)"
>> this all!!!
>>
>>
>> "Reinthaler Rudolf" <office@c-tec.at> ha scritto nel messaggio 
>> news:44544e60$64af468a$162@news.alaska-software.com...
>>> Hello Giuseppe,
>>> look at the function action_inhalt2() at the bottom of my test programm, 
>>> this is  a sample how I dynamically load a content from a HTML page with 
>>> XB2NET and Dojo.
>>>
>>> regards
>>> Rudolf
>>>
>>>
>>> <HTML>
>>> <HEAD>
>>> <TITLE>{cTitel}</TITLE>
>>> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
>>> <script type="text/javascript">
>>>
>>>        var djConfig = {
>>>                debugAtAllCosts: true,
>>>                isDebug: true
>>>        };
>>>
>>> </script>
>>> <script type="text/javascript" src="dojo.js"></script>
>>> <script type="text/javascript">
>>>  dojo.require("dojo.io.*");
>>>  dojo.require("dojo.event.*");
>>>  dojo.require("dojo.widget.*");
>>>  dojo.require("dojo.widget.Dialog");
>>>  dojo.require("dojo.widget.TaskBar");
>>>  dojo.require("dojo.widget.Button");
>>>  dojo.require("dojo.widget.Rounded");
>>>  dojo.require("dojo.widget.FloatingPane");
>>>  dojo.require("dojo.widget.ContentPane");
>>>  dojo.require("dojo.widget.LayoutContainer");
>>>  dojo.require("dojo.widget.HtmlWidget");
>>>  dojo.require("dojo.widget.html.ComboBox");
>>>  dojo.require("dojo.widget.SplitContainer");
>>>  dojo.require("dojo.widget.DatePicker");
>>>  dojo.require("dojo.widget.Tree");
>>>  dojo.require("dojo.widget.TreeSelector");
>>>  dojo.require("dojo.widget.Checkbox");
>>>  dojo.require("dojo.widget.TabContainer");
>>>  dojo.require("dojo.widget.ResizeHandle");
>>>  dojo.require("dojo.widget.SortableTable");
>>>  dojo.registerModulePath("../ctec", "ctec");
>>>  dojo.require("ctec.*");
>>>  dojo.require("ctec.Controler");
>>>
>>>        dojo.addOnLoad(function(){
>>>                 new lt.Controler();
>>>
>>>        dojo.hostenv.writeIncludes();
>>>  </script>
>>>
>>>
>>>        <style type="text/css">
>>>                /***
>>>                        The following is just an example of how to use 
>>> the table.
>>>                        You can override any class names to be used if 
>>> you wish.
>>>                ***/
>>>
>>>                table {
>>>                        font-family:Lucida Grande, Verdana;
>>>                        font-size:0.8em;
>>>                        width:100%;
>>>                        border:1px solid #ccc;
>>>                        cursor:default;
>>>                }
>>>
>>>                * html div.tableContainer {     /* IE only hack */
>>>                        width:95%;
>>>                        border:1px solid #ccc;
>>>                        height: 285px;
>>>                        overflow-x:hidden;
>>>                        overflow-y: auto;
>>>                }
>>>
>>>                table td,
>>>                table th{
>>>                        border-right:1px solid #999;
>>>                        padding:2px;
>>>                        font-weight:normal;
>>>                }
>>>                table thead td, table thead th {
>>>                        background:#94BEFF;
>>>                }
>>>
>>>                * html div.tableContainer table thead tr td,
>>>                * html div.tableContainer table thead tr th{
>>>                        /* IE Only hacks */
>>>                        position:relative;
>>>
>>> top:expression(dojo.html.getFirstAncestorByTag(this,'table').parentNode.scrollTop-2);
>>>                }
>>>
>>>                html>body tbody.scrollContent {
>>>                        height: 262px;
>>>                        overflow-x:hidden;
>>>                        overflow-y: auto;
>>>                }
>>>
>>>                tbody.scrollContent td, tbody.scrollContent tr td {
>>>                        background: #FFF;
>>>                        padding: 2px;
>>>                }
>>>
>>>                tbody.scrollContent tr.alternateRow td {
>>>                        background: #e3edfa;
>>>                        padding: 2px;
>>>                }
>>>
>>>                tbody.scrollContent tr.selected td {
>>>                        background: yellow;
>>>                        padding: 2px;
>>>                }
>>>                tbody.scrollContent tr:hover td {
>>>                        background: #a6c2e7;
>>>                        padding: 2px;
>>>                }
>>>                tbody.scrollContent tr.selected:hover td {
>>>                        background: #ff3;
>>>                        padding: 2px;
>>>                }
>>>
>>>        body { font-family : sans-serif; }
>>>        .dojoDialog {
>>>                background : #eee;
>>>                border : 1px solid #999;
>>>                -moz-border-radius : 5px;
>>>                padding : 4px;
>>>        }
>>>
>>>        form {
>>>                margin-bottom : 0;
>>>        }
>>>
>>>        /* group multiple buttons in a row */
>>>        .box {
>>>                display: block;
>>>                text-align: center;
>>>        }
>>>        .box .dojoButton {
>>>                float: left;
>>>                margin-right: 10px;
>>>        }
>>>        .dojoButton .dojoButtonContents {
>>>                font-size: medium;
>>>        }
>>>
>>>
>>>        body { font-family : sans-serif; }
>>>        .dojoDialog {
>>>                background : #eee;
>>>                border : 1px solid #999;
>>>                -moz-border-radius : 5px;
>>>                padding : 4px;
>>>        }
>>>
>>>        form {
>>>                margin-bottom : 0;
>>>        }
>>>
>>>        /* group multiple buttons in a row */
>>>        .box {
>>>                display: block;
>>>                text-align: center;
>>>        }
>>>        .box .dojoButton {
>>>                float: left;
>>>                margin-right: 10px;
>>>        }
>>>        .dojoButton .dojoButtonContents {
>>>                font-size: medium;
>>>        }
>>>
>>>  .dc {
>>>    font-size: large;
>>>    padding-top: 5px;
>>>    padding-bottom: 5px;
>>>    buttonsize: 100px;
>>>    width:  100px;
>>>    height: 20px;
>>>  }
>>>
>>> </style>
>>>
>>> <style>
>>> html, body {
>>>        height: 100%;
>>>        width: 100%;
>>>        overflow: hidden;
>>> }
>>> #main {
>>>        height: 90%;
>>>        width: 90%;
>>>        left: 1%;
>>>        top: 1%;
>>>        position: relative;
>>> }
>>>
>>> </style>
>>>
>>> <script type="text/javascript">
>>> var dlg1,dlg0;
>>> function init(e) {
>>>  dlg0 = dojo.widget.byId("login");
>>>  var btn1 = document.getElementById("hider0");
>>>  dlg0.setCloseControl(btn1);
>>>  dlg1 = dojo.widget.byId("umsatz");
>>>  var btn2 = document.getElementById("hider1");
>>>  dlg1.setCloseControl(btn2);
>>> }
>>> dojo.addOnLoad(init);
>>>
>>> </script>
>>>
>>>
>>>
>>>
>>>        <div dojoType="FloatingPane"
>>>    id="login"
>>>    title="Login"
>>>    iconSrc="imges/monitor.gif"
>>>  constrainToContainer="true"
>>>        hasShadow="true"
>>>        resizable="true"
>>>        displayMinimizeAction="true"
>>>        displayMaximizeAction="true"
>>>  contentWrapper="none"
>>>
>>>                toggle="explode"
>>>    style="width: 300px; position: absolute; height: 170px; left: 150px; 
>>> top: 150px; display: none" >
>>>
>>>  <form name="login" >
>>>                <table>
>>>                        <tr>
>>>        <td>User ID:</td>
>>>        <td><input type="text" name="UID"></td>
>>>                        </tr>
>>>                        <tr>
>>>        <td>Passwort:</td>
>>>        <td><input type="text" name="PWD"></td>
>>>                        </tr>
>>>                        <tr>
>>>                                <td colspan="2" align="center">
>>>          <input type="submit" id="hider0" value="OK"></td>
>>>
>>>                        </tr>
>>>                </table>
>>>        </form>
>>>
>>>  </div>
>>>
>>>
>>>
>>>        <div dojoType="FloatingPane"
>>>    id="umsatz"
>>>    title="Login"
>>>    iconSrc="images/monitor.gif"
>>>  constrainToContainer="true"
>>>        hasShadow="true"
>>>        resizable="true"
>>>        displayMinimizeAction="true"
>>>        displayMaximizeAction="true"
>>>  contentWrapper="none"
>>>
>>>                toggle="explode"
>>>    style="width: 600px; position: absolute; height: 400px; left: 150px; 
>>> top: 150px; display: none" >
>>>
>>>  <form name="login2" >
>>>                <table>
>>>                        <tr>
>>>        <td>User ID:</td>
>>>        <td><input type="text" name="UID"></td>
>>>                        </tr>
>>>                        <tr>
>>>        <td>Passwort:</td>
>>>        <td><input type="text" name="PWD"></td>
>>>                        </tr>
>>>                        <tr>
>>>                                <td colspan="2" align="center">
>>>          <input type="submit" id="hider0" value="OK"></td>
>>>
>>>                        </tr>
>>>                </table>
>>>        </form>
>>>
>>>  </div>
>>>
>>>
>>>
>>> </HEAD>
>>>
>>>
>>>
>>> <body>
>>> <div dojoType="LayoutContainer" layoutChildPriority='none' 
>>> style="border: 0px solid black; padding: 1px;" id="main" 
>>> executeScripts="true">
>>>
>>>  <div dojoType="ContentPane" layoutAlign="left" style="background-color: 
>>> #eeeeee; width: 128px; margin: 5px;" executeScripts="true">
>>>
>>>      <div class="box">
>>>        <button dojoType="button" onclick="dlg0.show()">       <div 
>>> class="dc">Login</div></button>
>>>        <button dojoType="button" 
>>> onclick='open("/dojosamples/editor.html",null,"height=800,width=1000,status=yes,toolbar=no,menubar=no,location=no");'> 
>>> <div class="dc">Editor</div></button>
>>>        <button dojoType="button" onclick="action_test()">   <div 
>>> class="dc">Fenster 2</div></button>
>>>        <button dojoType="button" onclick="action_inhalt()">   <div 
>>> class="dc">Inhalt</div></button>
>>>        <button dojoType="button" onclick="action_inhalt2()">   <div 
>>> class="dc">ext.Inhalt</div></button>
>>>      </div>
>>>      <br clear=both>
>>>
>>>        </div>
>>>
>>>  <div dojoType="ContentPane" layoutAlign="top" style="background-color: 
>>> #eeeeee; height: 40px; margin: 5px;" executeScripts="true">
>>>    {cTMessage}
>>>        </div>
>>>
>>>
>>>  <div dojoType="ContentPane" layoutAlign="bottom" 
>>> style="background-color: #eeeeee; height: 20px; margin: 5px;" 
>>> executeScripts="true">
>>>    {cTMessage}
>>>        </div>
>>>
>>>  <div dojoType="ContentPane" id="mainframe"  layoutAlign="client" 
>>> style="background-color: #eeeeee; padding: 10px; margin: 5px;" 
>>> executeScripts="true">
>>>  <div id="inhalt">
>>>    {cKundeninfo}<br>
>>>    {cHTML}
>>>
>>>  </div>
>>>
>>>
>>>        </div>
>>>
>>> </div>
>>> </body>
>>> </HTML>
>>>
>>>
>>> <script type="text/javascript">
>>> function action_test()
>>> {
>>> dlg1 = dojo.widget.byId("umsatz");
>>> dlg1.show();
>>> }                     <!--  Activate cloak
>>> </SCRIPT>
>>>
>>>
>>>
>>> <script type="text/javascript">
>>> function action_inhalt(){
>>>  dojo.io.bind({
>>>    url:     '../rep/export.html',
>>>    handler: function(type,data,evt)
>>>      {
>>>      if (type == 'error'){ alert('Fehler beim einlesen des Frames!')}
>>>      else{
>>>        dojo.byId('mainframe').innerHTML = data}
>>>      }
>>>              });
>>> }
>>> </SCRIPT>
>>>
>>>
>>> <script type="text/javascript">
>>> function action_inhalt2(){
>>>  dojo.io.bind({
>>>    url:     'http://localhost:81?TESTINHALT',
>>>    handler: function(type,data,evt)
>>>      {
>>>      if (type == 'error'){
>>>            alert('Fehler beim einlesen des MainFrames!')
>>>      }else{
>>>             dojo.byId('mainframe').innerHTML = data}
>>>      }
>>>      });
>>> }
>>> </SCRIPT>
>>>
>>>
>>>
>>
>>
>
>