function highlight_error(element_id){
	var err_elem_id = 'error_hl_'+element_id;
	if ($('#'+err_elem_id).length == 0){
		$('#'+element_id).after('<span class="error_hl_element" id="'+err_elem_id+'" style="color: #FF0000;">*</span>');
	}
	else{
		$('#'+err_elem_id).show();
	}
}

function showError(element, title, message, reasons){
	var html = '<h3>'+title+'</h3><hr>';
	html += '<div>';
	html += message;
	if (reasons){
		if (typeof(reasons) == 'object' && reasons.length){
			reasons = '<ul><li>'+reasons.join('</li><li>')+'</li></ul>';
		}
		html += reasons;
	}
	html += '</div>';
	$('#'+element).html(html);
	$('#'+element).show();
}

function caps(event)
{
	if(!event)
		event=window.event;
	if(!event)
	{
		capsAlert(false);
		return;
	}
	if(event.charCode){
		keypress=event.charCode;
	}
	else if(event.which){
		keypress=event.which;
	}
	else if(event.keyCode){
		keypress=event.keyCode;
	}
	else{
		keypress=0;
	}
	var shiftkey=event.shiftKey || (event.modifiers && (event.modifiers & 4));
	if ((keypress>64 && keypress<91 && !shiftkey) || (keypress>96 && keypress<123 && shiftkey)){
		// document.getElementById("alert").style.visibility="visible";
		if (event.target) {var tg = event.target;}
		else if (event.srcElement) {var tg = event.srcElement;}
		if ($('#CapsAlert').length == 0){
			$('body').append('<div id="CapsAlert" class="error" style="position: absolute; left: 0px; top: 0px; width: 400px;"></div>');
		}
		if (tg){
			tg = $(tg);
			var tgo = tg.offset();
			$('#CapsAlert').css('left', tgo['left']).css('top', tgo['top'] + tg.height());
		}
		showError('CapsAlert', 'Caps Lock is On', '', ['Having Caps Lock on may cause you to enter your password incorrectly.', 'You should press Caps Lock to turn it off before entering your password.']);
	}
	else{
		// document.getElementById("alert").style.visibility="hidden";
		$('#CapsAlert').hide();
	}
}
