// POMOCNA FCE: kontrola validity emailove adresy. Nacita se proto, aby byla dostupna vsude
function checkEmail(email) {
	return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email));
} //checkEmail

// ziska z XML elementu zpet pole/objekt kodovany pres JSON
function parseJsonElement(element) {
	return element.textContent? eval('('+element.textContent+')') : eval('('+element.firstChild.nodeValue+')');
} // parseJsonElement

// ziska z XML elementu jeho obsah
function getMyXMLValue(element) {
	return element.textContent? element.textContent: element.firstChild.nodeValue;
} // getMyXMLValue

/*
 Funkce pro multijazykove verze JS
 @lang - kod jazyka
 @termID - ID prekladaneho terminu
*/

// konstanty jazyku
var xLngCZ = 1;
var xLngPL = 2;
var xLngAF_cz = 3;

// konstanty prekladu
var xLateNotValidToEmail = 101;
var xLateNotValidFromEmail = 102;
var xLateErrorNo = 103;

var xLateDiaryAdded = 201;
var xLateTextEmpty = 202;
var xLateDelete = 203;

var xLateAnkThank = 301;
var xLateAnkVotedPC = 302;
var xLateAnkVotedIP = 303;

var xLateConfirmRules = 401;

var xLateNoSelectModel = 501;
var xLateNoSelectZnacka = 502;
var xLateNoCarAlias = 503;
var xLateNoSelectSpokojenost = 504;

var xLateChooseModel = 601;

var xLateBodovaniFailed = 701;
var xLateBodovaniLastNoData = 702;
var xLateBodovaniLastBadUID = 703;
var xLateBodovaniBodyGText = 704;
var xLateBodovaniBodyAText = 705;
var xLateBodovaniBodyRText = 706;
var xLateBodovaniBodyFText = 707;
var xLateBodovaniErrorBeginText = 708;
var xLateBodovaniLastRefreshText = 709;
var xLateBodovaniLastUserDetailTitle = 710;
var xLateBodovaniLastHead0 = 711;
var xLateBodovaniLastHead1 = 712;
var xLateBodovaniLastHead2 = 713;
var xLateBodovaniLastHead3 = 714;
var xLateBodovaniLastHead4 = 715;

var xLateNoExistModel = 801;

var xLatePrehledPage = 901;

var xLateFailureUID = 1100;
var xLateAdminNoData = 1101;
var xLateCloseText = 1102;

var xLateRequestNoSend = 1110;
var xLateUserReqRmText = 1111;
var xLateUserReqShowDetailText = 1112;
var xLateUserReqStatusText0 = 1113;
var xLateUserReqStatusText1 = 1114;
var xLateUserReqStatusText2 = 1115;

var xLateAnotherRequest = 1200;
var xLateUserReqNoClub = 1201;
var xLateUserReqNoCar = 1202;
var xLateUserReqNoInMail = 1203;
var xLateUserReqNoInText = 1204;

var xLateUserReqNoCarsArray = 1301;
var xLateUserReqNoUser = 1302;

var xLateUserReqNoData = 1401;

var xLateUserReqRemoveError = 1501;
var xLateUserReqRemoveConfirm = 1502;

var xLateCarOutFail = 1601;
var xLateCarOutText = 1602;
var xLateCarOutReasonConfirm = 1603;
var xLateCarOutUserConfirm = 1604;
var xLateCarOutAdminConfirm = 1605;
var xLateCarOutAdminNoReason = 1606;
var xLateCarOutRmBtn = 1607;
var xLateCarOutReasonText = 1608;

var xLateAdminBadStaus = 1701;
var xLateAdminReqStoreFail = 1702;
var xLateAdminReqStoreEmpty = 1703;
var xLateAdminShowResponseText = 1704;
var xLateAdminReqArchivText = 1705;

var xLateAdminReqStatusHeadText0 = 1801;
var xLateAdminReqStatusHeadText1 = 1802;
var xLateAdminReqStatusHeadText2 = 1803;
var xLateAdminReqSendrResponseBtn = 1804;

var xLateAdminReqStatusActionTextOK = 1810;
var xLateAdminReqStatusActionTextKO = 1811;
var xLateAdminReqStatusActionTextWait = 1812;
var xLateAdminRsponseText = 1813;
var xLateAdminRsponseContText = 1816;
var xLateRespSendConfirm = 1814;
var xLateRespNoResponse = 1815;

