function getElement(id) {
	if (document.getElementById) {
		return (document.getElementById(id));
	} else if (document.all) {
		return (document.all[id]);
	} else {
		if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) {
			return (document.layers[id]);
		}
	}
}

function show_hide(id) {
	element = getElement(id);
	if(element.style) {
		if(element.style.display == 'block' ) {
			element.style.display = 'none';
		} else {
			element.style.display = 'block';
		}
	}
}

function getElementsByClass(class_name) {
	var elements = new Array();
	var tags = document.getElementsByTagName('*');
	var tags_len = tags.length;
	var pattern = new RegExp("(^|\\s)" + class_name + "(\\s|$)");
	for (i = 0, j = 0 ; i < tags_len ; i++) {
		if (pattern.test(tags[i].className)) {
			elements[j] = tags[i];
			j++;
		}
	}
	return elements;
}

function checkRequiredFields(form_id, message) {
	var form = getElement(form_id);
	var required_fields = getElementsByClass('required');
	var fields_list = '';
	for(var i = 0 ; i < required_fields.length ; i++) {
		if(required_fields[i].value == '') {
			var label = getElement(required_fields[i].id + '_label');
			fields_list += (fields_list != '') ? ', ' + label.innerHTML : label.innerHTML;
			label.style.color = 'red';
		}
	}
	if(fields_list != '') {
		alert(message + fields_list);
		return false;
	} else {
		return true;
	}
}

