function getXMLDocument(url) {
    
    var versionDoc="Msxml2.XMLHTTP.2.0";
	var versionList = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp.2.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
	for (i=0;i<versionList.length;i++) {
		try {
			var objXMLHttpRequest = new ActiveXObject(versionList[i]);
			versionDoc=versionList[i];
		} catch (e) {
			//nop
		} 
	}
    var req;
    
	if (window.ActiveXObject) {	
		// branch for IE/Windows ActiveX version
		try {
		 var xDom = new ActiveXObject("msxml2.FreeThreadedDOMDocument");
		 xDom.async = false;
		 xDom.load(url);
		 return xDom;
		}
		catch(e) {			
			try {
				req = new ActiveXObject(versionDoc);
	
				if(versionDoc=="Microsoft.XMLHttp"){
					req=new ActiveXObject("Microsoft.XMLDOM");
					req.async = false;
			 		req.load(url);
					return req;
				}
			} 
			catch(e) {
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
					req.overrideMimeType("text/xml");
				} catch(e) {
					req = false;
				}
			}
		}
		if (req) {
    			req.open("GET", url, false);
        		req.send();
    }
 	}//end if window.ActiveXObject
 	else if (window.XMLHttpRequest) {
      	req = new XMLHttpRequest();
        req.open("GET", url, false);
    	req.overrideMimeType("text/xml");
        req.send(null);
	} 
  
  if (req) {
  	return req.responseXML;
  }
  return null;
}

/*macht aus dem QueryString ein array*/
function Werteliste(querystring) {
  if(querystring == '') return;
  var wertestring = unescape(querystring);
  wertestring = wertestring.slice(1);
  var paare = wertestring.split("&");
  for (var i=0; i < paare.length; i++) {
    var name = paare[i].substring(0, paare[i].indexOf("="));
    var wert = paare[i].substring(paare[i].indexOf("=")+1, paare[i].length);
    this[name] = wert;
  }
}


function getContent(){
    //usernamen reinrechnen
    var url= BASEURL+"username?ReadForm" ;
    getHTMLContentIntoNode(url, "dispUsername", false, 'GET');

    var liste = new Werteliste(window.location.search);
    
    if (liste["menutitle"] && liste["pageId"]){
        openPage(liste["pageId"], liste["menutitle"]);
    }
    else if (liste["menutitle"] && liste["contenturl"]){
        var url= liste["contenturl"];
        if (liste["resp"]){
           url= url+"&resp="+liste["resp"]; 
        }
        if (liste["error"]){
           url= url+"&error="+liste["error"]; 
        }
        if (liste["query"]){
           url= url+"&query="+liste["query"]; 
        }
        if (liste["purchase"]){
           url= url+"&purchase="+liste["purchase"]; 
        }
        if (liste["LINKDOCID"]){
           url= url+"&LINKDOCID="+liste["LINKDOCID"]; 
        }  
        if (liste["typ"]){
           url= url+"&typ="+liste["typ"]; 
        }
        if (liste["lease"]){
           url= url+"&lease="+liste["lease"]; 
        }
        if (liste["insertion"]){
           url= url+"&insertion="+liste["insertion"]; 
        }
        
        openUrl(url, liste["menutitle"]);
    }
    else if (liste["pageId"]){
        selectPage(liste["pageId"]);
        if (liste["menuId"]) {
        		var menuId =  liste["menuId"];
        		if (menuId.indexOf('a_') == -1) {
        			menuId = 'a_' + menuId;
        		}
    				//menusetzen
    				handleClickedNode(document.getElementById(menuId));
    		}
    }
    else if (liste["menuId"]){
        var url= liste["contenturl"];
        if (liste["archive"]){
           url= url+"&archive="+liste["archive"]; 
        }
        if (liste["insertion"]){
           url= url+"&insertion="+liste["insertion"]; 
        }        
        if (liste["resp"]){
           url= url+"&resp="+decodeURI(liste["resp"]); 
           //alert(url);
        }
        if (liste["LINKDOCID"]){
           url= url+"&LINKDOCID="+liste["LINKDOCID"]; 
        }  
        if (liste["typ"]){
           url= url+"&typ="+liste["typ"]; 
        }
         if (liste["purchase"]){
           url= url+"&query="+liste["purchase"]; 
        }
         if (liste["purchase"]){
           url= url+"&purchase="+liste["purchase"]; 
        }
        if (liste["lease"]){
           url= url+"&lease="+liste["lease"]; 
        }
        selectUrl(liste["menuId"], url);
    }
    
    
}

/**
 * @param pageId
 * @param preview
 * @deprecated
 */
function getContentByPageId(pageId, preview){
    var ansicht= "ActivePagesID";
    if (preview == "true"){
        ansicht="PagesCopy";
    }
  //  alert(pageId.length);
    if(pageId.length==32)
    {
       pageId="ID_"+pageId;
    }
    
    var urlPage=BASEURL+ansicht+"/"+pageId+"?OpenDocument";
    getHTMLContent(urlPage);
}

