function showErrorMessage(parentElement,message) {
	alert(message);
}
function showFormErrors(jsonText) {
	var formErrors = jsonText.evalJSON(); 	
	for (var i = 0; i < formErrors.errors.length; i++) {
		var formError = formErrors.errors[i];
		showFormError(formErrors.formName, formError.fieldName, formError.message);
	}
}
var bContainsErrors = false;
function showFormError(formName, fieldName, sMessage) {
	bContainsErrors = true;
	var form = $(formName);
	var field = $(form[fieldName]);
	var newErrorDiv = document.createElement('div');
	field.addClassName('error');
	Element.extend(newErrorDiv); 
	newErrorDiv.innerHTML = sMessage;
	newErrorDiv.addClassName('errorMessage').hide(); 
	document.body.appendChild(newErrorDiv); 
	var oOffset = Position.cumulativeOffset(field);
	var posLeft = oOffset[0] + Element.getWidth(field) + 10;
	var posTop = oOffset[1] + (Element.getHeight(field) / 2) - (Element.getHeight(newErrorDiv) / 2);
	newErrorDiv.style.left = posLeft + 'px';
	newErrorDiv.style.top = posTop + 'px'
	newErrorDiv.show();
}
function hideMessages() {
	$('infos').hide();
	$('errors').hide();
	if (bContainsErrors) { hideErrors(); }
}
function hideErrors() {
	bContainsErrors = false;
	$(document.body).select('[class="errorMessage"]').each( function(element) { element.remove(); } );
	if ($('page')) { $('page').select('input').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
	if ($('page')) { $('page').select('select').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
	if ($('popup')) { $('popup').select('input').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
	if ($('popup')) { $('popup').select('select').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
	if ($('content')) { $('content').select('input').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
	if ($('content')) { $('content').select('select').each( function(element) { if (element.hasClassName('error')) element.removeClassName('error'); } ); }
}
function getLoading() {	return $('loading').innerHTML; }
function checkUncheckAll(container, className) {
	$(container).select(className).each(function(element) { 
		if (element.getValue() != null) { element.checked = false; } else { element.checked = true; } 
	});
}
function isNumeric(sText) {
	if (sText == '' || sText == null) { return false; }
	var ValidChars = "0123456789";
	var IsNumber = true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1)	{ IsNumber = false; }
	}
	return IsNumber;
}
function fadeOutElement(elementsToHide) {
	var value = 2;
	for (i = 0; i < elementsToHide.length; i++) { $(elementsToHide[i]).hide(); }
}
function fadeInElement(elementsToShow) {
	var value = 10;
	for (i = 0; i < elementsToShow.length; i++) { $(elementsToShow[i]).show(); }
}
function initPopup(sElement, iWidth, elementsToHide) {
	var iBoxWidth = iWidth;
    var iTop = document.body.scrollTop + 80;
	var iLeft = (document.body.offsetWidth - iBoxWidth) / 2;
	$(sElement).style.width = iBoxWidth + 'px';
	$(sElement).style.top 	= iTop + 'px';
	$(sElement).style.left 	= iLeft + 'px';
	fadeOutElement(elementsToHide);
}
function limitNumber(field) {
	var re = /^[0-9]*$/;
	if (!re.test(field.value)) { field.value = field.value.replace(/[^0-9]/g,""); }
}