// Validator Object
var valid1 = new Object();

// REGEX Elements

valid1.valid_notempty = /^.+$/;
valid1.valid_number = /^\d+$/;
valid1.valid_alfanum = /^[a-zA-Z0-9][a-zA-Z0-9_]*$/;
valid1.valid_email = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

valid1.s_valid_notempty = /^.+$/;


function form1_valid(theForm) {
	var elArr = theForm.elements;
	var lab, lab_item_c;
	// set back init state
	for (var i = 0; i < elArr.length; i++) {
		with (elArr[i]) {
			if (name == 'nt_tell_num' || name == 'nt_tell_pre')
				lab = document.getElementById('lab_nt_tell');
			else
				lab = document.getElementById('lab_' + name);
			if (lab && (lab.style.color == 'rgb(255, 0, 0)' || lab.style.color.toUpperCase() == '#FF0000')) lab.style.color = '#000000';
		}
	}
	document.getElementById('lab_nt_item1_n').style.color = '#000000';
	var i = 1;
	while (lab_item_c = document.getElementById('lab_nt_item_c[' + i + ']')) {
		if (lab_item_c.style.color == 'rgb(255, 0, 0)' || lab_item_c.style.color.toUpperCase() == '#FF0000') lab_item_c.style.color = '#000000';
		i++;
	}
	ordermate_says('0');

	// loop for problems
	for (var i = 0; i < elArr.length; i++) {
		with (elArr[i]) {
			if (name == 'nt_tell_num' || name == 'nt_tell_pre')
				lab = document.getElementById('lab_nt_tell');
			else
				lab = document.getElementById('lab_' + name);
			var v = className.substr(2);
			var t = className.substr(0,1);
			if (!v || v.substr(0,5) != 'valid') continue;
			var thePat = valid1[v];
			var gotIt = thePat.exec(value);
			if (gotIt) {
				if ((name == 'nt_dzipc' || name == 'nt_billzipc') && (value.length < 4 || parseInt(value, 10) < 1001)) gotIt = false;
				else if (name == 'nt_tell_num' && value.length < 6) gotIt = false;
			}
			if (!gotIt) {
				if (disabled) continue;
//				if (style.display == 'none') continue;
				// tlnet!! - select incomplete tablet
				// tablet p
				if (name == 'nt_name')
				   select_tablet('p');
				else if (name == 'nt_tell_pre')
				   select_tablet('p');
				else if (name == 'nt_tell_num')
				   select_tablet('p');
				else if (name == 'nt_mail')
				   select_tablet('p');
				// tablet d
				else if (name == 'nt_dzipc')
					if (INNR) continue;
					else select_tablet('d');
				else if (name == 'nt_dsett')
					if (INNR) continue;
					else select_tablet('d');
				else if (name == 'nt_dtype')
				   select_tablet('d');
				else if (name == 'nt_paymode')
				   select_tablet('d');
				else if (name == 'nt_land')
					if (INNR) continue;
					else select_tablet('d');
//				else if (name == 'nt_dmode')
//				   select_tablet('d');
				else if (name == 'nt_ddate')
					if (theForm.nt_dtype.value != 'h')
						select_tablet('d');
					else continue;
//				else if (name == 'nt_dtime')
//					if (dtype == 'h')
//					   select_tablet('d');
//					else continue;
				// tablet b
				else if (name.indexOf('nt_bill') != -1)
				   select_tablet('b');

				paintred(elArr[i]);
				if (v == 'valid_email' && value) ordermate_says('problem_email', 1);
				return false;
			}
			// tablet i
			if (name == 'nt_mail' && !is1item(theForm)) return false;
		}
	}
	// tablet d - ddiary
	if (theForm.nt_dtype.value == 'h' && (!theForm.nt_ddiary_date.value || !theForm.nt_ddiary_time.value) && !INNR) {
		select_tablet('d');
		document.getElementById('ddiary_table').style.backgroundColor = '#FF9900';
		var washred_id = setTimeout('document.getElementById(\'ddiary_table\').style.backgroundColor=\'#999999\';', 3000);
		return false;
	}
	// tablet b
//	if ((!theForm.nt_book.value) && theForm.nt_nobill.checked == false) {
//	   select_tablet('b');
//		document.getElementById('lab_nt_book').style.color = '#FF0000';
//      theForm.nt_book.style.backgroundColor = '#FF9900';
//		a lert_div.innerHTML = 'Nem adta meg a számlázási nevét és címét! Amennyiben nincs szüksége a hivatali díjról szóló számlára, kérjük tegyen egy x-et a megfelelő négyzetbe.';
//		return false;
//	}

	return true;
}

function is1item(f1) {
	var is1 = false;
	var missing = new Array();
	missing['r'] = -1;
	missing['f'] = '';
	var i = 1;
	var itemname, itemcim, item_h, itemvaros, item_nm;
	while (f1.elements['nt_item_n[' + i + ']']) {
		itemname = f1.elements['nt_item_n[' + i + ']'].value;
		if (itemname) {
			if (!is1) is1 = true;
			item_h = f1.elements['nt_item_h[' + i + ']'];
			itemhfy = f1.elements['nt_item_hfy[' + i + ']'].value;
			itemvaros = f1.elements['nt_item_sett[' + i + ']'].value;
			itemcim = f1.elements['nt_item_c[' + i + ']'].value;
			item_nm = f1.elements['nt_item_nm[' + i + ']'];
			if (!item_h.value && !item_h.disabled && !INNR) {
				missing['r'] = i;
				missing['f'] = 'h';
				break;
			}
			if (!itemvaros) {
				missing['r'] = i;
				missing['f'] = 'sett';
				break;
			}
			if (!itemcim) {
				missing['r'] = i;
				missing['f'] = 'c';
				break;
			}
			if (item_nm.value && !valid1.valid_number.test(item_nm.value)) {
				missing['r'] = i;
				missing['f'] = 'nm';
				break;
			}
		}
		i++;
	}
	if (!is1) {
//		document.getElementById('lab_nt_item1_n').style.color = '#FF0000';
		f1.elements['nt_item_n[1]'].style.backgroundColor = '#FF9900';
	   select_tablet('i');
      f1.elements['nt_item_n[1]'].focus();
	}
	else if (missing['f']) {
		select_tablet('i');
//		document.getElementById('lab_nt_item_' + missing['f'] + '[' + missing['r'] + ']').style.color = '#FF0000';
		var missing_obj = f1.elements['nt_item_' + missing['f'] + '[' + missing['r'] + ']'];
		missing_obj.style.backgroundColor = '#FF9900';
		missing_obj.focus();
	}
	return (is1 && (missing['f'] == ''));
}

function paintred(obj, lab) {
	if (lab) lab.style.color = '#FF0000';
	obj.style.backgroundColor = '#FF9900';
	obj.focus();
}

function washred(evt, obj) {
	var super_events = new Array('onchange', 'onblur');
	if (super_events.indexOf(evt) != -1) {
		if (evt == 'onchange' && obj.value) obj.style.backgroundColor = '';
		else if (evt == 'onblur') obj.style.backgroundColor = '';
	}
	else {
		evt = (evt) ? evt : event;
		var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
		if (obj.value && charCode != 13) obj.style.backgroundColor = '';
	}
}

