// general functions for checking a form input in context of BMO
// the assumptions are written over the function

// default forms use the class "formFieldDescription" for a field text
// switch a label between error- and normal colored
function colorLabel(objectLabelID, setErrorColor)
{	try
	{	if (objectLabelID)
		{	if (setErrorColor) // error
				document.getElementById(objectLabelID).className = "formFieldDescription error";
			else
				document.getElementById(objectLabelID).className = "formFieldDescription";
		}
	}
	catch(e)
	{
	}
}

// format dd.mm.yyyy
function checkValidDate(dateAsString)
{	if (! dateAsString || dateAsString == "")
	{	return false;
	}

	split = dateAsString.split(".")
	
	if (split.length != 3)
	{	return false;
	}
	
	var dateVal = (split[1]) + "/" + split[0] + "/" + split[2];
	var dt = new Date(dateVal);

	// dt.getMonth() + 1 is for the purpose JavaScript starts the month from 0
	return dt.getMonth() + 1 == split[1] && dt.getDate() == split[0] && dt.getFullYear() == split[2];
}

// format mm.yyyy
function checkValidateDateMonthYear(dateAsString)
{	
	if (! dateAsString || dateAsString == "")
	{	return false;
	}

	split = dateAsString.split(".")
	
	if (split.length != 2)
	{	return false;
	}

	var dateVal = (split[0]) + "/01/" + split[1];
	var dt = new Date(dateVal);
	
	// dt.getMonth() + 1 is for the purpose JavaScript starts the month from 0
	return dt.getMonth() + 1 == split[0] && dt.getFullYear() == split[1];
}

// if there is an label try to color
function checkTextFieldIsEmpty(objTextFieldID, objectLabelID)
{	try
	{	var ret = true;
		var object = document.getElementById(objTextFieldID);
		
		if (object.value && object.value.length > 0)
			ret = false;
			
		colorLabel(objectLabelID, ret);

		return ret;
	}
	catch(e)
	{	//alert(e);
		return true;
	}
}
function checkTextFieldIsValidEmail(objTextFieldID, objectLabelID)
{	var ret = checkTextFieldIsEmpty(objTextFieldID, objectLabelID);
	
	if (ret==true) // text field is empty -> not valid
		return false;
		
	try
	{	var textField = document.getElementById(objTextFieldID);
		ret = isValidEmail(textField.value);
		colorLabel(objectLabelID, !ret);
	}
	catch(e)
	{	//alert(e);
	}
	return ret; 
}

