/* FRITS *** Ofterwel: Fabian's Rete Intelligent Tab :-P Systeem */

var frits_fields_old_values = Array();
var frits_mode = '';

function frits_hide(id)
{
	var obj = document.getElementById(id);

	if (obj)
	{
		obj.style.display = 'none';
	}
}

function frits_show(id)
{
	var obj = document.getElementById(id);

	if (obj)
	{
		obj.style.display = 'block';
	}
}

function frits_clear()
{
	frits_fields_old_values = Array();
}

function frits_abort(doNotSetOldValues)
{
	frits_clear_dynamicTooltips();
	
	frits_deactiveer_tabbox();

	frits_buttons_setState(frits_buttonsIDPrefix_current, 1);

	frits_errors_reset();

	if (!doNotSetOldValues)
	{
		for(var id in frits_fields_old_values)
		{
			var obj = document.getElementById(id);
			
			if (obj)
			{
				obj.innerHTML = frits_fields_old_values[id];
			}
		}
	}

	frits_unhidedivs();

	frits_fields_old_values = Array();
}

function frits_clear_dynamicTooltips()
{
	var dynamictooltipContainerDiv = document.getElementById('dynamictooltip_container');

	for(var id in frits_tooltip_data)
	{
		dynamictooltipContainerDiv.removeChild(frits_tooltip_data[id]);
	}

	frits_tooltip_data = Array();
}

function frits_hide_dynamicTooltips()
{
	var dynamictooltipContainerDiv = document.getElementById('dynamictooltip_container');

	for(var id in frits_tooltip_data)
	{
		frits_tooltip_data[id].style.display = 'none';
	}
}

function frits_show_dynamicTooltips()
{
	var dynamictooltipContainerDiv = document.getElementById('dynamictooltip_container');

	for(var id in frits_tooltip_data)
	{
		frits_tooltip_data[id].style.display = 'block';
	}
}

function frits_position_dynamicTooltips()
{
	for(var id in frits_tooltip_data)
	{
		var formField = document.getElementById(id);
		frits_tooltip_data[id].style.left = (findPosX(formField)-20) + 'px';
		frits_tooltip_data[id].style.top = (findPosY(formField)) + 'px';
	}
}

function frits_isElementChildOf(parent, ID)
{
	if (parent && parent.childNodes)
	{
		for(var i=0; i<parent.childNodes.length; i++)
		{
			var obj = parent.childNodes[i];

			if (obj.id == ID || frits_isElementChildOf(obj, ID))
			{
				return true;
			}
		}
	}

	return false;
}

var frits_field_id_counter = 0;
var frits_errors = Array();

function frits_errors_reset()
{
	
	frits_errors = Array();

	var obj = document.getElementById('taberrors');

	if (obj)
	{
		obj.innerHTML = '<div id="taberrors"></div>';
	}
}

function frits_activeer_tabbox()
{
	if (document.getElementById('tabbox'))
	{
		document.getElementById('tabbox').style.display = 'block';
	}

	frits_position_dynamicTooltips();
}

function frits_deactiveer_tabbox()
{
	if (document.getElementById('tabbox'))
	{
		document.getElementById('tabbox').style.display = 'none';
	}
}

function frits_errors_add(fieldID, message)
{
	var i = frits_errors.length;

//	frits_errors[i] =

	frits_errors.length++;

	var obj = document.getElementById('taberrors');
	obj.innerHTML = obj.innerHTML + '<li>' + message + '</li>';

	if (fieldID != -1)
	{
		frits_field_highlight(fieldID, true);
	}
}

function frits_field_set_value(fieldID, value)
{
	//alert(value);
	eval(frits_setValueFunctions[fieldID] + "(fieldID, value);");
}

function frits_field_enable(fieldID)
{
	eval(frits_enableFunctions[fieldID] + "(fieldID);");
}

function frits_field_disable(fieldID)
{
	eval(frits_disableFunctions[fieldID] + "(fieldID);");
}

