var _mousex = 0;
var _mousey = 0;
var _absoluteMousex = 0;
var _absoluteMousey = 0;





function hilight(text){
{
	if(text==null || text.length==0){
		return;
	}
	var splitted = text.split(" ");
	for(i=0; i < splitted.length; i++){
		searchWithinNode(document.body, splitted[i].toUpperCase(), splitted[i].length);
	}
}

function searchWithinNode(node, te, len){
	var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;
	if( node.nodeType==3 ){
		pos=node.data.toUpperCase().indexOf(te);
		if(pos>=0){
			spannode=document.createElement("SPAN");
			spannode.style.backgroundColor="#CCCCDD";
			middlebit=node.splitText(pos);
			endbit=middlebit.splitText(len);
			middleclone=middlebit.cloneNode(true);
			spannode.appendChild(middleclone);
			middlebit.parentNode.replaceChild(spannode,middlebit);
			skip=1;
		}
	}else if( node.nodeType==1&& node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){
		for (var child=0; child < node.childNodes.length; ++child){
			child=child+searchWithinNode(node.childNodes[child], te, len);}
		}
		return skip;
	}
}


function trim(str)
   {
     pattern1=/[\s]+$/
     pattern2=/^[\s]+/
     y=str.replace(pattern2,"").replace(pattern1,"")
     return y
  }

function setToolbar(toolbarSrc){
	var topFrame = top.document.getElementById("topFrame");
	topFrame.src = toolbarSrc;
}

function submitAction(actionCmd){
	var centerFrame = top.document.getElementById("centerFrame");
	var editForm = null;
	var actionField = null;

	var executeSubmit = true;
	if(actionCmd == 'cmd_delete'){
		executeSubmit = window.confirm('Wollen Sie diesen Datensatz wirklich löschen?');
	}
	else if(actionCmd == 'cmd_send'){
		if(top.centerFrame && top.centerFrame.document){
			editForm = top.centerFrame.document.getElementById("editform");
		}else{
			editForm = centerFrame.contentDocument.getElementById("editform");
		}
		if(editForm.sendto.selectedIndex == -1){
			return;
		}
	}

	if(executeSubmit){
		if(top.centerFrame && top.centerFrame.document){
			editForm = top.centerFrame.document.getElementById("editform");
			actionField = top.centerFrame.document.getElementById("action");
		}else{
			editForm = centerFrame.contentDocument.getElementById("editform");
			actionField = centerFrame.contentDocument.getElementById("action");
		}
		actionField.value=actionCmd;
		editForm.submit();
	}
}


function getMouseXY(e)
{
	var dummyClientX = 0;
	var dummyClientY = 0;
	var dummyOffsetX = 0;
	var dummyOffsetY = 0;
	if(document.all){
		  dummyClientX = window.event.x;
		  dummyClientY = window.event.y;
		  dummyOffsetX = window.pageXOffset;
		  dummyOffsetY = window.pageYOffset;
	}else{
		  dummyClientX = e.screenX;
		  dummyClientY = e.screenY;
		  dummyOffsetX = window.pageXOffset;
		  dummyOffsetY = window.pageYOffset;
	}
	_mousex = dummyClientX;
	_mousey = dummyClientY;
	_absoluteMousex = _mousex + dummyOffsetX;
	_absoluteMousey = _mousey + dummyOffsetY;
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}

function selectCheckboxById(id){
	var checkboxEl = top.document.getElementById(id);
	if(checkboxEl != null){
		checkboxEl.checked = true;
	}
}


function openResourceDetailsWindow(LinkLocation){
	openResourceDetailsWindow(LinkLocation,'status=yes,toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes');
}

function openResourceDetailsWindow(LinkLocation,winParams){
	resourceWindow =  window.open(LinkLocation,'_blank',winParams);
	resourceWindow.focus();
}


function openSelectionWindow(Location,winName){
	var windowName = window.open(Location,winName,'_blank','status=yes,toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes');
}


