// JavaScript Document
var Form_aObligatory = new Array();
var Form_sErrorIn = "";
var Form_sFormField = "";
var Form_sObligatory = ""
//--------------------------------------------------------------------------------------------------
function Form_ShowAlert(field, name, cause){
	var sMsg = Form_sErrorIn + " \"" + name + "\" " + Form_sFormField + "\n" + cause
		+ "                                                      \n\n";
	
  alert(sMsg);
  if(field != null){
    if(field.focus) field.focus();
    if(field.select) field.select();
  }
  return false;
}
//--------------------------------------------------------------------------------------------------
function Form_CheckObligatories() {
	for(var i in Form_aObligatory) {
		
		if(i<0) { // so this index determinate a group; we must found real inputs into this group
			sLabel = Form_aObligatory[i] + "*";
			var aTrs = document.getElementsByTagName("TR");
			var oTd = null;
			var regExp = /id=[\'\"]*_ufh_[0-9]+/g;
			for(var j in aTrs) {
				if(aTrs[j] && aTrs[j].id && aTrs[j].id.search(/^form\_row\_input\_/)!=-1) {
					oTr = aTrs[j];
					if(oTr.children && oTr.children[0] && oTr.children[0].tagName && oTr.children[0].tagName=="TH" && oTr.children[0].innerHTML==sLabel) {
						oTd = oTr.children[1];
						var aRes = oTd.innerHTML.match(regExp);
						if(aRes) {
							var iIndex = parseInt(aRes[0].replace(/id=[\'\"]*_ufh_/, ""));
    					if(!Form_CheckObligatory(iIndex, Form_aObligatory[i])) return false;
						}
						break;
					}
				}
			}
		}
		else {
			if(!Form_CheckObligatory(i)) return false;
		}
		  
	}
	
	return true;
}
//--------------------------------------------------------------------------------------------------
function Form_CheckObligatory(i, sLabel) {

	oInput = document.getElementById("_ufh_" + i);
	
	if(!oInput) {
	
		// check CHECKBOX-es
		var a = document.getElementsByTagName("INPUT");
		bOtherExists = false;
		iNumOfChecked = 0;
		oFirstCheckbox = null;
		if(a && a.length) {
			for(var j=0; j<=a.length-1; j++) {
				if(a[j].id) {
					eval("var b = a["+j+"].id.search(/^_ufh_" + i + "_.*$/);");
					if(b!=-1) {
						if(a[j].type.search(/checkbox/i)!=-1) {
							if(oFirstCheckbox==null) oFirstCheckbox = a[j];
							bOtherExists = true;
							if(a[j].checked) iNumOfChecked++;
						}
					}
				}
			}
		}
		if(bOtherExists && oFirstCheckbox && !iNumOfChecked) {
			return Form_ShowAlert(oFirstCheckbox, sLabel ? sLabel : Form_aObligatory[i], Form_sObligatory);
		}
		
		// check SELECT boxes
		var a = document.getElementsByTagName("SELECT");
		bOtherExists = false;
		iNumOfChecked = 0;
		oFirstCheckbox = null;
		if(a && a.length) {
			for(var j=0; j<=a.length-1; j++) {
				if(a[j].id) {
					eval("var b = a["+j+"].id.search(/^_ufh_" + i + "_.*$/);");
					if(b!=-1) {
						if(oFirstCheckbox==null) oFirstCheckbox = a[j];
						bOtherExists = true;
						if(a[j].value>0) iNumOfChecked++;
					}
				}
			}
		}
		if(bOtherExists && oFirstCheckbox && !iNumOfChecked) {
			return Form_ShowAlert(oFirstCheckbox, sLabel ? sLabel : Form_aObligatory[i], Form_sObligatory);
		}
		
	}
	else {
		if(oInput.type.search(/select/i)!=-1) { // tehát, select box ez az input
			if(!oInput.value) {
				return Form_ShowAlert(oInput, Form_aObligatory[i], Form_sObligatory);
			}
		}
		else if(oInput.type.search(/check/i)!=-1) { // tehát, checkbox ez az input!? előfordulhat!
			if(!oInput.checked) {
				return Form_ShowAlert(oInput, Form_aObligatory[i], Form_sObligatory);
			}
		}
		else if(oInput.value=="") return Form_ShowAlert(oInput, Form_aObligatory[i], Form_sObligatory);
	}
	
	return true;
}
//--------------------------------------------------------------------------------------------------
