var $ = function (id) { return document.getElementById(id); }
var getCl = function (el) {
	var className = el.getAttribute('className');
	var c = el.getAttribute('class');
	if (className != "")
		return className;
	else
		return c;
}
var setCl = function(el, c) { 
	el.setAttribute('class', c);
	el.setAttribute('className', c);
}

function checkEmail(email) { return email.length > 0 && email.match(/[\w\d._+]+@[\w\d.-]+\.[a-z]{2,4}$/i); }

function showMessage(container, msg, ext, isNotice, showProgress) {
	while(container.firstChild) container.removeChild(container.firstChild);

	if (ext != undefined && ext != null) {
		var div = document.createElement('div');
		setCl(div, isNotice ? 'notice' : 'error');
		div.appendChild(document.createTextNode(msg));
		div.appendChild(document.createElement('br'));
		var info = document.createElement('div');
		setCl(info, 'info');
		info.innerHTML = ext;
		div.appendChild(info);
		container.appendChild(div);
	} else {
		if (showProgress != undefined && showProgress != null && showProgress) {
			var progress = document.createElement('div');
			setCl(progress, 'info');
			progress.appendChild(document.createTextNode(msg));
			var img = document.createElement('img');
			img.setAttribute('src', www + 'img/star.gif');
			img.setAttribute('alt', '*');
			progress.appendChild(img);
			container.appendChild(progress);
	    } else {
   			container.appendChild(document.createTextNode(msg));
	    	setCl(container, 
	    		isNotice != undefined && isNotice != null && isNotice ? 'notice' : 'error');
	    }
	}
}
function showProgress(container, msg) {
	showMessage(container, msg, null, true, true);
}
function showError(container, msg) {
	showMessage(container, msg, null, false, false);
}
function showNotice(container, msg) {
	showMessage(container, msg, null, true, false);
}
function showErrorExt(container, msg, ext) {
	showMessage(container, msg, ext, false, false);
}
function checkEmptyField(field, notice, msg) {
	if (field.value.match(/^\s*$/)) {
		showError(notice, msg);
		field.focus();
		return true;
	}
	return false;
}
