/* 	functies voor form view */

var formResult = false;

//Test input mask for given field
function TestRegExp(field,mask)
{	
    var re = new RegExp(mask,"gi");
	var match = field.value.match(re);
	var result = (match) && match[0] == field.value;       // global match only

	if (!result && field.value != "")
	{
		try
		{	// retrieve field label
			var fieldName = document.getElementById("label_" + id).innerHTML.replace(/ \*/g,"");
		}
		catch (err)
		{	// fallback: use field name
			var fieldName = field.name;
		}
		alert("Het veld '" + fieldName + "' is niet correct ingevuld.");
		
		try
		{	// try to select input text
			var range = field.createTextRange();
    		range.moveEnd('character', 255);
    		range.moveStart('character', 0);
    		setTimeout(function () {range.select()},100);
		}
		catch(err)
		{	// fallback: place cursor at end
			setTimeout(function () {field.focus()},100);
		}
	}
}


//Test all required fields
function TestRequired(form)
{
	var result = true, required = [];
	
	if (form.getElementsByClassName)
	{
	    required = form.getElementsByClassName('required');
	}
	else
	{
	    for (var i=0; i<form.length; i++)
	    {
	        if (form[i].className && form[i].className.indexOf('required') >= 0)
	        {
	            required.push(form[i]);
	        }
	    }
	}
	    
		
	for (var i=0; i<required.length; i++)
	{
		var field = required[i];
		var fieldName = field.name;
		var tagName = field.nodeName.toLowerCase();
		
		if (tagName == "input" || tagName == "textarea")
		{
			if (field.type == "radio" || field.type == "checkbox")
			{	
				//test field group
			    var group = document.getElementsByName(fieldName);
			    var result = false;
			    
				for (var j = 0; j < group.length; j++)
				{		
					result = result || (group[j].checked);
				}
			}
			else
			{
				// default: check empty content
				result = (field.value.length > 0);
			}
		}
		else if (tagName == "select")
		{				
			// select list: check index
			result = (field.options[field.selectedIndex].value.length > 0);
		}
				
		if (!result)
		{
			try
			{	// try to use field label
			    var id = field.id.split("_")[1];
				fieldName = document.getElementById("label_" + id).innerHTML.replace(/ \*/g,"");
			}
			catch (e) {}

			alert("Het veld '" + fieldName + "' is nog niet ingevuld.");
			
			if (field.focus) 
			{
				field.focus();
			}
			break;
		}
	}
		
	formResult = result;	
	return result;
}

function newCaptcha(guid) 
{   
    var img = document.getElementById('captchaImage');
    img.src = '/Captcha/' + guid + '.png?rnd=' + Math.random();
}


