function e(id){
  return document.getElementById(id);
}

/*
//unstable
function validEmail(emailAddress)
{
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}
*/

function validEmail(emailAddress)
{
    var pattern = new RegExp(/^[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$/);
    //you can try this too
    //var pattern=new RegExp("^[\w!#$%&'*+/=?`{|}~^-]+(?:\.[!#$%&'*+/=?`{|}~^-]+)*@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$");
    return pattern.test(emailAddress);
}


//http://blog.stevenlevithan.com/archives/faster-trim-javascript
function trim11 (str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

function popup(link){
    if (! window.focus) return true;
    var href;
    if (typeof(link) == 'string') href=link;
    else href=link.href;
    //window.open(href,'', 'width=400,height=200,scrollbars=yes');
    window.open(href);
    return false;
    /* <a href="popupbasic.html" onClick="return popup(this)">my popup</a> */
}
