/*
// Project: De Nieuwe Band
// Redesign web site 2005/2006/2007

// JavaScript functions for product browser. Loaded on demand.

// Metalusions - Arjan Haringa
// De Nieuwe Band - Andre Bosma
// De Nieuwe Band - Theo Kerkhof
*/

var patterns = new Array();
var charchecks = new Array();

patterns['z'] = /^[0-9]{4}$/; // Zipcode

//charchecks['q13'] = true; // Start

function checkform(obj){
	var check = true;
	if(document.getElementById){
		var focusfield = false;
		for(var i = 0; i < obj.length; i++){
			if(obj.elements[i].type.match(/^((text(area)?)|password)$/i)){
				var field = obj.elements[i];
				var error = false;
				if(document.getElementById('error--' + field.name)){
					error = document.getElementById('error--' + field.name);
					var errors = error.getElementsByTagName('div');
					if(errors.length > 0){
						for(var d = (errors.length - 1); d >= 0; d--){
							errors.item(d).parentNode.removeChild(errors.item(d));
							}
						}
					}
				if(error && (typeof(patterns[field.name]) != 'undefined')){
					if(field.value.match(patterns[field.name])){
						error.style.display = 'none';
						field.style.color = '#000';
						field.style.borderColor = '#000';
						}
					else {
						error.style.display = 'block';
						field.style.color = '#f00';
						field.style.borderColor = '#f00';
						check = false;
						if(typeof(charchecks[field.name]) != 'undefined'){
							var badchars = invalid_chars(field.value, patterns[field.name]);
							if(badchars){
								error.appendChild(badchars);
								}
							}
						if(!focusfield){
							focusfield = field;
							}
						}
					}
				}
			}
		if(!check && focusfield){
			focusfield.focus();
			}
		}
	return check;
	}

function invalid_chars(str_value, str_pattern){
	var tmp = false;
	var collect = new Array();
	for(var i = 0; i < str_value.length; i++){
		if(!str_value.substr(i,1).match(str_pattern)){
			var inArray = false;
			for(var j = 0; j < collect.length; j++){
				if(collect[j] == str_value.substr(i, 1)){
					inArray = true;
					}
				}
			if(!inArray){
				collect[collect.length] = str_value.substr(i, 1);
				}
			}
		}
	if(collect.length > 0){
		var p = document.createElement('div');
		var t = document.createTextNode('De volgende karakters zijn niet toegestaan: "' + collect.join('", "') + '".');
		p.className = 'badchars';
		p.appendChild(t);
		tmp = p;
		}
	return tmp;
	}


