function createRequestObject()
{
    try
    {
	xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
        new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
	alert('It doesn\'t appear your browser supports XMLHttpRequest.');
    }
    return xmlhttp;
}

function ajax (url, frame)
{

    var vars=null;
    var typ="GET";
    var resulttyp="";

    var loadfunc;
    var hasloadfunc=0;

    var myajax = createRequestObject();
    
    // a Caching-Bug... No IE => less code
    if(url.search(/\?/)!=-1)
    {
	url = url + "&dummy=" + new Date().getTime();
    }
    else
    {
	url = url + "?dummy=" + new Date().getTime();
    }
    
    if(ajax.arguments.length>2)
    {
	resulttyp = ajax.arguments[2];
    }

    if(ajax.arguments.length>3)
    {
	loadfunc = ajax.arguments[3];
	hasloadfunc=1;
    }

    if(ajax.arguments.length==5)
    {
	typ = "POST";
	vars = ajax.arguments[4];
    }

    try
    {
	myajax.open ( typ, url, true );
	
        myajax.onreadystatechange = function()
	{
    	    if(myajax.readyState == 1)
    	    {
    	    }
    	    if(myajax.readyState == 4)
    	    {
		var response = myajax.responseText;
		var responseXML = myajax.responseXML;
		if(resulttyp=="div")
		{
		    document.getElementById(frame).innerHTML = response;
		}
		else if(resulttyp=="alert")
		{
		    alert(response);
		}
		else if(resulttyp=="select")
		{
		    var zeilen = response.split(";");
		    var index = 0;
		    var sindex = document.getElementById(frame).selectedIndex;
		    for(i = 0; i < zeilen.length - 1; i++)
		    {
			var teile = zeilen[i].split("|");
			if(teile.length == 2)
			{
			    document.getElementById(frame).options[index] = new Option(TrimString(teile[0]), TrimString(teile[1]), false, true);
			    index++;
			}
		    }
		    
		    if(document.getElementById(frame).length > index)
		    {
			document.getElementById(frame).length = index;
		    }
		    
		    if(sindex != -1 && (sindex + 1) > document.getElementById(frame).length)
	    		document.getElementById(frame).selectedIndex = -1;
		    else if(sindex != -1)
			document.getElementById(frame).selectedIndex = sindex;
		}
		else if(resulttyp=="textarea")
		{
		    response = TrimString(response);
		    if(response.length > 0) 
		    {
			document.getElementById(frame).value = document.getElementById(frame).value + "\n" + response;
		    }
		}
		
		if(hasloadfunc==1)
		{
		    try
		    {
			loadfunc(responseXML, response);
		    }
		    catch(err)
		    {
			alert(err);
		    }
		}
    	    }
	}
	
	if(ajax.arguments.length==5)
	{
    	    myajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	    myajax.setRequestHeader('Content-length',vars.length);
	}
	
	myajax.send(vars);
    }
    catch (e)
    {
	
    }
}

function loadViewer(id)
{
    switch (id)
    {
	case '1':
	    ajax('ws.php','viewerdiv','div');
	    break;
	case '2':
	    ajax('vs.php','viewerdiv','div');
	    break;
	case '3':
	    ajax('zkm.php','viewerdiv','div');
	    break;
	case '4':
	    ajax('wm.php','viewerdiv','div');
	    break;
	case '5':
	    ajax('domain.php','viewerdiv','div');
	    break;
	case '6':
	    ajax('ftp.php','viewerdiv','div');
	    break;

    }
}