/***********************************
SHOW/HIDE
-display=none hides
-display=block shows 
************************************/
function set_display(id, display) {
	if (document.getElementById(id))
		document.getElementById(id).style.display = display;
}
function showFirstHideSecond(element1Id, element2Id) {
	var element1 = document.getElementById(element1Id);
	var element2 = document.getElementById(element2Id);
	if (element1 && element2) {
		show_div(element1Id);
		hide_div(element2Id);
	}
}
function toggle_display(id) {
	if (document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = 'block';
	} else {
		document.getElementById(id).style.display = 'none';
	}
}

function euro_util_getbyid(id) {
	if (document.getElementById)
		var returnVar = document.getElementById(id);
	else if (document.all)
		var returnVar = document.all[id];
	else if (document.layers)
		var returnVar = document.layers[id];
	return returnVar;
}

function euro_util_format(nStr) {
	nStr = nStr.toFixed(2)
	x = nStr.split('.');
	x1 = x[0];
	x2 = x[1];
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + '.' + x2;
}

function euro_util_whole_number_format(nStr) {
	nStr = nStr.toFixed(2)
	x = nStr.split('.');
	x1 = x[0];
	x2 = x[1];
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1;
}

function RemoveCommaSeparator(str) {
	var rgx = /,/;
	var value = str;
	while (rgx.test(value)) {
		value = value.replace(rgx, "")
	}
	return value;
}

function euro_util_overlib_by_value(value) {
	var euro_conversion = EuroRate;
	var euro = euro_conversion * value;

	return overlib('&euro; ' + euro_util_whole_number_format(euro), WIDTH, 120);
}

function euro_util_overlib(id) {
	var obj = euro_util_getbyid(id);

	if (obj && obj.value) {
		return euro_util_overlib_by_value(RemoveCommaSeparator(obj.value))
	}
	else {
		if (obj.innerHTML && !isNaN(parseFloat(obj.innerHTML.replace("$", "")))) {
			return euro_util_overlib_by_value(parseFloat(RemoveCommaSeparator(obj.innerHTML.replace("$", ""))));
		}
		else {
			return overlib('&euro; 0', WIDTH, 120);
		}
	}
}

// FUNCTION FOR RANGE EURO CONVERSION
function euro_range_util_overlib(id1, id2) {
	var euro_conversion = EuroRate;

	obj1 = euro_util_getbyid(id1);
	obj2 = euro_util_getbyid(id2);
	var euro1 = euro_conversion * obj1.value;
	var euro2 = euro_conversion * obj2.value;

	if (euro1 || euro2) {
		return overlib('&euro; ' + euro_util_whole_number_format(euro1) + ' - ' + euro_util_whole_number_format(euro2), WIDTH, 120);
	}
	else {
		if (isNaN(parseFloat(obj1.innerHTML))) {
			euro1 = 0;
		}
		else {
			euro1 = EuroRate * parseFloat(RemoveCommaSeparator(obj1.innerHTML));
		}
		if (isNaN(parseFloat(obj2.innerHTML))) {
			euro2 = 0;
		}
		else {
			euro2 = EuroRate * parseFloat(RemoveCommaSeparator(obj2.innerHTML));
		}
		//return overlib('&euro; 0', WIDTH, 120);
		return overlib('&euro; ' + euro_util_whole_number_format(euro1) + ' - ' + euro_util_whole_number_format(euro2), WIDTH, 120);
	}
}

function hEnterPressed(ev) {
	ev = ev || event;
	code = ev.keyCode;
	if (code == 13) {
		clickButton((ev.target || ev.srcElement).getAttribute('acceptButtonId'));
		return false;
	}
	return true;
}

function clickButton(acceptButtonValue) {
	var obj = document.getElementById(acceptButtonValue);
	if (obj)
		obj.click();
}

function enableElement(id, value) {
	var obj = document.getElementById(id);
	if (value == false)
		obj.setAttribute('disabled', 'disabled');
	else
		obj.removeAttribute('disabled');
}

// Pagination

function pagedRedirect(formControl) {
	redirectTo(formControl.value);
}

function redirectTo(page) {
	window.location.href = page;
}

function goToPage(formControl, urlPattern, pageControlID, maxPage) {
	var pageNumber = document.getElementById(pageControlID).value;
	if (maxPage == null)
		maxPage = 0;
	if (!parseInt(pageNumber)) {
		pageNumber = 1;
	}
	else if (pageNumber > maxPage) {
		pageNumber = maxPage;
	}
	var url = urlPattern.replace("-1", pageNumber);
	redirectTo(url);
	return false;
}

function goToPageIfEnter(ev, urlPattern, pageControlID, maxPage) {
	ev = ev || event;
	code = ev.keyCode;
	if (code != 13) return;
	return goToPage(this, urlPattern, pageControlID, maxPage);
}