function MM_findObj(n, d) { //v4.01
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
    	d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n);
	return x;
}

function MM_validateForm() { //v4.0
	var i=0,p="",q="",q2="",nm="",test="",num="",errors='',args=MM_validateForm.arguments;
	for (i=0; i<(args.length-1); i+=2) {	
		test=args[i+1];
		val=MM_findObj(args[i]);
		if (val) {
			nm=val.name; 
			val=trim_whitespaces(val.value);
			if (val!="") {
				if (test.indexOf('isEmail')!=-1) {
					p = emailValidation(val);
					if (p==false)
		 				errors+='- '+nm+' must contain a valid E-mail address.\n  Ex: someone@domain.com\n';
					/*
					p=val.indexOf('@');
       				q=val.indexOf('.',p+2);
       				if (p==-1 || p==(val.length-1) || q==-1 || q<=p)
		 				errors+='- '+nm+' must contain a valid E-mail address.\n  Ex: someone@domain.com\n';
					*/
				}else if (test.indexOf('isNum')!=-1) {
					num = parseFloat(val);
					if (isNaN(val)){
						errors+='- '+nm+' must be a number.\n';
					}
				} else if (test!='R'){
					num = parseFloat(val);
					if (isNaN(val)){
						errors+='- '+nm+' must be a number.\n';
					}
					if (test.indexOf('inRange') != -1){
						p=test.indexOf(':');
					  	min=test.substring(8,p);
						max=test.substring(p+1);
					  	if (num<min || max<num){
							errors+='- valid '+nm+' is between '+min+' and '+max+'.\n';
						}
					}
				} 							   
			} else if (test.charAt(0) == 'R'){
				errors += '- '+nm+' is missing.\n';
			}
		}
	}
	if (errors)	alert('The following error(s) occurred:\n'+errors);
  	document.MM_returnValue = (errors == '');
}

function trim_whitespaces(tstr){
	return tstr.replace(/(^\s*)|(\s*$)/g, "");
}

function emailValidation(tstr){
	var emailRegEx =/^([a-zA-Z0-9])(([a-zA-Z0-9])*([\._-])?([a-zA-Z0-9]))*@(([a-zA-Z0-9\-])+(\.))+([a-zA-Z]{2,4})+$/
	if (tstr.search(emailRegEx )==-1){ //if match failed
		return false;
	}else{
		return true;
	}
}