////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var obj_DefaultBorderColor = '#DBDBDB';
var obj_DefaultBGColor = '#FFFFFF';
var obj_ErrorBorderColor = 'rgb(255,170,170)';
//var obj_ErrorBorderColor = '#FFAAAA';
var obj_ErrorBGColor = 'rgb(255,238,238)';
//var obj_ErrorBGColor = '#FFEEEE';

var arr_FrmValidateObjects = new Array;
var arr_FrmErrorObjects = new Array;

var str_FrmQuerystr = '';

var obj_Frm_length = 0;

var obj_Frm_element = '';
var obj_Frm_element_type = '';
var obj_Frm_element_error = '';

var frm_Submit = true;
var frm_SubmitType = '';
var frm_SubmitUrl = '';
var frm_SubmitDestination = '';

var frm_Method = "";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//				FORMCONTROL
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_checkForm(obj_Frm, submit_type, form_method){
	arr_FrmValidateObjects.length = 0;
	arr_FrmErrorObjects.length = 0;
	str_FrmQuerystr.length = 0;
	
	obj_Frm_length = obj_Frm.elements.length;
	frm_Method = form_method;
	
	obj_Frm_element_error = '';
	
	frm_Submit = true;
	frm_SubmitType = submit_type;
	frm_SubmitUrl = obj_Frm.getAttribute('u:url');
	frm_SubmitDestination = obj_Frm.getAttribute('u:destination');
	
	for(var i = 0; i < obj_Frm_length; i++){
		obj_Frm_element = obj_Frm.elements[i];
		obj_Frm_element_type = obj_Frm_element.getAttribute('u:type');
		
		if (obj_Frm_element.getAttribute('u:errormsg') != ''){
			obj_Frm_element_error = obj_Frm_element.getAttribute('u:errormsg');
		}
		
		// Roept hier de functie aan specifiek voor het object (u:type)
		try{
			if (obj_Frm_element_type){
				eval('UNI_form_'+obj_Frm_element_type)(obj_Frm_element);
			}else{
				UNI_form_text(obj_Frm_element);
			}
		}catch(e){
			alert (e.description);
		}
	}
	
	// Als alles goed is ingevuld zal deze UNI_form_querystr aanroepen en data ophalen anders wordt er een alert gegeven
	if (frm_Submit){
		UNI_form_querystr(obj_Frm);
	}else{
		UNI_form_showError();
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_text(obj_Frm_text){
	if (obj_Frm_text.getAttribute('u:required') == 'true' && obj_Frm_text.value == ''){
		UNI_form_error(obj_Frm_text, true, 'Mag niet leeg zijn');
	}else if (obj_Frm_text.getAttribute('u:maxlength') && obj_Frm_text.getAttribute('u:maxlength') < obj_Frm_text.value.length){
		UNI_form_error(obj_Frm_text, true, 'Invoer is te lang');
	}else{
		UNI_form_error(obj_Frm_text, false);
		arr_FrmValidateObjects[arr_FrmValidateObjects.length] = obj_Frm_text;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_number(obj_Frm_number){
	if (obj_Frm_text.getAttribute('u:required') == 'true' && obj_Frm_number.value == ''){
		UNI_form_error(obj_Frm_number, true, 'Mag niet leeg zijn');
	}else if (obj_Frm_number.value != 'number' || isFinite(obj_Frm_number) && obj_Frm_number.value != ''){
		UNI_form_error(obj_Frm_number, true, 'Moet een getal zijn');
	}else{
		UNI_form_error(obj_Frm_number, false);
		arr_FrmValidateObjects[arr_FrmValidateObjects.length] = obj_Frm_number;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_checkbox(obj_Frm_check){
	if (obj_Frm_check.checked == true){
		UNI_form_error(obj_Frm_check, false);
		arr_FrmValidateObjects[arr_FrmValidateObjects.length] = obj_Frm_check;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_date(){
	alert ('UNI_from_date');
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_mail(){
	alert ('UNI_from_mail');
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_error(obj_Frm_element, isError, errMsg){
	if (isError){
		
		// haalt de default kleur op van een veld
		if (obj_Frm_element.style.borderColor && obj_Frm_element.style.backgroundColor && frm_Submit){
			obj_DefaultBorderColor = obj_Frm_element.style.borderColor;
			obj_DefaultBGColor = obj_Frm_element.style.backgroundColor;
		}
		
		// Veranderd kleut eigenschappen van het opject 
		obj_Frm_element.style.borderColor = obj_ErrorBorderColor;
		obj_Frm_element.style.backgroundColor = obj_ErrorBGColor;
		
		arr_FrmErrorObjects[arr_FrmErrorObjects.length] = obj_Frm_element;
				
		// Als er een u:errormsg wordt meegegeven zal dit de tooltiptext worden
		if (obj_Frm_element_error != ''){
			obj_Frm_element.setAttribute('u:tooltiptext', obj_Frm_element_error);
			arr_FrmErrorObjects[arr_FrmErrorObjects.length-1][0] = obj_Frm_element_error;

		}else {
			obj_Frm_element.setAttribute('u:tooltiptext', errMsg);
			arr_FrmErrorObjects[arr_FrmErrorObjects.length-1][0] = errMsg;
		}
		
		// Toevoegen van tooltip events aan het object
		if (browser_type.isIE){
			obj_Frm_element.onmouseover = new Function('showTooltip(this, event);');
		}else{
			obj_Frm_element.setAttribute('onmouseover', 'showTooltip(this, event);');
		}

		frm_Submit = false;
	}else{
		
		obj_DefaultBorderColor = obj_Frm_element.style.borderColor;
		obj_DefaultBGColor = obj_Frm_element.style.backgroundColor;
		
		// Geeft het object de defaultcolor terug
		obj_Frm_element.style.borderColor = obj_DefaultBorderColor;
		obj_Frm_element.style.backgroundColor = obj_DefaultBGColor;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_showError(){
	var error = '';
	var arr_FrmErrorObjects_length = arr_FrmErrorObjects.length;
	
	// Loopt hier de array door met daarin alle objecten die niet goed zijn ingevoerd met daarbij horende errormelding
	for (var i = 0; i < arr_FrmErrorObjects_length; i++)	{
		// Nu moet we eigenlijk de 'mooie' naam van het veld pakken, deze staat in de td daarvoor
		error += '<b>'+arr_FrmErrorObjects[i].getAttribute('u:name')+'</b>: '+arr_FrmErrorObjects[i][0]+'<br />';
	}

	if (error != ''){
		alert (error);
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function UNI_form_querystr(obj_Frm){
	str_FrmQuerystr = frm_SubmitUrl;
	arr_FrmValidateObjects_length = arr_FrmValidateObjects.length;
	
	// Loopt het hele validated form objects array door en maakt een query string aan
	for(var i = 0; i < arr_FrmValidateObjects_length; i++){
		obj_Frm_element = arr_FrmValidateObjects[i];
		if (obj_Frm_element.name != 'submit_button'){
			str_FrmQuerystr += '&'+obj_Frm_element.name+'='+encodeURIComponent(obj_Frm_element.value);
		}
	}
	str_FrmQuerystr += '&submit='+frm_SubmitType;
	
	// Querystring toevoegen aan de formulier
	obj_Frm.setAttribute('u:url', str_FrmQuerystr);
//	alert(str_FrmQuerystr);
	
	// Tooltip laten verdwijnen omdat deze anders zichtbaar blijft na het klikken op een knop
	UNI_hideTooltip();
	
	// Data ophalen
	UNI_getdata(obj_Frm, frm_Method);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//				//FORMCONTROL//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