function frits_field_highlight(fieldID, state)
{
	eval(frits_highlightFunctions[fieldID] + "(fieldID, state);");
}

var frits_buttonsIDPrefix_current = null;
var frits_hideDivs = Array();
var frits_showDivs = Array();
var frits_objectNamesToEdit = null;

function frits_unhidedivs()
{
	if (frits_showDivs.length)
	{
		for (var i=0; i<frits_showDivs.length;i++)
		{
			frits_hide(frits_showDivs[i]);
		}
	}

	if (frits_hideDivs.length)
	{
		for (var i=0; i<frits_hideDivs.length;i++)
		{
			frits_show(frits_hideDivs[i]);
		}
	}

	frits_hideDivs = Array();
	frits_showDivs = Array();
}

function frits_makeAddable(isFromTab, buttonsIDPrefix, hideDivs, showDivs)
{
	frits_makeEditable(isFromTab, buttonsIDPrefix, "frits_editable_new", "add", hideDivs, showDivs);
}

function frits_check_setcontent(content)
{
	var fritsCheckableLoading = document.getElementById('frits_checkable_loading');
	var fritsCheckableContent = document.getElementById('frits_checkable_content');
	
	fritsCheckableLoading.style.display = 'none';
	fritsCheckableContent.innerHTML = content;
	fritsCheckableContent.style.display = 'block';
}

// Used for debugging the contents of frits_fields_old_values
function frits_updateOldValues()
{
	var xml_in_obj = document.getElementById('xml_js');

	if (xml_in_obj)
	{
		xml_in_obj.value = '';

		for(var id in frits_fields_old_values)
		{
			var value = frits_fields_old_values[id];

			xml_in_obj.value += id + ' => ' + value + '\n';
		}
	}
}

function frits_makeCheckable(isFromTab)
{
	frits_abort();

	if (!isFromTab)
	{
		isFromTab = false;
	}
	frits_objectNamesToEdit = null;

	var objs = document.getElementsByTagName('span');
	var tabBody = document.getElementById('tabbody');
	var editableFields = Array();
	var fieldCount = 0;
	var className = "frits_checkable";
	var buttonsIDPrefix = '';

	frits_mode = 'check';

	for (var i=0; i<objs.length;i++)
	{
		if (objs[i].className == className || objs[i].className.indexOf(className + ' ') != -1)
		{
			var obj = objs[i];
			var value = obj.innerHTML;
			var editableObjectName = obj.getAttribute('fritsobject');
			var id = objs[i].id ? objs[i].id : '_field_' + (frits_field_id_counter++);
			objs[i].id = id;

			var elementIsInTab = frits_isElementChildOf(tabBody, id);

			if (
				editableObjectName
				&&	(
						(!isFromTab && !elementIsInTab)
					||	(isFromTab && elementIsInTab)
				)
			)
			{
				editableFields['field[' + fieldCount + '][id]'] = id;
				editableFields['field[' + fieldCount + '][objectname]'] = editableObjectName;

				if (objs[i].className.indexOf('frits_hiddenvalue') != -1)
				{
					editableFields['field[' + fieldCount + '][isHidden]'] = 1;
					editableFields['field[' + fieldCount + '][value]'] = value;
				}

				fieldCount++;

				frits_fields_old_values[id] = value;
			}
		}
	}

	frits_updateOldValues();

	if (buttonsIDPrefix)
	{
		frits_buttons_setState(buttonsIDPrefix, 2);

		frits_buttonsIDPrefix_current = buttonsIDPrefix;
	}

	editableFields['mode'] = frits_mode;

	ajax_modulerequest('editcontainer/', editableFields);
}

