// validate
function MM_validateForm() 
{ //v4.0
	var i, p, q, nm, test, alertName, num, min, max, errors='', tt_check='', e_check='', args=MM_validateForm.arguments;

	for (i=0; i<(args.length-2); i+=3) 
	{ 
		test=args[i+2];
		alertName=args[i+1];
		val=MM_findObj(args[i], document.frm);
		if (val) 
		{ 
			nm=val.name; 
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
        			if (p<1 || p==(val.length-1)) 
						errors+='- '+alertName+' must contain an e-mail address.\n';
      			} else if (test!='R') {
        			if (isNaN(val)) 
						errors+='- '+alertName+' must contain a number.\n';
        			if (test.indexOf('inRange') != -1) { 
						p=test.indexOf(':');
          				min=test.substring(8,p); 
						max=test.substring(p+1);
          				if (val<min || max<val) 
							errors+='- '+alertName+' must contain a number between '+min+' and '+max+'.\n';
    				} 
				} 
			} else if (test.charAt(0) == 'R') {
				errors += '- '+alertName+' is required.\n'; 
			}
		}
	}

	if (document.frm.pass.value != "" && document.frm.confpass.value != document.frm.pass.value){
		errors += "- Your passwords do not match.\n";
	}

	if (errors) {
		alert('The following error(s) occurred:\n' + errors);
		return false;
	}
	return true;
}

// find obj
function MM_findObj(n, d) 
{ //v4.0
	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 && document.getElementById) 
		x=document.getElementById(n); 
	
	return x;
}

// validate Login
function MM_validateLogin() 
{ //v4.0
	var i, p, q, nm, test, alertName, num, min, max, errors='', tt_check='', e_check='', args=MM_validateLogin.arguments;

	for (i=0; i<(args.length-2); i+=3) 
	{ 
		test=args[i+2];
		alertName=args[i+1];
		val=MM_findObj(args[i], document.frmLogin);
		if (val) 
		{ 
			nm=val.name; 
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
        			if (p<1 || p==(val.length-1)) 
						errors+='- '+alertName+' must contain an e-mail address.\n';
      			} else if (test!='R') {
        			if (isNaN(val)) 
						errors+='- '+alertName+' must contain a number.\n';
        			if (test.indexOf('inRange') != -1) { 
						p=test.indexOf(':');
          				min=test.substring(8,p); 
						max=test.substring(p+1);
          				if (val<min || max<val) 
							errors+='- '+alertName+' must contain a number between '+min+' and '+max+'.\n';
    				} 
				} 
			} else if (test.charAt(0) == 'R') {
				errors += '- '+alertName+' is required.\n'; 
			}
		}
	}

	if (errors) {
		alert('The following error(s) occurred:\n' + errors);
		return false;
	}
	return true;
}

// show error
function showErr(err)
{
	if (err != "")
		alert(err);
}

// validate other form
function MM_validateOther() 
{ //v4.0
	var i, p, q, nm, test, alertName, num, min, max, errors='', tt_check='', e_check='', args=MM_validateOther.arguments;

	for (i=0; i<(args.length-2); i+=3) 
	{ 
		test=args[i+2];
		alertName=args[i+1];
		val=MM_findObj(args[i], document.frmOther);
		if (val) 
		{ 
			nm=val.name; 
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
        			if (p<1 || p==(val.length-1)) 
						errors+='- '+alertName+' must contain an e-mail address.\n';
      			} else if (test!='R') {
        			if (isNaN(val)) 
						errors+='- '+alertName+' must contain a number.\n';
        			if (test.indexOf('inRange') != -1) { 
						p=test.indexOf(':');
          				min=test.substring(8,p); 
						max=test.substring(p+1);
          				if (val<min || max<val) 
							errors+='- '+alertName+' must contain a number between '+min+' and '+max+'.\n';
    				} 
				} 
			} else if (test.charAt(0) == 'R') {
				errors += '- '+alertName+' is required.\n'; 
			}
		}
	}

	if (errors) {
		alert('The following error(s) occurred:\n' + errors);
		return false;
	}
	return true;
}
