﻿var mx_errors				=	new Array();
var mx_errors_tags	=	new Array();

function mx_g(id)
{
	return this.document.getElementById(id);
}

function mx_onsubmit(level)
{
	if(level == undefined) level = 0;
		
	requiredFields 			= mx_g('mx_fielddata_required').value.split(";");
	requiredFieldsLable = mx_g('mx_fielddata_required_lable').value.split(";");
	
	mx_checkForErrorsLevel(level);
	
	return mx_handleErrors(level);
}

function mx_handleErrors(level)
{
	if(level == '1' || level == '3')
	{
		errordiv = mx_g('mx_error');
		if(errordiv)
		{
			errordiv.innerHTML = '';
		}
		else
		{
			errordiv = document.createElement('div');
		}
		errordiv.setAttribute('id', "mx_error");
		errordiv.setAttribute('class', "mx_error");
		
		for (i=0;mx_errors.length>i;i++)
		{
			errordiv.innerHTML = errordiv.innerHTML + "- " + mx_errors[i] + "<br />";
		}
		
		if(mx_errors.length > 0)
		{
			mx_g('mx_signup').insertBefore(errordiv, mx_g('mx_signup').firstChild);
		}
		else
		{
			mx_g('mx_signup').removeChild(mx_g('mx_signup').childNodes[0]);
		}
	}

	if(level == '2' || level == '3')
	{
		for(i=0; mx_errors_tags.length>i; i++)
		{
			existsingClassString = mx_g('mx_' + mx_errors_tags[i]).className;
			if(existsingClassString.length == 0)
			{
				mx_g('mx_' + mx_errors_tags[i]).className = 'mx_error';
			}
			else
			{
				mx_g('mx_' + mx_errors_tags[i]).className += ' mx_error';
			}
		}
	}
	
	hasErrors = (mx_errors_tags.length > 0) ? false : true;
	
	mx_errors 			= Array();
	mx_errors_tags 	= Array();
	
	return hasErrors;
}

function mx_checkForErrorsLevel(level)
{
	for(i=0; i<(requiredFields.length); i++)
	{
		tempElement = mx_g('mx_' + requiredFields[i]);
		if(tempElement)
		{
			if(tempElement.value.length < 1)
			{
				mx_errors[mx_errors.length] = "Bitte füllen Sie das Feld \"" + requiredFieldsLable[i] + "\" aus.";
				mx_errors_tags[mx_errors_tags.length] = requiredFields[i];
			}
			else
			{
				if(requiredFields[i] == 'email')
				{
					mailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if(!mailFilter.test(tempElement.value))
					{
						mx_errors[mx_errors.length] = "Bitte füllen Sie das Feld \"" + requiredFieldsLable[i] + "\" korrekt aus.";
						mx_errors_tags[mx_errors_tags.length] = requiredFields[i];
					}
				}
				
				/*
				if(requiredFields[i] == "birthday_date")
				{
					bdayFilter = /^\d{2}\.\d{2}\.\d{4}$/;
					if(!bdayFilter.test(tempElement.value))
					{
						mx_errors[mx_errors.length] = "Bitte füllen Sie das Feld \"" + requiredFieldsLable[i] + "\" korrekt aus.";
						mx_errors_tags[mx_errors_tags.length] = requiredFields[i];
					}
				}
				*/
			}
			
			classStringNew 		= "";
			classString 			= mx_g('mx_' + requiredFields[i]).className;
			classStringSplit 	= classString.split(" ");
			
			for(p=0; p<(classStringSplit.length); p++)
			{
				if(classStringSplit[p] == "mx_error") continue;
				
				if(classStringNew.length == 0)
				{
					classStringNew = classStringSplit[p];
				}
				else
				{
					classStringNew += ' ' + classStringSplit[p];
				}
			}
			
			mx_g('mx_' + requiredFields[i]).className = classStringNew;
		}
	}
}