function frits_makeEditable(isFromTab, buttonsIDPrefix, className, mode, hideDivs, showDivs, objectNamesToEdit)
{
	frits_abort();

	//alert('frits_makeEditable()');

	frits_objectNamesToEdit = objectNamesToEdit;	

	var objs = document.getElementsByTagName('span');
	var tabBody = document.getElementById('tabbody');
	var editableFields = Array();
	var fieldCount = 0;

	if (!className)
		className = "frits_editable";

	if (!mode)
		mode = 'edit';

	frits_mode = mode;
	
	if (hideDivs && hideDivs.length)
	{
		frits_hideDivs = hideDivs;
		
		for (var i=0; i<hideDivs.length;i++)
		{
			frits_hide(hideDivs[i]);
		}
	}

	if (showDivs && showDivs.length)
	{
		frits_showDivs = showDivs;
		
		for (var i=0; i<showDivs.length;i++)
		{
			frits_show(showDivs[i]);
		}
	}
	
	for (var i=0; i<objs.length;i++)
	{
		if (objs[i].className == className)
		{
			var obj = objs[i];
			var value = obj.innerHTML;
			var editableObjectName = obj.getAttribute('fritsobject');
			var id = objs[i].id ? objs[i].id : '_field_' + (frits_field_id_counter++);
			objs[i].id = id;

			var elementIsInTab = frits_isElementChildOf(tabBody, id);

			if (
				editableObjectName
				&&	(
						(!isFromTab && !elementIsInTab)
					||	(isFromTab && elementIsInTab)
				)
			)
			{
				var okayToEdit = true;

				if (objectNamesToEdit && objectNamesToEdit.length > 0)
				{
					okayToEdit = false;

					var name = new String(editableObjectName);

					for(var z=0; z<objectNamesToEdit.length; z++)
					{
						if (name.indexOf(objectNamesToEdit[z] + '::', 0) == 0)
						{
							okayToEdit = true;
						}
					}
				}

				if (okayToEdit)
				{
					editableFields['field[' + fieldCount + '][id]'] = id;
					editableFields['field[' + fieldCount + '][objectname]'] = editableObjectName;

					fieldCount++;
					//alert(value);
					frits_fields_old_values[id] = value;
				}
			}
		}
	}

	frits_buttons_setState(buttonsIDPrefix, 2);

	frits_buttonsIDPrefix_current = buttonsIDPrefix;

	editableFields['mode'] = frits_mode;

	ajax_modulerequest('editcontainer/', editableFields);
}

function required_fields_show()
{
	var objs = document.getElementsByTagName('img');

	for (var i=0; i<objs.length;i++)
	{
		if (objs[i].className == "required_sign")
		{
			var enable = true;

			if (frits_objectNamesToEdit && frits_objectNamesToEdit.length > 0)
			{
				var editableObjectName = objs[i].getAttribute('fritsobject');

				if (editableObjectName)
				{
					enable = false;

					var name = new String(editableObjectName);

					for(var z=0; z<frits_objectNamesToEdit.length; z++)
					{
						if (name.indexOf(frits_objectNamesToEdit[z] + '::', 0) == 0)
						{
							enable = true;
						}
					}
				}
			}

			if (enable)
			{
				objs[i].style.display = 'block';
			}
		}
	}
}

function required_fields_hide()
{
	var objs = document.getElementsByTagName('img');

	for (var i=0; i<objs.length;i++)
	{
		if (objs[i].className == "required_sign")
		{
			objs[i].style.display = 'none';
		}
	}
}

function frits_buttons_setCurrentState(state)
{
	frits_buttons_setState(frits_buttonsIDPrefix_current, state);
}

function frits_buttons_setState(IDPrefix, state)
{
	var verplichtVeldObj = document.getElementById('verplichtVeld');
	
	if (state == 3)
	{
		if (verplichtVeldObj) { verplichtVeldObj.style.display = 'block'; }

		required_fields_show();
	}
	else
	{
		if (verplichtVeldObj) { verplichtVeldObj.style.display = 'none'; }

		required_fields_hide();
	}

	if (state != 2)
	{
		tab_hide_loadingScreen();
	}

	if (IDPrefix)
	{
		var obj = document.getElementById(IDPrefix + '_loading');
		
		if (obj)
		{
			obj.style.display = state == 2 ? 'block' : 'none';
		}

		var obj = document.getElementById(IDPrefix + '_edit');
		
		if (obj)
		{
			obj.style.display = state == 1 ? 'block' : 'none';
		}

		var obj = document.getElementById(IDPrefix + '_save');
	
		if (obj)
		{
			obj.style.display = state == 3 ? 'block' : 'none';
		}
	}
}

