//(c)2008 ing.-buero bechler d-halle  www.ebechler.de  SimpleAjaxSystem  all rights reserved//

var tALOAD=function () {
  var MyTags=new Array('p', 'div', 'span', 'ul');
  var MyName='al';
  var CgiURL='al.php'; //
  var ReqType='POST';
  var PraeLen=55; //s. 50/a/al.php-rsp.
  var PostLen=14;
  var ElemCnt=0;
  var RcvCnt=0;
  var CgiPrm=new Array();
  CgiPrm[0]='uri';
  CgiPrm[1]='id';

  function a_call (_url, _url_args) { //request
    var _data=null; var _ao=null; var _i=0;
    if (ReqType=='GET') {
      for (_i=0; _i<_url_args.length-1; _i++)
        _url=_url+(_i==0?'&':'')+escape(_url_args[_i]);
      _data=null; }
    else {
      _data='';
      for (_i=0; _i<_url_args.length-1; _i++)
        _data=_data+(_data>''?'&':'')+_url_args[_i]; }
    try { //0 not init., 1 loading, 2 loaded, 3 interactive, 4 compl.
      _ao=createAjaxHandle();
      _ao.open(ReqType, _url, true);
      _ao.setRequestHeader('Method', ReqType+' '+_url+' HTTP/1.1');
      _ao.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      //_ao.setRequestHeader('Cache-Control', 'no-cache');
      _ao.onreadystatechange=
        function () {
          try {
            if (_ao&&(_ao.readyState==4)) //ready
              if (_ao.status&&(_ao.status==200)) { //url avail.
                _url_args[_url_args.length-1](_ao); }}
          catch(_e) {}}
      _ao.send(_data); //cgi
      delete _ao;
      return 1; }
    catch(_e) { testout(_e+':'+_url); }}

  function a_resp (_a) { //resp./i
    if (_a) {
      var _t=_a.responseText;
      //_a=_a.responseXML;_a=_a.getElementsByTagName("jpeg");_a=_a.item(0);_a=_a.firstChild.data;
      if (_t.length>PraeLen+PostLen) {
        var _tt=''; var _ttt=''; var _id=''; var _data=''; var _tag=''; var _tmp=null;
        _t=_t.substr(PraeLen, _t.length-PraeLen-PostLen);
        _tag='data'; _tt=_t.split('<'+_tag+'>'); if (_tt.length-1) { _ttt=_tt[1].split('</'+_tag+'>');
        _data=_ttt[0]; } _t=_tt[0]; //without data
        if (_data)
          _data=_data.substr(9, _data.length-9-3); //cdata
        if (_id=extrct(_t, 'id'))
          if (_tmp=document.getElementById(MyName+_id)) {
            _tmp.innerHTML=_data;
            RcvCnt++;
            alok=(RcvCnt>=ElemCnt); }}}}

  function p_call () { //wrap call
    return a_call(CgiURL, p_call.arguments); }

  function getSrc (_id, _pageID) {
    if (_id&&(typeof(window['ALS'])!='undefined')) //hier aus als.js
      if (ALS[_pageID+'_'+_id])
        return ALS[_pageID+'_'+_id];
      else
/*
      if (ALS[_pageID+'_'+_id]!='undefined')
        return '';
      else
*/
        return ALS['default'+'_'+_id]; }
  
  function load (_uri, _id) {
    if (_uri&&_id) {
      p_call(CgiPrm[0]+'='+_uri, CgiPrm[1]+'='+_id, a_resp);
      ElemCnt++; }}

  this.scan=function (_pageID) {
    var _A=new Array(); var _ID=''; var _I=0; var _T=0;
    if (!_pageID) _pageID='';
    alok=false;
    ElemCnt=0;
    RcvCnt=0;
    while (_T<MyTags.length) {
      _A=document.getElementsByTagName(MyTags[_T]); _I=0;
      while (_I<_A.length) {
        if (_A[_I].getAttribute('id')&&(_A[_I].getAttribute('id').substr(0, MyName.length)==MyName)) {
          _ID=_A[_I].getAttribute('id').substr(MyName.length);
          if (_ID) {
            if (_A[_I].getAttribute('src'))
              load(_A[_I].getAttribute('src'), _ID);
            else
              load(getSrc(_ID, _pageID), _ID); }
          else
            if (_A[_I].getAttribute('src')) {
              _A[_I].setAttribute('id', MyName+'_id'+(_I+1));
              load(_A[_I].getAttribute('src'), MyName+'_id'+(_I+1)); }}
        _I++; }
      _T++ }}
} //taload

var alok=false;
var ALS=new Array();

function scan () { //load all
  var aload=new tALOAD();
  aload.scan(arguments[0]); }

