function getHttpRequest() {
	var xmlhttp;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xhr = new ActiveXObject("Msxml2.XMLHTTP");
	}
	return xhr;
}
function submitForm(form) {
	var elements = form.elements;
	var labels = form.getElementsByTagName('label');
	checkMandatory(elements);
	checkFields(elements);
	var okay = true;	
	var trows = form.children[0].children[0];
	var trows_length = trows.children.length -2;
	for (i=0; i<trows_length; i++) {
		if (trows.children[i].children[2] !== undefined) {
			var error_cell = trows.children[i].children[2].innerHTML;
			if (error_cell !== '' && error_cell != '&nbsp;')
				okay = false;
		}
	}
	return okay;
}

function checkMandatory(elements) {
	for (i=0; i<elements.length; i++) {
		if (elements[i].type == 'textarea' || elements[i].type == 'text' || elements[i].type == 'checkbox' || elements[i].type == 'radio' || elements[i].type == 'select-one') {
			var show_err = true;
			var element = elements[i];
			// WYSIWYGPRO
			if (element.className == 'wproHTML') {
				var labelname = element.parentNode.parentNode.parentNode.parentNode.parentNode.children[0].children[0].innerHTML;
				var label = element.parentNode.parentNode.parentNode.parentNode.parentNode.children[0].children[0];
				var td = element.parentNode.parentNode.parentNode.parentNode.parentNode.children[2];
				var tr = element.parentNode.parentNode.parentNode.parentNode.parentNode;
			} else {
				var labelname = element.parentNode.parentNode.children[0].children[0].innerHTML;
				var label = element.parentNode.parentNode.children[0].children[0];	
				var td = element.parentNode.parentNode.children[2];	
				var tr = element.parentNode.parentNode;
			}
			if (labelname.search(/\*/) != -1 && tr.style.display != 'none') {
				var input_par = document.getElementById(element.id);
				if (!(input_par.type == 'checkbox' || input_par.type == 'radio')) {
					if (input_par.value !== '' && input_par.value != '<br />')
						show_err = false;
				} else {
					var inputs = document.getElementsByName(input_par.name);
					for (j=0; j<inputs.length; j++) {
						if (inputs[j].checked)
							show_err = false;
					}
				}
			} else {
				show_err = false;
			}
			if (show_err) {
				td.innerHTML = 'Dit veld is verplicht';
			} else {
				td.innerHTML = '&nbsp;';
			}
		}				
	}
}
// Check if the fields are okay
function checkFields(elements) {
	for (i=0; i<elements.length; i++) {
		var element = elements[i];
		var action = element.getAttribute('onblur');
		if (action !== '' && action != null) {
			action = action.replace("this", "element");
			eval(action);
		}		
	}
}
// Check if the fields are filled with at least 3 characters
function checkField(field, func_name) {
	var err = field.parentNode.parentNode.children[2];
	var label = field.parentNode.parentNode.children[0].innerHTML;
	var input_cell = field.parentNode.parentNode.children[1].firstChild;
	if (func_name == 'checkPostal') {
		if (field.value.length == 6) {
			var postal = str_split(field.value, 4);
			field.value = postal[0]+' '+postal[1];
			input_cell.style.backgroundColor = 'lightyellow';
		}
	}
	if (func_name == 'checkPhone') {
		field.value = field.value.replace(/\D/, "");
	}
	if (func_name == 'checkPassword') {
		var input1 = field.parentNode.parentNode.previousElementSibling.children[1].children[0].value;
	}
	if (label.search(/\*/) != -1)
		var mandatory = 'y';
	else
		var mandatory = 'n';
	var xhr = getHttpRequest();
	xhr.onreadystatechange=function() {
		if (xhr.readyState == 4) {
			var text = xhr.responseText;
			if (text != 'okay')	{
				err.innerHTML = text;
				if (func_name != 'checkSelect' && func_name != 'checkClick' && func_name != 'addField')
					input_cell.style.backgroundColor = 'lightyellow';
			} else {
				if (func_name == 'checkPostal') {
					field.value = field.value.toUpperCase();
				}
				err.innerHTML = '&nbsp;';
				if (func_name != 'checkSelect' && func_name != 'checkClick' && func_name != 'addField')
					input_cell.style.backgroundColor = 'white';
			}		
		}
	}	
	if (input1 === '')	
		xhr.open('GET', '/formator/formator_checks.php?input='+field.value+'&function='+func_name+'&mandatory='+mandatory);
	else
		xhr.open('GET', '/	formator/formator_checks.php?input='+field.value+'&input2='+input1+'&function='+func_name+'&mandatory='+mandatory);
	xhr.send(null);
}
function checkOption(field) {
	var err_place = field.parentNode.parentNode.children[2];
	if (field.value != '' && field.value != 0) {
		err_place.innerHTML = '';
	} else {
		err_place.innerHTML = 'Dit veld is verplicht';
	}
}
function checkClick(field) {
	var err = field.parentNode.parentNode.children[2];
	var label = field.parentNode.parentNode.children[0].firstChild.innerHTML;
	if (label.search(/\*/) != -1) {
		var inputs = field.form.getElementsByTagName('input');
		var show_err = true;
		for (i=0; i < inputs.length; i++) {
			if (inputs[i].name == field.name) {
				if (inputs[i].checked) {
					show_err = false;
				}
			}
		}
		if (show_err) {
			err.innerHTML = 'Dit veld is verplicht';
		} else
			err.innerHTML = '&nbsp;';
	}
}

