function goAnchor() 
{
	var div = document.getElementById('outlookform:treeAreaDiv2:treeAreaDiv2Div');
	var anchor = document.getElementById('selected_node');
	if(div != null && anchor != null)
		div.scrollTop = getPosTop(anchor) - getPosTop(div);
}

function alertSelectedAction(listElement)
{
	var selectedAction = listElement[listElement.selectedIndex].value;
	var selectedActionLabel = listElement[listElement.selectedIndex].text;
	listElement.selectedIndex = 0;
    alert("Die Funktion \"" + selectedActionLabel + "\" ist noch nicht implementiert");
}

function expandDivIFrame(divIdStart, divIdToExpand, iframeIdToExpand, elementIdToFade, alignToElementId, alignLeft)
{
	var start = document.getElementById(divIdStart);
	var divToExpand = document.getElementById(divIdToExpand);
	var alignToElement = document.getElementById(alignToElementId);

	if (start == null || divToExpand == null || alignToElement == null)
		return;
		
	var topPos = getPosTop(alignToElement);
	var leftPos = getPosLeft(alignToElement);
	
	if (alignLeft == false)
		leftPos = leftPos + aligntToElement.offsetWidth;
		
		
	var width = divToExpand.style.width;
	if (width == null)
		width = "0px";
		
	width = width.replace('px', '');
	
	divToExpand.style.top = topPos + "px";
	
	if (alignLeft == true)
	{
		if (leftPos - 100 < 1)
			divToExpand.style.left = "0px";
		else
			divToExpand.style.left = (leftPos - 50 - width) +"px";
	}
	else
	{
		divToExpand.style.left = (leftPos + 50 + width) +"px";
	}
		
	var frameToExpand = document.getElementById(iframeIdToExpand);
	if (frameToExpand == null)
		return;

	frameToExpand.style.top = divToExpand.style.top;
	frameToExpand.style.left = divToExpand.style.left;

	if(divToExpand.style.display=='none')
	{
		dojo.lfx.explode(start,iframeIdToExpand, 500).play();
		dojo.lfx.explode(start,divToExpand.id, 500).play();
		shiFadeElementOut(elementIdToFade);
	}
	else 
	{
		dojo.lfx.implode(divToExpand.id, start, 500).play();
		dojo.lfx.implode(iframeIdToExpand, start, 500).play();
		shiFadeElementIn(elementIdToFade);
	}
}

function doRDBAliasAnchorLink(isbn, alias, anchor) {
    
	var oTopWindow = getWebAppTop();
	if(oTopWindow == null)
		return;
    
    oTopWindow.document.SHIparamForm.isbn.value 	= isbn;
    oTopWindow.document.SHIparamForm.alias.value 	= alias;
    oTopWindow.document.SHIparamForm.anchor.value 	= anchor;
    oTopWindow.document.SHIparamForm.submit();
}

var openedFlyout = null;

function openFlyout(fromParent, id) {
	var currentFlyout = null;
	var theList = fromParent.parentNode;
	for(var i=0; i<theList.childNodes.length; i++){
		 // if (theList.childNodes[i].nodeName=='#text') continue;
		if (theList.childNodes[i] == fromParent) continue;
		if (!(theList.childNodes[i].id.indexOf(id) > 0)) continue;
		
		var rtop = getPosTop(fromParent);
		var rleft = getPosLeft(fromParent);
		
		if (theList.childNodes[i].style.visibility == 'visible') {
			theList.childNodes[i].style.visibility='hidden';
			openedFlyout = null;
			return;
		}
		
		if(openedFlyout != null) {
			openedFlyout.style.visibility='hidden';
			openedFlyout = null;
		}
		
		theList.childNodes[i].style.visibility = 'visible';
		theList.childNodes[i].style.left = (rleft - 380) + 'px';
		theList.childNodes[i].style.top = (rtop + 10) + 'px';
// with(theList.childNodes[i].style){
// display = 'block';
// left = (rleft - 380) + 'px';
// top = (rtop + 10) + 'px';
// }
		currentFlyout = theList.childNodes[i];
	}
	
	openedFlyout = currentFlyout;
}


