//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\n' +
' \n' +
' \n' +
' ';
theBody.appendChild(popmask);
popmask.appendChild(elemTextNBSP);
theBody.appendChild(popcont);
gPopupMask = document.getElementById('popupMask');
gPopupContainer = document.getElementById('popupContainer');
gPopFrame = document.getElementById('popupFrame');
// check to see if this is IE version 6 or lower. hide select boxes if so
// fixed in version 7
if (window.navigator.userAgent.indexOf('MSIE') > -1 && parseInt(/MSIE ([\d\.]*)/ig.exec(window.navigator.appVersion)[1]) <= 6) {
gHideSelects = true;
}
// Add onclick handlers to 'a' elements of class submodal or submodal-width-height
var elms = document.getElementsByTagName('a');
for (var i = 0; i < elms.length; i++) {
if (elms[i].className.indexOf('submodal') == 0) {
// var onclick = 'function (){showPopWin(\''+elms[i].href+'\','+width+', '+height+', null);return false;};';
// elms[i].onclick = eval(onclick);
elms[i].onclick = function(){
// default width and height
var width = 400;
var height = 200;
// Parse out optional width and height from className
params = this.className.split('-');
if (params.length == 3) {
width = parseInt(params[1]);
height = parseInt(params[2]);
}
showPopWin(this.href,width,height,null); return false;
}
}
}
}
addEvent(window, 'load', initPopUp);
/**
* @argument width - int in pixels
* @argument height - int in pixels
* @argument url - url to display
* @argument returnFunc - function to call when returning true from the window.
* @argument showCloseBox - show the close box - default true
*/
function showPopWin(url, width, height, returnFunc, showCloseBox, elemField, elemText, objAnything) {
// show or hide the window close widget
if (showCloseBox == null || showCloseBox == true) {
document.getElementById('popCloseBox').style.display = 'block';
} else {
document.getElementById('popCloseBox').style.display = 'none';
}
gPopupIsShown = true;
disableTabIndexes();
gPopupMask.style.display = 'block';
gPopupContainer.style.display = 'block';
// calculate where to place the window on screen
centerPopWin(width, height);
var titleBarHeight = parseInt(document.getElementById('popupTitleBar').offsetHeight, 10);
gPopupContainer.style.width = width + 'px';
gPopupContainer.style.height = (height+titleBarHeight) + 'px';
setMaskSize();
// need to set the width of the iframe to the title bar width because of the dropshadow
// some oddness was occuring and causing the frame to poke outside the border in IE6
gPopFrame.style.width = parseInt(document.getElementById('popupTitleBar').offsetWidth, 10) + 'px';
gPopFrame.style.height = (height) + 'px';
// set the url
gPopFrame.src = url;
gReturnFunc = returnFunc;
eField = elemField;
eText = elemText;
oAnything = objAnything;
// for IE
if (gHideSelects == true) {
hideSelectBoxes();
}
window.setTimeout('setPopTitle();', 600);
}
//
var gi = 0;
function centerPopWin(width, height) {
if (gPopupIsShown == true) {
if (width == null || isNaN(width)) {
width = gPopupContainer.offsetWidth;
}
if (height == null) {
height = gPopupContainer.offsetHeight;
}
//var theBody = document.documentElement;
var theBody = document.getElementsByTagName("BODY")[0];
//theBody.style.overflow = "hidden";
var scTop = parseInt(getScrollTop(),10);
var scLeft = parseInt(theBody.scrollLeft,10);
setMaskSize();
//window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);
var fullHeight = getViewportHeight();
var fullWidth = getViewportWidth();
gPopupContainer.style.top = (scTop + ((fullHeight - (height+titleBarHeight)) / 2)) + "px";
gPopupContainer.style.left = (scLeft + ((fullWidth - width) / 2)) + "px";
//alert(fullWidth + " " + width + " " + gPopupContainer.style.left);
}
}
addEvent(window, 'resize', centerPopWin);
addEvent(window, 'scroll', centerPopWin);
window.onscroll = centerPopWin;
/**
* Sets the size of the popup mask.
*
*/
function setMaskSize() {
var theBody = document.getElementsByTagName("BODY")[0];
var fullHeight = getViewportHeight();
var fullWidth = getViewportWidth();
var popHeight;
var popWidth;
// Determine what's bigger, scrollHeight or fullHeight / width
if (fullHeight > theBody.scrollHeight) {
popHeight = fullHeight;
} else {
popHeight = theBody.scrollHeight;
}
if (fullWidth > theBody.scrollWidth) {
popWidth = fullWidth;
} else {
popWidth = theBody.scrollWidth;
}
gPopupMask.style.height = popHeight + 'px';
gPopupMask.style.width = popWidth + 'px';
}
/**
* @argument callReturnFunc - bool - determines if we call the return function specified
* @argument returnVal - anything - return value
*/
function hidePopWin(callReturnFunc, returnVal) {
gPopupIsShown = false;
var theBody = document.getElementsByTagName('BODY')[0];
theBody.style.overflow = '';
restoreTabIndexes();
if (gPopupMask == null) {
return;
}
gPopupMask.style.display = 'none';
gPopupContainer.style.display = 'none';
gPopFrame.src = '/FISPUBLIC/inc/inc_loading.asp';
// display all select boxes
if (gHideSelects == true) {
displaySelectBoxes();
}
if (callReturnFunc == true && gReturnFunc != null) {
gReturnFunc(returnVal, eField, eText, oAnything);
//gReturnFunc(returnVal);
}
}
/**
* Sets the popup title based on the title of the html document it contains.
* Uses a timeout to keep checking until the title is valid.
*/
function setPopTitle() {
return;
if (window.frames['popupFrame'].document.title == null) {
window.setTimeout('setPopTitle();', 10);
} else {
document.getElementById('popupTitle').innerHTML = window.frames['popupFrame'].document.title;
}
}
// Tab key trap. iff popup is shown and key was [TAB], suppress it.
// @argument e - event - keyboard event that caused this function to be called.
function keyDownHandler(e) {
if (gPopupIsShown && e.keyCode == 9) return false;
}
// For IE. Go through predefined tags and disable tabbing into them.
function disableTabIndexes() {
if (document.all) {
var i = 0;
for (var j = 0; j < gTabbableTags.length; j++) {
var tagElements = document.getElementsByTagName(gTabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
gTabIndexes[i] = tagElements[k].tabIndex;
tagElements[k].tabIndex='-1';
i++;
}
}
}
}
// For IE. Restore tab-indexes.
function restoreTabIndexes() {
if (document.all) {
var i = 0;
for (var j = 0; j < gTabbableTags.length; j++) {
var tagElements = document.getElementsByTagName(gTabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
tagElements[k].tabIndex = gTabIndexes[i];
tagElements[k].tabEnabled = true;
i++;
}
}
}
}
/**
* Hides all drop down form select boxes on the screen so they do not appear above the mask layer.
* IE has a problem with wanted select form tags to always be the topmost z-index or layer
*
* Thanks for the code Scott!
*/
function hideSelectBoxes() {
for(var i = 0; i < document.forms.length; i++) {
for(var e = 0; e < document.forms[i].length; e++) {
if(document.forms[i].elements[e].tagName == 'SELECT') {
document.forms[i].elements[e].style.visibility = 'hidden';
}
}
}
}
/**
* Makes all drop down form select boxes on the screen visible so they do not reappear after the dialog is closed.
* IE has a problem with wanted select form tags to always be the topmost z-index or layer
*/
function displaySelectBoxes() {
for(var i = 0; i < document.forms.length; i++) {
for(var e = 0; e < document.forms[i].length; e++) {
if(document.forms[i].elements[e].tagName == 'SELECT' && document.forms[i].elements[e].style.visibility == 'hidden') {
document.forms[i].elements[e].style.visibility = 'visible';
}
}
}
}
//a ted uz jen parsovaci funkce aby to bezelo s tim co uz ve FISu je
function EncodeParams(eValue) {
if (eValue == null || eValue == '') {
eValue = '\'\''
}
else {
eValue = eValue.replace(/\+/g, '%2B');
eValue = eValue.replace(/\&/g, '%26');
}
return eValue;
}
// nova implementace vyhledavaciho dialogu pres layer
// pridan parametr elemFieldText coz je odkaz na html prvek - field textoveho popisu kam lze bez hledani prvku v document kolekci pak v HledejAction zapsat navratovou hodnotu
function help(elemField, sValue, sKey, sText, sInfo, sTable, sWhere, sHledej, sHeader, sURL, elemFieldText, sOrder) {
var sColumns;
/*
sKey = escape(sKey);
while(sKey.search('[+]') > 0) {
sKey = sKey.replace('+', '%2B');
}
sColumns = sKey;
if (sText == null || sText == '') sText = '\'\''
sText = escape(sText);
while(sText.search('[+]') > 0) {
sText = sText.replace('+', '%2B');
}
sColumns = sColumns + ', ' + sText;
if (sInfo == null || sInfo == '') sInfo = '\'\''
sInfo = escape(sInfo);
while(sInfo.search('[+]') > 0) {
sInfo = sInfo.replace('+', '%2B');
}
sColumns = sColumns + ', ' + sInfo;
sWhere = escape(sWhere);
while(sWhere.search('[+]') > 0) {
sWhere = sWhere.replace('+', '%2B');
}
sOrder = escape(sOrder);
while(sOrder.search('[+]') > 0) {
sOrder = sOrder.replace('+', '%2B');
}
showPopWin('/FISPUBLIC/inc/hledejdlg1.asp?value='+escape(sValue)+'&columns='+sColumns+'&where='+sWhere+'&orderby='+sOrder+'&table='+escape(sTable)+'&hledej='+escape(sHledej)+'&url='+escape(sURL)+'&header='+escape(sHeader), 685, 420, ParseHledejAction, true, elemField, elemFieldText);
*/
sColumns = EncodeParams(sKey) + ', ' + EncodeParams(sText) + ', ' + EncodeParams(sInfo);
sTable = EncodeParams(sTable);
sWhere = EncodeParams(sWhere);
if (sOrder != '' && typeof(sOrder) !== 'undefined') sOrder = EncodeParams(sOrder);
var strURI = '/FISPUBLIC/inc/hledejDlg1.asp?' + encodeURI('value=' + sValue + '&columns=' + sColumns + '&table=' + sTable + '&where=' + sWhere +'&hledej=' + sHledej + '&header=' + sHeader + '&url=' + sURL + '&orderby=' + sOrder);
showPopWin(strURI, 685, 420, ParseHledejAction, true, elemField, elemFieldText);
}
// jen parser ktery vola puvodni HledejAction
// pridan parametr elemFieldText coz je odkaz na html prvek - field textoveho popisu kam lze bez hledani prvku v document kolekci pak v HledejAction zapsat navratovou hodnotu
function ParseHledejAction(returnVal, elemField, elemText) {
if (returnVal != null) {
var aReturnVal = returnVal.split('|');
HledejAction(elemField, aReturnVal[0], aReturnVal[1], elemText);
}
}
function help2(svalue, columns, table, where, hledej, header, url, elemField, sOrder) {
/*
var sColumns = escape(columns);
while(sColumns.search('[+]') > 0) {
sColumns = sColumns.replace('+', '%2B');
}
var sWhere = escape(where);
while(sWhere.search('[+]') > 0) {
sWhere = sWhere.replace('+', '%2B');
}
sOrder = escape(sOrder);
while(sOrder.search('[+]') > 0) {
sOrder = sOrder.replace('+', '%2B');
}
showPopWin('/FISPUBLIC/inc/hledejdlg1.asp?svalue='+escape(svalue)+'&columns='+columns+'&where='+where+'&orderby='+sOrder+'&table='+escape(table)+'&hledej='+escape(hledej)+'&url='+escape(url)+'&header='+escape(header), 685, 420, HledejAction2, true, elemField);
*/
columns = EncodeParams(columns);
table = EncodeParams(table);
where = EncodeParams(where);
if (sOrder != '' && typeof(sOrder) !== 'undefined') sOrder = EncodeParams(sOrder);
var strURI = '/FISPUBLIC/inc/hledejdlg1.asp?' + encodeURI('svalue=' + svalue + '&columns=' + columns + '&where=' + where + '&orderby=' + sOrder + '&table=' + table + '&hledej=' + hledej + '&url=' + url + '&header=' + header).replace(/\+/g, '%2B');
showPopWin(strURI, 685, 420, HledejAction2, true, elemField);
}
function HledejAction2(strReturnVal, strFields) {
if (strReturnVal != null && strFields != null) {
var aReturnVal = strReturnVal.split('|');
var aFields = strFields.split('|');
for (var i = 0; i < aFields.length; i++) {
if (document.getElementById(aFields[i])) document.getElementById(aFields[i]).value = aReturnVal[i];
}
}
}
// volání vyhledávacího checkbox dialogu
function helpCheck(elemField, sValue, sKey, sText, sInfo, sTable, sWhere, sHledej, sHeader, sURL, sOrder, elemFieldText) {
var sColumns;
/*
sKey = escape(sKey);
while(sKey.search('[+]') > 0) {
sKey = sKey.replace('+', '%2B');
}
sColumns = sKey;
if (sText == null || sText == '') sText = '\'\''
sText = escape(sText);
while(sText.search('[+]') > 0) {
sText = sText.replace('+', '%2B');
}
sColumns = sColumns + ', ' + sText;
if (sInfo == null || sInfo == '') sInfo = '\'\''
sInfo = escape(sInfo);
while(sInfo.search('[+]') > 0) {
sInfo = sInfo.replace('+', '%2B');
}
sColumns = sColumns + ', ' + sInfo;
sWhere = escape(sWhere);
while(sWhere.search('[+]') > 0) {
sWhere = sWhere.replace('+', '%2B');
}
sOrder = escape(sOrder);
while(sOrder.search('[+]') > 0) {
sOrder = sOrder.replace('+', '%2B');
}
showPopWin('/FISPUBLIC/inc/hledejCheckDlg1.asp?value='+escape(sValue)+'&columns='+sColumns+'&where='+sWhere+'&orderby='+sOrder+'&table='+escape(sTable)+'&hledej='+escape(sHledej)+'&url='+escape(sURL)+'&header='+escape(sHeader), 685, 420, ParseHledejCheckAction, true, elemField);
*/
sColumns = EncodeParams(sKey) + ', ' + EncodeParams(sText) + ', ' + EncodeParams(sInfo);
sTable = EncodeParams(sTable);
sWhere = EncodeParams(sWhere);
if (sOrder != '' && typeof(sOrder) !== 'undefined') sOrder = EncodeParams(sOrder);
var strURI = '/FISPUBLIC/inc/hledejCheckDlg1.asp?' + encodeURI('value=' + sValue + '&columns=' + sColumns + '&table=' + sTable + '&where=' + sWhere +'&hledej=' + sHledej + '&header=' + sHeader + '&url=' + sURL + '&orderby=' + sOrder);
showPopWin(strURI, 685, 420, ParseHledejCheckAction, true, elemField);
}
// jen parser ktery vola puvodni HledejCheckAction
function ParseHledejCheckAction(returnVal, elemField, elemText) {
if (returnVal != null) {
HledejCheckAction(elemField, returnVal);
}
}
// volání dialogu s kalendářem
function VyberDatum(elemField){
showPopWin('/FISPUBLIC/inc/KalendarDlg1.asp', 685, 260, ParseHledejKalendarAction, true, elemField);
}
// jen parser ktery vola puvodni HledejKalendarAction
function ParseHledejKalendarAction(returnVal, elemField) {
if (returnVal != null) {
elemField.value = returnVal;
}
}
// volani custom checkbox dialogu pro vyber proramu, oboru, form studia, pz zkousek, typu pz zkousek, terminu pro pz zkousky, mistnosti
function helpFOPZTypTerM(sOsobaID, seIndexID, sTyp, elemField) {
/*
showPopWin('/FISPUBLIC/inc/hledejFOPZTypTerMDlg1.asp?osobaid='+escape(sOsobaID)+'&eindexid='+escape(seIndexID)+'&typ='+escape(sTyp), 840, 360, ParseFOPZTypTerMAction, true, elemField);
*/
if (sOsobaID != '' && typeof(sOsobaID) !== 'undefined') sOsobaID = EncodeParams(sOsobaID);
if (seIndexID != '' && typeof(seIndexID) !== 'undefined') seIndexID = EncodeParams(seIndexID);
var strURI = '/FISPUBLIC/inc/hledejFOPZTypTerMDlg1.asp?' + encodeURI('osobaid=' + sOsobaID + '&eindexid=' + seIndexID + '&typ=' + sTyp);
showPopWin(strURI, 840, 360, ParseFOPZTypTerMAction, true, elemField);
}
function ParseFOPZTypTerMAction(returnVal, elemField) {
if (returnVal != null) {
returnVal = returnVal.replace(',[space]', ', ');
var aRetVal = returnVal.split('#', 7);
HledejFOPZTypTerMAction(aRetVal[0], aRetVal[1], aRetVal[2], aRetVal[3], aRetVal[4], aRetVal[5], aRetVal[6]);
}
}
// volani custom checkbox dialogu pro vyber proramu oboru form studia
function helpProgramOborForma(sOsobaID, seIndexID, sTyp, elemField) {
/*
showPopWin('/FISPUBLIC/inc/hledejProgramOborFormaDlg1.asp?osobaid='+escape(sOsobaID)+'&eindexid='+escape(seIndexID)+'&typ='+escape(sTyp), 610, 395, ParseProgramOborFormaAction, true, elemField);
*/
if (sOsobaID != '' && typeof(sOsobaID) !== 'undefined') sOsobaID = EncodeParams(sOsobaID);
if (seIndexID != '' && typeof(seIndexID) !== 'undefined') seIndexID = EncodeParams(seIndexID);
var strURI = '/FISPUBLIC/inc/hledejProgramOborFormaDlg1.asp?' + encodeURI('osobaid=' + sOsobaID + '&eindexid=' + seIndexID + '&typ=' + sTyp);
showPopWin(strURI, 610, 395, ParseProgramOborFormaAction, true, elemField);
}
function ParseProgramOborFormaAction(returnVal, elemField) {
if (returnVal != null) {
var aRetVal = returnVal.split('#', 3);
//aRetVal[1] = aRetVal[1].replace('|', '|');
HledejProgramOborFormaAction(aRetVal[0], aRetVal[1], aRetVal[2]);
}
}
// volani custom checkbox dialogu pro vyber proramu, oboru, formy studia, terminu pro pz zkousky, mistnosti
function helpFOPTerM(sOsobaID, seIndexID, sTyp, elemField) {
/*
showPopWin('/FISPUBLIC/inc/hledejFOPTerMDlg1.asp?osobaid='+escape(sOsobaID)+'&eindexid='+escape(seIndexID)+'&typ='+escape(sTyp), 760, 360, ParseFOPTerMAction, true, elemField);
*/
if (sOsobaID != '' && typeof(sOsobaID) !== 'undefined') sOsobaID = EncodeParams(sOsobaID);
if (seIndexID != '' && typeof(seIndexID) !== 'undefined') seIndexID = EncodeParams(seIndexID);
var strURI = '/FISPUBLIC/inc/hledejFOPTerMDlg1.asp?' + encodeURI('osobaid=' + sOsobaID + '&eindexid=' + seIndexID + '&typ=' + sTyp);
showPopWin(strURI, 760, 360, ParseFOPTerMAction, true, elemField);
}
function ParseFOPTerMAction(returnVal, elemField) {
if (returnVal != null) {
var aRetVal = returnVal.split('#', 7);
HledejFOPTerMAction(aRetVal[0], aRetVal[1], aRetVal[2], aRetVal[3], aRetVal[4]);
}
}
//if (document.getElementById) window.onerror = new Function('return true')
// mozilla .contains implementace
if (window.Node && Node.prototype && !Node.prototype.contains && !Node.prototype.compareDocumentPosition) {
Node.prototype.contains = function (arg) {
try {
return (this.compareDocumentPosition(arg) & 16) != 0;
}
catch(e) {
return true;
}
}
}
/*
javacript kod pro zobrazeni/schovani tooltipu po najeti na element
prevzato z http://lixlpixel.org/javascript-tooltips/
*/
// position of the tooltip relative to the mouse in pixel //
var offsetx = 15;
var offsety = 10;
function newelement(newid)
{
if(document.createElement)
{
var el = document.createElement('div');
el.id = newid;
with(el.style)
{
display = 'none';
position = 'absolute';
}
el.innerHTML = ' ';
document.body.appendChild(el);
}
}
var ie5 = (document.getElementById && document.all);
var ns6 = (document.getElementById && !document.all);
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e)
{
e = e || window.event;
var cursor = {x:0, y:0};
if (e.pageX || e.pageY) {
cursor.x = e.pageX;
cursor.y = e.pageY;
}
else {
var de = document.documentElement;
var b = document.body;
cursor.x = e.clientX +
(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
cursor.y = e.clientY +
(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
}
var lixlpixel_tooltip = document.getElementById('tooltip');
lixlpixel_tooltip.style.left = (cursor.x + offsetx) + 'px';
lixlpixel_tooltip.style.top = (cursor.y + offsety) + 'px';
}
function tooltip(tip)
{
if(!document.getElementById('tooltip')) newelement('tooltip');
var lixlpixel_tooltip = document.getElementById('tooltip');
lixlpixel_tooltip.innerHTML = tip;
lixlpixel_tooltip.style.display = 'block';
document.onmousemove = getmouseposition;
}
function exit()
{
document.getElementById('tooltip').style.display = 'none';
}
/*
prida metodu add pro objekt typu date pro pricitani/odecitani casovych dilku, prevzato z:
http://codingforums.com/showpost.php?s=eecc47067f0a0fa9e45e52e8a766a8f8&p=284598&postcount=4
*/
Date.prototype.add = function (sInterval, iNum) {
var dTemp = this;
if (!sInterval || iNum == 0) return dTemp;
switch (sInterval.toLowerCase()) {
case "ms":
dTemp.setMilliseconds(dTemp.getMilliseconds() + iNum);
break;
case "s":
dTemp.setSeconds(dTemp.getSeconds() + iNum);
break;
case "mi":
dTemp.setMinutes(dTemp.getMinutes() + iNum);
break;
case "h":
dTemp.setHours(dTemp.getHours() + iNum);
break;
case "d":
dTemp.setDate(dTemp.getDate() + iNum);
break;
case "mo":
dTemp.setMonth(dTemp.getMonth() + iNum);
break;
case "y":
dTemp.setFullYear(dTemp.getFullYear() + iNum);
break;
}
return dTemp;
}