
/**
 *  Cross-browser implementation of element.addEventListener()
 */
function addListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
 
	if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	} else {
		return false;
	}
}


/**
 * Given a SELECT element and a value String, it searches through the options and sets the selected item
 * 
 * @param pSelect
 * @param pValue
 * @param pDefaultIndex
 * @returns {Boolean}
 */
function setSelectedOption(pSelect, pValue, pDefaultIndex) {
	var options = pSelect.options;

	for ( var i=0 ; i < options.length ; i++ ){
		if(options[i].value == pValue) {
			pSelect.selectedIndex = i;
			return true;
		}
	}
	
	if (typeof pDefaultIndex == 'number')
		pSelect.selectedIndex = pDefaultIndex;
	else
		pSelect.selectedIndex = 0;
	
	return false;
}

function validateEmailUtil(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 