function showPreviewWindow(){
	var urlStr = '';
	var htmlEl = null;
	var centerFrame = top.document.getElementById("centerFrame");
	if(top.centerFrame && top.centerFrame.document){
		htmlEl = top.centerFrame.document.getElementById("lastVisitedPreviewURL");
	}else{
		htmlEl = centerFrame.contentDocument.getElementById("lastVisitedPreviewURL");
	}
	if(htmlEl != null){
		urlStr = htmlEl.value;
	}else{
		htmlEl = top.centerFrame.document.getElementById('link');
		if(htmlEl != null){
			urlStr = htmlEl.href;
		}
	}
	if(urlStr != ''){
		if(urlStr.indexOf("://") == -1){
			urlStr = "http://" + urlStr;
		}
		reloadPreviewWindowByURL(urlStr);
	}
}

function hidePreviewWindow(){
	var frameset = top.document.getElementById("frameset");
	if(frameset){
		showPreviewWindow();
		frameset.cols="100%,*";
		frameset.cols="100%,*";
	}
}

function reloadPreviewWindow(aID,urlPrefix){
	var htmlEl = document.getElementById(aID);
	var urlStr = htmlEl.parentNode.previousSibling.previousSibling.value;
	if(urlStr != null){
		urlStr = trim(urlStr);
	}else{
		urlStr = '';
	}
	if(trim(urlStr).length > 0){
		if(urlPrefix != null){
			urlStr = urlPrefix + urlStr;
		}else{
			if(urlStr.indexOf("://") == -1){
				urlStr = "http://" + urlStr;
			}
		}
		reloadPreviewWindowByURL(urlStr);
	}
}


function reloadPreviewWindowByURL(urlStr){
	var rightFrame = top.document.getElementById("rightFrame");
	if(urlStr != null){
		rightFrame.src = urlStr;
		var frameset = top.document.getElementById("frameset");
		if(frameset){
			frameset.cols="60%,40%";
		}
	}

}

function openSelectValuesWindow(e,aID,urlStr,liItemID,multiple){
	var query = '';
	var queryStrListItemID = '&listItemID=-1'
	var queryStrMultiple = '&multiple=' + multiple;
	if(liItemID != '' && liItemID != 'null'){
		var listItem = document.getElementById(liItemID);
		if(listItem != null){
			var inputFields = listItem.getElementsByTagName("input");
			for(i=0; i < inputFields.length > 0; i++){
				var currentInputField = inputFields.item(i);
				if(currentInputField.getAttribute("type") == "text"){
					query = '&query=' + encodeURI(currentInputField.value);
					if(currentInputField.value.length > 0 && Number(currentInputField.value) == Number.NaN){
						query = query + '&qt1=_resid:' + encodeURI(currentInputField.value);
					}
				}
			}
			queryStrListItemID = '&listItemID=' + liItemID;
		}
	}else{
		liItemID = 'null';
	}

	var selectValuesDIV = null;
	var selectValuesIFrame = null;
	var centerFrame = top.document.getElementById('centerFrame');
	var inputFieldNextListItemID = null;
	if(top.centerFrame && top.centerFrame.document){
		selectValuesDIV = top.centerFrame.document.getElementById("selectValuesDIV");
		inputFieldNextListItemID = top.centerFrame.document.getElementById("currentFieldNextListItemID");
	}else{
		selectValuesDIV = centerFrame.contentDocument.getElementById("selectValuesDIV");
		inputFieldNextListItemID = centerFrame.contentDocument.getElementById("currentFieldNextListItemID");
	}
	if(top.centerFrame && top.centerFrame.document){
		selectValuesIFrame = top.centerFrame.document.getElementById("selectValuesFrame");
	}else{
		selectValuesIFrame = centerFrame.contentDocument.getElementById("selectValuesFrame");
	}
	if(selectValuesIFrame != null){
		selectValuesIFrame.src = urlStr + query + queryStrListItemID + queryStrMultiple;
	}

	if(inputFieldNextListItemID != null){
		inputFieldNextListItemID.value = liItemID;
	}

	var aIDObj = document.getElementById(aID);
	var posX = findPosX(aIDObj) + 120 + 'px';
	var posY = findPosY(aIDObj) + 30 + 'px';

	selectValuesDIV.style.top = posY;
	selectValuesDIV.style.left =  posX;
	selectValuesDIV.style.visibility = 'visible';
	selectValuesIFrame.style.visibility = 'visible';
	selectValuesIFrame.style.height = '400px';
}

