/*
	*** REGISTER.JS ***
	Functions used on the registration form.
		- toggle_inst()
		- validateForm()
		- validateEmail(emailStr)
*/
function toggle_inst()
{
	if(document.register.rim_id.value=="NONE")
		document.register.pim_id.disabled=true;
	else
	{
		// if a value is selected, enable text field
		document.register.pim_id.disabled=false; 
		
		// focus on text field
		//document.register.pim_id.focus();
	}
}

function validateResetForm()
{
	// list of element to check
	var checkList=new Array('new_pswd','retyped_pswd','access_key');
	var checkListLen=checkList.length;
	
	// no error yet
	var found=false;
	
	// parse every element
	for(i=0; i<checkListLen; i++)
	{
		// if no errors found yet
		if(!found)
		{
			// make sure no empty fields posted (if no errors found yet)
			var checkItem=eval('document.reset_pswd.' + checkList[i] + '.value');
			if(checkItem=="")
			{
				// flag error
				found=true;
				// alert user
				alert("The field '" + checkList[i] + "' cannot be empty.");
				eval('document.reset_pswd.' + checkList[i] + '.focus()');
			}
		}
		
		// if no errors found yet
		if(!found)
		{
			// make sure no PHP nor JS code was inserted (if no errors found yet)
			var checkItem=eval('document.reset_pswd.' + checkList[i] + '.value');
			
			// list of TAGS to seek for
			var tags=new Array('<?', '?>', '<script', '</script>');
			var tagLen=tags.length;
			
			// parse every element
			for(j=0; j<tagLen; j++)
			{
				if(!found)
				{
					var test=eval('checkItem.indexOf(\'' + tags[j] + '\')');
					if(test>0)
					{
						// flag error
						found=true;
						// alert user
						alert("Please don't try injecting code.");
						eval('document.reset_pswd.' + checkList[i] + '.focus()');
					}
				}
			}
		}
	}
	
	// submit form (if no errors found yet)
	if(!found)
	{
		document.reset_pswd.submit();
	}
}

function validateForm()
{
	// list of element to check
	var checkList=new Array(/*'username','email',*/'access_key');
	var checkListLen=checkList.length;
	
	// no error yet
	var found=false;
	
	// parse every element
	for(i=0; i<checkListLen; i++)
	{
		// if no errors found yet
		if(!found)
		{
			// make sure no empty fields posted (if no errors found yet)
			var checkItem=eval('document.register.' + checkList[i] + '.value');
			if(checkItem=="")
			{
				// flag error
				found=true;
				// alert user
				alert("The field '" + checkList[i] + "' cannot be empty.");
				eval('document.register.' + checkList[i] + '.focus()');
			}
		}
		
		// if no errors found yet
		if(!found)
		{
			// make sure no PHP nor JS code was inserted (if no errors found yet)
			var checkItem=eval('document.register.' + checkList[i] + '.value');
			
			// list of TAGS to seek for
			var tags=new Array('<?', '?>', '<script', '</script>');
			var tagLen=tags.length;
			
			// parse every element
			for(j=0; j<tagLen; j++)
			{
				if(!found)
				{
					var test=eval('checkItem.indexOf(\'' + tags[j] + '\')');
					if(test>0)
					{
						// flag error
						found=true;
						// alert user
						alert("Please don't try injecting code.");
						eval('document.register.' + checkList[i] + '.focus()');
					}
				}
			}
		}
	}
	
	// make sure valid email was provided (if no errors found yet)
	if(!found)
	{
		if(!validateEmail(document.register.email.value))
		{
			alert("Please provide a valid email address.");
			document.register.email.focus();
		}
		else
		{
			document.register.submit();
		}
	}
}

function validateEmail(emailStr)
{
	//var objRegExp=/(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	var objRegExp=/^[0-9a-z]([-_\.]?[0-9a-z]*)*@[0-9a-z]([-_\.]?[0-9a-z])*\.[a-z]{2,3}$/i;
	return objRegExp.test(emailStr);
}