function clickRadioNCheckbox(radioCheckObj,event)
{
	if(event.target) event.srcElement = event.target; // Let Mozilla behave as IE
	if(event.srcElement.type!="checkbox")
	{
		radioCheckObj.getElementsByTagName('input')[0].click();
	}
}

/* ============================================= */
function doubleEmails()
{
	var formObj = document.forms[0];
	var args = arguments;
	var email_arr = new Array();
	
	for (var i=0; i < args.length-1; i++) {
		if (formObj.elements[args[i]].value != "") {
			email_arr[email_arr.length] = formObj.elements[args[i]].value;
		}
	}	
	
	for (var i=0; i < email_arr.length; i++) {
		for (var j=0; j < email_arr.length; j++) {
			if (i != j && (email_arr[i].toLowerCase() == email_arr[j].toLowerCase())) {
				alert(args[args.length-1]);
				errfound = true;
				return !errfound
			}
		}
	}
}
/* ============================================= */

function elfproef(value)
{  
   value=String(value).replace(/[\s\.]+/ig,"");
   switch (value.length) {
		case  3:
		case  4:
		case  5:
		case  6:
		case  7:
			//postbank rekeningnummer
			return true;
			break;
			
		case  9:
		case 10:
			// bankrekeningnummer
			var i=1;
			var n=0;			
			for (c=value.length-1;c>=0;c--,i++)
			{
			   n+=parseInt(value.charAt( c ))*i
			}
			return (n%11)==0
			break;
			
		default:
			return false
   }
}

function validEmails(value,splitChar)
{
	emailList = value.split(splitChar);
	for(var i=0;i<emailList.length;i++)
	{
		if(!validEmail(emailList[i]))
		{
			return false;
		}
	}
	return true;
}

//function to validate an email address
function validEmail(value) {
   	var format = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	return format.test( value );
}

var errfound

// display an error alert
function error(elem,text) {
	window.alert(unescape(text));
	try
	{
		if (elem!=null) elem.focus();
	}
	catch ( e )
	{
		//
	}
	errfound = true;
}


// check the form 
var errorFound
var elmValue
function checkForm(formObj, formCheckList)
{ 
	if(formCheckList==null) return false;

	for(var i in formCheckList)
	{
		
		formElm = formObj[i];
		
		if(formElm){

			// check for type form element
			if(formElm.type)
			{ 
				elmValue = formElm.value;
				elmLabel = (formCheckList[i].elmLabel)?formCheckList[i].elmLabel:"";
			 	switch(formElm.type)
				{
					// input type="text"
					case "text":
					// input type="password"
					case "password":
					// input type="file"
					case "file":
					// textarea
					case "textarea":
						if(formCheckList[i].elmCheck)
						{
							if(elmValue.length<=0 || elmLabel.indexOf(elmValue)>=0){
								error(formElm, formCheckList[i].elmCheck.errorText);
								return false;
							}
							if(formCheckList[i].elmCheck.checkList && elmValue.length)
							{
								for(var j=0;j<formCheckList[i].elmCheck.checkList.length;j++)
								{
									if(!eval(formCheckList[i].elmCheck.checkList[j].funct))
									{
										error(formElm, formCheckList[i].elmCheck.checkList[j].errorText);
										return false;
									}
								}
							}
						}
						break;
					// input type="hidden"
					case "hidden":
						if(formCheckList[i].elmCheck)
						{
							if(elmValue.length<=0 || elmLabel.indexOf(elmValue)>=0){
								error(null, formCheckList[i].elmCheck.errorText);
								return false;
							}
							if(formCheckList[i].elmCheck.checkList && elmValue.length)
							{
								for(var j=0;j<formCheckList[i].elmCheck.checkList.length;j++)
								{
									if(!eval(formCheckList[i].elmCheck.checkList[j].funct))
									{
										error(null, formCheckList[i].elmCheck.checkList[j].errorText);
										return false;
									}
								}
							}
						}
						break;	
					// input type="checkbox"
					case "checkbox":
						if(!formElm.checked)
						{
							error(formElm, formCheckList[i].elmCheck.errorText);
							return false;
						}
						break;
					// select
					case "select-one":
						if(elmValue.length<=0)
						{
							error(formElm, formCheckList[i].elmCheck.errorText);
							return false;
						}
						break;
					// select multiple="multiple"
					case "select-multiple":
						if(formElm.selectedIndex<0)
						{
							error(formElm, formCheckList[i].elmCheck.errorText);
							return false;
						}
						break;
				}
			}
			else 
			{
			 	// input type="radio"
				isChecked=false;
			 	for(var j=0;j<formElm.length;j++)
				{
					if(formElm[j].checked)
					{
						isChecked=true;
						break;
					}
				}
				if(!isChecked)
				{
					error(formElm[0], formCheckList[i].elmCheck.errorText);
					return false;
				}
			}
		}
	}
	return true;
}

/* ============================================= */