function closeSelectValuesWindow(){
	var selectValuesDIV = null;
	var centerFrame = top.document.getElementById('centerFrame');
	var inputFieldNextListItemID = null;
	if(top.centerFrame && top.centerFrame.document){
		selectValuesDIV = top.centerFrame.document.getElementById("selectValuesDIV");
		inputFieldNextListItemID = top.centerFrame.document.getElementById("currentFieldNextListItemID");
	}else{
		selectValuesDIV = centerFrame.contentDocument.getElementById("selectValuesDIV");
		inputFieldNextListItemID = centerFrame.contentDocument.getElementById("currentFieldNextListItemID");
	}
	if(inputFieldNextListItemID != null){
		inputFieldNextListItemID.value = 'null';
	}

	var selectValuesIFrame = null;
	var centerFrame = top.document.getElementById('centerFrame');
	if(top.centerFrame && top.centerFrame.document){
		selectValuesDIV = top.centerFrame.document.getElementById("selectValuesDIV");
	}else{
		selectValuesDIV = centerFrame.contentDocument.getElementById("selectValuesDIV");
	}
	if(top.centerFrame && top.centerFrame.document){
		selectValuesIFrame = top.centerFrame.document.getElementById("selectValuesFrame");
	}else{
		selectValuesIFrame = centerFrame.contentDocument.getElementById("selectValuesFrame");
	}
	if(selectValuesIFrame != null){
		var splittedSrc = selectValuesIFrame.src.split('/');
		if(splittedSrc.length >= 3){
			selectValuesIFrame.src = splittedSrc[0] + '//' + splittedSrc[2] + '/' + splittedSrc[3] + '/empty.html';
		}

	}
	selectValuesDIV.style.visibility = 'hidden';
	selectValuesIFrame.style.visibility = 'hidden';
}


function removeEntryField(listItemId){
	var listItemEl = document.getElementById(listItemId);
	var listEl = listItemEl.parentNode;
	var listItemNodeList = listEl.getElementsByTagName("li");
	if(listItemNodeList.length > 1){
		listItemEl.parentNode.removeChild(listItemEl);
	};
};

function addEntryField(label,newValue){
	addEntryField(label,newValue,null,null);
}