function changeType(field) {
	var choice1 = document.getElementById('row_keuze1');
	var choice2 = document.getElementById('row_keuze2');
	var content = document.getElementById('row_content');
	var choice_link1 = document.getElementById('keuze1_link').parentNode.parentNode;
	var choice_link2 = document.getElementById('keuze2_link').parentNode.parentNode;
	var bus_ec = document.getElementById('business').parentNode.parentNode;
	var err_place = field.parentNode.parentNode.children[2];
	if (field.value == 'opening') {
		choice1.style.display = '';
		choice2.style.display = '';
		choice_link1.style.display = '';
		choice_link2.style.display = '';
		content.style.display = 'none';
		bus_ec.style.display = 'none';
		choice1.children[0].children[0].innerHTML = 'Keuze 1: *';
		choice2.children[0].children[0].innerHTML = 'Keuze 2: *';
		choice_link1.children[0].children[0].innerHTML = 'Link keuze 1:';
		
		WPro.keuze1.resizeTo('640px', 900);
		WPro.keuze2.resizeTo('640px', 900);
	
	} else if (field.value == 'vraag') {
		content.style.display = '';
		choice1.style.display = '';
		choice2.style.display = '';
		choice_link1.style.display = '';
		choice_link2.style.display = 'none';
		bus_ec.style.display = '';
		choice1.children[0].children[0].innerHTML = 'Keuze 1 (Ja): *';
		choice2.children[0].children[0].innerHTML = 'Keuze 2 (Nee): *';
		choice_link1.children[0].children[0].innerHTML = 'Volgende pagina:';
		content.children[0].children[0].innerHTML = 'Inleiding:';
		
		WPro.content.resizeTo('1280px', 300);
		WPro.keuze1.resizeTo('1280px', 300);
		WPro.keuze2.resizeTo('1280px', 300);
	} else if (field.value == 'overzicht') {
		content.style.display = 'none';
		choice1.style.display = 'none';
		choice2.style.display = 'none';
		choice_link1.style.display = '';
		choice_link2.style.display = 'none';
		bus_ec.style.display = '';
		choice_link1.children[0].children[0].innerHTML = 'Volgende pagina:';
	} else if (field.value == 'eind') {
		content.style.display = '';
		choice1.style.display = 'none';
		choice2.style.display = 'none';
		choice_link1.style.display = 'none';
		choice_link2.style.display = 'none';
		bus_ec.style.display = '';
		content.children[0].children[0].innerHTML = 'Content:';
		WPro.content.resizeTo('1280px', 1024);
	}
	
}

function str_split ( f_string, f_split_length){
    f_string += '';

    if (f_split_length == undefined) {
        f_split_length = 1;
    }
    if (f_split_length > 0) {
        var result = [];
        while (f_string.length > f_split_length) {
            result[result.length] = f_string.substring(0, f_split_length);
            f_string = f_string.substring(f_split_length);
        }
        result[result.length] = f_string;
        return result;
    }
    return false;
}

