function ValidateData()
{
	var result = true;
	
	for (var i = 0; i < ValidateData.arguments.length; i+=4)
	{
		var id = ValidateData.arguments[i];
		var id2 = ValidateData.arguments[i + 1];
		var dataFormat = ValidateData.arguments[i + 2];
		var respID = ValidateData.arguments[i + 3];
		result = validateControl(id, id2, dataFormat, respID) && result;
	}

	return result;
}

function validateControl(id, id2, dataFormat, responseID)
{
	var obj = document.getElementById(id);
	var respObj = document.getElementById(responseID);
	var result = false;
	
	switch (dataFormat)
	{
		case "email":
			if (validateEmail(getObjValue(obj)))
			{	
				result = true;
			}
			else
			{
				setObjValue(respObj, "Not a valid email address.");
				result = false;
			}
			
			break;
		case "compare":
			if (id2 != '')
			{
				var obj2 = document.getElementById(id2);
				if (getObjValue(obj) == getObjValue(obj2))
				{
					result = true;					
				}
				else
				{
					setObjValue(respObj, "Addresses don't match.");
					result = false;
				}
			}
			else
			{
				setObjValue(respObj, "Unable to load second UI Control.");
			}
			
			break;
	}
	
	return result;
}

function setObjValue(obj, newValue)
{
	switch (obj.type)
	{
		case "text":
			obj.value = newValue; 
			break;
	}
}

function getObjValue(obj)
{
	var strValue;
	
	switch (obj.type)
	{
		case "text":
			strValue = obj.value;
			break;	
	}
	
	return strValue;
}

function validateEmail(text)
{	
	var emailRegEx = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
	//str = document.getElementById(emailTxtBox).value;

	if(text.match(emailRegEx))
	{
		return true;
	}
	else
	{
		return false;
	}
}


