function checkLackPolster(showMsg) {
	var elem = document.getElementById('ausstattungForm:LackPolsterErrorText');
	if (showMsg == 'true') {
		if (elem) {
			elem.style.display = 'block';
			showFinishConfigPanel();
		}
	} else {
		elem.style.display = 'none';
	}
	return true;
}

function resetCheckLackPolster() {
	var elem = document.getElementById('ausstattungForm:LackPolsterErrorText');
	if (elem) {
		elem.style.display = 'none';
	}
	return true;
}

function AJAXInteraction(url) {

	var req = init();
	// req.onreadystatechange = processRequest;

	function init() {
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	function processRequest() {
		// readyState of 4 signifies request is complete
		if (req.readyState == 4) {
			// alert('send 4');
			// status of 200 signifies successful HTTP call
			if (req.status == 200) {
				// alert('send 200 ');
			}
		}
	}

	this.doGet = function() {
		req.open("GET", url, true);
		req.send(null);
	}

	this.doPost = function(str) {
		req.open("POST", url, true);
		req.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded; charset=UTF-8");
		req.send(str);
	}
}

function asyncPost(newUrl, hiddenElementId, parameterName) {
	var formElem = document.getElementById('data');
	var sendData = parameterName + "=" + hiddenElem.value;
	var ajax = new AJAXInteraction(newUrl, false);
	ajax.doPost(sendData);
}

function doSimpleAsyncPost(contextPath, linkNr) {
	var redirectUrl = contextPath + '/AsyncPostUrlServlet';
	if (linkNr == 1) {
		redirectUrl = redirectUrl + "?linkNr=1";
	} else if (linkNr == 2) {
		redirectUrl = redirectUrl + "?linkNr=2";
	} else if (linkNr == 3) {
		redirectUrl = redirectUrl + "?linkNr=3";
	} else if (linkNr == 4) {
		redirectUrl = redirectUrl + "?linkNr=4";
	}
	var ajax = new AJAXInteraction(redirectUrl, false);
	ajax.doPost('something');
}
function makeOtherSubmit(otherUrl) {
	var formElem = document.getElementById('extern_post_form');
	var originalUrl = formElem.action;
	formElem.action = otherUrl;
	formElem.submit();
	formElem.action = formElem.action;
}

function checkboxAsRadio(thisForm, thisElement, idKey) {
	var d = thisForm;
	var size = d.elements.length;
	var count = 0;
	var currentElement = thisElement;
	var checkSelected = thisElement.checked;
	for ( var i = 0; i < size; i++) {
		if (d.elements[i].id.indexOf(idKey) > 0) {
			if (d.elements[i].type == 'checkbox') {
				d.elements[i].checked = false;
			}
		}
	}
	if (currentElement != null) {
		if (checkSelected) {
			thisElement.checked = true;
		} else {
			thisElement.checked = false;
		}
	}
	return true;
}

var druckClicked = false;
var bSubmitted = true;
function popHiddenLayer() {
	var bOldValue = bSubmitted;
	setSubmitted(false);
	if (document.getElementById('hiddenLayer') != null) {
		if (!druckClicked) {
			var elem = document.getElementById('hiddenLayer');
			elem.className = 'POP_HIDDEN_LAYER';
			druckClicked = false;
		} else {
			druckClicked = false;
			setSubmitted(true);
		}
	}
	return bOldValue;
}

function setSubmitted(value) {
	bSubmitted = value;
	return;
}

var currentRow;
function highlightRowOver(element) {
	currentRow = element.className;
	element.className = 'current_row_highlight';
}

function highlightRowOut(element) {
	if (currentRow != null) {
		element.className = currentRow;
	}
}

function onRowClick(element) {
	element.className = 'row_click_style';
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
		}
	}
}

function changeImage(elem, value, replaceValue) {
	if (elem.src.indexOf(value) != -1) {
		elem.src = elem.src.replace(value, replaceValue);
	}
}

function revertImage(elem, value, replaceValue) {
	elem.src = elem.src.replace(value, replaceValue);
}

function clickLink(linkId) {
	var fireOnThis = document.getElementById(linkId);
	if (document.createEvent) {
		var evObj = document.createEvent('MouseEvents');
		evObj.initEvent('click', true, false);
		fireOnThis.dispatchEvent(evObj);
	} else if (document.createEventObject) {
		fireOnThis.fireEvent('onclick');
	}
}

function closeLoadStatus() {
	var elem = document.getElementById('loading');
	if (elem != null) {
		elem.style.display = 'none';
	}
}

function showLoadStatus() {
	var elem = document.getElementById('loading');
	if (elem != null) {
		elem.style.display = 'block';
	}
}

function showThisPanel() {
	var elem = document.getElementById('showThisPanel');
	if (elem != null) {
		elem.style.display = 'block';
	}
}

function hideThisPanel() {
	var elem = document.getElementById('showThisPanel');
	if (elem != null) {
		setTimeout(
				"document.getElementById('showThisPanel').style.display='none'",
				2000);
	}

}

function getPos(inputElement) {
	var coords = new Object();
	coords.x = 0;
	coords.y = 0;
	try {
		targetElement = inputElement;
		if (targetElement.x && targetElement.y) {
			coords.x = targetElement.x;
			coords.y = targetElement.y;
		} else {
			if (targetElement.offsetParent) {
				coords.x += targetElement.offsetLeft;
				coords.y += targetElement.offsetTop;
				while (targetElement = targetElement.offsetParent) {
					coords.x += targetElement.offsetLeft;
					coords.y += targetElement.offsetTop;
				}
			} else {
				alert("Could not find any reference for coordinate positioning.");
			}
		}
		return coords;
	} catch (error) {
		return coords;
	}
}

function changeThisHeight(topSize) {
	var elem = document.getElementById('loginModalContentDiv');

	if (elem != null) {

		var reference = document.getElementById('login:login');
		var elementDim = Richfaces.Position.getOffset(reference);

		alert(Object.values(elementDim));

	}

}

function setBrowserValue() {
	var elem = document.getElementById('selectionPicForm2:browserVar');
	if (elem) {
		var os = BrowserDetect.OS;
		var browser = BrowserDetect.browser;
		var result = os + '-' + browser;
		elem.value = result;
	}
}