function openFlyoutById(positionToId, fromParent, divIdToExpand) {
	
	var positionTo = null;
	if(positionToId!=null) {
		positionTo = document.getElementById(positionToId);
	} else {
		positionTo = fromParent;
	}
	
	var divToExpand = document.getElementById(divIdToExpand);
	if (divToExpand.style.visibility == 'visible') {
		divToExpand.style.visibility='hidden';
		openedFlyout = null;
		return;
	}
	
	if(openedFlyout != null){
		openedFlyout.style.visibility='hidden';
		openedFlyout = null;
	}
	
	var rtop = getPosTop(positionTo);
	var rleft = getPosLeft(positionTo);
	with(divToExpand.style){
// display = 'block';
		visibility = 'visible';
		left = (rleft - 380) + 'px';
		top = (rtop + 10) + 'px';
	}
		// theList.childNodes[i].style.display = 'block';
	openedFlyout = divToExpand;	
}

/**
 * funktion onLoad fuer iframe 
 * @return 
 */
function load_handler() {
 
	if (window.document.getElementById('documentwindow').src == '') return ;
	
    try{
	 var iframe_document =  window.frames.documentwindow.getDocument();
	 var onLoadAttribute=iframe_document.body.getAttribute('onload');
	 if (onLoadAttribute == null ) 
		 onLoadAttribute=iframe_document.body.getAttribute('onLoad');
	 if (onLoadAttribute!= null && onLoadAttribute.toString().indexOf("onDocLoad()") >0 ) {
			setsizes();
		 return;
	 }
	 }catch(e){
	 }
	 
	var documentw = document.getElementById("contentAreaWithMarginal");
	var progress = document.getElementById("progressBarId");
	if (documentw != null)
		documentw.style.display = "";
	if (progress != null)
		progress.style.display = "none";
	
	try {
		var iframe = document.getElementById("documentwindow");
		var anchor = getAnchor(iframe.contentWindow);
		if(anchor != null) {
			iframe.contentWindow.setTimeout("scrollToAnchor('" + anchor + "', null);", 1);
		}
	} catch(e) {
	}
		
	setsizes();
}

/**
 * Selectiert text in linkElement
 * LinkElement muss TextArea sein.
 * @param linkElement
 * @return false
 */
function selectLink(linkElement){
	linkElement.select();
	linkElement.focus(); 
}
 
 /*newslist tree js functions*/

 //empty newslist namespace
 this.newslisttreejs = {};

 newslisttreejs.newslistTreeScroll = function() {
 	var selectedNodeDisplay = document.getElementById('selected_newslistnode_display');
 	var selectedNode = document.getElementById('selected_newslistnode_outlook');
 	if(selectedNodeDisplay != null) {
 		selectedNodeDisplay.scrollIntoView();
 	}
 	if(selectedNode != null) {
 		selectedNode.scrollIntoView();
 	}
};

newslisttreejs.showallStaende = function(sAli, bHasDocs, bHasChildren, sBeanName, ajaxCommunicatorUrl, responseCharset){
	onnewslisttreeitemexpandclick(sAli, bHasDocs, bHasChildren, sBeanName, ajaxCommunicatorUrl, responseCharset, true);
	return false;
};


newslisttreejs.checkNodeForExport = function(sAli, bHasDocs, bHasChildren, sBeanName, ajaxCommunicatorUrl, responseCharset) {
	 var sContent = "object="+sBeanName+"&tree_ajax_alias="+sAli+"&ajaxcall=1"+"&action=checkforexport";
	 var s=";jsessionid="+sessionid;
	 var sUrl = getpath(getIndexUrlTreeAjax())+ajaxCommunicatorUrl+s+"?object="+sBeanName+"&tree_ajax_alias="+sAli+"&invalidatesession=false&ajaxcall=1&charset="+responseCharset+"&tmpstmp="+(new Date()).getMilliseconds()+"&action=checkforexport";
	 var myreq 	= getHTTPObject();
		
	    if (myreq == null)
	    {
	        dbg(iERR, "checkNodeForExport\n!myreq");
	        return false;
	    }
	    
	    myreq.onreadystatechange = function() {        	
           if(myreq == null)
           {
               dbg(iERR, "checkNodeForExport_response\n!myreq");
               return false;
           }
                      
           if (myreq.readyState    != 4)           //4 == "Complete" in ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
               return;
           if (!responseIsSuccess(myreq))
               return;
           var sAnswer = myreq.responseText;
           var newslistTreeDiv = document.getElementById('newsListTreeDisplay');
           if(newslistTreeDiv == null) {
        	   dbg(iERR, "checkNodeForExport_response_no_parent\n!myreq");
               return false;
           }
           newslistTreeDiv.innerHTML = sAnswer;
           document.body.style.cursor = 'auto';
           return false;
       };
       
	    myreq.open("GET", sUrl, true);
	    myreq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	    
	    try {
	        document.body.style.cursor 								= 'wait';
	        var o1 = getelement(sBeanName+"openlnk_"+sAli);
	        o1.style.cursor  = 'wait';
	        var o2 = getelement(sBeanName+"opencheckbox_"+sAli);
	        o2.style.cursor  = 'wait';
	        var o3 = getelement(sBeanName+"closecheckbox_"+sAli);
	        o3.style.cursor  = 'wait';
	        
		} catch (e) {
		}
	
       
	    
	    if (window.XMLHttpRequest)
	    {
	        myreq.send(sContent);
	    }
	    else if (window.ActiveXObject)  // branch for IE/Windows ActiveX version
	    {
	       myreq.send(sContent);
	    }
		return false;
};

