// JavaScript Document

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function validate() {
	
	if (document.mail) {
		selectAllOptions(document.forms[0]['mailTo[]']);
	}
	
	var errors = 0;
	var items = getElementsByClass('required',document,'*');
	var labels = getElementsByClass('lblrequired',document,'label');
	var email = getElementsByClass('email',document,'input');
	var lblemail = getElementsByClass('lblemail',document,'label');

	for( var i=0; i < items.length; i++ ){
			if ( items[i].value == '' ) {
				errors = errors + 1;
				labels[i].style.color = 'red';	
			} else {
				labels[i].style.color = '';	
			}
	}
	
	for( var i=0; i < email.length; i++ ){
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			if ( filter.test(email[i].value) ) {
				lblemail[i].style.color = '';	
			} else {
				errors = errors + 1;
				lblemail[i].style.color = 'red';	
			}
	}
	
	if (document.contact) {	
		for (var i=0; i < document.contact.mailingList.length; i++) {
		   if (document.contact.mailingList[i].checked) {
			   if ( document.contact.mailingList[i].value == 'yes' && document.contact.age.value == '' ) {
					errors = errors + 1;
					document.getElementById('lblage').style.fontWeight  = 'bold';
					document.getElementById('lblage').style.color  = 'red';			
				} else {
					document.getElementById('lblage').style.fontWeight  = 'normal';
					document.getElementById('lblage').style.color  = '';	
				}  	  
		  }
		}
	}
	
	if (errors > 0)
		{
			//if there are any errors give a message
			alert ("Please make sure all fields are properly completed. Errors are marked in red!");
			errors = 0;// reset errors to 0
			return false;
		}
		else return true;
		
}


function confirmDelete() {
	var agree = confirm("Delete address?");
	if (agree) 
		return true;
	else
		return false;
}