if (document.getElementsByClassName == undefined) {
	document.getElementsByClassName = function(className)
	{
		var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
		var allElements = document.getElementsByTagName("*");
		var results = [];

		var element;
		for (var i = 0; (element = allElements[i]) != null; i++) {
			var elementClass = element.className;
			if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
				results.push(element);
		}

		return results;
	}
}
document.getElementsByAttribute = function(attributeName)
{
	var allElements = document.getElementsByTagName("*");
	var results = [];

	var element;
	for (var i = 0; (element = allElements[i]) != null; i++) {
		if (element.getAttribute(attributeName) != '' && element.getAttribute(attributeName) != null)
			results.push(element);
	}

	return results;
}

function master_select (el, array_of_ids)
{
	for (var i = 0; i < array_of_ids.length; i++) {
		hide(array_of_ids[i]);
	}
	show(array_of_ids[el.selectedIndex])
}

function hide (id)
{
	document.getElementById(id).style.display = 'none';
}
function show (id)
{
	var el = document.getElementById(id);
	var style;
	switch(el.tagName) {
		default: style = 'run-in'; break;
		case 'TR': style = 'table-row'; break;
		case 'TD': style = 'table-cell'; break;
	}
	document.getElementById(id).style.display = style;
}
function init_page ()
{
	perform_on_loads();
	decorate();
}
function decorate ()
{
	els = document.getElementsByClassName("corners");
	for (var i = 0; i < els.length; i++) {
		var bottom = document.createElement('div');
		bottom.setAttribute('id',els[i].getAttribute('id') + '_bottom_corners');
		var left_bottom = document.createElement('div');
		left_bottom.setAttribute('id',els[i].getAttribute('id') + '_bottom_corners_left');
		var right_bottom = document.createElement('div');
		right_bottom.setAttribute('id',els[i].getAttribute('id') + '_bottom_corners_right');
		bottom.appendChild(left_bottom);
		bottom.appendChild(right_bottom);
		els[i].appendChild(bottom);
	}
}
function perform_on_loads ()
{
	var els = document.getElementsByAttribute('ondisp');
	var code = '';
	for (var i = 0; i < els.length; i++) {
		var fn   = els[i].getAttribute("ondisp");
		if ((pars_raw = els[i].getAttribute("ondisp_pars")) != '')
			code = fn + '("' + els[i].getAttribute('id') + '", [' + els[i].getAttribute("ondisp_pars") + '])';
		else
			code = fn + '()';
		eval(code);
	}
}
function init_element(id, val)
{
	var el    = document.getElementById(id);
	var value = decodeURIComponent(val[0]);
	switch(el.tagName) {
		case 'INPUT':
			switch (el.getAttribute('type')) {
				case 'text':
				case 'hidden':
					el.setAttribute("value", value);
				break;
				case 'checkbox':
					el.checked = value == '0' ? false : true;
			} 
		break;
		case 'SELECT':
			for (var i = 0; i < el.options.length; i++) {
				if (el.options[i].value == value) {
					el.options[i].selected = "SELECTED";
					break;
				}
			}
		break;
		case 'TEXTAREA':
			el.value = value;
		break;
	};
}
function this_is_email(id, params)
{
	var el       = document.getElementById(id);
	el.href      = 'mailto:' + params[0] + '@' + params[1];
	if(document.all){
		el.firstChild.innerText = params[0] + '@' + params[1];
	} else{
		el.firstChild.textContent = params[0] + '@' + params[1];
	}
}
function replace_image(el, url)
{
	el.src = url;
}
function multiform_select_all (el)
{
	var checkboxes = document.getElementsByClassName('item_checkbox');
	for (i = 0; i < checkboxes.length; i++)
		checkboxes[i].checked = true;

}
function multiform_select_none (el)
{
	var checkboxes = document.getElementsByClassName('item_checkbox');
	for (i = 0; i < checkboxes.length; i++)
		checkboxes[i].checked = false;

}
function submit_container_form (el)
{
	var parent = el;
	for (null; parent.tagName != 'FORM'; parent = parent.parentNode);
	parent.submit();
}