newslisttreejs.gotoAnchorTxt = function(sAli, sBeanName, anchorarchive) {
	submitParamForm(new Array(sBeanName + "_alias", sAli, "invalidatesession" , "false", "beanname", sBeanName, "anchorarchive", anchorarchive));
	 return false
};


function onnewslisttreeitemcollapsclick(sAli, bHasDocs, bHasChildren, sBeanName, ajaxCommunicatorUrl, responseCharset)
{
    getelement(sBeanName+"openlnk_" +sAli).style.display= "";
    getelement(sBeanName+"closelnk_"+sAli).style.display= "none";
    getelement(sBeanName+"children_"+sAli).style.display= "none";
    if(g_isTreeNotifyServerToggleExpand)
    	notifyServerToggleExpand(sAli, sBeanName, ajaxCommunicatorUrl, responseCharset);
    return false;
}

function onnewslisttreeitemexpandclick(sAli, bHasDocs, bHasChildren, sBeanName, ajaxCommunicatorUrl, responseCharset, showAll)
{
	if(responseCharset == undefined || responseCharset == null)
		responseCharset = "";
	if(ajaxCommunicatorUrl == undefined || ajaxCommunicatorUrl == null || ajaxCommunicatorUrl == "")
		ajaxCommunicatorUrl = "/standard/jsp/shiajaxcommunicator.jsp";
	else if(ajaxCommunicatorUrl.length > 1 && (ajaxCommunicatorUrl.substr(0, 2) == "./"))
			ajaxCommunicatorUrl = ajaxCommunicatorUrl.substr(1);
			
	if(true)
    {
        var oDIV = getelement(sBeanName+"children_"+sAli);
        if(!oDIV)
        {
            dbg(iINF, "ontreeitemexpandclick1\n!oDIV\n"+sBeanName+"children_"+sAli);
            return false;
        }
        if(trim(oDIV.innerHTML) != "")
        {
        	if(!showAll || document.getElementById("showAll_" + sAli + "_showAll") != null) {
	            getelement(sBeanName+"closelnk_"+sAli).style.display= "";
	            getelement(sBeanName+"children_"+sAli).style.display= "";
	            getelement(sBeanName+"openlnk_" +sAli).style.display= "none";
	            if(g_isTreeNotifyServerToggleExpand)
	            	notifyServerToggleExpand(sAli, sBeanName, ajaxCommunicatorUrl);
	            return false;
        	}
        }
    }

    getelement(sBeanName+"closelnk_"+sAli).style.display= "";
    getelement(sBeanName+"children_"+sAli).style.display= "";
    getelement(sBeanName+"openlnk_" +sAli).style.display= "none";

    var s=";jsessionid="+sessionid;
    var sUrl = getpath(getIndexUrlTreeAjax())+ajaxCommunicatorUrl+s+"?object="+sBeanName+"&tree_ajax_alias="+sAli+"&invalidatesession=false&ajaxcall=1&charset="+responseCharset+"&tmpstmp="+(new Date()).getMilliseconds();
    var sContent = "object="+sBeanName+"&tree_ajax_alias="+sAli+"&ajaxcall=1";
    if(showAll)
    	sContent += "&action=show_all";

    var myreq = getHTTPObject();
    if (myreq == null)
    {
        dbg(iERR, "ontreeitemexpandclick\n!myreq");
        return false;
    }
	if(true)
    {
        var iontreeitemexpandclick_response_called = 0;
        function ontreeitemexpandclick_response()
        {
            if(myreq == null)
            {
                dbg(iERR, "ontreeitemexpandclick_response\n!myreq");
                document.body.style.cursor='auto';
                return false;
            }

            iontreeitemexpandclick_response_called++;

            if (myreq.readyState    != 4)           //4 == "Complete" in ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
            {
            //    dbg(iINF, "ontreeitemexpandclick_response\nmyreq.readyState");
            //      return false;
				  if(iontreeitemexpandclick_response_called == 99)
				  {
				    iontreeitemexpandclick_response_called = 0;
				  }
				  else
				  {
				    return false;
				  }
            }
            var sAnswer = "";
            //if (!responseIsSuccess(myreq))
			if(true)
            {
                //dbg(iINF, "ontreeitemexpandclick_response\nmyreq.status");
                //document.body.style.cursor='auto';
                try
                {
                    //sAnswer = trim(myreq.responseText);
                    sAnswer = myreq.responseText;
                    if((sAnswer == "") || (sAnswer == " "))
                        return false;
                }
                catch(e)
                {
                    //"die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar"
                    //about IE: the content WILL NOT be available until the DOM is complete
                    //alert(e.message);
                    return false;
                }
            }

            iontreeitemexpandclick_response_called++;

            var iB = sAnswer.indexOf("<!-- alias:");
            var iE = sAnswer.indexOf(":alias -->");
            var sAli = trim(sAnswer.substring(iB+("<!-- alias:".length), iE));
            iB = sAnswer.indexOf("<!-- bean:");
            iE = sAnswer.indexOf(":bean -->");
            var sBeanName = trim(sAnswer.substring(iB+("<!-- bean:".length), iE));

            oDIV = getelement(sBeanName+"children_"+sAli);

            if (myreq.readyState == 4)
            {
            	document.body.style.cursor                                    = 'auto';
				try
				{
	                getelement(sBeanName+"openlnk_"+sAli).style.cursor            = 'auto';
	                getelement(sBeanName+"titlelnk_closelnk_"+sAli).style.cursor  = 'auto';
	                getelement(sBeanName+"titlelnk_openlnk_"+sAli).style.cursor   = 'auto';
	                getelement(sBeanName+"piclnk_openlnk_"+sAli).style.cursor     = 'auto';
	                getelement(sBeanName+"piclnk_closelnk_"+sAli).style.cursor    = 'auto';
	                getelement(sBeanName+"piclnk_close_"+sAli).style.cursor       = 'auto';
	                getelement(sBeanName+"piclnk_open_"+sAli).style.cursor        = 'auto';
				}
				catch(e)
				{
					dbg(iERR, "ontreeitemexpandclick_response\n!o's\n"+sBeanName+"\ne:"+e);
				}				
            }
            if(!oDIV)
            {
                dbg(iINF, "ontreeitemexpandclick_response\n!oDIV\n"+sBeanName+"children_"+sAli+"\nsAnswer:'"+sAnswer+"'");
                return false;
            }
            
            var newDiv = oDIV.cloneNode(false);
            var sShowAllSpan = "";
            if(showAll) {
            	sShowAllSpan = "<span id=\"showAll_" + sAli + "_showAll\" style=\"display:none;width:0px;height:0px;\" />";
            }
            newDiv.innerHTML = sAnswer + sShowAllSpan;
            
            oDIV.parentNode.replaceChild(newDiv, oDIV);
            //alert(sAnswer.substring(sAnswer.length - 9));
            //if(myreq.readyState   == 4)alert(iontreeitemexpandclick_response_called);
            return false;
        }   //end function ontreeitemexpandclick_response()
    }

    myreq.onreadystatechange = ontreeitemexpandclick_response;
    myreq.open("POST", sUrl, true);
    myreq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //myreq.async=true;

    document.body.style.cursor                                    = 'wait';  //mouse cursor pointer to "sanduhr"
    
	try
	{
	    getelement(sBeanName+"openlnk_"+sAli).style.cursor            = 'wait';
	    getelement(sBeanName+"titlelnk_closelnk_"+sAli).style.cursor  = 'wait';
	    getelement(sBeanName+"titlelnk_openlnk_"+sAli).style.cursor   = 'wait';
	    getelement(sBeanName+"piclnk_openlnk_"+sAli).style.cursor     = 'wait';
	    getelement(sBeanName+"piclnk_closelnk_"+sAli).style.cursor    = 'wait';
	    getelement(sBeanName+"piclnk_close_"+sAli).style.cursor       = 'wait';
	    getelement(sBeanName+"piclnk_open_"+sAli).style.cursor        = 'wait';
	}
	catch(e)
	{
		dbg(iERR, "ontreeitemexpandclick\n!o's\n"+sBeanName+"\ne:"+e);
	}
    if (window.XMLHttpRequest)
    {
        myreq.send(sContent);
    }
    else if (window.ActiveXObject)  // branch for IE/Windows ActiveX version
    {
       myreq.send(sContent);
    }
    return false;
}