var frits_getValueFunctions = Array();
var frits_setValueFunctions = Array();
var frits_disableFunctions = Array();
var frits_enableFunctions = Array();
var frits_highlightFunctions = Array();
var frits_tooltip_data = Array();

function frits_submit()
{
	//mantis:0011145
	frits_deactiveer_tabbox();
	
	var editableFields = Array();
	var fieldCount = 0;

	for(var id in frits_fields_old_values)
	{
		var obj = document.getElementById(id);
		var value = obj.innerHTML;
		var editableObjectName = obj.getAttribute('fritsobject');
		var id = obj.id;

		var value = '';

		eval("value = " + frits_getValueFunctions[id] + "('" + id + "');");
		eval(frits_disableFunctions[id] + "('" + id + "');");
		
		editableFields['field[' + fieldCount + '][id]'] = id;
		editableFields['field[' + fieldCount + '][objectname]'] = editableObjectName;
		editableFields['field[' + fieldCount + '][value]'] = value;
	
		frits_field_highlight(id, false);

		fieldCount++;

		//frits_fields_old_values[id] = value;
	}

	editableFields['mode'] = frits_mode;
	
	ajax_modulerequest('editcontainer/submit/', editableFields);
}

function frits_function_exists(functionName)
{
	var evaluateCode = 'if (window.' + functionName + ') { result = true; }';
	var result = false;
	
	eval(evaluateCode);

	return result;
}

function frits_set_tooltip(id, html)
{
	var dynamictooltipContainerDiv = document.getElementById('dynamictooltip_container');

	if (frits_tooltip_data[id])
	{
		dynamictooltipContainerDiv.removeChild(frits_tooltip_data[id]);
	}

	var tooltip = document.createElement('div');
	tooltip.className = 'dynamictooltip';
	tooltip.id = id + '_action';
	tooltip.innerHTML = '<a href="JavaScript:void(null);" onclick="this.blur(); return false;" onmouseover="tooltipsy_show(\'' + tooltip.id + '\', unescape(\'' + escape(html) + '\'));" onmouseout="tooltipsy_hide();">(?)</a>';
	dynamictooltipContainerDiv.appendChild(tooltip);

	frits_tooltip_data[id] = tooltip;
}

function frits_set_html(id, html, type)
{
	if (!type)
	{
		type = '';
	}

	getValueFunction = frits_function_exists('frits_' + type + '_getValue') == true ? 'frits_' + type + '_getValue' : 'frits_default_getValue';
	setValueFunction = frits_function_exists('frits_' + type + '_setValue') == true ? 'frits_' + type + '_setValue' : 'frits_default_setValue';
	disableFunction = frits_function_exists('frits_' + type + '_disable') == true ? 'frits_' + type + '_disable' : 'frits_default_disable';
	enableFunction = frits_function_exists('frits_' + type + '_enable') == true ? 'frits_' + type + '_enable' : 'frits_default_enable';
	highlightFunction = frits_function_exists('frits_' + type + '_highlight') == true ? 'frits_' + type + '_highlight' : 'frits_default_highlight';

	frits_getValueFunctions[id] = getValueFunction;
	frits_setValueFunctions[id] = setValueFunction;
	frits_disableFunctions[id] = disableFunction;
	frits_enableFunctions[id] = enableFunction;
	frits_highlightFunctions[id] = highlightFunction;

	var obj = document.getElementById(id);
	obj.innerHTML = html;
}

/* STRING FIELD */

function frits_default_getValue(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input');
	return inp.value;
}

