/////////////////////////////////////////////////////////////////////////////////////////////
// Validate form
/////////////////////////////////////////////////////////////////////////////////////////////

// configure validator
var styleBackgroundColor = '#FEF0CF';
var styleBorder = '1px solid #DD9C04';
var alertText = 'Nevyplnili jste povinné údaje pro odeslání formuláře!';
var alertTextMerged = 'Poľadované hodnoty formuláře se neshodují!';
var alertTextCheckboxes = 'Nepotvrdili jste poľadované podmínky!';

/////////////////////////////////////////////////////////////////////////////////////////////
function CheckForm(formId, requireFields, mergedFields, requiredCheckboxes)
{
	var noValidate = false;
	var noValidateMerged = false;
	var noValidateCheckboxes = false;
	var obj = null;
	var lastMergedField = null;
	
	for (var i in requireFields)
	{
		obj = document.getElementById(requireFields[i]);
		if(obj != null)
		{
			obj.style.backgroundColor = '';
			obj.style.border = '';
		
			switch (obj.type)
			{
				case 'text':
				case 'textarea':
				case 'password':
					if(obj.value == '')
					{
						obj.style.backgroundColor = styleBackgroundColor;
						obj.style.border = styleBorder;
						noValidate = true;
					}
					break;
				
				case 'select-one':
					if(obj.selectedIndex >= 0 && obj.options[obj.selectedIndex].value == '')
					{
						obj.style.backgroundColor = styleBackgroundColor;
						obj.style.border = styleBorder;
						noValidate = true;
					}
					break;
			}
		}
	}
	
	if(mergedFields){
		for (var i in mergedFields)
		{
			obj = document.getElementById(mergedFields[i]);
			if(obj != null)
			{
				if(lastMergedField != null && lastMergedField != obj.value)
				{ 
					noValidateMerged = true; 
					document.getElementById(mergedFields[0]).style.backgroundColor = styleBackgroundColor;
					document.getElementById(mergedFields[0]).style.border = styleBorder;
					obj.style.backgroundColor = styleBackgroundColor;
					obj.style.border = styleBorder;					
				}
				lastMergedField = obj.value;
			}
		}
	}
	if(requiredCheckboxes){
		for (var i in requiredCheckboxes)
		{
			obj = document.getElementById(requiredCheckboxes[i])
			if(obj != null)
			{
				if(obj.checked == false)
				{
					noValidateCheckboxes = true;	
				}				
			}
		}
	}
	
	if(noValidate)
	{
		alert(alertText);
		document.getElementById(requireFields[0]).focus();
		return false;
	}
	else if(noValidateMerged)
	{
		alert(alertTextMerged);
		document.getElementById(mergedFields[0]).focus();
		return false;
	} 
	else if(noValidateCheckboxes)
	{
		alert(alertTextCheckboxes);
		document.getElementById(requiredCheckboxes[0]).focus();
		return false;
	} 
	else
		return true;
}


/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