function changeColor(input) {
	var orange_text = document.getElementById('row_content_orange');
	var white_text = document.getElementById('row_content_white');
	var blue_text = document.getElementById('row_content_blue');
	var orange_radio = document.getElementById('oranje');
	var white_radio = document.getElementById('wit');
	var blue_radio = document.getElementById('blauw');
	text = '';
	if (content_orange.getValue() != '<div>&nbsp;</div>')
		text = content_orange.getValue();
	else if (content_blue.getValue() != '<div>&nbsp;</div>')
		text = content_blue.getValue();
	else if (content_white.getValue() != '<div>&nbsp;</div>')
		text = content_white.getValue();
	if (input.value == 2) {
		orange_text.style.display = 'none';
		white_text.style.display = '';
		blue_text.style.display = 'none';
		content_white.setValue(text);
		content_blue.setValue('');
		content_orange.setValue('');
		white_radio.checked = true;
		white_radio.disabled = true;
		blue_radio.disabled = true;
		orange_radio.disabled = true;
	} else if (input.value == 3) {
		orange_text.style.display = 'none';
		white_text.style.display = 'none';
		blue_text.style.display = '';
		content_white.setValue('');
		content_blue.setValue(text);
		content_orange.setValue('');
		blue_radio.checked = true;
		white_radio.disabled = true;
		blue_radio.disabled = true;
		orange_radio.disabled = true;
	} else if (input.value == 1) {
		orange_text.style.display = '';
		white_text.style.display = 'none';
		blue_text.style.display = 'none';
		content_white.setValue('');
		content_blue.setValue('');
		content_orange.setValue(text);
		orange_radio.checked = true;
		white_radio.disabled = true;
		blue_radio.disabled = true;
		orange_radio.disabled = true;
	} else {
		orange_text.style.display = '';
		white_text.style.display = 'none';
		blue_text.style.display = 'none';
		content_white.setValue('');
		content_blue.setValue('');
		content_orange.setValue(text);
		orange_radio.checked = true;
		white_radio.disabled = false;
		blue_radio.disabled = false;
		orange_radio.disabled = false;
	}
}

function changeWysiwyg(input) {
	var orange_text = document.getElementById('row_content_orange');
	var white_text = document.getElementById('row_content_white');
	var blue_text = document.getElementById('row_content_blue');
	var lightblue_text = document.getElementById('row_content_lightblue');
	text = '';
	if (content_orange.getValue() != '<div>&nbsp;</div>')
		text = content_orange.getValue();
	else if (content_blue.getValue() != '<div>&nbsp;</div>')
		text = content_blue.getValue();
	else if (content_white.getValue() != '<div>&nbsp;</div>')
		text = content_white.getValue();
		else if (content_lightblue.getValue() != '<div>&nbsp;</div>')
			text = content_lightblue.getValue();
	if (input.value == 'wit') {
		orange_text.style.display = 'none';
		white_text.style.display = '';
		blue_text.style.display = 'none';
		lightblue_text.style.display = 'none';
		content_white.setValue(text);
		content_blue.setValue('');
		content_orange.setValue('');
		content_lightblue.setValue('');
	} else if (input.value == 'blauw') {
		orange_text.style.display = 'none';
		white_text.style.display = 'none';
		blue_text.style.display = '';
		lightblue_text.style.display = 'none';
		content_white.setValue('');
		content_blue.setValue(text);
		content_orange.setValue('');
		content_lightblue.setValue('');
	} else if (input.value == 'oranje') {
		orange_text.style.display = '';
		white_text.style.display = 'none';
		blue_text.style.display = 'none';
		lightblue_text.style.display = 'none';
		content_white.setValue('');
		content_blue.setValue('');
		content_orange.setValue(text);
		content_lightblue.setValue('');
	} else if (input.value == 'lichtblauw') {
		orange_text.style.display = 'none';
		white_text.style.display = 'none';
		blue_text.style.display = 'none';
		lightblue_text.style.display = '';
		content_white.setValue('');
		content_blue.setValue('');
		content_orange.setValue('');
		content_lightblue.setValue(text);
	}
}
