{"version":3,"sources":["Global.ts"],"names":[],"mappings":"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","file":"Global.js","sourcesContent":["/** Preloader je aktivní */\r\nvar gPreloaderIsOn = false;\r\n\r\n/** Typ stránky */\r\nvar pageType = new PageType();\r\n\r\n/** Featury */\r\nvar features = new Features();\r\n\r\n/** Název inputu pro filtrování dle dostupnosti */\r\nvar queryStringAvail = \"dostupnost\";\r\n\r\nvar DebugFnUsed = new Array();\r\n\r\nvar IE = null; var IE8 = null; var CHR = null; var OPE = null; var IE9 = null; var IE10 = null;\r\nvar ua = navigator.appName.toLowerCase();\r\nvar uv = navigator.appVersion.toLowerCase();\r\nif (ua.indexOf('explorer') > -1) { IE = true; }\r\nif (ua.indexOf('opera') > -1) { OPE = true; }\r\nif (uv.indexOf('msie 8') > -1) { IE8 = true; }\r\nif (uv.indexOf('chrome') > -1) { CHR = true; }\r\nif (navigator.userAgent.toLowerCase().indexOf('msie 9.0') > -1) { IE9 = true; }\r\nif (navigator.userAgent.toLowerCase().indexOf('msie 10.0') > -1) { IE10 = true; }\r\n/* Nazvy lokalnich ulozist pro jednotlivy sekce */\r\nvar _lsComparison = \"comparison\";\r\nvar _lsFavorites = \"favorites\";\r\nvar IntObs = ('IntersectionObserver' in window);\r\nvar gsNameWeb = 'empty';\r\nvar gnLimitRound = 1000;\r\nvar gnRound = 2;\r\nvar site = 0;\r\nvar langId = 0;\r\n/* Tracking */\r\nvar tsc = 0;\r\nvar tl = '';\r\nvar tpt = '';\r\nvar tid = -1;\r\n\r\n/** Nastaví pageType pro všechny typy na false */\r\nfunction localFnSetPaGeTypeDefault(): void {\r\n pageType.AllProductsPage = false;\r\n pageType.AtlasAdvertPage = false;\r\n pageType.AtlastAdvertDetailPage = false;\r\n pageType.AtlastDetailPage = false;\r\n pageType.AtlasDetailEditPage = false;\r\n pageType.AtlasListPage = false;\r\n pageType.AtlasPage = false;\r\n pageType.BasketPage = false;\r\n pageType.BasketStep1Page = false;\r\n pageType.BasketStep2Page = false;\r\n pageType.BasketStep3Page = false;\r\n pageType.BasketStep4Page = false;\r\n pageType.BasketStep5Page = false;\r\n pageType.RefundStep1 = false;\r\n pageType.RefundStep2 = false;\r\n pageType.RefundStep3 = false;\r\n pageType.BazaarPage = false;\r\n pageType.BlogPage = false;\r\n pageType.CategoryPage = false;\r\n pageType.CategorySpecialPage = false;\r\n pageType.CategoryTitlePage = false;\r\n pageType.CommodityComparison = false;\r\n pageType.CommodityWizardStep = false;\r\n pageType.DetailPage = false;\r\n pageType.EmailNewsPage = false;\r\n pageType.ErrorPage = false;\r\n pageType.EveryPage = false;\r\n pageType.ExternalConnect = false;\r\n pageType.FastOrderPage = false;\r\n pageType.ForumPage = false;\r\n pageType.GlossaryOfTermsPage = false;\r\n pageType.HeurekaReviewPage = false;\r\n pageType.HtmlSiteMapPage = false;\r\n pageType.InfoPage = false;\r\n pageType.Markets = false;\r\n pageType.MarketDetail = false;\r\n pageType.NewsLetterPage = false;\r\n pageType.OrdersPage = false;\r\n pageType.OrderReviewPage = false;\r\n pageType.PartnerAdminPage = false;\r\n pageType.PartnerRegistration = false;\r\n pageType.PasswordOnMailPage = false;\r\n pageType.PaymentProcessPage = false;\r\n pageType.PortalDetailPage = false;\r\n pageType.PortalPage = false;\r\n pageType.ProducerPage = false;\r\n pageType.PublishArticlePage = false;\r\n pageType.PublishCategoryPage = false;\r\n pageType.ReclamationPage = false;\r\n pageType.RegistrationPage = false;\r\n pageType.SearchPage = false;\r\n pageType.TagsPage = false;\r\n pageType.TitlePage = false;\r\n pageType.WelcomePage = false;\r\n pageType.WriteToUsPage = false;\r\n}\r\n\r\n/** Načtení pageType z třídy na elementu body */\r\nfunction localFnGetPageType(): void {\r\n const body = $(\"body\");\r\n\r\n if (body.hasClass(\"body-index\")) {\r\n pageType.TitlePage = true;\r\n } else if (body.hasClass(\"body-item\")) {\r\n pageType.DetailPage = true;\r\n } else if (body.hasClass(\"body-category\")) {\r\n pageType.CategoryPage = true;\r\n } else if (body.hasClass(\"body-search\")) {\r\n pageType.SearchPage = true;\r\n } else if (body.hasClass(\"body-tags\")) {\r\n pageType.TagsPage = true;\r\n } else if (body.hasClass(\"body-error\")) {\r\n pageType.ErrorPage = true;\r\n } else if (body.hasClass(\"body-orders\")) {\r\n pageType.OrdersPage = true;\r\n } else if (body.hasClass(\"body-reg-partner\") || body.hasClass(\"body-portal-reg\")) {\r\n pageType.PartnerRegistration = true;\r\n } else if (body.hasClass(\"body-portal-profil-edit\")) {\r\n pageType.PartnerAdminPage = true;\r\n } else if (body.hasClass(\"body-admin-partner\")) {\r\n pageType.PartnerAdminPage = true;\r\n } else if (body.hasClass(\"body-detail-partner\")) {\r\n pageType.PortalDetailPage = true;\r\n } else if (body.hasClass(\"body-mailnews\")) {\r\n pageType.EmailNewsPage = true;\r\n } else if (body.hasClass(\"body-book\")) {\r\n pageType.WriteToUsPage = true;\r\n } else if (body.hasClass(\"body-newsletter\")) {\r\n pageType.NewsLetterPage = true;\r\n } else if (body.hasClass(\"body-registration\")) {\r\n pageType.RegistrationPage = true;\r\n } else if (body.hasClass(\"body-passwordonmail\")) {\r\n pageType.PasswordOnMailPage = true;\r\n } else if (body.hasClass(\"body-publish-cat\")) {\r\n pageType.PublishCategoryPage = true;\r\n } else if (body.hasClass(\"body-bazaar\")) {\r\n pageType.BazaarPage = true;\r\n } else if (body.hasClass(\"body-forum\")) {\r\n pageType.ForumPage = true;\r\n } else if (body.hasClass(\"body-blog\")) {\r\n pageType.BlogPage = true;\r\n } else if (body.hasClass(\"body-search\")) {\r\n pageType.SearchPage = true;\r\n } else if (body.hasClass(\"body-info\")) {\r\n pageType.InfoPage = true;\r\n } else if (body.hasClass(\"body-heurekarecenze\")) {\r\n pageType.HeurekaReviewPage = true;\r\n } else if (body.hasClass(\"body-mailreview\")) {\r\n pageType.OrderReviewPage = true;\r\n } else if (body.hasClass(\"body-basket\")) {\r\n pageType.BasketPage = true;\r\n } else if (body.hasClass(\"body-basket-1\")) {\r\n pageType.BasketStep1Page = true;\r\n } else if (body.hasClass(\"body-basket-2\")) {\r\n pageType.BasketStep2Page = true;\r\n } else if (body.hasClass(\"body-basket-3\")) {\r\n pageType.BasketStep3Page = true;\r\n } else if (body.hasClass(\"body-basket-4\")) {\r\n pageType.BasketStep4Page = true;\r\n } else if (body.hasClass(\"body-basket-5\")) {\r\n pageType.BasketStep5Page = true;\r\n } else if (body.hasClass(\"body-refund-1\")) {\r\n pageType.RefundStep1 = true;\r\n } else if (body.hasClass(\"body-refund-2\")) {\r\n pageType.RefundStep2 = true;\r\n } else if (body.hasClass(\"body-refund-3\")) {\r\n pageType.RefundStep3 = true;\r\n } else if (body.hasClass(\"body-tags\")) {\r\n pageType.TagsPage = true;\r\n } else if (body.hasClass(\"body-htmlsitemap\")) {\r\n pageType.HtmlSiteMapPage = true;\r\n } else if (body.hasClass(\"body-paymentprocess\") || body.hasClass(\"body-paymentprocessstatus\") || body.hasClass(\"body-paymentprocessrepeat\")) {\r\n pageType.PaymentProcessPage = true;\r\n } else if (body.hasClass(\"body-fullcommoditypage\")) {\r\n pageType.AllProductsPage = true;\r\n } else if (body.hasClass(\"body-fastorder\")) {\r\n pageType.FastOrderPage = true;\r\n } else if (body.hasClass(\"body-producer\")) {\r\n pageType.ProducerPage = true;\r\n } else if (body.hasClass(\"body-markets\")) {\r\n pageType.Markets = true;\r\n } else if (body.hasClass(\"body-atlas\") || body.hasClass(\"body-atlascat\") || body.hasClass(\"body-atlas-cat\")) {\r\n pageType.AtlasPage = true;\r\n } else if (body.hasClass(\"body-atlaslist\") || body.hasClass(\"body-atlas-list\")) {\r\n pageType.AtlasListPage = true;\r\n } else if (body.hasClass(\"body-atlasdetail\") || body.hasClass(\"body-atlas-detail\")) {\r\n pageType.AtlastDetailPage = true;\r\n } else if (body.hasClass(\"body-atlasdetailedit\")) {\r\n pageType.AtlasDetailEditPage = true;\r\n } else if (body.hasClass(\"body-atlasadvert\")) {\r\n pageType.AtlasAdvertPage = true;\r\n } else if (body.hasClass(\"body-atlasadvertdetail\")) {\r\n pageType.AtlastAdvertDetailPage = true;\r\n } else if (body.hasClass(\"body-glossaryofterms\")) {\r\n pageType.GlossaryOfTermsPage = true;\r\n } else if (body.hasClass(\"body-detail-market\")) {\r\n pageType.MarketDetail = true;\r\n } else if (body.hasClass(\"body-reclamation\")) {\r\n pageType.ReclamationPage = true;\r\n } else if (body.hasClass(\"body-welcomepage\")) {\r\n pageType.WelcomePage = true;\r\n } else if (body.hasClass(\"body-external-connect\")) {\r\n pageType.ExternalConnect = true;\r\n } else if (body.hasClass(\"body-commodity-comparison\")) {\r\n pageType.CommodityComparison = true;\r\n } else if (body.hasClass(\"body-commodity-wizard-step\")) {\r\n pageType.CommodityWizardStep = true;\r\n } else if (body.hasClass(\"body-portal-page\")) {\r\n pageType.PortalPage = true;\r\n } else if (body.hasClass(\"body-article\")) {\r\n pageType.PublishArticlePage = true;\r\n } else if (body.hasClass(\"body-publich-cat\")) {\r\n pageType.PublishCategoryPage = true;\r\n }\r\n}\r\n\r\n/** spuštění procedur pro každý pageType */\r\nfunction localFnRunPageScripts(): void {\r\n if (typeof globalRunEverywhere === \"function\") { globalRunEverywhere(); DebugFnUsed.push(\"globalRunEverywhere\"); }\r\n if (typeof globalRunAllEverywhere === \"function\") { globalRunAllEverywhere(); DebugFnUsed.push(\"globalRunAllEverywhere\"); }\r\n\r\n if (pageType.AtlasPage) {\r\n if (typeof globalRunOnAtlas === \"function\") { globalRunOnAtlas(); }\r\n if (typeof globalRunAllOnAtlas === \"function\") { globalRunAllOnAtlas(); }\r\n DebugFnUsed.push(\"globalRunOnAtlas\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlas\");\r\n } else if (pageType.AtlasAdvertPage) {\r\n if (typeof globalRunOnAtlasAdvert === \"function\") { globalRunOnAtlasAdvert(); }\r\n if (typeof globalRunAllOnAtlasAdvert === \"function\") { globalRunAllOnAtlasAdvert(); }\r\n DebugFnUsed.push(\"globalRunOnAtlasAdvert\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlasAdvert\");\r\n } else if (pageType.AtlastAdvertDetailPage) {\r\n if (typeof globalRunOnAtlasAdvertDetail === \"function\") { globalRunOnAtlasAdvertDetail(); }\r\n if (typeof globalRunAllOnAtlasAdvertDetail === \"function\") { globalRunAllOnAtlasAdvertDetail(); }\r\n DebugFnUsed.push(\"globalRunOnAtlasAdvertDetail\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlasAdvertDetail\");\r\n } else if (pageType.AtlastDetailPage) {\r\n if (typeof globalRunOnAtlasDetail === \"function\") { globalRunOnAtlasDetail(); }\r\n if (typeof globalRunAllOnAtlasDetail === \"function\") { globalRunAllOnAtlasDetail(); }\r\n DebugFnUsed.push(\"globalRunOnAtlasDetail\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlasDetail\");\r\n } else if (pageType.AtlasDetailEditPage) {\r\n if (typeof globalRunOnAtlasDetailEdit === \"function\") { globalRunOnAtlasDetailEdit(); }\r\n if (typeof globalRunAllOnAtlasDetailEdit === \"function\") { globalRunAllOnAtlasDetailEdit(); }\r\n DebugFnUsed.push(\"globalRunOnAtlasDetailEdit\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlasDetailEdit\");\r\n } else if (pageType.AtlasListPage) {\r\n if (typeof globalRunOnAtlasList === \"function\") { globalRunOnAtlasList(); }\r\n if (typeof globalRunAllOnAtlasList === \"function\") { globalRunAllOnAtlasList(); }\r\n DebugFnUsed.push(\"globalRunAllOnAtlasList\");\r\n DebugFnUsed.push(\"globalRunAllOnAtlasList\");\r\n } else if (pageType.BasketPage) {\r\n if (typeof globalRunOnBasket === \"function\") { globalRunOnBasket(); }\r\n if (typeof globalRunAllOnBasket === \"function\") { globalRunAllOnBasket(); }\r\n DebugFnUsed.push(\"globalRunOnBasket\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket\");\r\n } else if (pageType.BasketStep1Page) {\r\n if (typeof globalRunOnBasket1 === \"function\") { globalRunOnBasket1(); }\r\n if (typeof globalRunAllOnBasket1 === \"function\") { globalRunAllOnBasket1(); }\r\n DebugFnUsed.push(\"globalRunOnBasket1\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket1\");\r\n } else if (pageType.BasketStep2Page) {\r\n if (typeof globalRunOnBasket2 === \"function\") { globalRunOnBasket2(); }\r\n if (typeof globalRunAllOnBasket2 === \"function\") { globalRunAllOnBasket2(); }\r\n DebugFnUsed.push(\"globalRunOnBasket2\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket2\");\r\n } else if (pageType.BasketStep3Page) {\r\n if (typeof globalRunOnBasket3 === \"function\") { globalRunOnBasket3(); }\r\n if (typeof globalRunAllOnBasket3 === \"function\") { globalRunAllOnBasket3(); }\r\n DebugFnUsed.push(\"globalRunOnBasket3\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket3\");\r\n } else if (pageType.BasketStep4Page) {\r\n if (typeof globalRunOnBasket4 === \"function\") { globalRunOnBasket4(); }\r\n if (typeof globalRunAllOnBasket4 === \"function\") { globalRunAllOnBasket4(); }\r\n DebugFnUsed.push(\"globalRunOnBasket4\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket4\");\r\n } else if (pageType.BasketStep5Page) {\r\n if (typeof globalRunOnBasket5 === \"function\") { globalRunOnBasket5(); }\r\n if (typeof globalRunAllOnBasket5 === \"function\") { globalRunAllOnBasket5(); }\r\n DebugFnUsed.push(\"globalRunOnBasket5\");\r\n DebugFnUsed.push(\"globalRunAllOnBasket5\");\r\n } else if (pageType.RefundStep1) {\r\n if (typeof globalRunOnRefund1() === \"function\") { globalRunOnRefund1(); }\r\n DebugFnUsed.push(\"globalRunOnRefund1\");\r\n } else if (pageType.RefundStep2) {\r\n if (typeof globalRunOnRefund2() === \"function\") { globalRunOnRefund2(); }\r\n DebugFnUsed.push(\"globalRunOnRefund2\");\r\n } else if (pageType.RefundStep3) {\r\n if (typeof globalRunOnRefund3() === \"function\") { globalRunOnRefund3(); }\r\n DebugFnUsed.push(\"globalRunOnRefund3\");\r\n } else if (pageType.BazaarPage) {\r\n if (typeof globalRunOnBazaar === \"function\") { globalRunOnBazaar(); }\r\n if (typeof globalRunAllOnBazaar === \"function\") { globalRunAllOnBazaar(); }\r\n DebugFnUsed.push(\"globalRunOnBazaar\");\r\n DebugFnUsed.push(\"globalRunAllOnBazaar\");\r\n } else if (pageType.BlogPage) {\r\n if (typeof globalRunOnBlog === \"function\") { globalRunOnBlog(); }\r\n if (typeof globalRunAllOnBlog === \"function\") { globalRunAllOnBlog(); }\r\n DebugFnUsed.push(\"globalRunOnBlog\");\r\n DebugFnUsed.push(\"globalRunAllOnBlog\");\r\n } else if (pageType.WriteToUsPage) {\r\n if (typeof globalRunOnBook === \"function\") { globalRunOnBook(); }\r\n if (typeof globalRunAllOnBook === \"function\") { globalRunAllOnBook(); }\r\n DebugFnUsed.push(\"globalRunOnBook\");\r\n DebugFnUsed.push(\"globalRunAllOnBook\");\r\n } else if (pageType.CategoryPage) {\r\n if (typeof globalRunOnCategory === \"function\") { globalRunOnCategory(); }\r\n if (typeof globalRunAllOnCategory === \"function\") { globalRunAllOnCategory(); }\r\n DebugFnUsed.push(\"globalRunOnCategory\");\r\n DebugFnUsed.push(\"globalRunAllOnCategory\");\r\n } else if (pageType.CategorySpecialPage) {\r\n if (typeof globalRunOnCategorySpecial === \"function\") { globalRunOnCategorySpecial(); }\r\n if (typeof globalRunAllOnCategorySpecial === \"function\") { globalRunAllOnCategorySpecial(); }\r\n DebugFnUsed.push(\"globalRunOnCategorySpecial\");\r\n DebugFnUsed.push(\"globalRunAllOnCategorySpecial\");\r\n } else if (pageType.CategoryTitlePage) {\r\n if (typeof globalRunOnCategoryTitle === \"function\") { globalRunOnCategoryTitle(); }\r\n if (typeof globalRunAllOnCategoryTitle === \"function\") { globalRunAllOnCategoryTitle(); }\r\n DebugFnUsed.push(\"globalRunOnCategoryTitle\");\r\n DebugFnUsed.push(\"globalRunAllOnCategoryTitle\");\r\n } else if (pageType.CommodityComparison) {\r\n if (typeof globalRunOnCommodityComparison === \"function\") { globalRunOnCommodityComparison(); }\r\n if (typeof globalRunAllOnCommodityComparison === \"function\") { globalRunAllOnCommodityComparison(); }\r\n DebugFnUsed.push(\"globalRunOnCommodityComparison\");\r\n DebugFnUsed.push(\"globalRunAllOnCommodityComparison\");\r\n } else if (pageType.CommodityWizardStep) {\r\n if (typeof globalRunOnCommodityWizardStep === \"function\") { globalRunOnCommodityWizardStep(); }\r\n if (typeof globalRunAllOnCommodityWizardStep === \"function\") { globalRunAllOnCommodityWizardStep(); }\r\n DebugFnUsed.push(\"globalRunOnCommodityWizardStep\");\r\n DebugFnUsed.push(\"globalRunAllOnCommodityWizardStep\");\r\n } else if (pageType.ErrorPage) {\r\n if (typeof globalRunOnError === \"function\") { globalRunOnError(); }\r\n if (typeof globalRunAllOnError === \"function\") { globalRunAllOnError(); }\r\n DebugFnUsed.push(\"globalRunOnError\");\r\n DebugFnUsed.push(\"globalRunAllOnError\");\r\n } else if (pageType.ExternalConnect) {\r\n if (typeof globalRunOnExternalConnect === \"function\") { globalRunOnExternalConnect(); }\r\n if (typeof globalRunAllOnExternalConnect === \"function\") { globalRunAllOnExternalConnect(); }\r\n DebugFnUsed.push(\"globalRunOnExternalConnect\");\r\n DebugFnUsed.push(\"globalRunAllOnExternalConnect\");\r\n } else if (pageType.FastOrderPage) {\r\n if (typeof globalRunOnFastOrder === \"function\") { globalRunOnFastOrder(); }\r\n if (typeof globalRunAllOnFastOrder === \"function\") { globalRunAllOnFastOrder(); }\r\n DebugFnUsed.push(\"globalRunOnFastOrder\");\r\n DebugFnUsed.push(\"globalRunAllOnFastOrder\");\r\n } else if (pageType.ForumPage) {\r\n if (typeof globalRunOnForum === \"function\") { globalRunOnForum(); }\r\n if (typeof globalRunAllOnForum === \"function\") { globalRunAllOnForum(); }\r\n DebugFnUsed.push(\"globalRunOnForum\");\r\n DebugFnUsed.push(\"globalRunAllOnForum\");\r\n } else if (pageType.AllProductsPage) {\r\n if (typeof globalRunOnFullProducts === \"function\") { globalRunOnFullProducts(); }\r\n if (typeof globalRunAllOnFullProducts === \"function\") { globalRunAllOnFullProducts(); }\r\n DebugFnUsed.push(\"globalRunOnFullProducts\");\r\n DebugFnUsed.push(\"globalRunAllOnFullProducts\");\r\n } else if (pageType.GlossaryOfTermsPage) {\r\n if (typeof globalRunOnGlossaryOfTerms === \"function\") { globalRunOnGlossaryOfTerms(); }\r\n if (typeof globalRunAllOnGlossaryOfTerms === \"function\") { globalRunAllOnGlossaryOfTerms(); }\r\n DebugFnUsed.push(\"globalRunOnGlossaryOfTerms\");\r\n DebugFnUsed.push(\"globalRunAllOnGlossaryOfTerms\");\r\n } else if (pageType.HeurekaReviewPage) {\r\n if (typeof globalRunOnHeurekaReview === \"function\") { globalRunOnHeurekaReview(); }\r\n if (typeof globalRunAllOnHeurekaReview === \"function\") { globalRunAllOnHeurekaReview(); }\r\n DebugFnUsed.push(\"globalRunOnHeurekaReview\");\r\n DebugFnUsed.push(\"globalRunAllOnHeurekaReview\");\r\n } else if (pageType.HtmlSiteMapPage) {\r\n if (typeof globalRunOnHtmlSiteMap === \"function\") { globalRunOnHtmlSiteMap(); }\r\n if (typeof globalRunAllOnHtmlSiteMap === \"function\") { globalRunAllOnHtmlSiteMap(); }\r\n DebugFnUsed.push(\"globalRunOnHtmlSiteMap\");\r\n DebugFnUsed.push(\"globalRunAllOnHtmlSiteMap\");\r\n } else if (pageType.InfoPage) {\r\n if (typeof globalRunOnInfo === \"function\") { globalRunOnInfo(); }\r\n if (typeof globalRunAllOnInfo === \"function\") { globalRunAllOnInfo(); }\r\n DebugFnUsed.push(\"globalRunOnInfo\");\r\n DebugFnUsed.push(\"globalRunAllOnInfo\");\r\n } else if (pageType.DetailPage) {\r\n if (typeof globalRunOnDetail === \"function\") { globalRunOnDetail(); }\r\n if (typeof globalRunAllOnDetail === \"function\") { globalRunAllOnDetail(); }\r\n DebugFnUsed.push(\"globalRunOnDetail\");\r\n DebugFnUsed.push(\"globalRunAllOnDetail\");\r\n } else if (pageType.NewsLetterPage) {\r\n if (typeof globalRunOnMailingPage === \"function\") { globalRunOnMailingPage(); }\r\n if (typeof globalRunAllOnMailingPage === \"function\") { globalRunAllOnMailingPage(); }\r\n DebugFnUsed.push(\"globalRunOnMailingPage\");\r\n DebugFnUsed.push(\"globalRunAllOnMailingPage\");\r\n } else if (pageType.EmailNewsPage) {\r\n if (typeof globalRunOnMailNews === \"function\") { globalRunOnMailNews(); }\r\n if (typeof globalRunAllOnMailNews === \"function\") { globalRunAllOnMailNews(); }\r\n DebugFnUsed.push(\"globalRunOnMailNews\");\r\n DebugFnUsed.push(\"globalRunAllOnMailNews\");\r\n } else if (pageType.OrderReviewPage) {\r\n if (typeof globalRunOnMailReview === \"function\") { globalRunOnMailReview(); }\r\n if (typeof globalRunAllOnMailReview === \"function\") { globalRunAllOnMailReview(); }\r\n DebugFnUsed.push(\"globalRunOnMailReview\");\r\n DebugFnUsed.push(\"globalRunAllOnMailReview\");\r\n } else if (pageType.MarketDetail) {\r\n if (typeof globalRunOnMarketDetail === \"function\") { globalRunOnMarketDetail(); }\r\n if (typeof globalRunAllOnMarketDetail === \"function\") { globalRunAllOnMarketDetail(); }\r\n DebugFnUsed.push(\"globalRunOnMarketDetail\");\r\n DebugFnUsed.push(\"globalRunAllOnMarketDetail\");\r\n } else if (pageType.Markets) {\r\n if (typeof globalRunOnMarkets === \"function\") { globalRunOnMarkets(); }\r\n if (typeof globalRunAllOnMarkets === \"function\") { globalRunAllOnMarkets(); }\r\n DebugFnUsed.push(\"globalRunOnMarkets\");\r\n DebugFnUsed.push(\"globalRunAllOnMarkets\");\r\n } else if (pageType.OrdersPage) {\r\n if (typeof globalRunOnOrders === \"function\") { globalRunOnOrders(); }\r\n if (typeof globalRunAllOnOrders === \"function\") { globalRunAllOnOrders(); }\r\n DebugFnUsed.push(\"globalRunOnOrders\");\r\n DebugFnUsed.push(\"globalRunAllOnOrders\");\r\n } else if (pageType.PasswordOnMailPage) {\r\n if (typeof globalRunOnPasswordOnMail === \"function\") { globalRunOnPasswordOnMail(); }\r\n if (typeof globalRunAllOnPasswordOnMail === \"function\") { globalRunAllOnPasswordOnMail(); }\r\n DebugFnUsed.push(\"globalRunOnPasswordOnMail\");\r\n DebugFnUsed.push(\"globalRunAllOnPasswordOnMail\");\r\n } else if (pageType.PaymentProcessPage) {\r\n if (typeof globalRunOnPaymentProcess === \"function\") { globalRunOnPaymentProcess(); }\r\n if (typeof globalRunAllOnPaymentProcess === \"function\") { globalRunAllOnPaymentProcess(); }\r\n DebugFnUsed.push(\"globalRunOnPaymentProcess\");\r\n DebugFnUsed.push(\"globalRunAllOnPaymentProcess\");\r\n } else if (pageType.PartnerAdminPage) {\r\n if (typeof globalRunOnPortalAdminPartner === \"function\") { globalRunOnPortalAdminPartner(); }\r\n if (typeof globalRunAllOnPortalAdminPartner === \"function\") { globalRunAllOnPortalAdminPartner(); }\r\n DebugFnUsed.push(\"globalRunOnPortalAdminPartner\");\r\n DebugFnUsed.push(\"globalRunAllOnPortalAdminPartner\");\r\n } else if (pageType.PortalDetailPage) {\r\n if (typeof globalRunOnPortalDetail === \"function\") { globalRunOnPortalDetail(); }\r\n if (typeof globalRunAllOnPortalDetail === \"function\") { globalRunAllOnPortalDetail(); }\r\n DebugFnUsed.push(\"globalRunOnPortalDetail\");\r\n DebugFnUsed.push(\"globalRunAllOnPortalDetail\");\r\n } else if (pageType.PortalPage) {\r\n if (typeof globalRunOnPortalPage === \"function\") { globalRunOnPortalPage(); }\r\n if (typeof globalRunAllOnPortalPage === \"function\") { globalRunAllOnPortalPage(); }\r\n DebugFnUsed.push(\"globalRunOnPortalPage\");\r\n DebugFnUsed.push(\"globalRunAllOnPortalPage\");\r\n } else if (pageType.PartnerRegistration) {\r\n if (typeof globalRunOnPortalRegPartner === \"function\") { globalRunOnPortalRegPartner(); }\r\n if (typeof globalRunAllOnPortalRegPartner === \"function\") { globalRunAllOnPortalRegPartner(); }\r\n DebugFnUsed.push(\"globalRunOnPortalRegPartner\");\r\n DebugFnUsed.push(\"globalRunAllOnPortalRegPartner\");\r\n } else if (pageType.ProducerPage) {\r\n if (typeof globalRunOnProducer === \"function\") { globalRunOnProducer(); }\r\n if (typeof globalRunAllOnProducer === \"function\") { globalRunAllOnProducer(); }\r\n DebugFnUsed.push(\"globalRunOnProducer\");\r\n DebugFnUsed.push(\"globalRunAllOnProducer\");\r\n } else if (pageType.PublishArticlePage) {\r\n if (typeof globalRunOnPublishArticle === \"function\") { globalRunOnPublishArticle(); }\r\n if (typeof globalRunAllOnPublishArticle === \"function\") { globalRunAllOnPublishArticle(); }\r\n DebugFnUsed.push(\"globalRunOnPublishArticle\");\r\n DebugFnUsed.push(\"globalRunAllOnPublishArticle\");\r\n } else if (pageType.PublishCategoryPage) {\r\n if (typeof globalRunOnPublishCategory === \"function\") { globalRunOnPublishCategory(); }\r\n if (typeof globalRunAllOnPublishCategory === \"function\") { globalRunAllOnPublishCategory(); }\r\n DebugFnUsed.push(\"globalRunOnPublishCategory\");\r\n DebugFnUsed.push(\"globalRunAllOnPublishCategory\");\r\n } else if (pageType.ReclamationPage) {\r\n if (typeof globalRunOnReclamation === \"function\") { globalRunOnReclamation(); }\r\n if (typeof globalRunAllOnReclamation === \"function\") { globalRunAllOnReclamation(); }\r\n DebugFnUsed.push(\"globalRunOnReclamation\");\r\n DebugFnUsed.push(\"globalRunAllOnReclamation\");\r\n } else if (pageType.RegistrationPage) {\r\n if (typeof globalRunOnRegistrationShop === \"function\") { globalRunOnRegistrationShop(); }\r\n if (typeof globalRunAllOnRegistrationShop === \"function\") { globalRunAllOnRegistrationShop(); }\r\n DebugFnUsed.push(\"globalRunOnRegistrationShop\");\r\n DebugFnUsed.push(\"globalRunAllOnRegistrationShop\");\r\n } else if (pageType.SearchPage) {\r\n if (typeof globalRunOnSearch === \"function\") { globalRunOnSearch(); }\r\n if (typeof globalRunAllOnSearch === \"function\") { globalRunAllOnSearch(); }\r\n DebugFnUsed.push(\"globalRunOnSearch\");\r\n DebugFnUsed.push(\"globalRunAllOnSearch\");\r\n } else if (pageType.TagsPage) {\r\n if (typeof globalRunOnTags === \"function\") { globalRunOnTags(); }\r\n if (typeof globalRunAllOnTags === \"function\") { globalRunAllOnTags(); }\r\n DebugFnUsed.push(\"globalRunOnTags\");\r\n DebugFnUsed.push(\"globalRunAllOnTags\");\r\n } else if (pageType.TitlePage) {\r\n if (typeof globalRunOnTitle === \"function\") { globalRunOnTitle(); }\r\n if (typeof globalRunAllOnTitle === \"function\") { globalRunAllOnTitle(); }\r\n DebugFnUsed.push(\"globalRunOnTitle\");\r\n DebugFnUsed.push(\"globalRunAllOnTitle\");\r\n } else if (pageType.WelcomePage) {\r\n if (typeof globalRunOnWelcome === \"function\") { globalRunOnWelcome(); }\r\n if (typeof globalRunAllOnWelcome === \"function\") { globalRunAllOnWelcome(); }\r\n DebugFnUsed.push(\"globalRunOnWelcome\");\r\n DebugFnUsed.push(\"globalRunAllOnWelcome\");\r\n }\r\n}\r\n\r\n/** Pokročilé chování dostupnosti (načítání dostupnosti dle dodavatele, apod.) */\r\nfunction localFnAvailabilityExtended(): void {\r\n if (features.StockRulesWithContractorLimit) {\r\n $(\".productBox #Items .productBox_product, #DetailForm\").each(function () {\r\n var item = $(this);\r\n item.find(\"input.inp_count[name=count]\").on(\"change\",\r\n function () {\r\n var count = parseInt($(this).val()?.toString());\r\n if (count <= 0) {\r\n count = 1;\r\n $(this).val(count);\r\n }\r\n\r\n const fancy = item.find(\".availFancy\").not(\".availAlternate\");\r\n const fancyAlter = item.find(\".availFancy.availAlternate\");\r\n\r\n if (typeof (fancy) !== \"undefined\" &&\r\n fancy != null &&\r\n typeof (fancyAlter) !== \"undefined\" &&\r\n fancyAlter != null) {\r\n const limitCount = fancy.data(\"limit-count\");\r\n\r\n if (count > limitCount) {\r\n fancy.hide();\r\n fancyAlter.show();\r\n } else {\r\n fancy.show();\r\n fancyAlter.hide();\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Přepočet ceny při změně steperu\r\n * @param data objekt ze kterého načítám data\r\n * @param priceBlock blok pro vložení ceny bez DPH\r\n * @param priceVatBlock blok pro vložení ceny s DPH\r\n * @param count počet kusů\r\n */\r\nfunction localFnPriceAutoUpdate(data: JQuery, priceBlock: JQuery, priceVatBlock: JQuery, count: number): void {\r\n const p = Math.round(parseFloat(data.data(\"price\").replace(\",\", \".\")));\r\n const pv = Math.round(parseFloat(data.data(\"price-vat\").replace(\",\", \".\")));\r\n const e = data.data(\"exchange\");\r\n const price = Math.round(parseFloat((p * parseFloat(count.toString())).toString()) * 100) / 100;\r\n const priceVat = Math.round(parseFloat((pv * parseFloat(count.toString())).toString()) * 100) / 100;\r\n\r\n //console.log(\"Cena za 1ks: \", p, \" | Cena za 1ks s DPH: \", pv, \" | Počet ks: \", count, \" | Cena za vše: \", price, \" | Cena za vše s DPH: \", priceVat);\r\n\r\n if (typeof priceBlock !== \"undefined\" && priceBlock !== null) {\r\n priceBlock.html(price.toLocaleString(cultureInfo, { style: \"currency\", currency: e }).replace(\",00\", \"\").replace(\".00\", \"\"));\r\n }\r\n\r\n if (typeof priceVatBlock !== \"undefined\" && priceVatBlock !== null) {\r\n priceVatBlock.html(priceVat.toLocaleString(cultureInfo, { style: \"currency\", currency: e }).replace(\",00\", \"\").replace(\".00\", \"\"));\r\n }\r\n}\r\n\r\n/** Pro všechny prvky s třídou availFancy nastaví tooltip */\r\nfunction availability(): void {\r\n $(\".availFancy\").unbind();\r\n $(\".availFancy\").on(\"click\", function (event) {\r\n event.preventDefault();\r\n preloader(true);\r\n const prod = $(this).data(\"id\");\r\n EshopService(\"StockAvailability\", { itemId: prod }, true, (result: InfoValueResult) => {\r\n preloader(false);\r\n $.fancybox.open(result.Value);\r\n });\r\n });\r\n localFnAvailabilityExtended();\r\n}\r\n\r\n/**\r\n * Nastaví cookie\r\n * @param cname název\r\n * @param cvalue hodnota\r\n * @param exdays expirace ve dnech\r\n */\r\nfunction setCookie(cname: string, cvalue: any, exdays: number): void {\r\n const d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n const expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";path=/;\" + expires;\r\n}\r\n\r\n/**\r\n * Načtení cookie\r\n * @param cname název\r\n */\r\nfunction getCookie(cname: string): string {\r\n const name = cname + \"=\";\r\n const ca = document.cookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) === ' ') c = c.substring(1);\r\n if (c.indexOf(name) === 0) return c.substring(name.length, c.length);\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * Načtení parametru z URL\r\n * @param url URL\r\n * @param parm název parametru\r\n */\r\nfunction getParmFromHash(url: string, parm: string): string {\r\n let re = new RegExp(\".*[?&]\" + parm + \"=([^&]+)(&|$)\");\r\n let match = url.match(re);\r\n return (match ? match[1] : \"\");\r\n}\r\n\r\n/**\r\n * Načtení parametru z hash části URL\r\n * @param hash kompletní hash (window.location.hash)\r\n * @param parm parametr\r\n */\r\nfunction getParmFromUrlHash(hash: string, parm: string): string {\r\n let re = new RegExp(\".*[#&]\" + parm + \"=([^&]+)(&|$)\");\r\n let match = hash.match(re);\r\n return (match ? match[1] : \"\");\r\n}\r\n\r\n/**\r\n * Otevření přihlašovacího okna\r\n * @param event událost kliknutí\r\n * @param callback callback událost po otevření okna\r\n */\r\nfunction clickOnLogin(event: any, callback: any): void {\r\n event.preventDefault();\r\n //if ($.fancybox.getInstance()) {\r\n // $.fancybox.getInstance().close();\r\n //}\r\n $.fancybox.close();\r\n\r\n setTimeout(function () {\r\n $(\"html, body\").animate({\r\n scrollTop: top\r\n }, 400);\r\n $(\"#linkLoginForm\").trigger(\"click\");\r\n\r\n if (typeof callback === \"function\") {\r\n callback();\r\n }\r\n }, 300);\r\n}\r\n\r\n/**\r\n * Vypsání hlášky do fancyboxu\r\n * @param content obsah fancyboxu\r\n */\r\nfunction messageToFancybox(content: string): void {\r\n $.fancybox.open(content, {\r\n defaultType: \"inline\",\r\n btnTpl: {\r\n close: '',\r\n arrowRight: '',\r\n arrowLeft: ''\r\n },\r\n hideScrollbar: true\r\n //autoCenter: false\r\n });\r\n}\r\n\r\n/**\r\n * Validace emailu na správný formát\r\n * @param email email k validaci\r\n */\r\nfunction ValidateEmail(email: string): boolean {\r\n var re = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\r\n return re.test(email);\r\n}\r\n\r\nfunction setOwl(htmlItem: string, useLoop: boolean, useClass: boolean, useNav: boolean, useDots: boolean, marginValue: number, useAutoPlay: boolean, responsiveItems: any, useLazy: boolean): void {\r\n $(htmlItem).addClass('owl-carousel'); $('.nocarousel', htmlItem).remove();\r\n var owl1 = $(htmlItem).owlCarousel({ loop: useLoop, responsiveClass: useClass, nav: useNav, dots: useDots, margin: marginValue, autoplay: useAutoPlay, responsive: responsiveItems });\r\n if (useLazy) {\r\n owl1.on('changed.owl.carousel', function (e) {\r\n if (typeof initializeLazy == 'function') {\r\n initializeLazy();\r\n }\r\n });\r\n }\r\n};\r\nfunction setLoginLinks() {\r\n $(\"body\").on(\"click\", \".loginLink\", function (e) {\r\n clickOnLogin(e, () => { $(\"#frmLoginForm input[name=logEmail]\").focus(); });\r\n });\r\n}\r\n\r\nfunction AddItemToLocalStorage(itemName, itemValue) {\r\n try {\r\n var ok = CheckLocalStorage();\r\n if (ok) {\r\n localStorage.setItem(itemName, itemValue);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n}\r\n\r\nfunction DelItemFromLocalStorage(itemName) {\r\n try {\r\n var ok = CheckLocalStorage();\r\n if (ok) {\r\n localStorage.removeItem(itemName);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n}\r\n\r\nfunction GetItemFromLocalStorage(itemName) {\r\n try {\r\n var ok = CheckLocalStorage();\r\n if (ok) {\r\n return localStorage.getItem(itemName);\r\n }\r\n\r\n return \"\";\r\n } catch (e) {\r\n console.log(e);\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction CheckLocalStorage() {\r\n try {\r\n if (typeof (Storage) !== \"undefined\" && navigator.cookieEnabled == true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Načtení settingu jako JSON\r\n * @param name název settingu\r\n */\r\nfunction getSetting(name: string): any {\r\n let retVal;\r\n EshopService(\"GetSetting\", { settingName: name }, false, (result: InfoResult) => {\r\n if (result.ErrorLevel === 0) {\r\n retVal = JSON.parse(result.Message);\r\n } else {\r\n console.log(result.Message);\r\n }\r\n });\r\n return retVal;\r\n}\r\n\r\n$(document).ready(() => {\r\n pageType = new PageType();\r\n localFnSetPaGeTypeDefault();\r\n localFnGetPageType();\r\n localFnRunPageScripts();\r\n setLoginLinks();\r\n});\r\n\r\n/**\r\n * Check if the image is fully loaded.\r\n * @param img Image element.\r\n */\r\nfunction isImageOk(img) {\r\n if (!img.complete) {\r\n return false;\r\n }\r\n if (img.naturalWidth === 0) {\r\n return false;\r\n }\r\n\r\n if (img.naturalHeight === 0) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n////////////////////preneseno z default.js//////////////\r\n\r\nfunction NonDiacritic(strText: string): string {\r\n const strDiak = \"áäčďéěíĺľňóô öŕšťúů üýřžÁÄČĎÉĚÍĹĽŇÓÔ ÖŔŠŤÚŮ ÜÝŘŽ\";\r\n const strNonDiak = \"aacdeeillnoo orstuu uyrzAACDEEILLNOO ORSTUU UYRZ\";\r\n let strResult = \"\";\r\n\r\n for (let i = 0; i < strText.length; i++) {\r\n if (strDiak.indexOf(strText.charAt(i)) != -1) {\r\n strResult += strNonDiak.charAt(strDiak.indexOf(strText.charAt(i)));\r\n } else {\r\n strResult += strText.charAt(i);\r\n }\r\n }\r\n strResult = strResult.replace(/\\s+/g, ' ');\r\n return strResult;\r\n}\r\n\r\nfunction WordToUrl(str: string): string {\r\n str = str.replace(/^\\s+|\\s+$/g, '');\r\n str = str.toLowerCase();\r\n\r\n const to = \"aaaaaeeeeeeiiiiooooouuuunccslurzytd------l\";\r\n const from = \"227,224,225,228,226,283,7869,232,233,235,234,236,237,239,238,245,242,243,246,244,249,250,252,251,241,231,269,353,318,367,345,382,253,357,271,183,47,95,44,58,59,322\";\r\n const aFrom = from.split(',');\r\n\r\n for (let i = 0, l = from.length; i < l; i++) {\r\n str = str.replace(new RegExp(String.fromCharCode(parseInt(aFrom[i])), 'g'), to.charAt(i));\r\n }\r\n str = str.replace(/\\–+/g, '-');\r\n str = str.replace(/\\s+/g, '-').replace(/-+/g, '-').replace(/\\^+/g, '-').replace(/\\$+/g, '-').replace(/°+/g, '');\r\n return str;\r\n}\r\n\r\nfunction removeSpecChars(t: string): string {\r\n t = t.replace(/\\<+/g, ' ');\r\n t = t.replace(/\\>+/g, ' ');\r\n t = t.replace(/\\&+/g, ' ');\r\n t = t.replace(/\\@+/g, ' ');\r\n t = t.replace(/\\\"+/g, ' ');\r\n return t;\r\n}\r\n\r\nfunction objGet(x: string): object {\r\n if (Boolean(document.all)) { return eval('document.all.' + x); }\r\n else if (Boolean(document.getElementById)) return document.getElementById(x);\r\n else { return null; }\r\n}\r\n\r\n//formatNumber\r\nfunction formatPrice(sNumber, sCurrency) {\r\n return thousandsSeparator(sNumber) + \" \" + sCurrency;\r\n}\r\nfunction thousandsSeparator(sNumber) {\r\n return sNumber.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \" \");\r\n}\r\n\r\nfunction GetParam(sVar: string): string {\r\n return unescape(window.location.search.replace(new RegExp(\"^(?:.*[&\\\\?]\" + escape(sVar).replace(/[\\.\\+\\*]/g, \"\\\\$&\") + \"(?:\\\\=([^&]*))?)?.*$\", \"i\"), \"$1\"));\r\n}\r\n\r\nString.prototype.trim = function () {\r\n return this.replace(/^\\s+|\\s+$/g, \"\");\r\n};\r\n\r\nfunction SrchInp(obj, nType, sText) {\r\n if (nType == 0) { if (obj.value == '') { obj.value = sText; } }\r\n if (nType == 1) { if (obj.value == sText) { obj.value = ''; } }\r\n}\r\n\r\nfunction IsSafariBrowser(): boolean {\r\n const ua = navigator.userAgent.toLowerCase();\r\n let r = false;\r\n if (ua.indexOf('safari') != -1) {\r\n r = !(ua.indexOf('chrome') > -1);\r\n }\r\n return r;\r\n}\r\n\r\nfunction throttle(fn, wait) {\r\n let time = Date.now();\r\n return function () {\r\n setTimeout(function () {\r\n if ((time + wait - Date.now()) < 0) {\r\n fn();\r\n time = Date.now();\r\n } else {\r\n // console.log(\"abort function - throttling\");\r\n }\r\n },\r\n wait);\r\n }\r\n}\r\n\r\n// Add class by visible width of screen\r\nfunction AddClassByResolution(mobileBreak: number, tabletBreak: number): void {\r\n if ($(window).width() < mobileBreak) {\r\n $(\"body\").addClass(\"body-mobile\");\r\n }\r\n else if ($(window).width() >= mobileBreak && $(window).width() < tabletBreak) {\r\n $(\"body\").addClass(\"body-tablet\");\r\n }\r\n else {\r\n $(\"body\").removeClass(\"body-mobile body-tablet\");\r\n }\r\n}\r\n\r\nfunction AntiSpamByHiddenInputHshSession(item) {\r\n if (item.length) {\r\n item.append('');\r\n }\r\n}\r\n\r\n// z puvodniho Default.js\r\nfunction RunMailContr(adresa) {\r\n var re = /^[_a-zA-Z0-9-\\+]+(\\.[_a-zA-Z0-9-\\+]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/\r\n return adresa.search(re) == 0;\r\n}\r\nfunction MailContr(address) {\r\n if (RunMailContr(address)) {\r\n return true;\r\n } else {\r\n alert(GetTextDynamic(\"js_wrong_mail_format\"));\r\n return false;\r\n }\r\n}\r\n\r\nfunction mailNewsSubmit(personalDataEl, systemText) {\r\n var r = true;\r\n if ($(personalDataEl).length && $(personalDataEl).find(\"input[type='checkbox']\").length) {\r\n $(\".mail-news-alert\").remove();\r\n var text = \"
\" + GetTextDynamic(systemText) + \"
\";\r\n if (!$(personalDataEl).find(\"input[type='checkbox']\").is(\":checked\")) {\r\n $(personalDataEl).append(text);\r\n r = false;\r\n }\r\n }\r\n return r;\r\n}\r\n\r\nString.prototype.spaceDel = function () {\r\n return this.replace(new RegExp(String.fromCharCode(160), \"g\"), \"\").replace(/\\s+/g, \"\");\r\n};\r\n\r\nfunction StringToNumber(s) {\r\n if (typeof s != \"string\") { return s; }\r\n var val = isNaN(Number(s)) ? s.replace(\",\", \".\") : s;\r\n val = isNaN(Number(val)) ? val.replace(\".\", \",\") : val;\r\n return Number(val);\r\n}\r\n\r\nMath[\"multi\"] = function (a: number, b: number): number {\r\n return ((a * 10000) * (b * 10000)) / 100000000;\r\n}\r\n\r\nMath[\"div\"] = function (a: number, b: number): number {\r\n return ((a * 10000) / (b * 10000)) / 100000000;\r\n}\r\n\r\nMath[\"add\"] = function (a: number, b: number): number {\r\n return ((a * 10000) + (b * 10000)) / 100000000;\r\n}\r\nMath[\"sub\"] = function (a: number, b: number): number {\r\n return ((a * 10000) - (b * 10000)) / 100000000;\r\n}\r\n\r\nfunction KeyNum(e) {\r\n var $o = $(e.srcElement || e.target);\r\n var theEvent = e || window.event;\r\n var key = theEvent.keyCode || theEvent.which;\r\n if (key == 13) { theEvent.preventDefault(); $o.blur(); return; }\r\n if (key == 8 || key == 9 || key == 37 || key == 39) { return; }\r\n key = String.fromCharCode(key);\r\n var regex = /[0-9]|\\./;\r\n if (!regex.test(key)) {\r\n theEvent.returnValue = false;\r\n if (theEvent.preventDefault) theEvent.preventDefault();\r\n }\r\n}\r\n\r\nfunction KeyInt(e) {\r\n var theEvent = e || window.event;\r\n var key = theEvent.keyCode || theEvent.which;\r\n if (key == 8 || key == 37 || key == 39) { return; }\r\n key = String.fromCharCode(key);\r\n var regex = /[0-9]/;\r\n if (!regex.test(key)) {\r\n theEvent.returnValue = false;\r\n if (theEvent.preventDefault) { theEvent.preventDefault(); }\r\n }\r\n}\r\n\r\nfunction readCookie(name) {\r\n return (name = new RegExp('(?:^|;\\\\s*)' + ('' + name).replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&') + '=([^;]*)').exec(document.cookie)) && name[1];\r\n}\r\n\r\nNumber.prototype.formatCurr = function (r) {\r\n var p = parseFloat(this);\r\n var nRound = gnRound;\r\n if (r) { nRound = parseInt(r); }\r\n if ((p < gnLimitRound || gnLimitRound == 0) && nRound > 0) {\r\n return parseFloat(p.toFixed(gnRound).replace(/(\\d)(?=(\\d{3})+\\b)/g, '$1 ')).toFixed(nRound);\r\n } else {\r\n return p.toFixed(0).replace(/(\\d)(?=(\\d{3})+\\b)/g, '$1 ') + \",-\";\r\n }\r\n};\r\n\r\nNumber.prototype.formatNum = function () {\r\n return this.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1 \");\r\n};\r\n\r\nwindow.onload = function () {\r\n if (objGet('hsLogForm')) { (objGet('hsLogForm') as Element).setAttribute(\"autocomplete\", \"off\"); }\r\n if (objGet('FormBasket')) { (objGet('FormBasket') as Element).setAttribute(\"autocomplete\", \"off\"); }\r\n if (objGet('searchId')) { (objGet('searchId') as Element).setAttribute(\"autocomplete\", \"off\"); }\r\n //if (objGet('Password')) { objGet('Password').value = ''; }\r\n if (objGet('PasswordReg')) { (objGet('PasswordReg') as HTMLInputElement).value = ''; }\r\n};\r\n\r\nfunction CheckForm(formIdent) {\r\n if (!RunMailContr($('input[type=\"email\"]', formIdent).val())) {\r\n $('input[type=\"email\"]', formIdent).parent().find('.error-msg').show();\r\n $('input[type=\"email\"]', formIdent).focus();\r\n return false;\r\n }\r\n\r\n if ($('input[name=\"sendnotice\"]', formIdent).is(':checked')) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction showPasswordContent() {\r\n if ($(\".show-password-content\").length) {\r\n $(\".show-password-content\").parent().append(\"\");\r\n $(\".icon-eye-open\").mouseup(function (e) {\r\n $(this).parent().find(\".show-password-content\").attr(\"type\", \"password\");\r\n $(this).removeClass(\"activ\");\r\n }).mousedown(function () {\r\n $(this).parent().find(\".show-password-content\").attr(\"type\", \"text\");\r\n $(this).addClass(\"activ\");\r\n });\r\n\r\n $(\".icon-eye-open\").bind('touchstart', function (e) {\r\n if ($(this).hasClass(\"activ\")) {\r\n $(this).parent().find(\".show-password-content\").attr(\"type\", \"password\");\r\n $(this).removeClass(\"activ\");\r\n }\r\n else {\r\n $(this).parent().find(\".show-password-content\").attr(\"type\", \"text\");\r\n $(this).addClass(\"activ\");\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction CheckMinMaxCount(el, useFancy) {\r\n var form = $(el).parents('form');\r\n $(el).removeClass(\"count-error\");\r\n var eventhandler = function (e) {\r\n e.preventDefault();\r\n };\r\n $(\".errorcount\").remove();\r\n\r\n var min = $(el).is('[min]') ? parseFloat($(el).attr(\"min\").replace(\",\", \".\")) : undefined;\r\n var max = $(el).is('[max]') ? parseFloat($(el).attr(\"max\").replace(\",\", \".\")) : undefined;\r\n var maxclient = $(el).is('[max-client]') ? parseFloat($(el).attr(\"max-client\").replace(\",\", \".\")) : undefined;\r\n var step = $(el).is('[step]') ? parseFloat($(el).attr(\"step\").replace(\",\", \".\")) : undefined;\r\n var inputvalue = parseFloat($(el).val()?.toString()?.replace(\",\", \".\")?.replace(String.fromCharCode(160), \"\"));\r\n var data = $.extend({\r\n min: (typeof min !== undefined && !isNaN(min)) ? min : false,\r\n max: (typeof max !== undefined && !isNaN(max)) ? max : false,\r\n maxclient: (typeof maxclient !== undefined && !isNaN(maxclient)) ? max : false,\r\n step: (typeof step !== undefined && !isNaN(step)) ? step : 1,\r\n val: (typeof inputvalue !== undefined && !isNaN(inputvalue)) ? inputvalue : false,\r\n });\r\n var roundUp = $(el).data(\"roundup\") ? $(el).data(\"roundup\") : 0;\r\n var sText = \"\";\r\n var $textClose = \"\";\r\n var $parent = $(el).closest(\".Item\");\r\n var $code = \"\";\r\n if ($parent != undefined) { $code = $parent.data(\"code\"); }\r\n if ($code == undefined) { $code = \"\"; }\r\n \r\n if (data.val === false) {\r\n // neni vlozena hodnota\r\n if (useFancy) {\r\n sText = GetTextDynamic(\"commodity_min\");\r\n $textClose = GetTextDynamic(\"fancybox_button_close\");\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $.fancybox.open(\r\n \"

\" + sText.replace(\"#min#\", \"1\").replace(\"#code#\", $code) + \"

\",\r\n { afterClose: function () { if (typeof CheckMinMaxCountOnClose === \"function\") { CheckMinMaxCountOnClose(form, \"no-value\"); } } }\r\n );\r\n }\r\n $(form).bind('submit', eventhandler);\r\n $(el).addClass(\"count-error\");\r\n return false;\r\n }\r\n else if (maxclient < inputvalue && data.maxclient !== false) {\r\n // rozmezi hodnot max pro klienta (featura)\r\n if (useFancy) {\r\n sText = GetTextDynamic(\"commodity_max_client\");\r\n $textClose = GetTextDynamic(\"fancybox_button_close\");\r\n var $date = $(el).data(\"date\");\r\n var $maxbuy = $(el).data(\"maxbuy\");\r\n var $unit = $(el).attr(\"unit\");\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $.fancybox.open(\r\n \"

\" + GetTextDynamic(\"commodity_max_client_title\") + \"

\" + sText.replace(\"#countmax\", maxclient.toString()).replace(\"#count\", $maxbuy).replace(\"#date\", $date).replace(\"#unit\", $unit).replace(\"#unit\", $unit) + \"

\",\r\n { afterClose: function () { if (typeof CheckMinMaxCountOnClose === \"function\") { CheckMinMaxCountOnClose(form, \"maxclient\"); } } }\r\n );\r\n }\r\n $(form).bind('submit', eventhandler);\r\n $(el).addClass(\"count-error\");\r\n $(el).val(maxclient);\r\n return false;\r\n }\r\n else if (max != 0 && max < inputvalue && data.max !== false) { // max=0 neomezene mnozstvi\r\n // rozmezi hodnot max\r\n if (useFancy) {\r\n sText = GetTextDynamic(\"commodity_max\");\r\n $textClose = GetTextDynamic(\"fancybox_button_close\");\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $.fancybox.open(\r\n \"

\" + sText.replace(\"#max#\", max.toString()).replace(\"#code#\", $code) + \"

\",\r\n { afterClose: function () { if (typeof CheckMinMaxCountOnClose === \"function\") { CheckMinMaxCountOnClose(form, \"max\"); } } }\r\n );\r\n }\r\n $(form).bind('submit', eventhandler);\r\n $(el).addClass(\"count-error\");\r\n $(el).val(max);\r\n return false;\r\n }\r\n else if (min % 1 === 0 && (min > inputvalue && data.min !== false) || isNaN(inputvalue) || (inputvalue == 0 && min > 0)) { // porovnavej jen integer, ne 1.32 (v inputu tato hodnota neni)\r\n // rozmezi hodnot min\r\n $(el).val(min);\r\n if (useFancy) {\r\n sText = GetTextDynamic(\"commodity_min\");\r\n $textClose = GetTextDynamic(\"fancybox_button_close\");\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $.fancybox.open(\r\n \"

\" + sText.replace(\"#min#\", min.toString()).replace(\"#code#\", $code) + \"

\",\r\n { afterClose: function () { if (typeof CheckMinMaxCountOnClose === \"function\") { CheckMinMaxCountOnClose(form, \"min\"); } } }\r\n );\r\n }\r\n $(form).bind('submit', eventhandler);\r\n $(el).addClass(\"count-error\");\r\n return false;\r\n }\r\n else if (step > 0 && data.step !== 0 && (inputvalue * 1000) % (step * 1000) != 0) {\r\n // nasobky\r\n var newVal = inputvalue;\r\n\r\n if (newVal < step) {\r\n newVal = step;\r\n }\r\n else if (roundUp == 1 && ((inputvalue % step) >= (step / 2))) {\r\n newVal = (parseInt((inputvalue / step).toString()) + 1) * step;\r\n }\r\n else {\r\n newVal = parseInt((inputvalue / step).toString()) * step;\r\n }\r\n\r\n $(el).val(newVal);\r\n\r\n if (useFancy) {\r\n sText = GetTextDynamic(\"commodity_step\");\r\n $textClose = GetTextDynamic(\"fancybox_button_close\");\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $.fancybox.open(\r\n \"

\" + sText.replace(\"#step#\", step.toString()) + \"

\",\r\n { afterClose: function () { if (typeof CheckMinMaxCountOnClose === \"function\") { CheckMinMaxCountOnClose(form, \"step\"); } } }\r\n );\r\n }\r\n $(form).bind('submit', eventhandler);\r\n $(el).addClass(\"count-error\");\r\n return false;\r\n }\r\n else {\r\n $(form).unbind('submit');\r\n return true;\r\n }\r\n}\r\n\r\n//searchform\r\nfunction SearchInputRule() {\r\n $('#SearchForm').submit(function (e) {\r\n if ($(document).width() < 680 && !$(\"#SearchBox\").hasClass('active')) {\r\n $(\"#SearchBox\").addClass('active');\r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n var $defValue = $('#searchId').prop('defaultValue');\r\n if ($('#searchId').attr('placeholder') != '') {\r\n $defValue = $('#searchId').attr('placeholder');\r\n }\r\n var $val = $('#searchId').val()?.toString() == $defValue ? '' : $('#searchId').val()?.toString();\r\n var minSuggestSearchLength = (typeof suggestSearchWordLength !== 'undefined' ? suggestSearchWordLength : 3);\r\n\r\n if ($.trim($val).length < minSuggestSearchLength) {\r\n alert($('#searchButt').attr('title') == '' ? 'Minimální délka hledaného řetězce je ' + minSuggestSearchLength + ' znaky.' : $('#searchButt').attr('title'));\r\n e.preventDefault();\r\n }\r\n });\r\n $('#SearchForm_withoutWhisperer').submit(function (e) {\r\n var $val = $('#searchId_withoutWhisperer').val()?.toString();\r\n var minSuggestSearchLength = (typeof suggestSearchWordLength !== 'undefined' ? suggestSearchWordLength : 3);\r\n if ($.trim($val).length < minSuggestSearchLength) {\r\n alert($('#searchButt_withoutWhisperer').attr('title') == '' ? ('Minimální délka hledaného řetězce je ' + minSuggestSearchLength + ' znaky.') : $('#searchButt_withoutWhisperer').attr('title'));\r\n e.preventDefault();\r\n }\r\n });\r\n}\r\n\r\n// tlacitka koupit\r\nfunction isZeroInCount(frm) {\r\n var v = parseFloat($('input[name=\"count\"]', frm).val()?.toString());\r\n return isNaN(v) || v == 0;\r\n}\r\n\r\n/**\r\n * Zakázání tlačítka koupit\r\n * @param {} el kliknutý element (button/input)\r\n * @returns {}\r\n */\r\nfunction ButtonBuyDisable(el) {\r\n el.attr(\"disabled\", \"disabled\");\r\n}\r\n\r\n/**\r\n * Povolení tlačítka koupit\r\n * @param {} el kliknutý element (button/input)\r\n * @returns {}\r\n */\r\nfunction ButtonBuyEnable(el) {\r\n el.removeAttr(\"disabled\");\r\n}\r\n\r\n/**\r\n * Funkce pro nákup produktu\r\n * @returns {}\r\n */\r\n\r\nfunction ButtonBuy() {\r\n $(\"form input[name='addbasket'], form button[name='addbasket'], .basket-form button[name='update'], .basket-form button[name='delete']\").unbind('click').on('click', function (e) {\r\n var $el = $(this);\r\n var $frm = $el.closest(\"form\");\r\n\r\n var returnControlValue = true;\r\n if (typeof ButtonBuyControlClick == 'function') {\r\n var base = $(\"body\").hasClass(\"body-item\") ? $(\"#DetailForm\") : $(\".fancybox-inner:first\");\r\n returnControlValue = ButtonBuyControlClick($el, base);\r\n }\r\n\r\n if ((GetItemFromLocalStorage(\"voucherInBasket\") === \"1\") && ($($el).attr(\"name\") !== 'delete')) {\r\n alert(GetTextDynamic(\"detail_data_buy_disables_by_voucher\"));\r\n returnControlValue = false;\r\n }\r\n \r\n if (returnControlValue === false) {\r\n\r\n if (typeof ButtonBuyControlResultErr == 'function') {\r\n ButtonBuyControlResultErr($frm);\r\n }\r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n if (typeof bindBuySpecial == 'function' && !bindBuySpecial($el) && $($el).attr(\"name\") != \"delete\") {\r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n ButtonBuyDisable($el);\r\n\r\n if (!UnitControl($el)) {\r\n ButtonBuyEnable($el);\r\n return false;\r\n }\r\n\r\n if ($($el).attr(\"name\") != \"delete\") {\r\n $('input[name=\"count\"]', $frm).val($('input[name=\"count\"]', $frm).val()?.toString()?.replace(String.fromCharCode(160), \"\"));\r\n\r\n if ($el.hasClass('nozero') && isZeroInCount($frm)) {\r\n ButtonBuyEnable($el);\r\n return false;\r\n }\r\n }\r\n\r\n if (typeof confirmDelete == 'function' && $el.attr(\"name\") === \"delete\") {\r\n // potvrzeni smazani ve fancyboxu\r\n e.preventDefault();\r\n if ($frm.attr(\"action\") == \"stayonpage\") {\r\n // smazani ajaxem\r\n confirmDelete($el, function (resp) {\r\n if (resp === true) { ButtonBuyAjax($el, $frm, $typeOfAction); };\r\n });\r\n ButtonBuyEnable($el);\r\n return false;\r\n }\r\n else {\r\n confirmDelete($el, function (resp) {\r\n if (resp === true) {\r\n $frm.find(\"input[name='count']\").val(\"0\");\r\n $frm.submit();\r\n };\r\n ButtonBuyEnable($el);\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n var $typeOfAction = $frm.attr('action');\r\n if ($typeOfAction != \"\" && $typeOfAction != \"stayonpage\" && $typeOfAction != \"position_basket_lite\" && $typeOfAction !== \"fromPopUp\" && $typeOfAction !== \"#\") {\r\n ButtonBuyEnable($el);\r\n return true;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Pokud mám údaje, zaznamenám do trackování\r\n if (tsc > 0 && tl != '' && tpt != '' && tid > -1) {\r\n var turl = document.URL;\r\n var ta = 'buyClick';\r\n var trace = '';\r\n if ($el.attr('data-trace') !== undefined) {\r\n trace = $el.attr('data-trace');\r\n }\r\n\r\n if (trace.length > 0) {\r\n ta = ta + '-' + trace;\r\n }\r\n\r\n EshopService(\"TrackUserAction\", { lang: lang, url: turl, pageType: tpt, action: ta, itemOrCat: tid }, true, function (result) {\r\n if (result.ErrorLevel !== 0) {\r\n console.log('Nepodařilo se zaznamenat trackování');\r\n }\r\n });\r\n }\r\n\r\n if (typeof ButtonBuyClick == 'function') { ButtonBuyClick($frm); }\r\n\r\n // abych mohl provadet akce pred ajaxem, smazani kosiku, predelal jsem do samostatne fn (KP)\r\n ButtonBuyAjax($el, $frm, $typeOfAction);\r\n });\r\n}\r\n\r\nfunction UnitControl(o) {\r\n o = o.parents('form:first');\r\n var c = $(o).find('.customUnit');\r\n if (c.length > 0) {\r\n if (isNaN(parseFloat(c.val()?.toString()?.spaceDel())) || parseFloat(c.val()?.toString()?.spaceDel()) == 0) { alert(\"Zadejte prosím délku prvku.\"); c.focus(); c.select(); return false; }\r\n }\r\n return true;\r\n}\r\nfunction ButtonBuyAjax($el, $frm, $typeOfAction) {\r\n preloader(true);\r\n\r\n var $prms = $frm.serialize();\r\n if ($prms.toLowerCase().indexOf(\"addbasket\") == -1) {\r\n $prms = $prms + \"&addbasket=on\";\r\n }\r\n\r\n if (lang.length > 0) {\r\n $prms = $prms + \"&lang=\" + lang;\r\n }\r\n\r\n if ($prms.toLowerCase().indexOf(\"voucherid\") == -1 && $(\"#DetailVoucherElectronic\").length > 0 && $(\"#DetailVoucherElectronic input[type=hidden][name=voucherId]\").val() !== \"\") {\r\n var voucherId = $(\"#DetailVoucherElectronic input[type=hidden][name=voucherId]\").val();\r\n $prms = $prms + \"&voucherId=\" + voucherId;\r\n }\r\n\r\n var request = $.ajax({\r\n type: \"POST\",\r\n cache: false,\r\n url: \"/ajax/basket.aspx\",\r\n data: $prms,\r\n success: function (data) {\r\n if (data.split(\"#$#\").length > 1) {\r\n var status = data.split(\"#$#\")[1].trim();\r\n data = data.split(\"#$#\")[0];\r\n }\r\n\r\n if ($typeOfAction === '' || $typeOfAction === '#') {\r\n $.fancybox.getInstance(\"close\");\r\n $.fancybox.open(\"
\" + data + \"
\", { baseClass: 'fancybox-basket' });\r\n }\r\n else if ($typeOfAction == 'position_basket_lite') {\r\n $('#basketBoxLite').append(data);\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $('html, body').animate({ scrollTop: 0 }, 500);\r\n }\r\n else if ($typeOfAction === \"fromPopUp\") {\r\n if (typeof productBuyedCrossSell === \"function\") { productBuyedCrossSell($el); }\r\n }\r\n else if ($frm.closest(\"#basketBoxLite\").length) {\r\n // tady menim pocet v basketboxlite modulu a proto tu chci mit active a fadeIn\r\n $('#basketBoxLite').html(data).addClass('active');\r\n $('.basketBox-content').fadeIn();\r\n }\r\n else {\r\n $('#basketBoxLite').html(data);\r\n }\r\n\r\n $('input[name=commAdvanced]').val(\"\");\r\n\r\n if ($el.data(\"ga-action\") === \"buyClickDetail\") {\r\n productBuyDetail($prms);\r\n }\r\n else if ($el.data(\"ga-action\") === \"buyClickCatalog\") {\r\n productBuyCatalog($prms, $el.attr(\"data-ga-list\"));\r\n }\r\n\r\n if (typeof ButtonBuyComplete == 'function') { ButtonBuyComplete($frm); }\r\n\r\n if (typeof servicesOnPopUp === \"function\") { servicesOnPopUp(); }\r\n\r\n if ((status === \"added\" || status === \"updated\" || status === \"addedwithchange\" || status === \"updatedwithchange\") && typeof mailkitEventApiAdd === \"function\") {\r\n var commodityId = parseInt($frm.find(\"input[name=iditem]\").val());\r\n mailkitEventApiAdd(commodityId);\r\n }\r\n\r\n preloader(false);\r\n },\r\n error: function () {\r\n preloader(false);\r\n }\r\n });\r\n\r\n request.done(function (msg) {\r\n if ($el.attr(\"name\") !== \"delete\") {\r\n ButtonBuyEnable($el);\r\n }\r\n preloader(false);\r\n });\r\n return false;\r\n}\r\n\r\n// Commodity Last Visited\r\nfunction CommodityLastVisitedRemoveItem(id) {\r\n var exp = new Date();\r\n exp.setDate(exp.getDate() + 30);\r\n document.cookie = \"lastVisited=\" + readCookie(\"lastVisited\").replace('|' + id + '|', '|') + \"; expires=\" + exp.toUTCString() + \"; path=/\";\r\n\r\n $('#lvItem' + id).fadeOut('slow', function () {\r\n if ($('#DetailLastVisited .Item, #DetailLastVisitedItems article').filter(':visible').length == 0) {\r\n $('#DetailLastVisited').hide();\r\n }\r\n });\r\n}\r\n\r\nfunction loginError(message) {\r\n if (message.trim() === '') {\r\n setTimeout(function () {\r\n $('#hsLogForm input[name=\"logPass\"]').removeClass('inp-error');\r\n $('#hsLogForm input[name=\"logEmail\"]').removeClass('inp-error');\r\n $('#logFailMess').html('').css('display', 'none');\r\n }, 100);\r\n }\r\n else {\r\n $('#logFailMess').html('' + message + '').css('display', 'table-row');\r\n }\r\n}\r\n\r\nfunction loginWarning(message) {\r\n $('#logFailMess').html('' + message + '').css('display', (message == '' ? 'none' : 'table-row'));\r\n}\r\n\r\nfunction fancyMessage(sTitle, sMessage, sType, sAlertType, onClose?) {\r\n sAlertType = sAlertType || '';\r\n if (sAlertType !== '') sMessage = \"
\" + sMessage + \"
\";\r\n $.fancybox.open(\"
\" + sMessage + \"
\", {\r\n afterLoad: function (instance, current) {\r\n if (sTitle.length > 0) { current.$content.prepend(\"

\" + sTitle + \"

\"); }\r\n },\r\n afterClose: function (instance, current) {\r\n if (typeof onClose === \"function\") {\r\n onClose();\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction refreshNavi(type, ids) {\r\n if ($('.user-navi-panel').length === 0) return;\r\n ids = (typeof ids !== 'undefined') ? ids : '';\r\n var selector = \".user-navi-panel\";\r\n switch (type) {\r\n // case \"compare\": selector += \" .compare-navi-bar\"; break;\r\n case \"fav\": selector += \" .fav-navi-bar\"; break;\r\n case \"basket\": selector += \" .basket-navi-bar\"; break;\r\n }\r\n if (type !== \"\") {\r\n EshopService(\"NaviBarBlockGet\", { block: type, ids: ids }, true, function (result) {\r\n if (result.ErrorLevel == 0) {\r\n $(selector).html(result.Value);\r\n\r\n if (typeof NaviBarReBind == 'function') {\r\n NaviBarReBind(type);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n// https://codepen.io/elmahdim/pen/nrWXgX\r\nfunction flyToElement(from, to, callBack /*callback is optional*/) {\r\n\r\n if (from.length === 0 || to.length === 0) {\r\n return;\r\n }\r\n\r\n var $func = $(this);\r\n var cart = $(to);\r\n\r\n var imgtodrag = $(from).eq(0);\r\n if (imgtodrag) {\r\n var imgclone = imgtodrag.clone()\r\n .offset({\r\n top: imgtodrag.offset().top,\r\n left: imgtodrag.offset().left\r\n })\r\n .css({\r\n 'opacity': '0.5',\r\n 'position': 'absolute',\r\n 'height': '150px',\r\n 'width': '150px',\r\n 'z-index': '100'\r\n })\r\n .appendTo($('body'))\r\n .animate({\r\n 'top': cart.offset().top + 10,\r\n 'left': cart.offset().left + 10,\r\n 'width': 75,\r\n 'height': 75\r\n }, 1000, 'easeInOutExpo');\r\n\r\n setTimeout(function () {\r\n cart.effect(\"shake\", {\r\n times: 2\r\n }, 200);\r\n }, 1500);\r\n\r\n imgclone.animate({\r\n 'width': 0,\r\n 'height': 0\r\n }, function () {\r\n $(this).detach();\r\n if (callBack != null) {\r\n callBack.apply($func);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction open500(status, errorThrown, responseText) {\r\n redirectTo(\"/500.aspx?scripterrorpath=\" + encodeURIComponent(location.href));\r\n}\r\n\r\nfunction redirectTo(url) {\r\n location.href = url;\r\n}\r\n\r\nfunction EshopService(method, data, async, success, error = undefined, noDefaultHandlers = undefined, querystring = undefined) {\r\n querystring = (typeof querystring !== 'undefined') ? querystring : \"\";\r\n $.ajax({\r\n type: 'POST',\r\n url: \"/Services/EShopService.svc\" + \"/\" + method + querystring,\r\n dataType: 'json',\r\n contentType: \"application/json; charset=utf-8\",\r\n data: JSON.stringify(data),\r\n async: async,\r\n headers: { \"cache-control\": \"no-cache\" },\r\n global: !noDefaultHandlers,\r\n success: function (result) { success(result); },\r\n error: function (jqXhr, status, errorThrown) {\r\n if (error) {\r\n // custom error pripadne zablokuje volani chyby 500 (autocomplete)\r\n if (error())\r\n return;\r\n }\r\n }\r\n });\r\n}\r\n\r\nvar checkUserLoginState = '';\r\nfunction checkUserLogin(e, p, s, c, l, u) {\r\n var state = false;\r\n EshopService(\"CheckLoginClient\", { UserLogin: e, UserPwd: p, SiteConfigID: s, CountryID: c, LanCode: l, UrlLangPref: u }, false, function (result) {\r\n checkUserLoginState = result.Value;\r\n state = (result.Value == '1');\r\n });\r\n\r\n return state;\r\n}\r\n\r\nfunction ShowAskForm(commodityId, commodityName) {\r\n var data = { commodityId: commodityId, commodityName: commodityName };\r\n if (commodityId > 0) {\r\n EshopService(\"LoadCommodityAvailForm\", data, true, function (result) {\r\n $.fancybox.open(result.Value, {\r\n btnTpl: {\r\n close: '',\r\n arrowRight: '',\r\n arrowLeft: ''\r\n },\r\n hideScrollbar: true\r\n });\r\n });\r\n }\r\n}\r\n\r\nfunction SendCommodityForm() {\r\n preloader(true);\r\n $('#frmAvailability .error').removeClass('error');\r\n\r\n if ($('#frmAvailability input[name=url]').val()?.toString()?.length > 0) {\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n return false;\r\n }\r\n\r\n if ($(\"#frmAvailability .book-agree-row\").length && $(\"#frmAvailability .book-agree-row\").find(\"input[type='checkbox']\").length) {\r\n $(\".book-alert\").remove();\r\n if (!$(\".book-agree-row\").find(\"input[type='checkbox']\").is(\":checked\")) {\r\n var text = \"
\" + GetTextDynamic(\"book_personal_data_error\") + \"
\";\r\n $(\".book-agree-row\").append(text);\r\n preloader(false);\r\n return false;\r\n }\r\n }\r\n\r\n var email = $('input[name=caEmail]').val()?.toString();\r\n var phone = $('input[name=caPhone]').length ? $('input[name=caPhone]').val()?.toString() : \"\";\r\n var name = $('input[name=caName]').val()?.toString();\r\n var surename = $('input[name=caSurename]').val()?.toString();\r\n var text = $('textarea[name=caText]').val()?.toString();\r\n var commId = parseInt($('input[name=commodityId]').val()?.toString());\r\n var commName = $('input[name=commodityName]').val()?.toString();\r\n var url = $('input[name=caUrl]').val()?.toString();\r\n var book = parseInt($('input[name=caBook]').val()?.toString());\r\n var counter = 0;\r\n\r\n //if (book == '') {\r\n // book = 0;\r\n //}\r\n\r\n var $textError = \"
\" + GetTextDynamic(\"registration_form_novalid\") + \"
\";\r\n $(\".book-alert-text\").remove();\r\n\r\n $('#frmAvailability .required').each(function () {\r\n if ($(this).val() == '') {\r\n $(this).addClass('error');\r\n $(this).parent().append($textError);\r\n counter++;\r\n }\r\n });\r\n\r\n if (counter > 0) {\r\n preloader(false);\r\n return false;\r\n }\r\n\r\n var data = { email: email, firstName: name, phone: phone, lastName: surename, text: text, commodityId: commId, commodityName: commName, url: url, book: book };\r\n if (commId > 0) {\r\n EshopService(\"SubmitCommodityAvailForm\", data, true, function (result) {\r\n var r = \"
\" + result.Value + \"
\";\r\n if (result.ErrorLevel != \"0\") {\r\n $('#CommodityAvailability .alert').remove();\r\n $('#frmAvailability').hide();\r\n $('#CommodityAvailability').append(r);\r\n }\r\n else {\r\n if ($.fancybox.getInstance()) { $.fancybox.close(); }\r\n $('#CommodityAvailability').html(r);\r\n $.fancybox.open($('#CommodityAvailability'));\r\n }\r\n preloader(false);\r\n });\r\n }\r\n}\r\n\r\n$('ul.basket-items li').each(function (index) {\r\n var form = $(this).find(\".frm-bbl\");\r\n var price = $(this).find('.price-with-vat');\r\n var items = $(this).find(\".items\");\r\n\r\n $(this).find(\".frm-bbl\").remove();\r\n $(this).find('.price-with-vat').remove();\r\n $(this).find(\".items\").remove();\r\n\r\n $(this).find(\"div.spc\").append(\"
\");\r\n $(this).find(\"div.line\").append(items).append(form).append(price);\r\n});\r\n\r\n// wait until images are loaded\r\n$.fn.imagesLoaded = function () {\r\n var $imgs = this.find('img[src!=\"\"]');\r\n if (!$imgs.length) { return $.Deferred().resolve().promise(); }\r\n\r\n var dfds = [];\r\n $imgs.each(function () {\r\n var dfd = $.Deferred();\r\n dfds.push(dfd);\r\n var img = new Image();\r\n img.onload = function () { dfd.resolve(); };\r\n img.src = this.src;\r\n });\r\n\r\n return $.when.apply($, dfds);\r\n};\r\n\r\nfunction InitAttributesToolTip() {\r\n try {\r\n $('.usrAttr > a').tooltip();\r\n }\r\n catch (err) {\r\n }\r\n}\r\n\r\nfunction preloader(setVisible) {\r\n if (setVisible && !gPreloaderIsOn) {\r\n if ($('.NextPageLoading').length == 0) {\r\n $('body').append(\"
Preloader\" + GetTextDynamic(\"wait_for_ajax_msg\") + \"
\");\r\n }\r\n else {\r\n $('.NextPageLoading').addClass('NextPageLoading-notify').removeClass(\"hidden\");\r\n }\r\n }\r\n else {\r\n $('.NextPageLoading').removeClass('NextPageLoading-notify').addClass(\"hidden\");\r\n }\r\n}\r\n\r\nfunction showInfoMessage(text, c, time) {\r\n if (text === \"\") return;\r\n $('body').append(\"\");\r\n $('#pageinfomessage').fadeIn(300, 'swing', function () { setTimeout(function () { $('#pageinfomessage').fadeOut(300); $('#pageinfomessage').remove(); }, time); });\r\n}\r\n\r\n// Načtení textu pro JS\r\nfunction GetTextDynamic(code) {\r\n if (typeof (_langTexts) === 'undefined' || _langTexts === undefined || _langTexts === null || code === null) { return ''; }\r\n\r\n if (typeof (_langTexts[code]) === 'undefined' || typeof (_langTexts[code][0]) === 'undefined') { return ''; }\r\n\r\n var r = _langTexts[code][0][langId];\r\n\r\n if (typeof (r) === 'undefined' || r === null || r === '#') {\r\n r = '';\r\n }\r\n return r;\r\n}\r\n\r\nfunction GetParameterByName(name, url) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nDate.prototype.addHours = function (h) {\r\n this.setHours(this.getHours() + h);\r\n return this;\r\n}\r\n\r\n// sample\r\n// stringToDate(\"9.1.2014\", \"dd.mm.yyyy\", \".\")\r\n// var datePicker = new Date(stringToDate($(this).val(), \"dd.mm.yyyy\", \".\"));\r\nfunction stringToDate(_date, _format, _delimiter) {\r\n var formatLowerCase = _format.toLowerCase();\r\n var formatItems = formatLowerCase.split(_delimiter);\r\n var dateItems = _date.split(_delimiter);\r\n var monthIndex = formatItems.indexOf(\"mm\");\r\n var dayIndex = formatItems.indexOf(\"dd\");\r\n var yearIndex = formatItems.indexOf(\"yyyy\");\r\n var month = parseInt(dateItems[monthIndex]);\r\n month -= 1;\r\n var formatedDate = new Date(dateItems[yearIndex], month, dateItems[dayIndex]);\r\n return formatedDate;\r\n}\r\n\r\n// Pokud vyberu zalozku v bookMark a kliknu na obsah aktivni zalozky\r\n// pak pri akci zpet, se dostanu zpet na spravnou zalozku\r\nfunction bookMarkBack() {\r\n if (typeof offBookMarkBack !== 'undefined') { return false; }\r\n\r\n window.addEventListener('load', function (event) {\r\n if ($(\".modBookmark\").length) {\r\n $(\".modBookmark\").each(function () {\r\n var $idTab = $(this).attr(\"id\");\r\n var $activeTab = GetItemFromLocalStorage($idTab);\r\n if ($activeTab !== \"undefined\" && $activeTab !== \"null\") {\r\n if ($(\"#\" + $idTab).find(\".resp-tab-item[aria-controls='\" + $activeTab + \"']\").length) {\r\n // pozor, zalozka nekdy nemusi existovat, to se deje hlavne na detailu produktu\r\n $(\"#\" + $idTab).find(\".resp-tab-item[aria-controls='\" + $activeTab + \"']\").addClass(\"set-from-localstorage\").click();\r\n }\r\n else if (!$(\"#\" + $idTab).find(\".resp-tab-active\").length) {\r\n // z nejakeho duvodu neni zadna zalozka aktivni, nastavime\r\n $(\"#\" + $idTab).find(\".resp-tab-item:visible:first\").addClass(\"set-from-localstorage\").click();\r\n }\r\n }\r\n });\r\n }\r\n }, false);\r\n}\r\n\r\nfunction checkFacebookReturnUrl() {\r\n if (window.location.hash && window.location.hash == '#_=_') {\r\n if (window.history && history.pushState) {\r\n window.history.pushState(\"\", document.title, window.location.pathname.replace(\"default.aspx\", \"\"));\r\n } else {\r\n // Prevent scrolling by storing the page's current scroll offset\r\n var scroll = {\r\n top: document.body.scrollTop,\r\n left: document.body.scrollLeft\r\n };\r\n window.location.hash = '';\r\n // Restore the scroll offset, should be flicker free\r\n document.body.scrollTop = scroll.top;\r\n document.body.scrollLeft = scroll.left;\r\n }\r\n }\r\n}\r\n\r\nfunction owlCarouselSetDelay($owl, $defaultTiming) {\r\n if ($($owl).find(\".owl-item.active .item\").attr(\"data-timing\")) {\r\n var time = $($owl).find(\".owl-item.active .item\").attr(\"data-timing\");\r\n $owl.trigger('stop.owl.autoplay');\r\n $owl.trigger('play.owl.autoplay', [time]);\r\n }\r\n else {\r\n $owl.trigger('stop.owl.autoplay');\r\n $owl.trigger('play.owl.autoplay', [$defaultTiming]);\r\n }\r\n}\r\n\r\n// toogle funkce na elementy\r\nfunction toggleControlElement() {\r\n $(\".toggleControl\").each(function (el) {\r\n if ($(this).has(\".title, h2\").length > 0 && $(this).find('.toggleBefore').length != 1) {\r\n var spanBefore = $(\"\");\r\n var spanAfter = $(\"\");\r\n spanBefore.addClass(\"toggleBefore\");\r\n spanAfter.addClass(\"toggleAfter\");\r\n $(this).find(\".title, h2\").append(spanAfter).prepend(spanBefore);\r\n }\r\n });\r\n\r\n $(\".toggleBefore, .toggleAfter\").unbind('click').on(\"click\", function () {\r\n $(this).parent().next().fadeToggle('fast', 'linear');\r\n if ($(this).hasClass(\"down\")) { $(this).removeClass(\"down\"); }\r\n else { $(this).addClass(\"down\"); }\r\n });\r\n\r\n showhideWildcards();\r\n}\r\n\r\nfunction showhideWildcards() {\r\n $('.toggleShow').unbind('click').show().bind('click', function () {\r\n $('.toggleShow--dots').hide();\r\n $('.showhide-block[id=\"' + $(this).attr('id').replace(\"s-\", \"\") + '\"]').fadeToggle('fast', 'linear');\r\n $(this).hide();\r\n $('.toggleHide[id=\"' + $(this).attr('id').replace(\"s-\", \"h-\") + '\"]').show();\r\n });\r\n $('.toggleHide').unbind('click').hide().bind('click', function () {\r\n $('.toggleShow--dots').show();\r\n $('.showhide-block[id=\"' + $(this).attr('id').replace(\"h-\", \"\") + '\"]').hide();\r\n $(this).hide();\r\n $('.toggleShow[id=\"' + $(this).attr('id').replace(\"h-\", \"s-\") + '\"]').show();\r\n if ($(window).scrollTop() > $('.toggleShow').closest('div').offset().top) {\r\n $('html,body').animate({ scrollTop: $('.toggleShow').closest('div').offset().top }, 500);\r\n }\r\n });\r\n $('.showhide-block').hide();\r\n}\r\n\r\nfunction ExportToCsv() {\r\n $('.exportcsv').unbind('click').bind('click', function (e) {\r\n e.preventDefault();\r\n var $module = $(this).data(\"module\");\r\n var $items = $(this).data(\"id\") ? $(this).data(\"id\") : \"\";\r\n var $type = $(this).data(\"type\") ? $(this).data(\"type\") : \"\";\r\n\r\n EshopService(\"ExportToCsvItems\", { items: $items, module: $module, lang: lang, type: $type }, false, function (result) {\r\n if (result.ErrorLevel !== 0) {\r\n fancyMessage(\"Error\", GetTextDynamic(\"js_error\"), \"\", \"\");\r\n }\r\n else {\r\n //window.open(\"data:text/csv;charset=utf-8,\" + escape(result.Value));\r\n var downloadLink = document.createElement(\"a\");\r\n var blob = new Blob([\"\\ufeff\", result.Value]);\r\n var url = URL.createObjectURL(blob);\r\n downloadLink.href = url;\r\n downloadLink.download = \"Export.csv\";\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction getScriptFromUrl(url: string, onload?: any) {\r\n const script = document.createElement('script');\r\n const src = url.indexOf('http') === 0 ? url : document.location.protocol.concat('//', document.location.host, url);\r\n script.async = true;\r\n script.src = src;\r\n script.type = \"text/javascript\";\r\n\r\n if (typeof onload === 'function') {\r\n script.onload = onload;\r\n }\r\n document.head.appendChild(script);\r\n}\r\n\r\nfunction ShowAppError() {\r\n if ($(\".error-data\").length) {\r\n // pro vypis chyb z jadra\r\n $(\".error-data\").appendTo(\"body\");\r\n var $html = \"\"; \r\n $(\".error-arrow\").html(\"Error \" + $(\".error-arrow\").length);\r\n $(\".error-data\").each(function () { $html += $(this).html(); }); \r\n $(\".error-data\").not(\":first\").remove();\r\n $(\".error-data\").html($html).removeClass(\"hidden\");\r\n $(\".error-arrow\").not(\":first\").remove();\r\n }\r\n}\r\n\r\nfunction shortenString(str, maxLen, separator = ' ') {\r\n if (str.length <= maxLen) return str;\r\n return str.substr(0, str.lastIndexOf(separator, maxLen));\r\n}\r\n\r\nfunction PrevenSubmitFormAgain() {\r\n window.onkeydown = function (evt) {\r\n if (evt.keyCode == 116) {\r\n console.log(\"F5 was blocked\");\r\n return false;\r\n }\r\n };\r\n}"]}