<!--
/*
	============================================================
	Validate fce
	============================================================
	Copyright: www.eastburger.cz (c) 2009 All rights reserved.
	============================================================
 	Spoluprace:
 		./js/lang-"idLang".js
	------------------------------------------------------------
*/

// kontrola prazdne hodnoty prvku
function CheckEmptyElement(idElement){
	var sMsg = '';
	var oLabel = document.getElementById('lb_' + idElement);
	var sLabel = '';

	if(Trim(document.getElementById(idElement).value) == ''){
		if(oLabel){	// pokud existuje label
			sLabel = GetLabelDesc(oLabel);
			SetLabel(oLabel, 'err');
			sMsg = lgValidateEmptyElement + ': ' + sLabel + '.';
		}
		else sMsg = lgValidateEmptyElement + '.';
		return sMsg;
	}
	else{
		SetLabel(oLabel);
		return true;
	}
}


// kontrola prazdne hodnoty prvku CHECKBOX
function CheckEmptyCheckbox(idElement){
	var sMsg = '';
	var oLabel = document.getElementById('lb_' + idElement);
	var sLabel = '';

	if(document.getElementById(idElement).checked == false){
		if(oLabel){	// pokud existuje label
			sLabel = GetLabelDesc(oLabel);
			SetLabel(oLabel, 'err');
			sMsg = lgValidateEmptyElement + ': ' + sLabel + '.';
		}
		else sMsg = lgValidateEmptyElement + '.';
		return sMsg;
	}
	else{
		SetLabel(oLabel);
		return true;
	}
}


// kontrola prazdne hodnoty prvku RADIO
function CheckEmptyRadio(idForm, idElement){
	var sMsg = '';
	var sElementName = document.getElementById(idElement).name;
	var oLabel = document.getElementById('lb_' + sElementName);
	var sLabel = '';
	var radioValue = GetRadioValue(document.getElementById(idForm).elements[sElementName]);

	if(radioValue == null){
		if(oLabel){	// pokud existuje label
			sLabel = GetLabelDesc(oLabel);
			SetLabel(oLabel, 'err');
			sMsg = lgValidateEmptyElement + ': ' + sLabel + '.';
		}
		else sMsg = lgValidateEmptyElement + '.';
		return sMsg;
	}
	else{
		SetLabel(oLabel);
		return true;
	}
}


// kontrola hodnoty prvku podle regularniho vyrazu
function CheckFormat(idElement, sRegStr){
	var sMsg = '';
	var oLabel = document.getElementById('lb_' + idElement);
	var sLabel = '';
	var sValue = Trim(document.getElementById(idElement).value);
	var sRe  = sRegStr;

	if(sValue != ''){
		if(!RegExpTest(sValue,sRe)){
			if(oLabel){	// pokud existuje label
				sLabel = GetLabelDesc(oLabel);
				SetLabel(oLabel, 'err');
				sMsg = lgValidateBadFormat + ': ' + sLabel + '.';
			}
			else sMsg = lgValidateBadFormat + '.';
			return sMsg;	
		}
		else{
			SetLabel(oLabel);
			return true;			
		}
	}
	else return true;
}


// vrati popisny text prvku
function GetLabelDesc(oLabel){
	sLabel = oLabel.firstChild.data;
	if(sLabel.substring(sLabel.length - 1, sLabel.length) == ':') sLabel = sLabel.substring(0, sLabel.length-1);	
	return sLabel;
}


// vrati hodnotu vybraneho tlacitka
function GetRadioValue(radioArray){
	var iLength = radioArray.length;
	if(iLength){	// vice hodnot
		var i;
		for(i = 0; i < iLength; i++){
			if(radioArray[i].checked == true) return radioArray[i].value;
		}
	}
	else{	// pouze jedna hodnota
		if(radioArray.checked == true) return radioArray.value;
	}
	return null;
}


// testovani regularnich vyrazu
function RegExpTest(test,reg){
	return test.search(reg) == 0;
}


// oriznuti mezer
function Trim(s){
	while(s.substring(0,1) == ' '){
		s = s.substring(1,s.length);
	}
	while(s.substring(s.length-1,s.length) == ' '){
		s = s.substring(0,s.length-1);
	}
	return s;
}


// nastavi vyhled popisu prvku
function SetLabel(oLabel, type){
	if(oLabel){
		if(type == 'err') oLabel.style.color = cfgErrColor;
		else oLabel.style.color = '';
	}
}


// validace formulare
function Validate(){	// libovolny pocet argumentu, prvni musi byt ID formulare
	var iArgumentsCount = arguments.length;		// pocet argumentu funkce
	var idForm = arguments[0]; // ID formulare
	var sMsgAlert = '';

	for(i = 1; i < iArgumentsCount; i++){
		idElement = arguments[i];
		//if(!document.getElementById(idElement)) continue;	// pokud prvek NEexistuje // ladicka
		if(document.getElementById(idElement).type == 'radio') tmp = CheckEmptyRadio(idForm, idElement);
		else if(document.getElementById(idElement).type == 'checkbox') tmp = CheckEmptyCheckbox(idElement);
		else tmp = CheckEmptyElement(idElement);
		if(tmp != true){
			if(sMsgAlert == '') document.getElementById(idElement).focus();
			sMsgAlert += tmp + '\n';
		}
	}

	if(sMsgAlert == '') return true;
	else{
		alert(lgValidate + '\n\n' + sMsgAlert);
		return false;
	}
}

//-->