/*
function showit() {
	getter = new ajax('./ajax/test.php');
	getter.add('stink','tier');
	getter.add('chris','stefan');
	getter.go('topLayerShow');
}
*/

var xmlhttp=getXMLRequester();

/**
 * instantiates a new xmlhttprequest object
 *
 * @return xmlhttprequest object or false
 */
function getXMLRequester( )
{
    var xmlHttp = false;
            
    // try to create a new instance of the xmlhttprequest object        
    try
    {
        // Internet Explorer
        if( window.ActiveXObject )
        {
            for( var i = 5; i; i-- )
            {
                try
                {
                    // loading of a newer version of msxml dll (msxml3 - msxml5) failed
                    // use fallback solution
                    // old style msxml version independent, deprecated
                    if( i == 2 )
                    {
                        xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );    
                    }
                    // try to use the latest msxml dll
                    else
                    {
                        
                        xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
                    }
                    break;
                }
                catch( excNotLoadable )
                {                        
                    xmlHttp = false;
                }
            }
        }
        // Mozilla, Opera und Safari
        else if( window.XMLHttpRequest )
        {
            xmlHttp = new XMLHttpRequest();
        }
    }
    // loading of xmlhttp object failed
    catch( excNotLoadable )
    {
        xmlHttp = false;
    }
    return xmlHttp ;
}

/**
* John Resig Methode
http://ejohn.org/projects/flexible-javascript-events/
addEvent( obj, 'mouseover', function(){ alert('hello!'); } );
*/
function addEvent( obj, type, fn )
{ 
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

function removeEvent( obj, type, fn )
{
   if (obj.removeEventListener) {
      obj.removeEventListener( type, fn, false );
   } else if (obj.detachEvent) {
      obj.detachEvent( "on"+type, obj[type+fn] );
      obj[type+fn] = null;
      obj["e"+type+fn] = null;
   }
}


function ajax(datei) {
 
 this.datei = datei;
 this.postVariablen = Array();
 
 this.add = function(name,value) {
  this.postVariablen.push(Array(name,value));
 }
 
 this.go = function (call,responseObject) {
	xmlhttp.open("POST", this.datei, true);
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	this.postVariablen.push(Array('zufall',Math.random()*10000));
	
	var variablen = '' // 'ajax=\'true\'&';
	for(i=0;i<this.postVariablen.length;i++) {
	 variablen += this.postVariablen[i][0] + '=' + this.postVariablen[i][1] + '&'
	}
	variablen = variablen.substr(0,variablen.length-1);
	
	xmlhttp.send(variablen);
	
	xmlhttp.onreadystatechange=function() {
	   
	 if(xmlhttp.readyState==4) {
	   
	   if(call) {
	   
	    if(call.indexOf('(')>0) {
	     tmp = call;
	    } else {
	     tmp = call + '(xmlhttp.responseText);';
	    }
	    
	    eval(tmp); // Ausf�hren
	    
	   }
	   return true;
	 }
	 
	}
 }
}

function refreshBox( quelle, html ) {

 if(!html) {	 // Muss noch geladen werden
  gatter = new ajax('refreshBox.ajax');
  gatter.add('quelle',quelle);
  gatter.go('refreshBoxFill(\''+quelle+'\',xmlhttp.responseText);');
 } else {
  refreshBoxFill(quelle,html);
 }
 
}

function refreshBoxFill (quelle, html) {

// Boxen durchsuchen
 if(tmp = document.getElementsByClassName('box')) {
	for(var i=0; i<tmp.length ; i++)
	{ 
		if(tmp[i].getAttribute('quelle') == quelle){
			tmp[i].innerHTML = html;
		}
	}
 }
}

function ajaxMessage ( fileName ) {
 if(getter = new ajax(fileName+'.ajax')) {
	getter.add('script','ajaxMessage');
	getter.go('topLayerShow');
 } 
}