1//skript, ktery se nacita na vsech stranach - obsahuje spolecne funkce a funkce pro zahlavi a zapati 2function osetreniLoginu(event) { 3 //plneni hodnot do poli pri jejich osetreni 4 if (dojo.byId('user') && dojo.byId('user_preklad') && dojo.byId('password') && dojo.byId('password_preklad')) { 5 var prvek = dojo.byId(event.target.id); 6 if (event.type == 'blur') { 7 if (prvek.value == '') { 8 prvek.value = dojo.byId(event.target.id + '_preklad').value; 9 } 10 } 11 if (event.type == 'focus') { 12 if (prvek.value == dojo.byId(event.target.id + '_preklad').value) { 13 prvek.value = ''; 14 } 15 } 16 } 17} 18 19function osetreniHledani(event) { 20 //plneni hodnot do poli pri jejich osetreni 21 if (dojo.byId('hledej') && dojo.byId('hledej_preklad')) { 22 var prvek = dojo.byId('hledej'); 23 if (event.type == 'blur') { 24 if (prvek.value == '') { 25 prvek.value = dojo.byId('hledej_preklad').value + ' ...'; 26 } 27 } 28 if (event.type == 'focus') { 29 if (prvek.value == dojo.byId('hledej_preklad').value + ' ...') { 30 prvek.value = ''; 31 } 32 } 33 } 34} 35 36function spustHledani(event) 37{ 38 var searchQueryElem = dojo.byId('hledej'); 39 if (!searchQueryElem) return; 40 41 dojo.stopEvent(event); 42 43 var searchQueryText = searchQueryElem.value 44 .replace(/[/\\]/g, '').replace(/(<([^>]+)>)/ig,"").replace(/('|"|\(|\)|;)/g,"") 45 .trim(); 46 searchQueryElem.value = searchQueryText; 47 if (!searchQueryText) return; 48 49 var searchTranslElem = dojo.byId('hledej_preklad'); 50 if (searchTranslElem) 51 { 52 var searchQueryDefault = (searchTranslElem.value + ' ...'); 53 if (searchQueryText == searchQueryDefault) return; 54 } 55 56 var serverAddrElem = dojo.byId('tento_server'), 57 serverAddr = serverAddrElem ? serverAddrElem.value : '', 58 searchUrl = '/katalog/index/index/nkat/vse/hledani/' + 59 encodeURIComponent(searchQueryText); 60 61 Pracuji(); 62 window.location = searchUrl; 63} 64 65function spustHledaniMobil(event) 66{ 67 var searchQueryElem = dojo.byId('hledej_mob'); 68 if (!searchQueryElem) return; 69 70 dojo.stopEvent(event); 71 72 var searchQueryText = searchQueryElem.value 73 .replace(/[/\\]/g, '') 74 .trim(); 75 searchQueryElem.value = searchQueryText; 76 if (!searchQueryText) return; 77 78 var searchTranslElem = dojo.byId('hledej_preklad'); 79 if (searchTranslElem) 80 { 81 var searchQueryDefault = (searchTranslElem.value + ' ...'); 82 if (searchQueryText == searchQueryDefault) return; 83 } 84 85 var serverAddrElem = dojo.byId('tento_server'), 86 serverAddr = serverAddrElem ? serverAddrElem.value : '', 87 searchUrl = serverAddr + '/katalog/index/index/nkat/vse/hledani/' + 88 encodeURIComponent(searchQueryText); 89 90 Pracuji(); 91 window.location = searchUrl; 92} 93 94function IsSet(obj) 95{ 96 switch (typeof(obj)) 97 { 98 case 'undefined': return false; 99 case 'object': return !!obj; 100 } 101 return true; 102} 103 104function IsNotSetOrWhitespace(str) 105{ 106 if (!IsSet(str)) 107 { return true; } 108 return !/[^\s]/.test(str); 109} 110 111function NaCislo(s) { 112 return Number(CeskeCislo(s).replace(/,/, '.').replace(/ /g, '')); 113} 114 115function FormatCastky(c) { 116 return FormatCisla(c, 2); 117} 118 119function FormatCisla(c, p) { 120 //return toFixedFix(Number(c), p).toString().replace(/\./, ','); 121 return number_format(Number(c), p, ',', ' '); 122} 123 124function Nbspize(str) { 125 return str.replace(/ /g, ' '); 126} 127 128function CeskeCislo(cestina) { 129 //alert(cestina + '---'); 130 return cestina.toLowerCase().replace(/ /g, '').replace(/\+/g, '1').replace(/Ä/g, '2').replace(/Å¡/g, '3').replace(/Ä/g, '4'). 131 replace(/Å/g, '5').replace(/ž/g, '6').replace(/ý/g, '7').replace(/á/g, '8').replace(/Ã/g, '9').replace(/é/g, '0'); 132} 133 134function CeskeCisloEvent(event) { 135 var cestina = event.target.value; 136 //alert(cestina + '---'); 137 //event.target.value = cestina.toLowerCase().replace(/ /g, '').replace(/\+/g, '1').replace(/Ä/g, '2').replace(/Å¡/g, '3').replace(/Ä/g, '4'). 138 // replace(/Å/g, '5').replace(/ž/g, '6').replace(/ý/g, '7').replace(/á/g, '8').replace(/Ã/g, '9').replace(/é/g, '0'); 139 event.target.value = CeskeCislo(cestina); 140} 141 142function htmlspecialchars(str) { 143 var htmlEntities = { 144 '&': '&', 145 '<': '<', 146 '>': '>', 147 '"': '"', 148 "'": ''' 149 }; 150 return str.replace(/[&<>
150"']/g, function(char) { 151 return htmlEntities[char] || char; 152 }); 153} 154 155function Pracuji() { 156 var makosi = dojo.byId('makosi'); 157 console.debug('Makosi se chystaji: ' + makosi.value); 158 makosi.value = Number(makosi.value) + 1; 159 console.debug('Makosi makaji: ' + makosi.value); 160 if (makosi.value > 0) { 161 //dojo.byId('ajax-loader-obr').style.display = 'block'; 162 } 163} 164 165function Nepracuji() { 166 var makosi = dojo.byId('makosi'); 167 console.debug('Uz to bude: ' + makosi.value); 168 makosi.value = Number(makosi.value - 1); 169 console.debug('Po praci: ' + makosi.value); 170 if (makosi.value <= 0) { 171 dojo.byId('ajax-loader-obr').style.display = 'none'; 172 //makosi.value = 0; 173 } 174} 175 176function ZavriLoader() { 177 var makosi = dojo.byId('makosi'); 178 makosi.value = 0; 179 dojo.byId('ajax-loader-obr').style.display = 'none'; 180} 181 182function ZavriInfo() { 183 dojo.byId('info-kosik').style.display = 'none'; 184} 185 186var zavriInfoTimeoutId = null; 187 188function AutoZavriInfoStart() 189{ 190 var timeout = 191 (arguments.length >= 1 && (typeof arguments[0] !== 'undefined')) ? 192 arguments[0] : 2000; 193 194 zavriInfoTimeoutId = setTimeout('ZavriInfo()', timeout); 195} 196 197function AutoZavriInfoStop() 198{ 199 if (typeof zavriInfoTimeoutId === 'number') 200 { 201 clearTimeout(zavriInfoTimeoutId); 202 } 203 zavriInfoTimeoutId = null; 204} 205 206function PotvrdVysypani(e) { 207 Nepracuji(); 208 if (confirm( 209 prelozVp('vyprazdnit kosik') + '?\r\n\r\n' + 210 prelozVp('pokud ano, stisknete OK') 211 )) 212 { 213 Pracuji(); 214 } else { 215 dojo.stopEvent(e); 216 } 217} 218 219function ZaokrouhliNahoru(co, kolik) { 220 var deleni = 0, zaok = 0; 221 kolik = kolik || 1; 222 deleni = co/kolik; 223 zaok = Math.round(deleni); 224 if (zaok < deleni) { 225 zaok = zaok + 1; 226 } 227 return Math.round(zaok * kolik); 228 //return FormatCisla(Math.round(zaok * kolik), 0); 229} 230 231var sessionKeepalive = { 232 activeTimeout: null, 233 clear: function() { 234 if (this.activeTimeout != null) { 235 clearTimeout(this.activeTimeout); 236 this.activeTimeout = null; 237 } 238 }, 239 prime: function(millis) { 240 millis = millis || 150 * 1000; // kazde 2.5 minuty 241 this.clear(); 242 this.activeTimeout = setTimeout(dojo.hitch(this, this.fire), millis); 243 }, 244 fire: function() { 245 this.clear(); 246 //Pracuji(); 247 dojo.xhrGet({ 248 url: '/admin/ajax/sessionkeepalive', 249 handleAs: 'text', 250 load: dojo.hitch(this, this.xhrLoad), 251 error: dojo.hitch(this, this.xhrError) 252 }); 253 }, 254 xhrLoad: function(data, args) { 255 this.prime(); 256 //Nepracuji(); 257 console.debug('(SessionKeepalive) Nactena data: ' + data); 258 if (data == 'OK') { 259 } else { 260 } 261 }, 262 xhrError: function(error, args) { 263 this.prime(); 264 //Nepracuji(); 265 console.warn("Chyba pri volani SessionKeepalive: ", error); 266 } 267} 268 269dojo.addOnLoad(function(){ 270 console.debug('Verze Dojo: ' + dojo.version); 271 if (dojo.byId('user')) { 272 dojo.connect(dojo.byId('user'), 'onblur', osetreniLoginu); 273 dojo.connect(dojo.byId('user'), 'onfocus', osetreniLoginu); 274 } 275 if (dojo.byId('password')) { 276 dojo.connect(dojo.byId('password'), 'onblur', osetreniLoginu); 277 dojo.connect(dojo.byId('password'), 'onfocus', osetreniLoginu); 278 } 279 if (dojo.byId('user_mob')) { 280 dojo.connect(dojo.byId('user_mob'), 'onblur', osetreniLoginu); 281 dojo.connect(dojo.byId('user_mob'), 'onfocus', osetreniLoginu); 282 } 283 if (dojo.byId('password_mob')) { 284 dojo.connect(dojo.byId('password_mob'), 'onblur', osetreniLoginu); 285 dojo.connect(dojo.byId('password_mob'), 'onfocus', osetreniLoginu); 286 } 287 if (dojo.byId('hledej')) { 288 dojo.connect(dojo.byId('hledej'), 'onblur', osetreniHledani); 289 dojo.connect(dojo.byId('hledej'), 'onfocus', osetreniHledani); 290 } 291 if (dojo.byId('go')) { 292 dojo.connect(dojo.byId('go'), 'onclick', spustHledani); 293 } 294 if (dojo.byId('SearchForm')) { 295 dojo.connect(dojo.byId('SearchForm'), 'onsubmit', spustHledani); 296 } 297 if (dojo.byId('hledej_mob')) { 298 dojo.connect(dojo.byId('hledej_mob'), 'onblur', osetreniHledani); 299 dojo.connect(dojo.byId('hledej_mob'), 'onfocus', osetreniHledani); 300 } 301 if (dojo.byId('go_mob')) { 302 dojo.connect(dojo.byId('go_mob'), 'onclick', spustHledaniMobil); 303 } 304 if (dojo.byId('SearchForm_mob')) { 305 dojo.connect(dojo.byId('SearchForm_mob'), 'onsubmit', spustHledaniMobil); 306 } 307 if (dojo.byId('info-kosik-zavri')) { 308 dojo.connect(dojo.byId('info-kosik-zavri'), 'onclick', ZavriInfo); 309 } 310 if (dojo.byId('ajax-loader-obr')) { 311 dojo.connect(dojo.byId('ajax-loader-obr'), 'onclick', ZavriLoader); 312 } 313 if (dojo.byId('vysypat')) { 314 dojo.connect(dojo.byId('vysypat'), 'onclick', PotvrdVysypani);
315 } 316 dojo.query("a:not(.fotka):not(.noloadinfo):not(.pridani)").forEach( 317 function(e) { 318 dojo.connect(e, 'onclick', Pracuji); 319 } 320 ); 321 sessionKeepalive.prime(); 322 dojo.addOnWindowUnload(ZavriLoader); 323}); 324 325function PrehledKosiku(polozky, cena) 326{ 327 var kos_cena = dojo.byId('kos-txt-cena'); 328 if (!kos_cena) 329 return; 330 331 dojo.byId('kos-txt-pol').innerHTML = polozky; 332 var pol_ozn = dojo.byId('kos-txt-pol-ozn'); 333 if (pol_ozn) 334 { 335 pol_ozn.innerHTML = preloz('polozek', polozky); 336 /*! 337 switch (polozky) 338 { 339 case 1: 340 pol_ozn.innerHTML = preloz('pol_1'); 341 break; 342 case 2: 343 case 3: 344 case 4: 345 pol_ozn.innerHTML = preloz('pol_2'); 346 break; 347 default: 348 pol_ozn.innerHTML = preloz('pol_5'); 349 break; 350 } 351 //!*/ 352 } 353 354 kos_cena.innerHTML = accounting.formatMoney(cena); 355 dojo.byId('kos-txt-cena-mob').innerHTML = accounting.formatMoney(cena); 356} 357 358// Math.round() nema druhy argument 359function round(n, dec) { 360 if (dec === 0) 361 { return Math.round(n); } 362 var k = Math.pow(10, dec); 363 return Math.round(n * k) / k; 364} 365 366//Fix for IE parseFloat(0.55).toFixed(0) = 0; 367function toFixedFix(n, prec) { 368 var k = Math.pow(10, prec); 369 return '' + (Math.round(n * k) / k) 370 .toFixed(prec); 371} 372 373function number_format(number, decimals, dec_point, thousands_sep) { 374 // discuss at: http://phpjs.org/functions/number_format/ 375 // original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) 376 // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 377 // improved by: davook 378 // improved by: Brett Zamir (http://brett-zamir.me) 379 // improved by: Brett Zamir (http://brett-zamir.me) 380 // improved by: Theriault 381 // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 382 // bugfixed by: Michael White (http://getsprink.com) 383 // bugfixed by: Benjamin Lupton 384 // bugfixed by: Allan Jensen (http://www.winternet.no) 385 // bugfixed by: Howard Yeend 386 // bugfixed by: Diogo Resende 387 // bugfixed by: Rival 388 // bugfixed by: Brett Zamir (http://brett-zamir.me) 389 // revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) 390 // revised by: Luke Smith (http://lucassmith.name) 391 // input by: Kheang Hok Chin (http://www.distantia.ca/) 392 // input by: Jay Klehr 393 // input by: Amir Habibi (http://www.residence-mixte.com/) 394 // input by: Amirouche 395 // example 1: number_format(1234.56); 396 // returns 1: '1,235' 397 // example 2: number_format(1234.56, 2, ',', ' '); 398 // returns 2: '1 234,56' 399 // example 3: number_format(1234.5678, 2, '.', ''); 400 // returns 3: '1234.57' 401 // example 4: number_format(67, 2, ',', '.'); 402 // returns 4: '67,00' 403 // example 5: number_format(1000); 404 // returns 5: '1,000' 405 // example 6: number_format(67.311, 2); 406 // returns 6: '67.31' 407 // example 7: number_format(1000.55, 1); 408 // returns 7: '1,000.6' 409 // example 8: number_format(67000, 5, ',', '.'); 410 // returns 8: '67.000,00000' 411 // example 9: number_format(0.9, 0); 412 // returns 9: '1' 413 // example 10: number_format('1.20', 2); 414 // returns 10: '1.20' 415 // example 11: number_format('1.20', 4); 416 // returns 11: '1.2000' 417 // example 12: number_format('1.2000', 3); 418 // returns 12: '1.200' 419 // example 13: number_format('1 000,50', 2, '.', ' '); 420 // returns 13: '100 050.00' 421 // example 14: number_format(1e-8, 8, '.', ''); 422 // returns 14: '0.00000001' 423 424 number = (number + '') 425 .replace(/[^0-9+\-Ee.]/g, ''); 426 var n = !isFinite(+number) ? 0 : +number, 427 prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), 428 sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, 429 dec = (typeof dec_point === 'undefined') ? '.' : dec_point, 430 s = ''; 431 s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)) 432 .split('.'); 433 if (s[0].length > 3) { 434 s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); 435 } 436 if ((s[1] || '') 437 .length < prec) { 438 s[1] = s[1] || ''; 439 s[1] += new Array(prec - s[1].length + 1) 440 .join('0'); 441 } 442 return s.join(dec); 443 } 444 445function ucfirst(str) { 446 // discuss at: http://phpjs.org/functions/ucfirst/ 447 // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 448 // bugfixed by: Onno Marsman 449 // improved by: Brett Zamir (http://brett-zamir.me) 450 // example 1: ucfirst('kevin van zonneveld'); 451 // returns 1: 'Kevin van zonneveld' 452 453 str += ''; 454 var f = str.charAt(0) 455 .toUpperCase(); 456 return f + str.substr(1); 457 } 458 459function prelozVp(str, args, count) 460{ 461 return ucfirst(preloz(str, args, count)); 462} 463 464function preloz(str, args, count) 465{ 466 if (typeof($.t) != 'function') 467 {
468 return "Translation error: translation library not dеfined"; 469 } 470 471 var prekladNenalezen = '#$%!'; 472 var t_args = {defaultValue: prekladNenalezen}; 473 474 if (typeof(count) === 'number') 475 { 476 t_args.count = count; 477 } 478 else if (typeof(args) === 'number') 479 { 480 count = args; 481 args = null; 482 t_args.count = count; 483 } 484 485 var preklad = $.t(str, t_args); 486 487 if (preklad == prekladNenalezen) 488 { 489 return "Translation error: translation "+str+" missing"; 490 } 491 492 args = args || {}; 493 494 if (!('NEW_LINE' in args)) 495 { 496 args.NEW_LINE = "\r\n"; 497 } 498 499 var keys = Object.keys(args); 500 //console.log("delka" + keys.length); 501 502 for (var x = 0; x < keys.length; x++) 503 { 504 preklad = replaceAll(preklad, '###'+keys[x]+'###', args[keys[x]]); 505 } 506 507 return preklad; 508} 509 510function replaceAll(string, find, replace) 511{ 512 return string.replace(new RegExp(escapeRegExp(find), 'g'), replace); 513} 514 515function escapeRegExp(string) 516{ 517 return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); 518} 519 520function validateEmail(email) 521{ 522 var re = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/i; 523 return re.test(email); 524} 525 526function validateConcat(str1, str2, num) 527{ 528 concat = (str1.trim() +' '+ str2.trim()).trim(); 529 return (concat.length > num); 530} 531 532function otevrivyskakovacikosik(){ 533 dojo.byId('kosik_vyskakovaci').style.display = 'block'; 534} 535 536function zavrivyskakovacikosik(){ 537 dojo.byId('kosik_vyskakovaci').style.display = 'none'; 538} 539 540$( document ).ready(function() { 541 $("#kosikdiv").mouseenter(function(){ 542 otevrivyskakovacikosik(); 543 }); 544 $("#kosikdiv").mouseleave(function(){ 545 $("#kosik_vyskakovaci").fadeOut(2050); 546 547 548 }); 549});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.