function frits_default_setValue(formFieldID, value)
{
	var inp = document.getElementById(formFieldID + '_input');
	inp.value = value;
}

function frits_default_disable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input');
	inp.disabled = true;
}

function frits_default_enable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input');
	inp.disabled = false;
}

function frits_default_highlight(formFieldID, state)
{
	var inp = document.getElementById(formFieldID + '_input');
	
	if (inp)
	{
		var clname = String(inp.className);
		clname= clname.replace(/frits_form_error/, '');
		
		if (state)
		{
			clname += ' frits_form_error';
		}

		inp.className = clname;
	}
}

/* CHOICE FIELD */

function frits_cw_checkenable_getValue(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input');
	return inp.checked ? 1 : '';
}

function frits_cw_checkenable_setValue(formFieldID, value)
{
}

function frits_cw_checkenable_enable(formFieldID)
{
}

function frits_cw_checkenable_disable(formFieldID)
{
}

function frits_cw_checkenable_highlight(formFieldID)
{
}

/* CHOICE FIELD */

function frits_choice_getValue(formFieldID)
{
	for(var i=1; i<100; i++)
	{
		var inp = document.getElementById(formFieldID + '_input_' + i);

		if (inp && inp.checked)
		{
			return inp.value;
		}
	}

	return '';
}

function frits_choice_setValue(formFieldID, value)
{
}

function frits_choice_disable(formFieldID)
{
	for(var i=1; i<100; i++)
	{
		var inp = document.getElementById(formFieldID + '_input_' + i);
		
		if (inp && inp.selected)
		{
			inp.disabled = true;
		}
	}
}

function frits_choice_enable(formFieldID)
{
	for(var i=1; i<100; i++)
	{
		var inp = document.getElementById(formFieldID + '_input_' + i);
		
		if (inp && inp.selected)
		{
			inp.disabled = false;
		}
	}
}

function frits_choice_highlight(formFieldID, state)
{
	for(var i=1; i<100; i++)
	{
		var inp = document.getElementById(formFieldID + '_input_' + i);
		
		if (inp)
		{
			var clname = String(inp.className);
			clname= clname.replace(/frits_form_error/, '');
			
			if (state)
			{
				clname += ' frits_form_error';
			}

			inp.className = clname;
		}
	}
}

/* CW_GENDER FIELD */

function frits_cw_gender_getValue(formFieldID)
{
	return frits_choice_getValue(formFieldID);
}

function frits_cw_gender_setValue(formFieldID, value)
{
	return frits_choice_setValue(formFieldID, value);
}

function frits_cw_gender_disable(formFieldID)
{
	return frits_choice_disable(formFieldID);
}

function frits_cw_gender_enable(formFieldID)
{
	return frits_choice_enable(formFieldID);
}

function frits_cw_gender_highlight(formFieldID, state)
{
	return frits_choice_highlight(formFieldID, state);
}

/* vooropnamedatum FIELD */

function frits_vooropnamedatum_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_vooropnamedatum_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID, value);
}

function frits_vooropnamedatum_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_vooropnamedatum_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_vooropnamedatum_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* eindopnamedatum FIELD */

function frits_eindopnamedatum_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_eindopnamedatum_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID, value);
}

function frits_eindopnamedatum_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_eindopnamedatum_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_eindopnamedatum_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}


/* SELECT FIELD */

function frits_select_getValue(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input');
	return inp.options[inp.selectedIndex].value;
}

function frits_select_setValue(formFieldID, value)
{
}

function frits_select_disable(formFieldID)
{
	return frits_default_disable(formFieldID);
}

function frits_select_enable(formFieldID)
{
	return frits_default_enable(formFieldID);
}

function frits_select_highlight(formFieldID, state)
{
	return frits_default_highlight(formFieldID, state);
}

/* DATE FIELD */