function addEntryField(label,newValue,multiple,nextListItemID){
	if(document.getElementById){
		var selectValuesDIV = null;
		var selectValuesIFrame = null;
		var selectValuesIFrameDOC = null;
		var findValuesFrame = null;
		var findValuesFrameDOC = null;
		var centerFrame = top.document.getElementById('centerFrame');
		var rightFrame = top.document.getElementById('rightFrame');
		var centerFrameDOC = null;
		var rightFrameDOC = null;
		var inputFieldNextListItemID = null;

		// get selectValuesDIV
		if(top.centerFrame && top.centerFrame.document){
			selectValuesDIV = top.centerFrame.document.getElementById("selectValuesDIV");
			inputFieldNextListItemID = top.centerFrame.document.getElementById("currentFieldNextListItemID");
		}else{
			selectValuesDIV = centerFrame.contentDocument.getElementById("selectValuesDIV");
			inputFieldNextListItemID = centerFrame.contentDocument.getElementById("currentFieldNextListItemID");
		}
		// get selectValuesIFrame
		if(top.centerFrame && top.centerFrame.document){
			selectValuesIFrame = top.centerFrame.document.getElementById("selectValuesFrame");
		}else{
			selectValuesIFrame = centerFrame.contentDocument.getElementById("selectValuesFrame");
		}
		// get centerFrameDOC
		if(centerFrame.contentDocument){
			centerFrameDOC = centerFrame.contentDocument;
		}else if(centerFrame.contentWindow.document){
			centerFrameDOC = centerFrame.contentWindow.document;
		}else if(centerFrame.document){
			centerFrameDOC = centerFrame.document;
		}
		if(multiple == 'null'){
			multiple = false;
		}else{
			nextListItemID = inputFieldNextListItemID.value;
			if(nextListItemID == null || nextListItemID == ''){
				nextListItemID = 'null';
			}
			if(multiple == 'true'){
				inputFieldNextListItemID.value = 'null';
			}
		}
		var id = 'pValuesList' + label;
		//alert("multiple: " + multiple + " nextListItemID: " + nextListItemID + " id: " + id);
		listEl = centerFrameDOC.getElementById(id);
		if(listEl != null){
			var listItemClone = null;
			var listItems = listEl.getElementsByTagName("li");
			if(listItems.length > 0){
				if(nextListItemID == 'null' && multiple == 'true'){
 					// clone last node
					var listItemCloneId = 'pValuesListItem' + label + (listItems.length + 1);
					var lastItemIndex = (listItems.length - 1);
					var lastListItem = listItems.item(lastItemIndex);;
					listItemClone = lastListItem.cloneNode(true);
					listItemClone.id = listItemCloneId;
					var i=0;
					var focusOnInputField = null;
					var lastValID = 0;
					var lastSeqNr = listItems.length;
					var nextValID = --lastValID;
					var nextSeqNr = ++lastSeqNr;
					var nextFreeHandle = centerFrameDOC.getElementById("nextFreeHandle").getAttribute("value");
					var aItems = listItemClone.getElementsByTagName("a");
					//alert("LAST SEQNR: " + listItems.length);
					for(i=0; i < aItems.length; i++){
						var aElement = aItems.item(i);
						var dummyRef = aElement.getAttribute('href');
						if(dummyRef.indexOf('javascript:removeEntryField') > -1){
							aElement.setAttribute('href','javascript:removeEntryField(\'' + listItemCloneId + '\')');
						}
						else if(dummyRef.indexOf('javascript:reloadPreviewWindow') > -1){
							nextFreeHandle++;
							centerFrameDOC.getElementById("nextFreeHandle").setAttribute("value",nextFreeHandle);
							centerFrameDOC.getElementById("nextFreeHandle").value = nextFreeHandle;
							aElement.setAttribute('id','arefreshLinkID' + nextFreeHandle);
							aElement.setAttribute('name','arefreshLinkID' + nextFreeHandle);
							aElement.setAttribute('href','javascript:reloadPreviewWindow(\'arefreshLinkID' + nextFreeHandle + '\')');
						}
						else if(dummyRef.indexOf('javascript:openSelectValuesWindow') > -1){
							nextFreeHandle++;
							centerFrameDOC.getElementById("nextFreeHandle").setAttribute("value",nextFreeHandle);
							centerFrameDOC.getElementById("nextFreeHandle").value = nextFreeHandle;
							var rExpr = /(.+),(.+),(.+),'(.*)',(.*)/;
							var res = rExpr.test(dummyRef);
							if(res == true){
								rExpr.exec(dummyRef);
								dummyRef = RegExp.$1 + "," + RegExp.$2 + "," + RegExp.$3 +",\'" + listItemCloneId + "\'," + RegExp.$5;
								aElement.setAttribute('href',dummyRef);
							}
						}
					}
				}else{
					 listItemClone = centerFrameDOC.getElementById(nextListItemID);
				}
				// set new value
				var inputFields = null;
				if(listItemClone != null){
					inputFields = listItemClone.getElementsByTagName("input");
				}
				if(listItemClone != null){
					textareaFields = listItemClone.getElementsByTagName("textarea");
					if(textareaFields != null){
						for(i=0; i < textareaFields.length ; i++){
							var currentTextareaField = textareaFields.item(i);
							currentTextareaField.innerHTML = newValue;
						}
					}
				}
				if(inputFields != null){
					for(i=0; i < inputFields.length ; i++){
						var currentInputField = inputFields.item(i);
						if(currentInputField.getAttribute("type") == "text"){
							//alert(currentInputField.getAttribute("type") + ":" + currentInputField.getAttribute("value") );
							currentInputField.setAttribute("value",newValue);
							currentInputField.value = newValue;
							if(focusOnInputField == null){
								focusOnInputField = currentInputField;
							}
						}
						if(currentInputField.getAttribute("name").indexOf("valueid_") > -1){
							var dummyValID = parseInt(currentInputField.value);
							if(dummyValID < 0 && dummyValID < lastValID){
								lastValID = dummyValID;
							}
						}
						if(currentInputField.getAttribute("name").indexOf("seqnr_") > -1){
							var dummySeqNR = parseInt(currentInputField.value);
							if(dummySeqNR > lastSeqNr){
								lastSeqNr = dummySeqNR;
							}
						}

					}
				}
				// apply changes to hidden fields if value is added
				if(nextListItemID == 'null' && multiple == 'true'){
					var fieldNodes = listItemClone.getElementsByTagName("input");
					//var dummyFlag = "false";
					for(i=0; i < fieldNodes.length ; i++){
						var currentNode = fieldNodes.item(i);
						if(currentNode.previousSibling != null){
						 	var tagName = String(currentNode.previousSibling.tagName);
						 	if(tagName.toLowerCase() == "label"){
								++nextFreeHandle;
							}
						}
						var attrName = currentNode.getAttribute("name");
						if(attrName != null){
							var underscorePos = attrName.indexOf("_");
							if(underscorePos >= 0){
								var newAttrName = attrName.substring(0,underscorePos) + "_" + nextFreeHandle;
								currentNode.setAttribute("name",newAttrName);
								currentNode.name = newAttrName;
								if(attrName.substring(0,underscorePos) == "valueid"){
									currentNode.setAttribute("value",nextValID);
									currentNode.value = nextValID;
								}
								if(attrName.substring(0,underscorePos) == "seqnr"){
									currentNode.setAttribute("value",nextSeqNr);
									currentNode.value = nextSeqNr;
								}
							}
						}
					}
					var fieldNodes = listItemClone.getElementsByTagName("textarea");
					for(i=0; i < fieldNodes.length ; i++){
						var currentNode = fieldNodes.item(i);
						if(currentNode.previousSibling != null && currentNode.previousSibling.tagName == "label"){
							++nextFreeHandle;
						}
						var attrName = currentNode.getAttribute("name");
						if(attrName != null){
							var underscorePos = attrName.indexOf("_");
							if(underscorePos >= 0){
								var newAttrName = attrName.substring(0,underscorePos) + "_" + nextFreeHandle;
								currentNode.setAttribute("name",newAttrName);
								currentNode.name = newAttrName;
							}
						}
					}
					var fieldNodes = listItemClone.getElementsByTagName("select");
					for(i=0; i < fieldNodes.length ; i++){
						var currentNode = fieldNodes.item(i);
						if(currentNode.previousSibling != null && currentNode.previousSibling.tagName == "label"){
							++nextFreeHandle;
						}
						var attrName = currentNode.getAttribute("name");
						if(attrName != null){
							var underscorePos = attrName.indexOf("_");
							if(underscorePos >= 0){
								var newAttrName = attrName.substring(0,underscorePos) + "_" + nextFreeHandle;
								currentNode.setAttribute("name",newAttrName);
								currentNode.name = newAttrName;
							}
						}
					}
					var fieldNodes = listItemClone.getElementsByTagName("option");
					for(i=0; i < fieldNodes.length ; i++){
						var currentNode = fieldNodes.item(i);
						var attrName = currentNode.getAttribute("name");
						if(attrName != null){
							var underscorePos = attrName.indexOf("_");
							if(underscorePos >= 0){
								var newAttrName = attrName.substring(0,underscorePos) + "_" + nextFreeHandle;
								currentNode.setAttribute("name",newAttrName);
								currentNode.name = newAttrName;
							}
						}
					}
					nextFreeHandle++;
					centerFrameDOC.getElementById("nextFreeHandle").setAttribute("value",nextFreeHandle);
					centerFrameDOC.getElementById("nextFreeHandle").value = nextFreeHandle;
					listEl.appendChild(listItemClone);
					if(focusOnInputField != null){
						focusOnInputField.focus();
					}
				}
			}
		}
	}
}

function closeCurrentWindow(){
	if(window.top != null){
		window.top.close();
	}else{
		self.close();
	}
}


function popupWindow (url,text) {
	
	popup=window.open(url, "popup", "width=600,height=300,scrollbars=yes");
	popup.document.open();
	

    popup.document.writeln("<body bgcolor='#FFFFFF'><font color='#0C44A0' face='Trebuchet MS,Geneva,Arial,Helvetica,SunSans-Regular,sans-serif'>"+text+"</font></body>");
    

    popup.document.close();
	popup.focus();
	}
		
	
