//Trim pouziti string.trim() String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); } String.prototype.ltrim = function() { return this.replace(/^\s+/,""); } String.prototype.rtrim = function() { return this.replace(/\s+$/,""); } var strClassAktualniRadek = ''; //trida aktualniho vysviceneho radku var eOpenMenu = null; //aktualni otevrene menu aplikace //defer = true; by melo zablokovat parserovani kodu if (document.addEventListener) document.addEventListener('keydown', eKeyPress, false) else if (document.attachEvent) document.attachEvent('onkeydown', eKeyPress) else if (document.captureEvents && Event.MOUSEOVER && Event.MOUSEOUT && Event.KEYUP) document.captureEvents(Event.MOUSEOVER && Event.MOUSEOUT && Event.KEYUP) // NS4 else document['onkeydown'] = eKeyPress document.onmouseover = eMouseOver; document.onmouseout = eMouseOut; // vyhleda prvni vnoreny prvek nebo null podle nazvu html tagu function firstDescendantByTagName(elemTarget, sTagName) { for (var i = 0; i < elemTarget.children.length; i++) { if (elemTarget.children[i].tagName) { var sCurrentTagName = elemTarget.children[i].tagName; if (sCurrentTagName.toLowerCase() == sTagName.toLowerCase()) { return elemTarget.children[i]; } else { var elemFound = firstDescendantByTagName(elemTarget.children[i], sTagName); if (typeof(elemFound) !== 'undefined') return elemFound } } } } // vyhleda prvni nadrazeny prvek nebo null podle nazvu html tagu function firstAncestorByTagName(elemTarget, sTagName) { while (elemTarget.parentNode) { if (typeof elemTarget.tagName !== 'undefined') { if (elemTarget.tagName.toUpperCase() == sTagName.toUpperCase()) return elemTarget } elemTarget = elemTarget.parentNode; } return null; } function GlobalMouseOver(eSrc) { if (!eSrc) return if (eSrc.className == 'clsMenuBarItem') { eSrc.style.color = 'Moccasin'; if (eSrc.tagName.toLowerCase() == 'a') { eSrc = eSrc.parentNode; } var eMenu = document.getElementById(eSrc.id.replace('tdMenuBarItem', 'divMenu')); if (eOpenMenu && eOpenMenu != eMenu) CloseMenu(eOpenMenu) if (eMenu) OpenMenu(eSrc, eMenu) return; } else { if (eOpenMenu && !eOpenMenu.contains(eSrc) && !document.getElementById('divMenuBar').contains(eSrc)) { CloseMenu(eOpenMenu); return; } } var elemParentTr = firstAncestorByTagName(eSrc, 'tr'); if (elemParentTr != null) { if ( elemParentTr.className == 'SelectRowHiliteHand' || elemParentTr.className == 'SelectRowHand' || elemParentTr.className == 'clspdfsamostatnyradek' || elemParentTr.className == 'clsffsamostatnyradek' || elemParentTr.className == 'clsprfsamostatnyradek' || elemParentTr.className == 'clslichyradek' || elemParentTr.className == 'clssudyradek' || elemParentTr.className == 'clspdflichyradek' || elemParentTr.className == 'clsfflichyradek' || elemParentTr.className == 'clsprflichyradek' || elemParentTr.className == 'clspdfsudyradek' || elemParentTr.className == 'clsffsudyradek' || elemParentTr.className == 'clsprfsudyradek' || elemParentTr.className == 'clssudyradek' ) { strClassAktualniRadek = elemParentTr.className; elemParentTr.className = 'clsradekvyber'; } } } function GlobalMouseOut(eSrc) { if (!eSrc) return if (eSrc.className == 'clsMenuBarItem') { eSrc.style.color = ''; return; } var elemParentTr = firstAncestorByTagName(eSrc, 'tr'); if (elemParentTr != null) { if (elemParentTr.className == 'clsradekvyber') { elemParentTr.className = strClassAktualniRadek; strClassAktualniRadek = ''; } } } function eMouseOver(eEvent) { if (!eEvent) { if (window.event) { GlobalMouseOver(window.event.srcElement); // IE } else { return null; } } else { if (eEvent.target) { GlobalMouseOver(eEvent.target); // FF } GlobalMouseOver(eEvent); // FF } } function eMouseOut(eEvent) { if (!eEvent) { if (window.event) { GlobalMouseOut(window.event.srcElement); // IE } else { return null; } } else { if (eEvent.target) { GlobalMouseOut(eEvent.target); // FF } GlobalMouseOut(eEvent); // FF } } function KeyPressHandler(eKey, nKeyCode) { // jenom k pretypovani return true; } function eKeyPress(eKey) { var nKeyCode; eKey = eKey || window.event; //grab event or possible IE event if (typeof(eKey.keyCode) == 'number') { nKeyCode = eKey.keyCode; //DOM } else { if (typeof(eKey.which) == 'number') { nKeyCode = eKey.which; //NS4 } else { if (typeof(eKey.charCode) == 'number') { nKeyCode = eKey.charCode; //NS 6+, Mozilla 0.9+ } else { return; //nothing pressed } } } KeyPressHandler(eKey, nKeyCode); } function OpenMenu(eSrc, eMenu) { var divMenuBar = document.getElementById('divMenuBar'); eMenu.style.left = (eSrc.offsetLeft + divMenuBar.offsetLeft) + 'px'; eMenu.style.top = (divMenuBar.offsetHeight + divMenuBar.offsetTop) + 'px'; eMenu.style.visibility = 'visible'; eOpenMenu = eMenu; var shadow = document.getElementById('clsMenuShadow'); shadow.style.left = (eSrc.offsetLeft + divMenuBar.offsetLeft + 10) + 'px'; shadow.style.top = (divMenuBar.offsetHeight + divMenuBar.offsetTop + 10) + 'px'; shadow.style.width = eMenu.offsetWidth + 'px'; shadow.style.height = eMenu.offsetHeight + 'px'; shadow.style.visibility = 'visible'; } function CloseMenu(eMenu) { var shadow = document.getElementById('clsMenuShadow'); shadow.style.width = '0px'; shadow.style.height = '0px'; eMenu.style.visibility = 'hidden'; eOpenMenu = null; } function c(sUrl) { document.location = sUrl; } // dynamická změna obsahu komboboxu v závislosti na hodnotě klíče function NaplnCombo(oSelect, sKlic, sHodnota) { pocet = oSelect.options.length for (i = 0; i < pocet; i++) { oSelect.options.remove(0) } bSelected = false for (key in pole) { pom = key.split('||')[0] if (pom.toUpperCase() == sKlic.toUpperCase() || sKlic == '') { oOption = document.createElement('OPTION') oSelect.options.add(oOption) oOption.innerText = pole[key] oOption.value = key.split('||')[1] if ((!bSelected) && (sHodnota=='')) { oOption.selected = true bSelected = true } else { if (sHodnota==oOption.value) { oOption.selected = true } } } } } // kontrola vyplneni pozadovanych vstupu ve formulari function ValidEmpty(elemForm) { var i,j,str; var v1 = elemForm.getElementsByTagName('input'); // list var v2; // predek var v3; // list potomku predka var v4; // tr var v5; // prvni td var sName; for(i = 0; i < v1.length; i++) { if (!v1[i].readOnly && !v1[i].disabled && v1[i].value == '' && (v1[i].type.toLowerCase() == 'text' || v1[i].type.toLowerCase() == 'file' )) { sName = v1[i].name; v2 = v1[i].parentNode; v3 = v2.getElementsByTagName('img'); for (j = 0; j < v3.length; j++) { if (v3[j].name == 'Vyzadovano') { v4 = v2.parentNode; if (v4.tagName.toLowerCase() == 'tr') { v5 = v4.getElementsByTagName('td'); if (v5[0].innerHTML) alert('Vyplňte ' + v5[0].innerHTML + '!') else { if (v5[0].textContent) alert('Vyplňte ' + v5[0].textContent + '!') } v1[i].focus() return false; } } } } } v1 = elemForm.getElementsByTagName('textarea'); // list for(i = 0; i < v1.length; i++) { if (!v1[i].readOnly && !v1[i].disabled && v1[i].value == '') { sName = v1[i].name; v2 = v1[i].parentNode; v3 = v2.getElementsByTagName('img'); for (j = 0; j < v3.length; j++) { if (v3[j].name == 'Vyzadovano') { v4 = v2.parentNode; if (v4.tagName.toLowerCase() == 'tr') { v5 = v4.getElementsByTagName('td'); if (v5[0].innerHTML) alert('Vyplňte ' + v5[0].innerHTML + '!') else { if (v5[0].textContent) alert('Vyplňte ' + v5[0].textContent + '!') } v1[i].focus() return false; } } } } } return true; } // kontrola cisla, zda obsahuje jen cislice function IsInteger(s) { for (var i = 0; i < s.length; i++) { var c = s.charAt(i); if (!((c >= '0') && (c <= '9'))) { return false; } } return true; } // kontrola platnosti rodneho cisla function ValidRodCis(RodCis){ var rok,mesic,den,prestupny; var err = '',err1 = 0; RodCis.value = RodCis.value.replace('/',''); if (!IsInteger(RodCis.value)) { err += ' (obsahuje i jiné znaky než číslice)\n'; } if ((RodCis.value.length < 9) || (RodCis.value.length > 10)) { err +=' (má nestandardní délku)\n'; } rok = RodCis.value.substr(0,2); mesic = RodCis.value.substr(2,2); den = RodCis.value.substr(4,2); if (mesic > 50) mesic=mesic-50; if (mesic>12) err +=' (měsíc narození > 12)\n'; if (den>31) err +=' (den narození > 31)\n'; prestupny = false; if(rok % 4 == 0){ prestupny = true; if(rok % 100 == 0){ prestupny = false; if(rok % 400 == 0){ prestupny = true; } } } if((mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11) && (den < 1 || den > 30)){ err1 = 1; } if((mesic == 1 || mesic == 3 || mesic == 5 || mesic == 7 || mesic == 8 || mesic == 10 || mesic == 12) && (den < 1 || den > 31)){ err1 = 1; } if(mesic == 2 && (den < 1 || den > 28) && prestupny == false){ err1 = 1; } if(mesic == 2 && (den < 1 || den > 29) && prestupny == true){ err1 = 1; } if(RodCis.value % 11 != 0 && RodCis.value.length == 10){ err1 = 1; } if (err !='' || err1) { if (! confirm('Zadané rodné číslo neodpovídá české normě.\n'+err+'Chcete ho opravdu vložit?')) { RodCis.focus(); return false; } } return true; } // Maze hodnoty formulate Filtru function FormClearFilter() { var elemformListInputs = document.getElementById('formList').getElementsByTagName('input'); // seznam input elementu for (var i = 0 ; i < elemformListInputs.length; i++) { if(elemformListInputs[i].type != 'button' && elemformListInputs[i].type != 'hidden') { elemformListInputs[i].value = ''; } } elemformListInputs = document.getElementById('formList').getElementsByTagName('select'); // seznam select elementu for (i = 0 ; i < elemformListInputs.length; i++) { if(elemformListInputs[i].type != 'hidden') { elemformListInputs[i].value = ''; } } elemformListInputs = document.getElementById('formList').getElementsByTagName('textarea'); // seznam textarea elementu for (i = 0 ; i < elemformListInputs.length; i++) { if(elemformListInputs[i].type != 'hidden') { elemformListInputs[i].value = ''; } } document.getElementById('formList').submit(); } // kontrola spravnosti datumu function ValidDatum(vstup){ var text var index var tecka var den var mesic var rok var ch text='' den='' mesic='' rok='' tecka=0 if (!vstup.value.length) return true; for (index = 0; index < vstup.value.length; index++){ ch = vstup.value.charAt(index); if (ch != '0' && ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9' && ch != '.') {text='Datum zadávejte ve formátu DD.MM nebo DD.MM.RRRR (DD=den, MM=měsíc, RRRR=rok).\r'} if ((ch == '0' || ch == '1' || ch == '2' || ch == '3' || ch == '4' || ch == '5' || ch == '6' || ch == '7' || ch == '8' || ch == '9') && (text =='')) { if (tecka == 0) {den=den + ch} if (tecka == 1) {mesic=mesic + ch} if (tecka == 2) {rok=rok + ch} } if (ch == '.' && text == '') { if (tecka == 1) {tecka=2} if (tecka == 0) {tecka=1} } } if ((den<1 || den >31) && (text == '')) {text=text + 'Počet dní v uvedeném měsíci nemůže být menší než 1 a větší než 31.\r'} if ((mesic<1 || mesic>12) && (text == '')) {text=text + 'Počet měsíců nemůže být menší než 1 a větší než 12.\r'} if (rok<1900 && tecka == 2 && text == '' && rok != '') {text=text + 'Rok nemůže být menší než 1900.\r'} if (rok>2999 && tecka == 2 && text == '' && rok != '') {text=text + 'Rok nemůže být větší než 2999.\r'} if ((tecka == 2 && rok == '') || (tecka > 2)) {text=text+ 'Datum zadávejte ve formátu DD.MM nebo DD.MM.RRRR (DD=den, MM=měsíc, RRRR=rok)\r'} if (mesic == 2) { if (rok != '') { if (rok % 4 == 0) { if (den>29) {text=text + 'V únoru roku ' + rok + ' je maximálně 29 dní.\r'} } else { if (den>28) {text=text + 'V únoru roku ' + rok + ' je maximálně 28 dní.\r'} } } else { if (den>29) {text=text + 'V únoru roku ' + rok + ' je maximálně 29 dní.\r'} } } if ((mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11) && (den>30)) {text=text + 'Počet dní v uvedeném měsíci nemůže být menší než 1 a větší než 30.\r'} if (text!=''){ alert(text); return false; } return true; } // kontrola spravnosti casu (vstupni promenna typu field) function ValidCas(oField) { var bOk = false; if (oField.value == '' || oField.value == null || typeof(oField.value) == 'undefined' || typeof(oField) == 'undefined' || oField == null) { return true; } var reTestovaciVzor = /^([01][0-9]|2[0-3]|[0-9]):[0-5][0-9]$/; if (reTestovaciVzor.exec(oField.value) != null) { if (reTestovaciVzor.exec(oField.value)[0] == oField.value) bOk = true } if (bOk == false) alert('Špatně vyplněný čas, správně by mělo být hh:mm.') return bOk; } // kontrola rozsahu casu kdy zacatek < konec (vstupni promenne typu field) function ValidRozsah(oFieldMin, oFieldMax) { if ((oFieldMin.value == '' || oFieldMin.value == null || typeof(oFieldMin.value) == 'undefined') || (oFieldMax.value == '' || oFieldMax.value == null || typeof(oFieldMax.value) == 'undefined')) { return true; } if (ValidCas(oFieldMin) && ValidCas(oFieldMax)) { var nHodinaZacatek; var nMinutaZacatek; var nHodinaKonec; var nMinutaKonec; var dZacatek; var dKonec; if (oFieldMin.value.indexOf(':') > 0) { nHodinaZacatek = new Number(oFieldMin.value.substr(0, oFieldMin.value.indexOf(':'))); nMinutaZacatek = new Number(oFieldMin.value.substr(oFieldMin.value.indexOf(':') + 1, oFieldMin.value.length)); } else { nHodinaZacatek = new Number(oFieldMin.value); nMinutaZacatek = new Number(0); } if (oFieldMax.value.indexOf(':') > 0) { nHodinaKonec = new Number(oFieldMax.value.substr(0, oFieldMax.value.indexOf(':'))); nMinutaKonec = new Number(oFieldMax.value.substr(oFieldMax.value.indexOf(':') + 1, oFieldMax.value.length)); } else { nHodinaKonec = new Number(oFieldMax.value); nMinutaKonec = new Number(0); } dZacatek = new Date(2000, 01, 01, nHodinaZacatek, nMinutaZacatek); dKonec = new Date(2000, 01, 01, nHodinaKonec, nMinutaKonec); if (dZacatek >= dKonec) { alert('Časové rozmezí začíná později než končí.'); return false; } } return true; } // zmeni datum z formatu dd.mm.rrrr na rrrrmmdd function Date2SQL(vstup){ var text,index,tecka,den,mesic,rok,ch text='' den='' mesic='' rok='' tecka=0 for (index = 0; index < vstup.length; index++){ ch = vstup.charAt(index); if (ch != '0' && ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9' && ch != '.') {text='Datum zadávejte ve formátu DD.MM.RRRR (DD=den, MM=mesic, RRRR=rok).\r'} if ((ch == '0' || ch == '1' || ch == '2' || ch == '3' || ch == '4' || ch == '5' || ch == '6' || ch == '7' || ch == '8' || ch == '9') && (text =='')){ if (tecka == 0) {den=den + ch} if (tecka == 1) {mesic=mesic + ch} if (tecka == 2) {rok=rok + ch} } if (ch=='.') ++tecka; } if (text!=''){ alert(text); return false; } if (den.length<2) den='0'+den if (mesic.length<2) mesic='0'+mesic if (rok.length<4) rok='20'+rok return rok+mesic+den; } // Projde formular a kdyz najde // tak zkontroluje platnost data, v pripade neuzpechu focus a false function ValidFormDatum(form){ var v = form.elements.length; // pocet var l = form.elements; // list var co = /Datum/i var ok; ok=true; for(i=0;i