function frits_date_getValue(formFieldID)
{
	var day = document.getElementById(formFieldID + '_input_day');
	var month = document.getElementById(formFieldID + '_input_month');
	var year = document.getElementById(formFieldID + '_input_year');

	year = year.options[year.selectedIndex].value;
	month = month.options[month.selectedIndex].value;
	day = day.options[day.selectedIndex].value;

	if (year > 0 || month > 0 || day > 0)
		return year + '-' + month + '-' + day;
	else
		return '';
}

function frits_date_setValue(formFieldID, value)
{
}

function frits_date_disable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_day');
	inp.disabled = true;
	var inp = document.getElementById(formFieldID + '_input_month');
	inp.disabled = true;
	var inp = document.getElementById(formFieldID + '_input_year');
	inp.disabled = true;
}

function frits_date_enable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_day');
	inp.disabled = false;
	var inp = document.getElementById(formFieldID + '_input_month');
	inp.disabled = false;
	var inp = document.getElementById(formFieldID + '_input_year');
	inp.disabled = false;
}

function frits_date_highlight(formFieldID, state)
{
	var inp = document.getElementById(formFieldID + '_input_day');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;

	var inp = document.getElementById(formFieldID + '_input_month');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;

	var inp = document.getElementById(formFieldID + '_input_year');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;
}

/* timeofficehours FIELD */

function frits_timeofficehours_getValue(formFieldID)
{
	var hour = document.getElementById(formFieldID + '_input_hour');
	var minute = document.getElementById(formFieldID + '_input_minute');

	minute = minute.options[minute.selectedIndex].value;
	hour = hour.options[hour.selectedIndex].value;

	if (minute >= 0 || hour >= 0)
		return hour + ':' + minute;
	else
		return '';
}

function frits_timeofficehours_setValue(formFieldID, value)
{
}

function frits_timeofficehours_disable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_hour');
	inp.disabled = true;
	var inp = document.getElementById(formFieldID + '_input_minute');
	inp.disabled = true;
}

function frits_timeofficehours_enable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_hour');
	inp.disabled = false;
	var inp = document.getElementById(formFieldID + '_input_minute');
	inp.disabled = false;
}

function frits_timeofficehours_highlight(formFieldID, state)
{
	var inp = document.getElementById(formFieldID + '_input_hour');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;

	var inp = document.getElementById(formFieldID + '_input_minute');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;
}


/* AanvraagServiceAboDateField FIELD */

function frits_aanvraagserviceabodate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_aanvraagserviceabodate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_aanvraagserviceabodate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_aanvraagserviceabodate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_aanvraagserviceabodate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* BeeindigenServiceAboDateField FIELD */

function frits_beeindigenserviceabodate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_beeindigenserviceabodate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_beeindigenserviceabodate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_beeindigenserviceabodate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_beeindigenserviceabodate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* CW_HuuropzeggenDate FIELD */

function frits_cw_huuropzeggendate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_cw_huuropzeggendate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_cw_huuropzeggendate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_cw_huuropzeggendate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_cw_huuropzeggendate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* CW_HuuropzeggenNieuwAdresDate FIELD */

function frits_cw_huuropzeggennieuwadresdate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_cw_huuropzeggennieuwadresdate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_cw_huuropzeggennieuwadresdate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_cw_huuropzeggennieuwadresdate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_cw_huuropzeggennieuwadresdate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* BETALINGSWIJZEDATE FIELD */

function frits_betalingswijzedate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_betalingswijzedate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_betalingswijzedate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_betalingswijzedate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_betalingswijzedate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* WOONACHTIGSINDSDATE FIELD */

function frits_cw_woonachtigsindsdate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_cw_woonachtigsindsdate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID);
}

function frits_cw_woonachtigsindsdate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_cw_woonachtigsindsdate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_cw_woonachtigsindsdate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* BIRTHDATE FIELD */

function frits_birthdate_getValue(formFieldID)
{
	return frits_date_getValue(formFieldID);
}

function frits_birthdate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID, value);
}

function frits_birthdate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_birthdate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_birthdate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* CW_persoon_birthdayfield */