var xLateBodovaniBadParams = 2000;

// funkce vrati prelozeny string
function xLate(lang,termID){
	var ret = 'Lang:'+lang+' Term:'+termID+' ! CHYBA JS !';
	// cesky preklad
	if (lang==xLngCZ) {
		switch(termID){
			case xLateNotValidToEmail :
				ret = 'Adresa příjemce není platná!';
				break;
			case xLateNotValidFromEmail :
				ret = 'Adresa odesílatele není platná!';
				break;
			case xLateErrorNo :
				ret = 'Chyba! #';
				break;
			case xLateDiaryAdded :
				ret = 'Novinka byla vložena. Nyní stiskněte tlačítko Uložit.';
				break;
			case xLateTextEmpty :
				ret = 'Text je prázdný';
				break;
			case xLateDelete :
				ret = 'odstranit';
				break;
			case xLateAnkThank :
				ret = 'Děkujeme za Váš hlas!';
				break;
			case xLateAnkVotedPC :
				ret = 'Z tohoto počítače už bylo hlasováno.';
				break;
			case xLateAnkVotedIP :
				ret = 'Z této IP adresy už bylo hlasováno.';
				break;
			case xLateConfirmRules :
				ret = 'Musíte potvrdit souhlas s pravidly používání.';
				break;
			case xLateNoSelectModel :
				ret = 'Není vybrán model!';
				break;
			case xLateNoSelectZnacka :
				ret = 'Není vybrána značka!';
				break;
			case xLateNoCarAlias :
				ret = 'Není vyplněna přezdívka auta!';
				break;
			case xLateNoSelectSpokojenost :
				ret = 'Celková spokojenost není vyplněna!';
				break;
			case xLateChooseModel :
				ret = 'Vyberte model:';
				break;
			case xLateBodovaniFailed :
				ret = 'Bodování se nezdařilo';
				break;
			case xLateBodovaniLastNoData :
				ret = 'Žádné další hodnocení neexistuje, nebo ho nelze získat';
				break;
			case xLateBodovaniLastBadUID :
				ret = 'Chybný nebo chybějící parametr UID';
				break;
			case xLateBodovaniBodyGText :
				ret = 'Celkové hodnocení';
				break;
			case xLateBodovaniBodyAText :
				ret = 'Hodnocení auta';
				break;
			case xLateBodovaniBodyRText :
				ret = 'Hodnocení recenze';
				break;
			case xLateBodovaniBodyFText :
				ret = 'Hodnocení fotografií';
				break;
			case xLateBodovaniErrorBeginText :
				ret = 'Vyplňte prosím následující položky';
				break;
			case xLateBodovaniLastRefreshText :
				ret = 'obnovit data';
				break;
			case xLateBodovaniLastUserDetailTitle :
				ret = 'zobrazit detail uživatele';
				break;
			case xLateBodovaniLastHead0 :
				ret = 'uživatel';
				break;
			case xLateBodovaniLastHead1 :
				ret = 'celkově';
				break;
			case xLateBodovaniLastHead2 :
				ret = 'auto';
				break;
			case xLateBodovaniLastHead3 :
				ret = 'fotky';
				break;
			case xLateBodovaniLastHead4 :
				ret = 'recenze';
				break;
			case xLateNoExistModel :
				ret = 'Žádný model zatím neexistuje';
				break;
			case xLatePrehledPage :
				ret = '/prehled/';
				break;
			case xLateFailureUID :
				ret = 'Chybějící nebo nevyhovující UID';
				break;
			case xLateAdminNoData :
				ret = 'Nejsou data';
				break;
			case xLateCloseText :
				ret = 'zavřít';
				break;
			case xLateAnotherRequest :
				ret = 'Auto už čeká na jinou žádost';
				break;
			case xLateRequestNoSend :
				ret = 'Nezdařilo se odeslat žádost';
				break;
			case xLateUserReqRmText :
				ret = 'smaž žádost';
				break;
			case xLateUserReqShowDetailText :
				ret = 'zobrazit detail stavu žádosti ...';
				break;
			case xLateUserReqStatusText0 :
				ret = 'odesláno uživatelem';
				break;
			case xLateUserReqStatusText1 :
				ret = 'prohlédnuto administrátorem';
				break;
			case xLateUserReqStatusText2 :
				ret = 'čeká na doplnění údajů';
				break;
			case xLateUserReqNoClub :
				ret = 'Není vybrán klub';
				break;
			case xLateUserReqNoCar :
				ret = 'Není vybráno auto';
				break;
			case xLateUserReqNoInMail :
				ret = 'Není vyplněn kontaktní e-mail';
				break;
			case xLateUserReqNoInText :
				ret = 'Nebyl vyplněn doplňující text žádosti. Přejete si jej zadat?';
				break;
			case xLateUserReqNoCarsArray :
				ret = 'Nejsou auta';
				break;
			case xLateUserReqNoUser :
				ret = 'Není uživatel';
				break;
			case xLateUserReqNoData :
				ret = 'Nepodařilo se získat žádost';
				break;
			case xLateUserReqRemoveError :
				ret = 'Nepodařilo se smazat žádost';
				break;
			case xLateUserReqRemoveConfirm :
				ret = 'Opravdu smazat žádost?';
				break;
			case xLateCarOutFail :
				ret = 'Nepodařilo se auto z klubu odstranit';
				break;
			case xLateCarOutText :
				ret = 'odstranit z klubu';
				break;
			case xLateCarOutReasonConfirm :
				ret = 'Nebyl zadán důvod vystoupení z klubu. Přejete si jej zadat?';
				break;
			case xLateCarOutUserConfirm :
				ret = 'Opravdu si přejete vystoupit s vaším autem z klubu?';
				break;
			case xLateCarOutAdminConfirm :
				ret = 'Opravdu odstranit auto z klubu?';
				break;
			case xLateCarOutAdminNoReason :
				ret = 'Pro odstranění auta z klubu musíte zadat důvod k jeho vymazání';
				break;
			case xLateCarOutRmBtn :
				ret = 'Odstranit z klubu';
				break;
			case xLateCarOutReasonText :
				ret = 'Důvod pro smazání auta z klubu:';
				break;
			case xLateAdminBadStaus :
				ret = 'Chybný stav';
				break;
			case xLateAdminReqStoreFail :
				ret = 'Data store FAILS';
				break;
			case xLateAdminReqStoreEmpty :
				ret = 'Data EMPTY';
				break;
			case xLateAdminShowResponseText :
				ret = 'zobrazit detail / odpovědět';
				break;
			case xLateAdminReqArchivText :
				ret = 'archiv žádostí';
				break;
			case xLateAdminReqStatusHeadText0 :
				ret = 'Neprohlédnuté';
				break;
			case xLateAdminReqStatusHeadText1 :
				ret = 'Prohlédnuté';
				break;
			case xLateAdminReqStatusHeadText2 :
				ret = 'Čekají na doplnění';
				break;
			case xLateAdminReqSendrResponseBtn :
				ret = 'Odeslat odpověď';
				break;
			case xLateAdminReqStatusActionTextOK :
				ret = 'Přijmout do klubu';
				break;
			case xLateAdminReqStatusActionTextKO :
				ret = 'Nepříjímat do klubu';
				break;
			case xLateAdminReqStatusActionTextWait :
				ret = 'Počkat na doplnění';
				break;
			case xLateAdminRsponseText :
				ret = 'Odpověď:';
				break;
			case xLateAdminRsponseContText :
				ret = 'Kontaktní e-mail:';
				break;
			case xLateRespSendConfirm :
				ret = 'Opravdu provést operaci?';
				break;
			case xLateRespNoResponse :
				ret = 'Není vyplněna odpověď';
				break;
			case xLateBodovaniBadParams :
				ret = 'Chybějící nebo špatné parametry';
				break;

			default: ret += ' - nepřeloženo';
		} // switch
	}
	// cesky preklad
	if (lang==xLngAF_cz) {
		switch(termID){
			case xLateNotValidToEmail :
				ret = 'Adresa příjemce není platná!';
				break;
			case xLateNotValidFromEmail :
				ret = 'Adresa odesílatele není platná!';
				break;
			case xLateErrorNo :
				ret = 'Chyba! #';
				break;
			case xLateDiaryAdded :
				ret = 'Novinka byla vložena. Nyní stiskněte tlačítko Uložit.';
				break;
			case xLateTextEmpty :
				ret = 'Text je prázdný';
				break;
			case xLateDelete :
				ret = 'odstranit';
				break;
			case xLateAnkThank :
				ret = 'Děkujeme za Váš hlas!';
				break;
			case xLateAnkVotedPC :
				ret = 'Z tohoto počítače už bylo hlasováno.';
				break;
			case xLateAnkVotedIP :
				ret = 'Z této IP adresy už bylo hlasováno.';
				break;
			case xLateConfirmRules :
				ret = 'Musíte potvrdit souhlas s pravidly používání.';
				break;
			case xLateNoSelectModel :
				ret = 'Není vybrán model!';
				break;
			case xLateNoSelectZnacka :
				ret = 'Není vybrána značka!';
				break;
			case xLateNoCarAlias :
				ret = 'Není vyplněna přezdívka auta!';
				break;
			case xLateNoSelectSpokojenost :
				ret = 'Celková spokojenost není vyplněna!';
				break;
			case xLateChooseModel :
				ret = 'Vyberte model:';
				break;
			case xLateBodovaniFailed :
				ret = 'Bodování se nezdařilo';
				break;
			case xLateBodovaniLastNoData :
				ret = 'Žádné další hodnocení neexistuje, nebo ho nelze získat';
				break;
			case xLateBodovaniLastBadUID :
				ret = 'Chybný nebo chybějící parametr UID';
				break;
			case xLateBodovaniBodyGText :
				ret = 'Celkové hodnocení';
				break;
			case xLateBodovaniBodyAText :
				ret = 'Hodnocení auta';
				break;
			case xLateBodovaniBodyRText :
				ret = 'Hodnocení recenze';
				break;
			case xLateBodovaniBodyFText :
				ret = 'Hodnocení fotografií';
				break;
			case xLateBodovaniErrorBeginText :
				ret = 'Vyplňte prosím následující položky';
				break;
			case xLateBodovaniLastRefreshText :
				ret = 'obnovit data';
				break;
			case xLateBodovaniLastUserDetailTitle :
				ret = 'zobrazit detail uživatele';
				break;
			case xLateBodovaniLastHead0 :
				ret = 'uživatel';
				break;
			case xLateBodovaniLastHead1 :
				ret = 'celkově';
				break;
			case xLateBodovaniLastHead2 :
				ret = 'auto';
				break;
			case xLateBodovaniLastHead3 :
				ret = 'fotky';
				break;
			case xLateBodovaniLastHead4 :
				ret = 'recenze';
				break;
			case xLateNoExistModel :
				ret = 'Žádný model zatím neexistuje';
				break;
			case xLatePrehledPage :
				ret = '/prehled/';
				break;
			case xLateFailureUID :
				ret = 'Chybějící nebo nevyhovující UID';
				break;
			case xLateAdminNoData :
				ret = 'Nejsou data';
				break;
			case xLateCloseText :
				ret = 'zavřít';
				break;
			case xLateAnotherRequest :
				ret = 'Auto už čeká na jinou žádost';
				break;
			case xLateRequestNoSend :
				ret = 'Nezdařilo se odeslat žádost';
				break;
			case xLateUserReqRmText :
				ret = 'smaž žádost';
				break;
			case xLateUserReqShowDetailText :
				ret = 'zobrazit detail stavu žádosti ...';
				break;
			case xLateUserReqStatusText0 :
				ret = 'odesláno uživatelem';
				break;
			case xLateUserReqStatusText1 :
				ret = 'prohlédnuto administrátorem';
				break;
			case xLateUserReqStatusText2 :
				ret = 'čeká na doplnění údajů';
				break;
			case xLateUserReqNoClub :
				ret = 'Není vybrán klub';
				break;
			case xLateUserReqNoCar :
				ret = 'Není vybráno auto';
				break;
			case xLateUserReqNoInMail :
				ret = 'Není vyplněn kontaktní e-mail';
				break;
			case xLateUserReqNoInText :
				ret = 'Nebyl vyplněn doplňující text žádosti. Přejete si jej zadat?';
				break;
			case xLateUserReqNoCarsArray :
				ret = 'Nejsou auta';
				break;
			case xLateUserReqNoUser :
				ret = 'Není uživatel';
				break;
			case xLateUserReqNoData :
				ret = 'Nepodařilo se získat žádost';
				break;
			case xLateUserReqRemoveError :
				ret = 'Nepodařilo se smazat žádost';
				break;
			case xLateUserReqRemoveConfirm :
				ret = 'Opravdu smazat žádost?';
				break;
			case xLateCarOutFail :
				ret = 'Nepodařilo se auto z klubu odstranit';
				break;
			case xLateCarOutText :
				ret = 'odstranit z klubu';
				break;
			case xLateCarOutReasonConfirm :
				ret = 'Nebyl zadán důvod vystoupení z klubu. Přejete si jej zadat?';
				break;
			case xLateCarOutUserConfirm :
				ret = 'Opravdu si přejete vystoupit s vaším autem z klubu?';
				break;
			case xLateCarOutAdminConfirm :
				ret = 'Opravdu odstranit auto z klubu?';
				break;
			case xLateCarOutAdminNoReason :
				ret = 'Pro odstranění auta z klubu musíte zadat důvod k jeho vymazání';
				break;
			case xLateCarOutRmBtn :
				ret = 'Odstranit z klubu';
				break;
			case xLateCarOutReasonText :
				ret = 'Důvod pro smazání auta z klubu:';
				break;
			case xLateAdminBadStaus :
				ret = 'Chybný stav';
				break;
			case xLateAdminReqStoreFail :
				ret = 'Data store FAILS';
				break;
			case xLateAdminReqStoreEmpty :
				ret = 'Data EMPTY';
				break;
			case xLateAdminShowResponseText :
				ret = 'zobrazit detail / odpovědět';
				break;
			case xLateAdminReqArchivText :
				ret = 'archiv žádostí';
				break;
			case xLateAdminReqStatusHeadText0 :
				ret = 'Neprohlédnuté';
				break;
			case xLateAdminReqStatusHeadText1 :
				ret = 'Prohlédnuté';
				break;
			case xLateAdminReqStatusHeadText2 :
				ret = 'Čekají na doplnění';
				break;
			case xLateAdminReqSendrResponseBtn :
				ret = 'Odeslat odpověď';
				break;
			case xLateAdminReqStatusActionTextOK :
				ret = 'Přijmout do klubu';
				break;
			case xLateAdminReqStatusActionTextKO :
				ret = 'Nepříjímat do klubu';
				break;
			case xLateAdminReqStatusActionTextWait :
				ret = 'Počkat na doplnění';
				break;
			case xLateAdminRsponseText :
				ret = 'Odpověď:';
				break;
			case xLateAdminRsponseContText :
				ret = 'Kontaktní e-mail:';
				break;
			case xLateRespSendConfirm :
				ret = 'Opravdu provést operaci?';
				break;
			case xLateRespNoResponse :
				ret = 'Není vyplněna odpověď';
				break;
			case xLateBodovaniBadParams :
				ret = 'Chybějící nebo špatné parametry';
				break;

			default: ret += ' - nepřeloženo';
		} // switch
	}
	// polsky preklad
	if (lang==xLngPL) {
		switch(termID){
			case xLateNotValidToEmail :
				ret = 'Niepoprawny adres odbiorcy!';
				break;
			case xLateNotValidFromEmail :
				ret = 'Niepoprawny adres nadawcy!';
				break;
			case xLateErrorNo :
				ret = 'Błąd! #';
				break;
			case xLateDiaryAdded :
				ret = 'Nowość została dodana. Teraz kliknij Zapisz.';
				break;
			case xLateTextEmpty :
				ret = 'Tekst jest pusty';
				break;
			case xLateDelete :
				ret = 'skasuj';
				break;
			case xLateAnkThank :
				ret = 'Dziękujemy za Twój głos!';
				break;
			case xLateAnkVotedPC :
				ret = 'Z tego komputera już głosowano.';
				break;
			case xLateAnkVotedIP :
				ret = 'Z tego IP już głosowano.';
				break;
			case xLateConfirmRules :
				ret = 'Konieczna jest akceptacja zasad korzystania z usługi';
				break;
			case xLateNoSelectModel :
				ret = 'Wpisz model!';
				break;
			case xLateNoSelectZnacka :
				ret = 'Wpisz markę!';
				break;
			case xLateNoCarAlias :
				ret = 'Wpisz alias samochodu!';
				break;
			case xLateNoSelectSpokojenost :
				ret = 'Wpisz ogólną ocenę!';
				break;
			case xLateChooseModel :
				ret = 'Wybierz model:';
				break;
			case xLateBodovaniFailed :
				ret = 'Nieudane głosowanie!';
				break;
			case xLateNoExistModel :
				ret = 'Żaden model na razie nie istnieje';
				break;
			case xLatePrehledPage :
				ret = '/spis/';
				break;
			default: ret += ' - nepřeloženo';
		} // switch
	}
	return ret;
}