function getHTMLContent(urlContent){
    var nodeId="page";
    getHTMLContentIntoNode(urlContent, nodeId, true, 'GET');
}

function getHTMLContentIntoNode(urlContent, nodeId, doNews, method) {
    http_request = false;
    
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');               
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
    http_request.open(method, urlContent, false);
    http_request.send(null);
    
    //Sonderfall fuer Aktuelles:
    //wenn "No documents found" im Response steht, dann nicht ausliefern
    if (http_request.responseText.indexOf("No documents found")!=-1){
        return;
    }
    
    
    if (window.ActiveXObject) {
	  var targetNode = document.getElementById(nodeId);
	  targetNode.innerHTML = "";
	  targetNode.innerHTML = http_request.responseText;
	  //targetNode.style.height=screen.height-455;
	}
	else if (window.XSLTProcessor) {	
	  document.getElementById(nodeId).innerHTML = "";
      document.getElementById(nodeId).innerHTML = http_request.responseText;
	  //document.getElementById(nodeId).style.height=screen.height-445;
	}
	if (doNews){
    	//aktuelles handeln
    	handleNews();
	}
	
	//Sonderfall fuer Immo-Suche
	//if (urlContent.indexOf("ImmoSearch?OpenAgent")!=-1){
	//    doImmoStuff();
	//}
}

function getHTMLContentByPost(url, parameters, nodeId) {
     http_request = false;
     
     if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
        	// set type accordingly to anticipated content type
           //http_request.overrideMimeType('text/xml');
           http_request.overrideMimeType('text/html');
        }
     } else if (window.ActiveXObject) { // IE
        try {
           http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
           try {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
        }
     }
     if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
     }
     
     http_request.open('POST', url, false);
     http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     http_request.setRequestHeader("Content-length", parameters.length);
     http_request.setRequestHeader("Connection", "close");
     http_request.send(parameters);
     
     // In Html-Node laden
     if (window.ActiveXObject) {
	  var targetNode = document.getElementById(nodeId);
	  targetNode.innerHTML = "";
	  targetNode.innerHTML = http_request.responseText;
	}
	else if (window.XSLTProcessor) {	
	  document.getElementById(nodeId).innerHTML = "";
      document.getElementById(nodeId).innerHTML = http_request.responseText;
	}
	
	//Sonderfall fuer Immo-Suche
	if (url.indexOf("ImmoSearch?OpenAgent")!=-1){
	    doImmoStuff();
	}
  }
  
function openAttachment(strID) {
	var url;
	url = BASEURL + '/UserWebActions?OpenAgent&action=openAttachment&docid='
			+ strID;

	var xmlReturn = getXMLDocument(url);
	var xmlResult = xmlReturn.getElementsByTagName('status')[0].firstChild.nodeValue;

	if (xmlResult != null && xmlResult == '1') {
		var attURL = xmlReturn.getElementsByTagName('value')[0].firstChild.nodeValue;
		 fenster = window.open(attURL, "Anhang", "width=400,height=300,resizable=yes");
		 fenster.focus();

	} else {
		alert(unescape('Beim L%F6schen ist ein Fehler aufgetreten.'));
	}
}


//fuegt den aktuelles block hinzu sofern vorhanden
function handleNews(){
    
    if (document.getElementById('aktuelles_list')){
        var news_category="";
        var news_count="";
        if (document.getElementById('news_category')){
            news_category= document.getElementById('news_category').value;
        }
        if (document.getElementById('news_count')){
            news_count= document.getElementById('news_count').value;
        }
        
        var url=BASEURL+"AktuellesHtml?OpenView&restricttocategory="+news_category+"&count="+news_count;
        getHTMLContentIntoNode(url, "aktuelles_list", false, 'GET');
        
    }    
}



function doLogin() {
	var inputFields = new Array("Username", "password", "RedirectTo");

	var postString = "";
	for ( var i = 0; i < inputFields.length; ++i) {
		if (i > 0)
			postString += "&";
		postString += inputFields[i] + "="
				+ encodeURI(document.getElementById(inputFields[i]).value);

	}
	
	getHTMLContentByPost(document._weblogin.action, postString, 'page');
	return false;
}

function checkLoginEnter(event, next) {
	var code = 0
	try {
		code = window.event.keyCode
	} catch (e) {
		code = event.which
	}
	if (code == 13) {

		if (next == null) {
			doLogin();
		} else {
			document.getElementById(next).focus();
		}
	}
}

function doLogout(redirect) {

	urlContent = "/names.nsf?logout&redirectTo=" + redirect;
	getHTMLContentIntoNode(urlContent, 'page', false, 'GET');
}