function frits_birthdate_getValue(formFieldID)
{
	
	var day = document.getElementById(formFieldID + '_input_day');
	var month = document.getElementById(formFieldID + '_input_month');
	var year = document.getElementById(formFieldID + '_input_year');
	
	if(year.options[year.selectedIndex].value == "" | year.options[year.selectedIndex].value == "" || year.options[year.selectedIndex].value == "")
	{
		return 0;
	}
	else
	{
		return year.options[year.selectedIndex].value + '-' + month.options[month.selectedIndex].value + '-' + day.options[day.selectedIndex].value;
	}
}


function frits_persoonbirthdate_getValue(formFieldID)
{
	return frits_birthdate_getValue(formFieldID);
}

function frits_persoonbirthdate_setValue(formFieldID, value)
{
	return frits_date_setValue(formFieldID, value);
}

function frits_persoonbirthdate_disable(formFieldID)
{
	return frits_date_disable(formFieldID);
}

function frits_persoonbirthdate_enable(formFieldID)
{
	return frits_date_enable(formFieldID);
}

function frits_persoonbirthdate_highlight(formFieldID, state)
{
	return frits_date_highlight(formFieldID, state);
}

/* YEAR MONTH FIELD */

function frits_yearmonth_getValue(formFieldID)
{
	
	var month = document.getElementById(formFieldID + '_input_month');
	var year = document.getElementById(formFieldID + '_input_year');

	return year.options[year.selectedIndex].value + '-' + month.options[month.selectedIndex].value + '-01';
}

function frits_yearmonth_setValue(formFieldID, value)
{
}

function frits_yearmonth_disable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_month');
	inp.disabled = true;
	var inp = document.getElementById(formFieldID + '_input_year');
	inp.disabled = true;
}

function frits_yearmonth_enable(formFieldID)
{
	var inp = document.getElementById(formFieldID + '_input_month');
	inp.disabled = false;
	var inp = document.getElementById(formFieldID + '_input_year');
	inp.disabled = false;
}

function frits_yearmonth_highlight(formFieldID, state)
{
	var inp = document.getElementById(formFieldID + '_input_month');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;

	var inp = document.getElementById(formFieldID + '_input_year');
	var clname = String(inp.className);
	clname= clname.replace(/frits_form_error/, '');
	if (state) { clname += ' frits_form_error'; }
	inp.className = clname;
}

function frits_cw_huuropzeggenUpdateEindopname(obj)
{
	// Source objects
	sourceDD = document.getElementById('_field_0_input_day');
	sourceMM = document.getElementById('_field_0_input_month');
	sourceJJ = document.getElementById('_field_0_input_year');
	
	// Source values
	iDD	= sourceDD.selectedIndex;
	iMM	= sourceMM.selectedIndex;
	iJJ	= sourceJJ.selectedIndex;

	// Destination objects
	destinDD = document.getElementById('_field_11_input_day');
	destinDD1 = destinDD.getElementsByTagName('option');
	
	destinMM = document.getElementById('_field_11_input_month');
	destinMM1 = destinMM.getElementsByTagName('option');
	
	destinJJ = document.getElementById('_field_11_input_year');
	destinJJ1 = destinJJ.getElementsByTagName('option');
	
	if(iDD == 1 && iMM == 1)
	{
		if(iJJ <= 1){
			destinDD1[iDD].selected = true;
			destinMM1[iMM].selected = true;
			destinJJ1[iJJ].selected = true;
		}
		else {
			destinDD1[destinDD1.length-1].selected = true;
			destinMM1[destinMM1.length-1].selected = true;
			destinJJ1[iJJ-1].selected = true;
		}
	}
	else if(iDD == 1) {
		destinDD1[destinDD1.length-1].selected = true;
		destinMM1[iMM-1].selected = true;
		destinJJ1[iJJ].selected = true;
	}
	else {
		destinDD1[iDD-1].selected = true;
		destinMM1[iMM].selected = true;
		destinJJ1[iJJ].selected = true;
	}
}