function $(elm) {
	return document.getElementById(elm);
}

function submitStemForm() {

	var fields = Array(
			Array('name', 'text', true),
			Array('street', 'text', true),
			Array('number', 'streetnumber', true),
			Array('postalCode', 'postal', true),
			Array('city', 'text', true),
			Array('email', 'email', true)
		);

	result = true;
	for(i=0 ; i<fields.length ; i++) {
		if(!isValid($('stemForm').elements[fields[i][0]], fields[i][1], fields[i][2])) {
			result = false;
		}
	}

	if(result) {
		$('stemForm').elements['hash'].value = hex_sha1($('stemForm').elements['hash'].value + $('stemForm').elements['rouwzegelID'].value + $('stemForm').elements['email'].value);
		$('stemForm').submit();
	}
	return false;
}

function submitNewZegelForm() {

	var fields = Array(
			Array('firstName', 'text', true),
			Array('lastName', 'text', true),
			Array('street', 'text', true),
			Array('number', 'streetnumber', true),
			Array('postalCode', 'postal', true),
			Array('city', 'text', true),
			Array('phone', 'phone', true),
			Array('title', 'text', true),
			Array('email', 'email', true),
			Array('image', 'text', true)
		);

	result = true;
	for(i=0 ; i<fields.length ; i++) {
		if(!isValid($('newZegelForm').elements[fields[i][0]], fields[i][1], fields[i][2])) {
			result = false;
		}
	}

	if(result) {
		$('newZegelForm').submit();
	}
	return false;
}


function isValid(obj, type, required) {

	var result = true;

	markError(type, obj, false);

	if(type=='text') {

		if(required) {
			result = obj.value.length > 0;
		} else {
			result = true;
		}

	} else if (type=='number') { 

		regex = new RegExp ( /^[0-9]{1,}$/ );

		if(required || obj.value.length > 0) {
			result = regex.test(obj.value);
		} else {
			result = true;
		}

	} else if (type=='postal') {

		regex = new RegExp ( /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/ );

		if(required || obj.value.length > 0) {
			result = regex.test(obj.value);
		} else {
			result = true;
		}

	} else if (type=='email') {

		regex = new RegExp ( /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/ );

		if(required || obj.value.length > 0) {
			result = regex.test(obj.value);
		} else {
			result = true;
		}

	} else if (type=='phone') {

		regex = new RegExp ( /([0]{1}[6]{1}[-\s]*[1-9]{1}[\s]*([0-9]{1}[\s]*){7})|([0]{1}[1-9]{1}[0-9]{1}[0-9]{1}[-\s]*[1-9]{1}[\s]*([0-9]{1}[\s]*){5})|([0]{1}[1-9]{1}[0-9]{1}[-\s]*[1-9]{1}[\s]*([0-9]{1}[\s]*){6})/ );

		if(required || obj.value.length > 0) {
			result = regex.test(obj.value);
		} else {
			result = true;
		}

	} else if (type=='streetnumber') {

		regex = new RegExp ( /^[1-9]{1}/ );

		if(required || obj.value.length > 0) {
			result = regex.test(obj.value);
		} else {
			result = true;
		}

	}

	if(!result) {
		markError(type, obj, true);
	}

	return result;
}

function markError(type, obj, isError) {

	if(document.getElementById('error_'+obj.name)) {

	cls = '';
	if(isError) cls = ' error';

	document.getElementById('error_'+obj.name).className = cls;

	}

}

function printUrl(obj) {

	var win = window.open(obj.href, 'print', '');
	win.print();

	return false;
}

function checkMaxLength(el) {
	var maxLength = el.getAttribute('maxlength');
	var currentLength = el.value.length;
	if (currentLength > maxLength)
		el.value = el.value.substr(0, maxLength);
}
