{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/vanilla-lazyload/dist/lazyload.min.js","webpack:///./script/globals/is-page-editor.js","webpack:///./script/Marketing/js/common/googleanalytics.js","webpack:///(webpack)/buildin/global.js","webpack:///./script/Marketing/js/webpack_ready/components/overlayDialog.js","webpack:///./node_modules/imagesloaded/imagesloaded.js","webpack:///./script/Marketing/js/common/ctaEvents.js","webpack:///./Views/Marketing/Next/ContentBlock/FullscreenTakeover/fullscreen-takeover.js","webpack:///./Views/Marketing/Next/ContentBlock/Video/video-cookie-popup.js","webpack:///./script/Marketing/js/common/shadowbox/shadowbox.js","webpack:///./script/Marketing/js/webpack_ready/components/LazyLoad.js","webpack:///./node_modules/hammerjs/hammer.js","webpack:///./node_modules/baguettebox.js/dist/baguetteBox.min.js","webpack:///./script/Marketing/js/marketing_components.js","webpack:///./script/Marketing/js/webpack_ready/components/AlignContent.js","webpack:///./node_modules/ev-emitter/ev-emitter.js","webpack:///./script/Marketing/js/webpack_ready/components/BlindsConfigurator.js","webpack:///./script/Marketing/js/webpack_ready/components/BrochureOrderItemSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/CollapsibleSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/header/Desktop-menu.js","webpack:///./script/Marketing/js/webpack_ready/components/header/CountrySelector.js","webpack:///./script/Marketing/js/webpack_ready/components/header/Country-banner.js","webpack:///./script/Marketing/js/webpack_ready/components/DealerPage.js","webpack:///./script/Marketing/js/webpack_ready/components/Expander.js","webpack:///./script/Marketing/js/webpack_ready/components/FaqAPISpot.js","webpack:///./script/Marketing/js/webpack_ready/components/FaqSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/FileBrowserSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/Footer.js","webpack:///./script/Marketing/js/webpack_ready/components/Gallery.js","webpack:///./script/Marketing/js/webpack_ready/components/HeroFluentImages.js","webpack:///./script/Marketing/js/webpack_ready/components/HorizontalList.js","webpack:///./script/Marketing/js/webpack_ready/components/Iframe.js","webpack:///./script/Marketing/js/webpack_ready/components/Images.js","webpack:///./script/Marketing/js/webpack_ready/components/MegaMenu.js","webpack:///./script/Marketing/js/webpack_ready/components/NewsFeed.js","webpack:///./script/Marketing/js/webpack_ready/components/MobileMenu.js","webpack:///./script/Marketing/js/webpack_ready/components/MosaicSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/ProductColor.js","webpack:///./script/Marketing/js/webpack_ready/components/ProductHighlights.js","webpack:///./script/Marketing/js/webpack_ready/components/QuestionnarieSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/ReadMore.js","webpack:///./script/Marketing/js/webpack_ready/components/ResponsiveTables.js","webpack:///./script/Marketing/js/webpack_ready/components/ReturnTop.js","webpack:///./script/Marketing/js/webpack_ready/components/ShadowboxCall.js","webpack:///./script/Marketing/js/webpack_ready/components/Search.js","webpack:///./script/Marketing/js/webpack_ready/components/SearchSuggest.js","webpack:///./script/Marketing/js/webpack_ready/components/SelectorSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/SpecificationSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/StickyMenu.js","webpack:///./script/Marketing/js/webpack_ready/components/StickyMenuProducts.js","webpack:///./script/Marketing/js/webpack_ready/components/TabComponent.js","webpack:///./script/Marketing/js/webpack_ready/components/TagTheme.js","webpack:///./script/Marketing/js/webpack_ready/components/TexturePickerSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/WhyVelux.js","webpack:///./script/Marketing/js/webpack_ready/components/VeluxActiveAppDemo.js","webpack:///./script/Marketing/js/webpack_ready/Spots/accordion_spot.js","webpack:///./script/Marketing/js/webpack_ready/Spots/beforeAfter_spot.js","webpack:///./script/Marketing/js/webpack_ready/Spots/cookieBot.js","webpack:///./script/Marketing/js/webpack_ready/components/geolocator.js","webpack:///./script/Marketing/js/webpack_ready/components/languagePopupSelection.js","webpack:///./script/Marketing/js/webpack_ready/components/TimelineSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/imageTooltips.js","webpack:///./script/Marketing/js/webpack_ready/components/newsSlider.js","webpack:///./script/Marketing/js/webpack_ready/components/dropDownMenuSpot.js","webpack:///./script/Marketing/js/webpack_ready/components/Byggebasen.js","webpack:///./script/globals/GtmTraking.js","webpack:///./script/globals/googleanalytics.js","webpack:///./script/Marketing/js/webpack_ready/components/Slideshow.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","assign","arguments","length","e","apply","this","window","navigator","test","userAgent","document","createElement","devicePixelRatio","a","elements_selector","container","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","u","f","_","b","getAttribute","h","setAttribute","removeAttribute","E","y","I","A","L","classList","add","className","w","remove","replace","RegExp","k","llTempImage","O","_observer","unobserve","x","loadingCount","z","toLoadCount","C","children","tagName","push","N","M","R","llOriginalAttrs","T","src","srcset","sizes","G","D","V","j","parentNode","forEach","F","IMG","IFRAME","VIDEO","load","P","S","U","$","q","addEventListener","llEvLisnrs","H","removeEventListener","B","J","K","Q","X","indexOf","style","backgroundImage","concat","W","Y","Z","HTMLImageElement","nt","Array","slice","et","querySelectorAll","it","ot","filter","rt","_settings","IntersectionObserver","isIntersecting","intersectionRatio","target","tt","root","rootMargin","update","disconnect","observe","loadAll","destroy","resetStatus","lazyLoadOptions","isPageEditor","Sitecore","PageModes","PageEditor","trackGoogleEvent","eventcategory","eventaction","eventlabel","eventnoninteraction","dataLayer","isArray","event","toString","g","Function","require","overlayDialog","jQuery","show","html","tmp","body","appendChild","tempDialogDiv","innerHTML","imagesLoaded","always","is","width","height","Shadowbox","open","player","content","options","onOpen","enableKeys","factory","EvEmitter","console","extend","prop","arraySlice","ImagesLoaded","elem","onAlways","queryElem","elements","obj","makeArray","on","getImages","jqDeferred","Deferred","setTimeout","check","error","images","addElementImages","nodeName","addImage","background","addElementBackgroundImages","nodeType","elementNodeTypes","childImgs","img","child","1","9","11","LoadingImage","Background","url","element","Image","getComputedStyle","reURL","matches","exec","addBackground","loadingImage","_this","onProgress","image","message","progress","progressedCount","hasAnyBroken","once","complete","isLoaded","emitEvent","notify","debug","log","eventName","isComplete","jqMethod","getIsImageComplete","confirm","naturalWidth","proxyImage","handleEvent","method","type","onload","unbindEvents","onerror","makeJQueryPlugin","fn","callback","promise","ctaEventDataLayer","ctaElement","sitecoreItem","ctaEvent","baseURL","location","origin","relativeURL","startsWith","link_url","cta_category","substring","lastIndexOf","split","join","element_description","textContent","trim","sitecore_item_name","callbackFunc","DOM_ITEM_HTML","querySelector","FullscreenTakeover","classes","UTILITY","OPENING","SHOW_IMAGE","HIDE_IMAGE","DOM","OVERLAY","CLOSE","NEXT","PREV","CAPTION","INDEX","IMAGE_WRAPPER","scope","undefined","frameOpening","opening","frameClosing","data","activeIndex","imageArraySize","init","createclassLists","setUpCloseEventListeners","setUpGalleryEventListeners","setActiveCaption","setLazyLoad","classLists","keys","openVideo","videoSrc","isVideo23","videoFragment","drawOverlay","openGallery","activeImageIndex","captions","arrImg","index","wrapper","nodeToString","galleryFragment","node","tmpNode","cloneNode","fragment","insertAdjacentHTML","from","close","preventDefault","prevArrow","nextArrow","previousSlide","nextSlide","caption","captionText","setActiveImage","activeImage","getElementsByClassName","imageToShow","lazyLoadHelper","LazyLoad","imgWrapper","removeProperty","readyState","attachEvent","videoCookieTakeOver","videoImages","closeButton","setCookiebotButton","show_class","hide_class","hideCookieTakeOver","consentOfPreferences","consentOfNecessary","Cookiebot","consent","preferences","necessary","submitCustomConsent","currentVideoId","dataset","videoId","video23","marketing","parent","closest","isOverlayMobile","isOverlayDesktop","innerWidth","isOverlay","version","ua","toLowerCase","isWindows","isMac","isLinux","isIE","isIE6","isIE7","isGecko","isWebKit","slideStart","slideTimer","inlineId","galleryName","inlineParam","fileExtension","scriptPath","initialized","lastOptions","slideDelay","listenKeys","addEvent","removeEvent","handleKey","metaKey","shiftKey","altKey","ctrlKey","handler","which","keyCode","previous","next","pause","play","changing","getCurrent","revertOptions","applyOptions","playerId","gallery","current","prev","skin","onLoad","waitReady","ready","timer","setInterval","clearInterval","onReady","append","dimensions","onShow","finish","onFinish","isPaused","now","Date","getTime","original","extension","each","len","sprintf","str","match","noop","id","getElementById","el","removeChild","ease","state","Math","pow","errorInfo","fla","qt","wmp","f4m","path","animate","animateFade","autoplayMovies","continuous","flashParams","bgcolor","allowfullscreen","flashVars","flashVersion","handleOversize","handleUnsupported","onChange","onClose","showMovieControls","skipSetup","slideshowDelay","viewportPadding","hasNext","isOpen","scripts","getElementsByTagName","DOMContentLoaded","topLevel","frameElement","documentElement","doScroll","doScrollCheck","bindLoad","gc","makeGallery","needed","format","inlineEl","err","plugins","lang","errors","flash","hasFlashPlayerVersion","splice","filterGallery","clearTimeout","onPlay","max","onPause","change","setDimensions","maxHeight","maxWidth","topBottom","leftRight","padding","preserveAspect","originalHeight","originalWidth","extraHeight","extraWidth","changeHeight","changeWidth","oversized","round","innerHeight","top","floor","left","cacheObj","getCache","makeObject","cache","unshift","link","href","title","getPlayer","rel","escape","ext","swf","flv","supportsOpacity","supportsFixed","getPageXY","pageX","clientX","scrollLeft","pageY","clientY","scrollTop","__guid","guid","events","handlers","getStyle","opacity","defaultView","ret","currentStyle","parseFloat","$1","computedStyle","appendHTML","lastChild","range","ownerDocument","createRange","setStartAfter","frag","createContextualFragment","getWindowSize","dimension","compatMode","setOpacity","zoom","clearOpacity","result","fixEvent","parentWindow","__handleEvent","returnValue","stopPropagation","cancelBubble","loaded","detachEvent","div","position","margin","firstChild","offsetTop","setup","names","detectPlugin","axo","ActiveXObject","swfobject","relAttr","expando","cacheKey","handleClick","select","selector","links","find","addCache","teardown","removeCache","clearCache","chunker","done","hasDuplicate","baseHasDuplicate","sort","Sizzle","context","results","seed","origContext","set","checkSet","extra","parts","prune","contextXML","isXML","soFar","origPOS","Expr","relative","posProcess","shift","ID","expr","pop","cur","contains","uniqueSort","sortOrder","order","leftMatch","substr","inplace","not","anyFound","old","curLoop","isXMLFilter","found","item","preFilter","pass","selectors","CLASS","NAME","ATTR","TAG","CHILD","POS","PSEUDO","attrMap","attrHandle","part","isPartStr","isTag","isPartStrNotTag","previousSibling","doneName","checkFn","dirCheck","nodeCheck","dirNodeCheck","getElementsByName","filters","enabled","disabled","checked","selected","selectedIndex","empty","has","header","text","radio","checkbox","file","password","submit","reset","button","input","setFilters","first","last","array","even","odd","lt","gt","nth","eq","innerText","getText","elems","nodeValue","childNodes","nextSibling","sizcache","nodeIndex","count","diff","source","dir","sizset","compareDocumentPosition","sourceIndex","aRange","bRange","setStart","setEnd","compareBoundaryPoints","Range","START_TO_END","form","insertBefore","getAttributeNode","createComment","oldSizzle","query","tmpSet","later","script","UNDEF","OBJECT","FLASH_MIME_TYPE","win","doc","nav","domLoadFnArr","regObjArr","objIdArr","listenersArr","storedAltContent","storedAltContentId","isDomLoaded","isExpressInstallActive","w3cdom","playerVersion","description","mimeTypes","enabledPlugin","parseInt","fp6Crash","SHOCKWAVE_FLASH_AX","AllowScriptAccess","GetVariable","platform","pv","webkit","ie","mac","checkReadyState","callDomLoadFunctions","dl","addDomLoadEvent","addLoadEvent","addListener","fnOld","main","rl","hasPlayerVersion","swfVersion","fixParams","setVisibility","expressInstall","showExpressInstall","displayAltContent","nestedObj","attributes","al","cl","replaceChild","regObj","altContentId","ac","abstractAltContent","pt","dt","fv","replaceId","newObj","display","createSWF","flashvars","attObj","parObj","att","movie","par","outerHTML","createObjParam","pName","pValue","removeSWF","removeObjectInIE","eventType","rv","v","createCSS","sel","decl","createTextNode","styleSheets","ls","addRule","isVisible","visibility","urlEncodeIfNecessary","encodeURIComponent","write","ll","il","registerObject","objectIdStr","swfVersionStr","xiSwfUrlStr","getObjectById","SetVariable","embedSWF","swfUrlStr","replaceElemIdStr","widthStr","heightStr","flashvarsObj","getFlashPlayerVersion","major","minor","release","objElemIdStr","getQueryParamValue","param","search","hash","pairs","expressInstallCallback","code","of","loading","cancel","single","shared","either","dims","express","autostart","controlbar","backcolor","frontcolor","lightcolor","params","onWindowResize","iframe","overlay","offsetHeight","offsetWidth","frames","contentWindow","pre","dragData","dragProxy","dragTarget","updateProxy","enableDrag","startX","startY","startDrag","xy","positionDrag","endDrag","cursor","moveX","min","moveY","self","opt","autoplay","String","controls","kioskmode","classid","codebase","scale","controller","Stop","wmpControllerHeight","uimode","showcontrols","stop","URL","overlayOn","visibilityCache","pngIds","doWindowResize","to","duration","isOpacity","anim","delta","time","begin","end","interval","setSize","setPosition","toggleTroubleElements","troubleElements","tag","toggleNav","toggleLoading","playerName","wrapped","fadeDuration","adjustHeight","wrapperInner","resizeDuration","adjustWidth","bodyInner","animSequence","counterLimit","counterType","displayCounter","displayNav","initialHeight","initialWidth","modal","overlayColor","overlayOpacity","showOverlay","markup","re","backgroundColor","info","titleHeight","infoHeight","titleInner","infoInner","hideBars","counter","limit","buildBars","showBars","imageWrapper","containerHeight","lazyMenuImages","lazyLoadBackground","createLazyLoadInstances","exportName","VENDOR_PREFIXES","TEST_ELEMENT","abs","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","iterator","deprecate","deprecationMessage","Error","stack","warn","TypeError","output","nextKey","dest","merge","inherit","base","properties","childP","baseP","constructor","_super","boolOrFn","val","args","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","inStr","inArray","findByKey","toArray","uniqueArray","values","prefixed","prefix","camelProp","toUpperCase","_uniqueId","getWindowForElement","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offset","offsetDelta","prevDelta","prevInput","deltaX","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","start","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","lastInterval","computeIntervalInputData","srcEvent","computeInputData","emit","recognize","p1","p2","props","sqrt","atan2","PI","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MouseInput","pressed","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","store","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SingleTouchInput","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_INPUT_MAP","TouchInput","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","getTouchActionProps","TouchAction","compute","actions","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","DIRECTION_LEFT","DIRECTION_UP","preventSrc","Recognizer","defaults","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","attrTest","optionPointers","isRecognized","isValid","DIRECTION_HORIZONTAL","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","inputClass","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","oldCssProps","toggleCssProps","force","stopped","curRecognizer","existing","off","gestureEvent","initEvent","gesture","triggerDomEvent","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","DIRECTION_NONE","DIRECTION_RIGHT","DIRECTION_DOWN","DIRECTION_VERTICAL","DIRECTION_ALL","Tap","Pan","Swipe","Pinch","Rotate","Press","buttons","fullScreen","noScrollbars","bodyClass","titleTag","async","preload","animation","afterShow","afterHide","overlayBackgroundColor","multitouch","galleries","imageElement","eventHandler","transition","webkitTransition","overflowY","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","activeElement","focus","fullscreen","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","isNaN","alt","transforms","transform","webkitTransform","srcElement","run","perspective","webkitPerspective","svg","namespaceURI","passiveEvents","passive","nodeList","ignoreClass","showNext","showPrevious","hide","baguetteBox","global","lazyLoadInit","$root","Section","dom","spot","spotGroups","tempHeight","tempClass","classRight","gridSize","gridCount","groupIndex","blockTypes","blockTypeIndex","groupSpots","$dom","$set","attr","charAt","group","blockTypeLength","typeIndex","resizeSpots","$fn","proto","listener","_events","listeners","onceEvents","_onceEvents","onceListeners","allOff","dataSent","getNumberOfCurrentlySelectedBrochures","currentlyChecked","parsedValue","isNumberInputType","numericValue","minValue","maxValue","warningTxt","validateInputNumber","this_checked","this_group","this_limit","this_message","this_name","currentlySelected","e_message","check_with_group","replacingRegex","checkLimitReach","_href","this_lowLimit","Collapsible","trigger","speed","animating","heightClosed","heightOpen","newHeight","activeClass","toggleContent","collapsibleEntry","toggleClass","siblings","slideUp","slideDown","toggleCollapsibleContent","click","iframes","elementToExclude","iframeEnter","_extends","Header","FADED_CLASS","ACTIVE_CLASS","WHITE_STYLE_MENU_CLASS","NAVIGATION_BIG_MENU_CLASS","NAVIGATION_CLASS","NAVIGATION_MENU_CLASS","NAVIGATION_LEVEL1_ITEMS_CLASS","NAVIGATION_LEVEL3_CLASS","NAVIGATION_LEVEL2_CLASS","NAVIGATION_LEVEL2_ITEMS_CLASS","NAVIGATION_SEARCH_LABEL_CLASS","closeMainMenu","level1InputState","closeOnClickOutside","unselectMenuItemState","labels","mapLevel2ListItems","items","mapLevel2Menu","mapMainMenuItems","MarketingMenu","initLeve2Menus","inputState","activeElements","setActiveLink","allLinkInMenu","pageUrl","pathname","pageHost","host","isLinkFound","hrefStrings","bareURL","includes","menuLabel","parentMainMenu","parentElement","color","parentMenu","htmlFor","menu","ComSiteMenu","fadeSubMenuItemsOnInit","fadeSubMenuItems","fadeOutSubMenuItems","openCountrySelectorTab","lastElement","firstElement","firstElementChild","countrySelectorState","scrollTo","behavior","tab","buttonMobile","countrySelectBox","countrySelectorCountries","countrySelectorBlindshops","openCountrySelectorLinks","viewAllText","setCookieAndCloseBanner","cookie","cookie_","searchTypeEnum","stockAvailabilityContainer","selectType","selectSize","selectVariant","defaultTypeText","defaultSizeText","defaultVariantText","visitDealerButtonText","btnSearch","divProductContainer","divProduct","divResultContainer","divResult","resultsText","h2ResultTitle","divCCLoading","btnLinksToDealer","divAlerts","divCustomError","divSystemError","ulSystemError","divResultError","errorLocationNotFound","errorGeneral","dealerId","currentlanguage","dealerImageUrl","prefilteredProductId","Init","DisableInput","HideResult","HideResultError","ProductFilterChanged","productId","GetURLParameter","size","variant","GetStockAvailability","ShowResult","ScrollToResult","CleanResult","HideStoreButtons","HideDiv","EnableInput","HideError","ShowError","ShowCustomError","ShowResultError","Loader","css","ServiceGetStockAvailability","RenderResult","StatusCode","Data","ProductId","Stores","SetStoreButtonUrls","ConfiguratorUrl","DealerName","ShowStoreButtons","Name","Fulladdress","ProductStatus","ProductStatusText","ProductStatusStockText","dealerName","loadFunction","ajax","dataType","contentType","language","varient","success","request","status","dropdownlist","typeSignType","typeSignSize","ServiceFilterProduct","facets","GetDefaultOption","valueArray","searchTypeSelected","ReqUrl","ReqData","paramName","sURLVariables","sParameterName","Inspiration","SetNewExpanderHeights","InitializeExpander","ToogleExpander","hasClass","CloseExpander","OpenExpander","FAQ","cats","suggest","tree","itemId","returnLabel","loadingContent","parseJSON","path_ids","getCats","catsLevel1","catsLevel2","catsLevel3","index1","level1","index2","level2","index3","level3","getSuggestion","splitAt","payload","showSuggestionBox","getContent","cat","raw_content","addClass","hideSuggestionBox","removeClass","vm","keyup","active","question","levels","toggle","parents","BOOK_MARK","CURRENT_URL","FaqSpot","FAQ_SPOT","FAQ_QUESTION","POPUP_TRIGGER","POPUP_INPUT","POPUP_BUTTON","openQuestionByBookmark","currentfaqQuestion","setupEventListeners","faqSpot","linkSelectButtons","linkSelectButton","inputElement","previousElementSibling","execCommand","modalTriggers","modalTriggerItem","popupContainer","nextElementSibling","currentValue","faqSpots","OpenFaq","faqId","questionNode","others","delay","dataList","dataItem","ItemType","ItemId","FileType","Link","showFileTree","switchFooter","tabActive","menuActive","tabToShow","tabItems","menuToShow","menuItems","profTab","setPadding","imagePaddingInPixels","removeSidePaddings","gallerySpot","setImageDimentions","$image","isDesktop","$item","setSideMargins","Gallery","marker","thumb","randomIndex","remainingThumbs","hideDelay","hideSpeed","showImage","removeRandomThumb","random","hideThumb","fadeOut","hideImage","mouseenter","mouseleave","gallerySpotHandler","gallerySpots","GallerySpot","currentGallerySpot","galleryContent","thumbnails","galleryContentCloseButton","filterItems","thumbnailsContainer","isLightBox","isFilter","isLightBoxImageVideoOnly","lightboxPath","thumbnailSize","thumbnailAspectRatio","openGalleryByDefault","lazyLoadInstance","hideGalleryContent","queue","lightboxContentClick","galleryContentPlaceHolderId","current_height","wrap","lightboxImageVideoOnlyContentClick","widthVideo","heightVideo","bindHoverEvents","resetThumbnailHoverEffects","showHoverForThumbnail","thumbnail","unbind","distinctFilterItems","contentRenderStr","contentRender","handleOptions","filterItemsData","filterItemsIds","filterItemId","currentFilterItems","animationTime","fadeIn","scrollt","htmlToSHow","galleryIsVisible","newImageHeight","newImageWidth","categoriesContainer","categoryAllText","distinctCategories","categoriesString","categoriesArray","buildCategoryList","$this","categories","isotope","reInitShadowbox","clearShadowboxCache","Isotope","itemSelector","currentFilterData","filterItemsString","fetchData","$spot","$options","heroFluentImages","previousSpotPadding","GetPreviousVisibleSpot","currentSpot","previousSpot","nextSpotPadding","GetNextVisibleSpot","nextSpot","imageLeft","imageRight","gridLeft","remainingWidth","margins","leftGridWidth","rightGridWidth","leftUrl","rightUrl","fluentText","fluentTextInside","widthModifier","Number","heightModifier","completeImagePadding","leftImagePadding","rightImagePadding","_b","bottoms","_t","tops","fail","horizontalList","numChildren","windowWidth","getWidth","newWidth","searchPhrase","bgImage","section","bgColor","activeLinks","arr","httpsURL","protocol","hostname","httpURL","highlight","canMove","initialIndent","reel","clone","startingPoint","lazyload","move","doubleSpeed","doubleSpeed2","resetPoint","resetTo","moveLeft","moveRight","SECOND_LEVEL_LIST_ITEMS","NAV","MENU_STATE_INPUT_ID","MENU_SIDE_BACKGROUND","MENU_ITEM","MENU_HEADERS","SERVICE_MENU","HIDDEN_CLASS","LANGUAGE_MENU","ANIMATION_SPEED","checkIfItsHeaderOrLink","secondLevelItems","menuItem","setFixedBody","openNextLevel","subMenu","subMenuParent","li","listChildren","showNextLeveLItems","right","backPreviousLevel","showPrevLevelItems","prevLevelHeader","prevLevelList","changeLanguage","removeEmtpyLanguage","closeMenuOnClickOutside","menuState","menuHeaders","languageMenu","gridGallery","gridItems","imageReplacementClass","itemMediaSelector","fadeInDelay","fadeOutDelay","hideItemsDelay","hrefData","imgData","stepLoadDelay","hideItemsTimeoutId","hideImageReplacements","hideItems","showItem","step","$imageCopy","followLink","Colour","colour","addSamples","sampleCount","activeColour","clonedColour","colourCount","tooltip","colourOffset","basketOffset","changeColourSampleCount","animateSampleToBasket","appendTo","accordion","checkboxButtons","numberTrigger","checkboxElement","numberItem","numberElement","forId","collapsibleContentOffset","getBoundingClientRect","buyProduct","useJoomlaCheckout","urlshop","productsinfo","product1","productid","productsinfoHiddenField","JSON","stringify","hideAllSteps","showHideStep","divId","currentQuestion","divActiveCompatibilitySpot1","ddlCmbWindowType","Accessory","accessory","readMore","readMoreAnchor","readMoreOverlay","readMoreWrapper","mainWrapper","oldAccessory","newAccessory","sliding","opened","activeWrapper","showMoreInfo","hideMoreInfo","setProperty","mobile","tables","scrollableTable","ReturnToTop","showing","scrollTimeout","showButton","bottom","hideButton","returnToTop","checkToShowOrHide","addressValue","shadowboxElem","htmlElem","overflow","encodeURI","quickSearch","searchBtn","clearBtn","fullSearchUrl","enterKey","fullSearch","clearQuickSearch","keydown","$root2","resultSearch","clearResultSearch","searchButton","suggestBox","suggestUrl","activeSuggestionClass","upKey","downKey","maxIndex","getSuggestions","clearSuggestionBox","renderSuggestions","sug","Event","clearActiveSuggestion","suggestion","getActiveSuggestion","changeActiveSuggestion","blur","isUrl","redirect","specification","surfaces","surface_first","numbers","info_tabs","filtered","selectSurface","resetNumbers","placeNumbers","positionArray","triggerTabClick","number","handleNumbers","removeAttr","scrollHash","menuHeight","anchorControl","anchorName","collapsibleEntryHeader","menuLoaded","hiddenAnchor","currentlink","menuItemHeight","scroll","reached","stickyMenu","itemClass","doStick","thisSection","itemcl","marginLeft","itemLink","resize","moveSticky","$obj","$obj_place","before","$anchor_m","after","wide","isDesktopVersion","clientWidth","openTabInTabSpot","tabSpot","indexOfTabToOpen","setFixedHeightToTabSpotChild","currentCss","cssFixedHeight","indexes","openedTabs","sessionStorage","openedTabsString","getItem","tabs","loadOpenedTabsFromSessionStorage","tabSpots","removeItem","onbeforeunload","isTabOpened","setItem","labelId","sLi","sForm","checkedVal","sOpt","optionSelected","fakePaddingleft","fakePaddingright","fakeTitle","fakeDrop","chBox","vmHeight","block","heights","loadTexturePickerSpot","$target","texturePicker","infoId","infoTitle","infoImage","textures","arrowWidth","arrowHeight","hideClass","tooltipTimeout","tooltipTimeoutStatus","tooltipDelay","showInfoBox","texture","setInfoText","placeInfoBox","hideInfoBox","targetPos","targetHeight","outerHeight","targetWidth","outerWidth","targetBorder","infoBoxWidth","windowTop","imageHeight","infoBoxHeight","imageSrc","toggleInfoBox","components","compInit","WhyVELUX","intro","tabComponent","tabContent","activeTab","sleep","isFullWidth","slideTabs","openTab","closeTab","openTabBasedOnHash","anchorTag","anchorTagInDom","addTracking","parameter","containerId","triggers","panels","isExpanded","activePanelId","activePanel","BeforeAfter","beforeImg","AfterImg","titleContainer","titleAfter","titleBefore","initialGalleryWidth","windowWith","gtmData","jsGtmData","getBackgroundImageSize","imageUrl","dfd","resolve","reject","then","registerPan","mc","$hammer","onBtnDrag","onDragEnd","setImageWidth","titleCont","pos","actualDeviceWidth","getGalleryWidth","getWindowWidth","newPos","getGalleryHeight","fixAspectRatio","imgWidth","imgHeight","parse","parsePaddingToInt","parsedPadding","calculateTitleWidth","titlePaddingLeft","titlePaddingRight","calculateImgBackground","RENEW_LINK","cookieEnableLinks","renew","delayTime","isShowedPopup","showCountrySelectorPopup","modalLanguages","baseId","saveBtn","dataLanguages","modalId","cookieName","radioBtns","modalContent","listOfLang","modalSettings","awaitCloseAnimation","awaitOpenAnimation","expireDate","date","setTime","daysToExpire","toGMTString","getCookie","MicroModal","buildLanguagesList","showModal","toggleDisabled","closeModal","saveChanges","languageCode","chosenLangUrl","setCookie","setCurrentLanguage","languageUrl","redirectToUrl","langCode","langHref","langName","timelineSpots","addStateClass","stateClass","TABS_INIT_CLASS","TABS_END_CLASS","scrollable","thisSpot","setLabelsWidth","TAB_NAV_CLASS","resetsetVisibility","DT_LABELS_CLASS","labelWidth","inner","INNER_WRAPPER_CLASS","lastTab","firstTab","VISIBLE_CLASS","isInViewportH","bounding","stickyTabs","tabwrapper","bottomNav","tabwrapperHeight","bottomNavHeight","endSticky","isSticky","isStuck","paddingTop","checkboxSelection","thisSelectorId","isChecked","thisTab","labelClick","mobileLabels","scrollIntoView","bl","navigation","scrollAmount","spots","cancelAnimationFrame","requestAnimationFrame","ts","ImageTooltipSpot","HOTSPOT_BODY","HOTSPOTS_CONTAINER","SPOT_LABEL","TITLE_LABEL","TOOLTIP","TOOLTIP_PIN","TOOLTIP_INPUT","TOOLTIP__ARROW","INPUT_BLANK","ACTIVE_INPUT","DEFAULT_TRIGGER","mapTooltipLabels","spotLabels","mapTooltipsDefaultTriggers","defaultTriggers","setTooltips","setDesktopTooltipPos","spotLabel","spotContainer","spotContainerWidth","spotBody","tooltipPos","offsetLeft","tooltipRightMargin","widthOfTooltipInsideContainer","pullTooltip","pullTooltipWhenOffGridSmall","tooltipArrow","tooltipBottom","spotOffsetFromTooltipLeft","marginBottom","onSpotClick","stopImmediatePropagation","onDefaultTrigger","blankInput","onResize","activeInput","activeLabel","blank_input","SLIDER_ELEMENT","SLIDER_WRAPPER","SLIDER","ARROW_LEFT","ARROW_RIGHT","DISABLED_CLASS","showArrows","arrowLeft","arrowRight","totalItems","calcSliderWidth","elementWidth","totalWidth","getCurrentIndex","slider","sliderWrapper","currentElement","nextIndex","more","rm","byggebasen","generateTable","table","row","insertRow","cell","insertCell","hideLoader","findResults","currentItemId","currentLanguage","keyword","XMLHttpRequest","onreadystatechange","response","ColumnHeader","createTHead","th","generateTableHead","chunkArray","chunkSize","res","chunk","sliceIntoChunks","setDatatoTable","showNotFound","send","hideNotFound","showLoader","page_type","outboundLinks","external","anchor","fileCategory","fileName","file_category","file_name","menuLink","searchBox","searchInput","accordionSelector","accordionSelectorNew","numberInList","eventCategory","eventAction","Hero","slideshow","slideWrapper","slides","slide","slideImage","navItem","activeSlide","nextImage","style3height","prevImageSize","animationType","currentOrientation","startHero","startCounter","imageFilename","substractHeight","substractWidth","switchSlide","fadeInInit","countHeroSize","heighest_not_lazy_image","content_height","image_height","addSlideCounter","firstSlide","removeNavigation","mouseover","newDelay","screenOrientation","swipeHandler","endX","screenX","changeSlideAfterSwipe","handleSwipe"],"mappings":"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","file":"components.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 38);\n","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).LazyLoad=n()}(this,(function(){\"use strict\";function t(){return(t=Object.assign||function(t){for(var n=1;n1,a={elements_selector:\".lazy\",container:e||n?document:null,threshold:300,thresholds:null,data_src:\"src\",data_srcset:\"srcset\",data_sizes:\"sizes\",data_bg:\"bg\",data_bg_hidpi:\"bg-hidpi\",data_bg_multi:\"bg-multi\",data_bg_multi_hidpi:\"bg-multi-hidpi\",data_poster:\"poster\",class_applied:\"applied\",class_loading:\"loading\",class_loaded:\"loaded\",class_error:\"error\",class_entered:\"entered\",class_exited:\"exited\",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(n){return t({},a,n)},s=function(t,n){var e,i=\"LazyLoad::Initialized\",o=new t(n);try{e=new CustomEvent(i,{detail:{instance:o}})}catch(t){(e=document.createEvent(\"CustomEvent\")).initCustomEvent(i,!1,!1,{instance:o})}window.dispatchEvent(e)},l=\"loading\",u=\"loaded\",d=\"applied\",f=\"error\",_=\"native\",g=\"data-\",v=\"ll-status\",b=function(t,n){return t.getAttribute(g+n)},p=function(t){return b(t,v)},h=function(t,n){return function(t,n,e){var i=\"data-ll-status\";null!==e?t.setAttribute(i,e):t.removeAttribute(i)}(t,0,n)},m=function(t){return h(t,null)},E=function(t){return null===p(t)},y=function(t){return p(t)===_},I=[l,u,d,f],A=function(t,n,e,i){t&&(void 0===i?void 0===e?t(n):t(n,e):t(n,e,i))},L=function(t,n){o?t.classList.add(n):t.className+=(t.className?\" \":\"\")+n},w=function(t,n){o?t.classList.remove(n):t.className=t.className.replace(new RegExp(\"(^|\\\\s+)\"+n+\"(\\\\s+|$)\"),\" \").replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")},k=function(t){return t.llTempImage},O=function(t,n){if(n){var e=n._observer;e&&e.unobserve(t)}},x=function(t,n){t&&(t.loadingCount+=n)},z=function(t,n){t&&(t.toLoadCount=n)},C=function(t){for(var n,e=[],i=0;n=t.children[i];i+=1)\"SOURCE\"===n.tagName&&e.push(n);return e},N=function(t,n,e){e&&t.setAttribute(n,e)},M=function(t,n){t.removeAttribute(n)},R=function(t){return!!t.llOriginalAttrs},T=function(t){if(!R(t)){var n={};n.src=t.getAttribute(\"src\"),n.srcset=t.getAttribute(\"srcset\"),n.sizes=t.getAttribute(\"sizes\"),t.llOriginalAttrs=n}},G=function(t){if(R(t)){var n=t.llOriginalAttrs;N(t,\"src\",n.src),N(t,\"srcset\",n.srcset),N(t,\"sizes\",n.sizes)}},D=function(t,n){N(t,\"sizes\",b(t,n.data_sizes)),N(t,\"srcset\",b(t,n.data_srcset)),N(t,\"src\",b(t,n.data_src))},V=function(t){M(t,\"src\"),M(t,\"srcset\"),M(t,\"sizes\")},j=function(t,n){var e=t.parentNode;e&&\"PICTURE\"===e.tagName&&C(e).forEach(n)},F={IMG:function(t,n){j(t,(function(t){T(t),D(t,n)})),T(t),D(t,n)},IFRAME:function(t,n){N(t,\"src\",b(t,n.data_src))},VIDEO:function(t,n){!function(t,e){C(t).forEach((function(t){N(t,\"src\",b(t,n.data_src))}))}(t),N(t,\"poster\",b(t,n.data_poster)),N(t,\"src\",b(t,n.data_src)),t.load()}},P=function(t,n){var e=F[t.tagName];e&&e(t,n)},S=function(t,n,e){x(e,1),L(t,n.class_loading),h(t,l),A(n.callback_loading,t,e)},U=[\"IMG\",\"IFRAME\",\"VIDEO\"],$=function(t,n){!n||function(t){return t.loadingCount>0}(n)||function(t){return t.toLoadCount>0}(n)||A(t.callback_finish,n)},q=function(t,n,e){t.addEventListener(n,e),t.llEvLisnrs[n]=e},H=function(t,n,e){t.removeEventListener(n,e)},B=function(t){return!!t.llEvLisnrs},J=function(t){if(B(t)){var n=t.llEvLisnrs;for(var e in n){var i=n[e];H(t,e,i)}delete t.llEvLisnrs}},K=function(t,n,e){!function(t){delete t.llTempImage}(t),x(e,-1),function(t){t&&(t.toLoadCount-=1)}(e),w(t,n.class_loading),n.unobserve_completed&&O(t,e)},Q=function(t,n,e){var i=k(t)||t;B(i)||function(t,n,e){B(t)||(t.llEvLisnrs={});var i=\"VIDEO\"===t.tagName?\"loadeddata\":\"load\";q(t,i,n),q(t,\"error\",e)}(i,(function(o){!function(t,n,e,i){var o=y(n);K(n,e,i),L(n,e.class_loaded),h(n,u),A(e.callback_loaded,n,i),o||$(e,i)}(0,t,n,e),J(i)}),(function(o){!function(t,n,e,i){var o=y(n);K(n,e,i),L(n,e.class_error),h(n,f),A(e.callback_error,n,i),o||$(e,i)}(0,t,n,e),J(i)}))},W=function(t,n,e){!function(t){t.llTempImage=document.createElement(\"IMG\")}(t),Q(t,n,e),function(t,n,e){var i=b(t,n.data_bg),o=b(t,n.data_bg_hidpi),a=r&&o?o:i;a&&(t.style.backgroundImage='url(\"'.concat(a,'\")'),k(t).setAttribute(\"src\",a),S(t,n,e))}(t,n,e),function(t,n,e){var i=b(t,n.data_bg_multi),o=b(t,n.data_bg_multi_hidpi),a=r&&o?o:i;a&&(t.style.backgroundImage=a,function(t,n,e){L(t,n.class_applied),h(t,d),n.unobserve_completed&&O(t,n),A(n.callback_applied,t,e)}(t,n,e))}(t,n,e)},X=function(t,n,e){!function(t){return U.indexOf(t.tagName)>-1}(t)?W(t,n,e):function(t,n,e){Q(t,n,e),P(t,n),S(t,n,e)}(t,n,e)},Y=[\"IMG\",\"IFRAME\",\"VIDEO\"],Z=function(t){return t.use_native&&\"loading\"in HTMLImageElement.prototype},tt=function(t,n,e){t.forEach((function(t){return function(t){return t.isIntersecting||t.intersectionRatio>0}(t)?function(t,n,e,i){var o=function(t){return I.indexOf(p(t))>=0}(t);h(t,\"entered\"),L(t,e.class_entered),w(t,e.class_exited),function(t,n,e){n.unobserve_entered&&O(t,e)}(t,e,i),A(e.callback_enter,t,n,i),o||X(t,e,i)}(t.target,t,n,e):function(t,n,e,i){E(t)||(L(t,e.class_exited),function(t,n,e,i){e.cancel_on_exit&&function(t){return p(t)===l}(t)&&\"IMG\"===t.tagName&&(J(t),function(t){j(t,(function(t){V(t)})),V(t)}(t),function(t){j(t,(function(t){G(t)})),G(t)}(t),w(t,e.class_loading),x(i,-1),m(t),A(e.callback_cancel,t,n,i))}(t,n,e,i),A(e.callback_exit,t,n,i))}(t.target,t,n,e)}))},nt=function(t){return Array.prototype.slice.call(t)},et=function(t){return t.container.querySelectorAll(t.elements_selector)},it=function(t){return function(t){return p(t)===f}(t)},ot=function(t,n){return function(t){return nt(t).filter(E)}(t||et(n))},rt=function(t,e){var o=c(t);this._settings=o,this.loadingCount=0,function(t,n){i&&!Z(t)&&(n._observer=new IntersectionObserver((function(e){tt(e,t,n)}),function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+\"px\"}}(t)))}(o,this),function(t,e){n&&window.addEventListener(\"online\",(function(){!function(t,n){var e;(e=et(t),nt(e).filter(it)).forEach((function(n){w(n,t.class_error),m(n)})),n.update()}(t,e)}))}(o,this),this.update(e)};return rt.prototype={update:function(t){var n,o,r=this._settings,a=ot(t,r);z(this,a.length),!e&&i?Z(r)?function(t,n,e){t.forEach((function(t){-1!==Y.indexOf(t.tagName)&&function(t,n,e){t.setAttribute(\"loading\",\"lazy\"),Q(t,n,e),P(t,n),h(t,_)}(t,n,e)})),z(e,0)}(a,r,this):(o=a,function(t){t.disconnect()}(n=this._observer),function(t,n){n.forEach((function(n){t.observe(n)}))}(n,o)):this.loadAll(a)},destroy:function(){this._observer&&this._observer.disconnect(),et(this._settings).forEach((function(t){delete t.llOriginalAttrs})),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var n=this,e=this._settings;ot(t,e).forEach((function(t){O(t,n),X(t,e,n)}))}},rt.load=function(t,n){var e=c(n);X(t,e)},rt.resetStatus=function(t){m(t)},n&&function(t,n){if(n)if(n.length)for(var e,i=0;e=n[i];i+=1)s(t,e);else s(t,n)}(rt,window.lazyLoadOptions),rt}));\n","const isPageEditor = function () {\r\n if (typeof Sitecore == \"undefined\") {\r\n return false;\r\n }\r\n if (typeof Sitecore.PageModes == \"undefined\" || Sitecore.PageModes == null) {\r\n return false;\r\n }\r\n return Sitecore.PageModes.PageEditor != null;\r\n}\r\nexport default isPageEditor;","const trackGoogleEvent = (eventcategory, eventaction, eventlabel, eventnoninteraction) => {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n if (typeof eventcategory === 'object' && !Array.isArray(eventcategory)) {\r\n window.dataLayer.push(eventcategory);\r\n return;\r\n }\r\n\r\n window.dataLayer.push({\r\n event: \"interactionevent\",\r\n ...(eventcategory && { eventcategory }),\r\n ...(eventaction && { eventaction }),\r\n ...(eventlabel && { eventlabel }),\r\n eventnoninteraction: eventnoninteraction && eventnoninteraction.toString() || \"false\",\r\n });\r\n};\r\n\r\nexport default trackGoogleEvent;","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// import jQuery from 'CommonScripts/jquery-1.10.2';\r\nrequire('../../common/shadowbox/shadowbox');\r\n\r\nconst overlayDialog = (function ($) {\r\n function showDialog(html) {\r\n\r\n var tmp = document.createElement(\"div\");\r\n tmp.setAttribute(\"class\", \"tmpModal\");\r\n\r\n document.body.appendChild(tmp);\r\n\r\n var tempDialogDiv = document.createElement(\"div\");\r\n tempDialogDiv.innerHTML = html.replace(/data-original/g, \"src\");\r\n\r\n tmp.appendChild(tempDialogDiv);\r\n\r\n html = html.replace(/data-original/g, \"src\");\r\n\r\n $('#blankcontent').imagesLoaded().always(function () {\r\n /* TODO for later */\r\n if ($('#blankcontent .article-content > iframe').is(':only-child')) {\r\n } else {\r\n }\r\n\r\n var width = $(\"#blankcontent > div\").width() + 20,\r\n height = $(\"#blankcontent > div\").height() + 20;\r\n\r\n if (height > $(window).height() * 0.8) {\r\n height = $(window).height() * 0.8;\r\n }\r\n\r\n Shadowbox.open({\r\n player: 'html',\r\n content: html,\r\n width: width,\r\n height: height,\r\n options: {\r\n onOpen: function () {\r\n $('.tmpModal').remove();\r\n },\r\n enableKeys: false\r\n }\r\n });\r\n });\r\n }\r\n\r\n return { show: showDialog }\r\n})(jQuery);\r\n\r\nexport default overlayDialog;","/*!\n * imagesLoaded v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) { 'use strict';\n // universal module definition\n\n /*global define: false, module: false, require: false */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.imagesLoaded = factory(\n window,\n window.EvEmitter\n );\n }\n\n})( typeof window !== 'undefined' ? window : this,\n\n// -------------------------- factory -------------------------- //\n\nfunction factory( window, EvEmitter ) {\n\n'use strict';\n\nvar $ = window.jQuery;\nvar console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n if ( Array.isArray( obj ) ) {\n // use object if already an array\n return obj;\n }\n\n var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if ( isArrayLike ) {\n // convert nodeList to array\n return arraySlice.call( obj );\n }\n\n // array of single index\n return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {Array, Element, NodeList, String} elem\n * @param {Object or Function} options - if function, use as callback\n * @param {Function} onAlways - callback function\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n if ( !( this instanceof ImagesLoaded ) ) {\n return new ImagesLoaded( elem, options, onAlways );\n }\n // use elem as selector string\n var queryElem = elem;\n if ( typeof elem == 'string' ) {\n queryElem = document.querySelectorAll( elem );\n }\n // bail if bad element\n if ( !queryElem ) {\n console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );\n return;\n }\n\n this.elements = makeArray( queryElem );\n this.options = extend( {}, this.options );\n // shift arguments if no options set\n if ( typeof options == 'function' ) {\n onAlways = options;\n } else {\n extend( this.options, options );\n }\n\n if ( onAlways ) {\n this.on( 'always', onAlways );\n }\n\n this.getImages();\n\n if ( $ ) {\n // add jQuery Deferred object\n this.jqDeferred = new $.Deferred();\n }\n\n // HACK check async to allow time to bind listeners\n setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.options = {};\n\nImagesLoaded.prototype.getImages = function() {\n this.images = [];\n\n // filter & find items if we have an item selector\n this.elements.forEach( this.addElementImages, this );\n};\n\n/**\n * @param {Node} element\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n // filter siblings\n if ( elem.nodeName == 'IMG' ) {\n this.addImage( elem );\n }\n // get background image on element\n if ( this.options.background === true ) {\n this.addElementBackgroundImages( elem );\n }\n\n // find children\n // no non-element nodes, #143\n var nodeType = elem.nodeType;\n if ( !nodeType || !elementNodeTypes[ nodeType ] ) {\n return;\n }\n var childImgs = elem.querySelectorAll('img');\n // concat childElems to filterFound array\n for ( var i=0; i < childImgs.length; i++ ) {\n var img = childImgs[i];\n this.addImage( img );\n }\n\n // get child background images\n if ( typeof this.options.background == 'string' ) {\n var children = elem.querySelectorAll( this.options.background );\n for ( i=0; i < children.length; i++ ) {\n var child = children[i];\n this.addElementBackgroundImages( child );\n }\n }\n};\n\nvar elementNodeTypes = {\n 1: true,\n 9: true,\n 11: true\n};\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n return;\n }\n // get url inside url(\"...\")\n var reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n var matches = reURL.exec( style.backgroundImage );\n while ( matches !== null ) {\n var url = matches && matches[2];\n if ( url ) {\n this.addBackground( url, elem );\n }\n matches = reURL.exec( style.backgroundImage );\n }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n var loadingImage = new LoadingImage( img );\n this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n var background = new Background( url, elem );\n this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n var _this = this;\n this.progressedCount = 0;\n this.hasAnyBroken = false;\n // complete if no images\n if ( !this.images.length ) {\n this.complete();\n return;\n }\n\n function onProgress( image, elem, message ) {\n // HACK - Chrome triggers event before object properties have changed. #83\n setTimeout( function() {\n _this.progress( image, elem, message );\n });\n }\n\n this.images.forEach( function( loadingImage ) {\n loadingImage.once( 'progress', onProgress );\n loadingImage.check();\n });\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n this.progressedCount++;\n this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n // progress event\n this.emitEvent( 'progress', [ this, image, elem ] );\n if ( this.jqDeferred && this.jqDeferred.notify ) {\n this.jqDeferred.notify( this, image );\n }\n // check if completed\n if ( this.progressedCount == this.images.length ) {\n this.complete();\n }\n\n if ( this.options.debug && console ) {\n console.log( 'progress: ' + message, image, elem );\n }\n};\n\nImagesLoaded.prototype.complete = function() {\n var eventName = this.hasAnyBroken ? 'fail' : 'done';\n this.isComplete = true;\n this.emitEvent( eventName, [ this ] );\n this.emitEvent( 'always', [ this ] );\n if ( this.jqDeferred ) {\n var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n this.jqDeferred[ jqMethod ]( this );\n }\n};\n\n// -------------------------- -------------------------- //\n\nfunction LoadingImage( img ) {\n this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n // If complete is true and browser supports natural sizes,\n // try to check for image status manually.\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n // report based on naturalWidth\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n return;\n }\n\n // If none of the checks above matched, simulate loading on detached element.\n this.proxyImage = new Image();\n this.proxyImage.addEventListener( 'load', this );\n this.proxyImage.addEventListener( 'error', this );\n // bind to image as well for Firefox. #191\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.proxyImage.src = this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n // check for non-zero, non-undefined naturalWidth\n // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.img, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\nLoadingImage.prototype.onload = function() {\n this.confirm( true, 'onload' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n this.confirm( false, 'onerror' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n this.proxyImage.removeEventListener( 'load', this );\n this.proxyImage.removeEventListener( 'error', this );\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n this.url = url;\n this.element = element;\n this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.img.src = this.url;\n // check if image is already complete\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n this.unbindEvents();\n }\n};\n\nBackground.prototype.unbindEvents = function() {\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n jQuery = jQuery || window.jQuery;\n if ( !jQuery ) {\n return;\n }\n // set local variable\n $ = jQuery;\n // $().imagesLoaded()\n $.fn.imagesLoaded = function( options, callback ) {\n var instance = new ImagesLoaded( this, options, callback );\n return instance.jqDeferred.promise( $(this) );\n };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// -------------------------- -------------------------- //\n\nreturn ImagesLoaded;\n\n});\n","var ctaEventDataLayer = function(ctaElement, sitecoreItem) {\r\n var dataLayer = (window.dataLayer = window.dataLayer || []);\r\n\r\n var ctaEvent = {\r\n event: \"click_cta\"\r\n };\r\n\r\n var baseURL = window.location.origin;\r\n\r\n var relativeURL = ctaElement.getAttribute(\"href\");\r\n\r\n if (relativeURL.startsWith(\"http\") || relativeURL === baseURL) {\r\n ctaEvent.link_url = relativeURL;\r\n } else {\r\n ctaEvent.link_url = baseURL + relativeURL;\r\n }\r\n\r\n ctaEvent.cta_category = relativeURL\r\n .substring(relativeURL.lastIndexOf(\"/\") + 1)\r\n .split(\"-\")\r\n .join(\" \");\r\n\r\n ctaEvent.element_description = ctaElement.textContent.trim();\r\n \r\n ctaEvent.sitecore_item_name = sitecoreItem;\r\n\r\n dataLayer.push(ctaEvent);\r\n\r\n return;\r\n};\r\n\r\nexport default ctaEventDataLayer;\r\n","import LazyLoad from \"vanilla-lazyload\";\r\nfunction ready(callbackFunc) {\r\n if (document.readyState !== 'loading') {\r\n // Document is already ready, call the callback directly\r\n callbackFunc();\r\n } else if (document.addEventListener) {\r\n // All modern browsers to register DOMContentLoaded\r\n document.addEventListener('DOMContentLoaded', callbackFunc);\r\n } else {\r\n // Old IE browsers\r\n document.attachEvent('onreadystatechange', function () {\r\n if (document.readyState === 'complete') {\r\n callbackFunc();\r\n }\r\n });\r\n }\r\n}\r\nready(function () {\r\n const DOM_ITEM_HTML = document.querySelector(\"HTML\");\r\n const OVERLAY_OPEN_CLASS = \"overflow-hidden\";\r\n\r\n window.FullscreenTakeover = {\r\n classes: {\r\n UTILITY: {\r\n OPENING: \"opacity-0 visibility-hidden pointer-events-none\",\r\n SHOW_IMAGE: \"opacity-100 relative\",\r\n HIDE_IMAGE: \"opacity-0 absolute\"\r\n },\r\n DOM: {\r\n OVERLAY: \"js-fullscreen-takeover\",\r\n CLOSE: \"js-fullscreen-takeover--close\",\r\n NEXT: \"js-fullscreen-takeover--next\",\r\n PREV: \"js-fullscreen-takeover--prev\",\r\n CAPTION: \"js-fullscreen-takeover--caption\",\r\n INDEX: \"js-fullscreen-takeover--index\",\r\n IMAGE_WRAPPER: \"js-fullscreen-takeover--img-wrapper\",\r\n IMG: \"js-img-wrapper\"\r\n }\r\n },\r\n scope: undefined,\r\n frameOpening() {\r\n return (`
\r\n
\r\n
\r\n `);\r\n },\r\n frameClosing() {\r\n return `
`;\r\n },\r\n data: {\r\n activeIndex: 0,\r\n imageArraySize: 0\r\n },\r\n init() {\r\n this.createclassLists(); // create class arrays for classlist add/remove usage with spread (...) operator\r\n this.scope = document.querySelector(\".\" + this.classes.DOM.OVERLAY);\r\n this.setUpCloseEventListeners();\r\n this.setUpGalleryEventListeners();\r\n this.setActiveCaption();\r\n this.setLazyLoad();\r\n\r\n setTimeout(() => {\r\n this.scope.classList.remove(...this.classLists.OPENING); // Show overlay with css transition animation by removing initial classes that hid it\r\n DOM_ITEM_HTML.classList.add(OVERLAY_OPEN_CLASS); // hide scrollbar\r\n }, 100);\r\n },\r\n createclassLists() {\r\n this.classLists = {};\r\n\r\n const keys = Object.keys(this.classes.UTILITY);\r\n\r\n for (const key of keys) {\r\n this.classLists[key] = this.classes.UTILITY[key].split(\" \");\r\n }\r\n },\r\n openVideo(videoSrc, isVideo23) {\r\n // Called from Video or Video Plus Copy content block - video-cookie-popup.js\r\n let videoFragment = \"\";\r\n videoFragment += this.frameOpening();\r\n\r\n videoFragment += `\r\n
\r\n \r\n
\r\n \r\n
\r\n
`;\r\n\r\n videoFragment += this.frameClosing();\r\n this.drawOverlay(videoFragment);\r\n },\r\n openGallery(images = [], activeImageIndex = 0, captions = []) {\r\n // Called from Gallery content block - gallery.js\r\n this.data.activeIndex = activeImageIndex;\r\n this.data.imageArraySize = images.length;\r\n this.data.captions = captions;\r\n let arrImg = [];\r\n\r\n // build the right fragment for the gallery based on images[] parameter\r\n if (images.length) {\r\n images.forEach((img, index) => {\r\n let wrapper = `
${this.nodeToString(img)}
`;\r\n\r\n arrImg.push(wrapper);\r\n });\r\n }\r\n\r\n // build gallery fragment\r\n let galleryFragment = \"\";\r\n\r\n galleryFragment += this.frameOpening();\r\n galleryFragment += `\r\n
\r\n
\r\n `;\r\n\r\n arrImg.forEach(img => {\r\n galleryFragment += img;\r\n });\r\n\r\n galleryFragment += `\r\n
\r\n
`;\r\n galleryFragment += `\r\n
\r\n

`;\r\n\r\n if (images.length > 1) {\r\n galleryFragment += `\r\n
\r\n \r\n \r\n \r\n ${this.data.activeIndex + 1} / ${this.data.imageArraySize}\r\n \r\n \r\n
`;\r\n }\r\n\r\n galleryFragment += `
`;\r\n galleryFragment += this.frameClosing();\r\n\r\n this.drawOverlay(galleryFragment);\r\n },\r\n nodeToString(node) {\r\n var tmpNode = document.createElement(\"div\");\r\n tmpNode.appendChild(node.cloneNode(true));\r\n var str = tmpNode.innerHTML;\r\n\r\n return str;\r\n },\r\n drawOverlay(fragment) {\r\n document.body.insertAdjacentHTML(\"beforeend\", fragment);\r\n\r\n this.init(); // Fragment is ready, we can initiate the overlay\r\n },\r\n setUpCloseEventListeners() {\r\n Array.from(\r\n this.scope.querySelectorAll(\".\" + this.classes.DOM.CLOSE)\r\n ).forEach(close => {\r\n close.addEventListener(\"click\", event => {\r\n event.preventDefault();\r\n this.close();\r\n });\r\n });\r\n },\r\n setUpGalleryEventListeners() {\r\n let prevArrow = this.scope.querySelector(\".\" + this.classes.DOM.PREV);\r\n let nextArrow = this.scope.querySelector(\".\" + this.classes.DOM.NEXT);\r\n\r\n if (prevArrow) {\r\n prevArrow.addEventListener(\"click\", event => {\r\n event.preventDefault();\r\n this.previousSlide();\r\n });\r\n }\r\n\r\n if (nextArrow) {\r\n nextArrow.addEventListener(\"click\", event => {\r\n event.preventDefault();\r\n this.nextSlide();\r\n });\r\n }\r\n },\r\n setActiveCaption() {\r\n let caption = this.scope.querySelector(\".\" + this.classes.DOM.CAPTION);\r\n let captionText = this.data.captions\r\n ? this.data.captions[this.data.activeIndex]\r\n : \"\";\r\n\r\n if (caption) caption.textContent = captionText;\r\n },\r\n setActiveImage() {\r\n let activeImage = this.scope.getElementsByClassName(\r\n this.classes.UTILITY.SHOW_IMAGE\r\n )[0];\r\n if (activeImage) {\r\n activeImage.classList.remove(...this.classLists.SHOW_IMAGE);\r\n activeImage.classList.add(...this.classLists.HIDE_IMAGE);\r\n }\r\n\r\n let imageToShow = this.scope.querySelectorAll(\".\" + this.classes.DOM.IMAGE_WRAPPER)[this.data.activeIndex];\r\n\r\n imageToShow.classList.add(...this.classLists.SHOW_IMAGE);\r\n // Opacity won't be handled by LazyLoad, so we remove display: none when we need to load the image\r\n this.lazyLoadHelper(imageToShow);\r\n imageToShow.classList.remove(...this.classLists.HIDE_IMAGE);\r\n\r\n this.scope.querySelector(\".\" + this.classes.DOM.INDEX).textContent = this.data.activeIndex + 1;\r\n this.setActiveCaption();\r\n },\r\n setLazyLoad() {\r\n // Check if we have images at all, because it can be a video fullscreen takeover\r\n let images = this.scope.querySelectorAll('.' + this.classes.DOM.IMAGE_WRAPPER);\r\n if (images && images.length) {\r\n const lazyGalleryImages = {\r\n data_src: \"original\",\r\n elements_selector: \".js-fullscreen-takeover .lazy\"\r\n };\r\n this.lazyLoadHelper();\r\n new LazyLoad(lazyGalleryImages);\r\n }\r\n },\r\n lazyLoadHelper(imgWrapper) {\r\n let imageToShow = imgWrapper ? imgWrapper : this.scope.querySelectorAll(\".\" + this.classes.DOM.IMAGE_WRAPPER)[this.data.activeIndex];\r\n let images = imageToShow.querySelectorAll(\".\" + this.classes.DOM.IMG);\r\n Array.from(images).forEach(img => img.style.removeProperty('display'));\r\n },\r\n close() {\r\n this.scope.classList.add(...this.classLists.OPENING);\r\n DOM_ITEM_HTML.classList.remove(OVERLAY_OPEN_CLASS);\r\n\r\n setTimeout(() => {\r\n this.scope.remove();\r\n }, 300);\r\n },\r\n previousSlide() {\r\n if (this.data.activeIndex !== 0) {\r\n this.data.activeIndex--;\r\n } else {\r\n this.data.activeIndex = this.data.imageArraySize - 1;\r\n }\r\n this.setActiveImage();\r\n },\r\n nextSlide() {\r\n if (this.data.activeIndex !== this.data.imageArraySize - 1) {\r\n this.data.activeIndex++;\r\n } else {\r\n this.data.activeIndex = 0;\r\n }\r\n this.setActiveImage();\r\n }\r\n };\r\n\r\n});\r\n","function ready(callbackFunc) {\r\n if (document.readyState !== 'loading') {\r\n // Document is already ready, call the callback directly\r\n callbackFunc();\r\n } else if (document.addEventListener) {\r\n // All modern browsers to register DOMContentLoaded\r\n document.addEventListener('DOMContentLoaded', callbackFunc);\r\n } else {\r\n // Old IE browsers\r\n document.attachEvent('onreadystatechange', function () {\r\n if (document.readyState === 'complete') {\r\n callbackFunc();\r\n }\r\n });\r\n }\r\n}\r\nready(function () {\r\n (function () {\r\n const videoCookieTakeOver = document.querySelector('.js-video-cookie-takeover'),\r\n videoImages = document.querySelectorAll('.js-video-placeholders'),\r\n closeButton = document.querySelectorAll('.js-close-popup'),\r\n setCookiebotButton = document.querySelectorAll('.js-set-cookiebot'),\r\n show_class = ['opacity-1', 'z-50', 'duration-500', 'transition-opacity'],\r\n hide_class = ['visibility-hidden', 'opacity-0', 'z-0', 'duration-0', 'transition-none', 'pointer-events-none'];\r\n\r\n closeButton.forEach((element) => {\r\n element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n hideCookieTakeOver();\r\n });\r\n });\r\n\r\n setCookiebotButton.forEach((element) => {\r\n element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n setCookiebotMarketing();\r\n })\r\n });\r\n\r\n attachVideoPopUps();\r\n\r\n function attachVideoPopUps() {\r\n Array.from(videoImages).forEach((element, index) => {\r\n let currentVideoId = videoImages[index].dataset.videoId;\r\n let videoSrc = videoImages[index].dataset.videoSrc || undefined;\r\n let isVideo23 = (videoImages[index].dataset.video23 == \"true\") ? \"&autoPlay=1\" : \"?autoplay=1\";\r\n if (videoSrc) {\r\n element.addEventListener('click', function () {\r\n if (getCookiebotMarketing()) {\r\n if (!isOverlay(element)) {\r\n element.querySelector('iframe').setAttribute('src', videoSrc + isVideo23);\r\n element.querySelector('iframe').setAttribute('ID', currentVideoId);\r\n element.querySelector('.z-20').remove();\r\n } else {\r\n window.FullscreenTakeover.openVideo(videoSrc, isVideo23);\r\n }\r\n } else {\r\n showCookieTakeOver();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n function isOverlay(element) {\r\n let parent = element.closest('.vlx-container');\r\n let isOverlayMobile = parent ? parent.dataset.isOverlayMobile : false;\r\n let isOverlayDesktop = parent ? parent.dataset.isOverlayDesktop : true;\r\n\r\n return isOverlayMobile == true && window.innerWidth < 640 || isOverlayDesktop == true && window.innerWidth >= 640;\r\n }\r\n\r\n function hideCookieTakeOver() {\r\n videoCookieTakeOver.classList.remove(...show_class);\r\n videoCookieTakeOver.classList.add(...hide_class);\r\n }\r\n\r\n function showCookieTakeOver() {\r\n videoCookieTakeOver.classList.remove(...hide_class);\r\n videoCookieTakeOver.classList.add(...show_class);\r\n }\r\n\r\n function getCookiebotMarketing() {\r\n let cookieConsent = (window.Cookiebot) ? window.Cookiebot.consent.marketing : true;\r\n return cookieConsent;\r\n }\r\n\r\n function setCookiebotMarketing() {\r\n const consentOfPreferences = window.Cookiebot.consent.preferences,\r\n consentOfNecessary = window.Cookiebot.consent.necessary;\r\n\r\n window.Cookiebot.submitCustomConsent(\r\n consentOfPreferences,\r\n consentOfNecessary,\r\n true\r\n );\r\n hideCookieTakeOver();\r\n }\r\n })();\r\n});\r\n","/*!\r\n * Shadowbox.js, version 3.0.3\r\n * http://shadowbox-js.com/ - Do not use this link (not owned by shadowbox anymore). \r\n * Please refer to the link below:\r\n * https://github.com/mjackson/shadowbox\r\n *\r\n * There are some changes. Please search in this file for: CHANGE FROM ORIGINAL\r\n * \r\n * \r\n * \r\n * Copyright 2007-2010, Michael J. I. Jackson\r\n * Date: 2016-09-07 10:58:00 +0200\r\n */\r\n(function (window, undefined) {\r\n /**\r\n * The Shadowbox object.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n var S = {\r\n\r\n /**\r\n * The current version of Shadowbox.\r\n *\r\n * @type {String}\r\n * @public\r\n */\r\n version: \"3.0.3\"\r\n\r\n }\r\n\r\n var ua = navigator.userAgent.toLowerCase();\r\n\r\n // operating system detection\r\n if (ua.indexOf('windows') > -1 || ua.indexOf('win32') > -1) {\r\n S.isWindows = true;\r\n } else if (ua.indexOf('macintosh') > -1 || ua.indexOf('mac os x') > -1) {\r\n S.isMac = true;\r\n } else if (ua.indexOf('linux') > -1) {\r\n S.isLinux = true;\r\n }\r\n\r\n // browser detection -- deprecated. the goal is to use object detection\r\n // instead of the user agent string\r\n S.isIE = ua.indexOf('msie') > -1;\r\n S.isIE6 = ua.indexOf('msie 6') > -1;\r\n S.isIE7 = ua.indexOf('msie 7') > -1;\r\n S.isGecko = ua.indexOf('gecko') > -1 && ua.indexOf('safari') == -1;\r\n S.isWebKit = ua.indexOf('applewebkit/') > -1;\r\n\r\n var inlineId = /#(.+)$/,\r\n galleryName = /^(light|shadow)box\\[(.*?)\\]/i,\r\n inlineParam = /\\s*([a-z_]*?)\\s*=\\s*(.+)\\s*/,\r\n fileExtension = /[0-9a-z]+$/i,\r\n scriptPath = /(.+\\/)shadowbox\\.js/i;\r\n\r\n /**\r\n * True if Shadowbox is currently open, false otherwise.\r\n *\r\n * @type {Boolean}\r\n * @private\r\n */\r\n var open = false,\r\n\r\n /**\r\n * True if Shadowbox has been initialized, false otherwise.\r\n *\r\n * @type {Boolean}\r\n * @private\r\n */\r\n initialized = false,\r\n\r\n /**\r\n * The previous set of options that were used before Shadowbox.applyOptions was\r\n * called.\r\n *\r\n * @type {Object}\r\n * @private\r\n */\r\n lastOptions = {},\r\n\r\n /**\r\n * The delay in milliseconds that the current gallery uses.\r\n *\r\n * @type {Number}\r\n * @private\r\n */\r\n slideDelay = 0,\r\n\r\n /**\r\n * The time at which the current slideshow frame appeared.\r\n *\r\n * @type {Number}\r\n * @private\r\n */\r\n slideStart,\r\n\r\n /**\r\n * The timeout id for the slideshow transition function.\r\n *\r\n * @type {Number}\r\n * @private\r\n */\r\n slideTimer;\r\n\r\n /**\r\n * The index of the current object in the gallery array.\r\n *\r\n * @type {Number}\r\n * @public\r\n */\r\n S.current = -1;\r\n\r\n /**\r\n * The current dimensions of Shadowbox.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.dimensions = null;\r\n\r\n /**\r\n * Easing function used for animations. Based on a cubic polynomial.\r\n *\r\n * @param {Number} state The state of the animation (% complete)\r\n * @return {Number} The adjusted easing value\r\n * @public\r\n */\r\n S.ease = function (state) {\r\n return 1 + Math.pow(state - 1, 3);\r\n }\r\n\r\n /**\r\n * An object containing names of plugins and links to their respective download pages.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.errorInfo = {\r\n fla: {\r\n name: \"Flash\",\r\n url: \"http://www.adobe.com/products/flashplayer/\"\r\n },\r\n qt: {\r\n name: \"QuickTime\",\r\n url: \"http://www.apple.com/quicktime/download/\"\r\n },\r\n wmp: {\r\n name: \"Windows Media Player\",\r\n url: \"http://www.microsoft.com/windows/windowsmedia/\"\r\n },\r\n f4m: {\r\n name: \"Flip4Mac\",\r\n url: \"http://www.flip4mac.com/wmv_download.htm\"\r\n }\r\n };\r\n\r\n /**\r\n * The content objects in the current set.\r\n *\r\n * @type {Array}\r\n * @public\r\n */\r\n S.gallery = [];\r\n\r\n /**\r\n * A function that will be called as soon as the DOM is ready.\r\n *\r\n * @type {Function}\r\n * @public\r\n */\r\n S.onReady = noop;\r\n\r\n /**\r\n * The URL path to the Shadowbox script.\r\n *\r\n * @type {String}\r\n * @public\r\n */\r\n S.path = null;\r\n\r\n /**\r\n * The current player object.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.player = null;\r\n\r\n /**\r\n * The id to use for the Shadowbox player element.\r\n *\r\n * @type {String}\r\n * @public\r\n */\r\n S.playerId = \"sb-player\";\r\n\r\n /**\r\n * Various options that control Shadowbox' behavior.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.options = {\r\n\r\n /**\r\n * True to enable animations.\r\n *\r\n * @type {Boolean}\r\n */\r\n animate: true,\r\n\r\n /**\r\n * True to enable opacity animations.\r\n *\r\n * @type {Boolean}\r\n */\r\n animateFade: true,\r\n\r\n /**\r\n * True to automatically play movies when the load.\r\n *\r\n * @type {Boolean}\r\n */\r\n autoplayMovies: true,\r\n\r\n /**\r\n * True to enable the user to skip to the first item in a gallery from the last using\r\n * next.\r\n *\r\n * @type {Boolean}\r\n */\r\n continuous: false,\r\n\r\n /**\r\n * True to enable keyboard navigation.\r\n *\r\n * @type {Boolean}\r\n */\r\n enableKeys: true,\r\n\r\n /**\r\n * Parameters to pass to flash 's.\r\n *\r\n * @type {Object}\r\n */\r\n flashParams: {\r\n bgcolor: \"#000000\",\r\n allowfullscreen: true\r\n },\r\n\r\n /**\r\n * Variables to pass to flash 's.\r\n *\r\n * @type {Object}\r\n */\r\n flashVars: {},\r\n\r\n /**\r\n * The minimum required Flash version.\r\n *\r\n * Note: The default is 9.0.115. This is the minimum version suggested by\r\n * the JW FLV player.\r\n *\r\n * @type {String}\r\n */\r\n flashVersion: \"9.0.115\",\r\n\r\n /**\r\n * Determines how oversized content is handled. If set to \"resize\" the\r\n * content will be resized while preserving aspect ratio. If \"drag\" will display\r\n * the image at its original resolution but it will be draggable. If \"none\" will\r\n * display the content at its original resolution but it may be cropped.\r\n *\r\n * @type {String}\r\n */\r\n handleOversize: \"resize\",\r\n\r\n /**\r\n * Determines how unsupported content is handled. If set to \"remove\" will\r\n * remove the content from the gallery. If \"link\" will display a helpful\r\n * link to a page where the necessary browser plugin can be installed.\r\n *\r\n * @type {String}\r\n */\r\n handleUnsupported: \"link\",\r\n\r\n /**\r\n * A hook function to be fired when changing from one gallery item to the\r\n * next. Is passed the item that is about to be displayed as its only argument.\r\n *\r\n * @type {Function}\r\n */\r\n onChange: noop,\r\n\r\n /**\r\n * A hook function to be fired when closing. Is passed the most recent item\r\n * as its only argument.\r\n *\r\n * @type {Function}\r\n */\r\n onClose: noop,\r\n\r\n /**\r\n * A hook funciton to be fires when content is finished loading. Is passed the\r\n * current gallery item as its only argument.\r\n *\r\n * @type {Function}\r\n */\r\n onFinish: noop,\r\n\r\n /**\r\n * A hook function to be fired when opening. Is passed the current gallery item\r\n * as its only argument.\r\n *\r\n * @type {Function}\r\n */\r\n onOpen: noop,\r\n\r\n /**\r\n * True to enable movie controls on movie players.\r\n *\r\n * @type {Boolean}\r\n */\r\n showMovieControls: true,\r\n\r\n /**\r\n * True to skip calling setup during init.\r\n *\r\n * @type {Boolean}\r\n */\r\n skipSetup: false,\r\n\r\n /**\r\n * The delay (in seconds) to use when displaying a gallery in slideshow mode. Setting\r\n * this option to any value other than 0 will trigger slideshow mode.\r\n *\r\n * @type {Number}\r\n */\r\n slideshowDelay: 0,\r\n\r\n /**\r\n * The ammount of padding (in pixels) to maintain around the edge of the viewport at all\r\n * times.\r\n *\r\n * @type {Number}\r\n */\r\n viewportPadding: 20\r\n\r\n };\r\n\r\n /**\r\n * Gets the object that is currently being displayed.\r\n *\r\n * @return {Object}\r\n * @public\r\n */\r\n S.getCurrent = function () {\r\n return S.current > -1 ? S.gallery[S.current] : null;\r\n }\r\n\r\n /**\r\n * Returns true if there is another object to display after the current.\r\n *\r\n * @return {Boolean}\r\n * @public\r\n */\r\n S.hasNext = function () {\r\n return S.gallery.length > 1 && (S.current != S.gallery.length - 1 || S.options.continuous);\r\n }\r\n\r\n /**\r\n * Returns true if Shadowbox is currently open.\r\n *\r\n * @return {Boolean}\r\n * @public\r\n */\r\n S.isOpen = function () {\r\n return open;\r\n }\r\n\r\n /**\r\n * Returns true if Shadowbox is currently paused.\r\n *\r\n * @return {Boolean}\r\n * @public\r\n */\r\n S.isPaused = function () {\r\n return slideTimer == \"pause\";\r\n }\r\n\r\n /**\r\n * Applies the given set of options to Shadowbox' options. May be undone with revertOptions().\r\n *\r\n * @param {Object} options\r\n * @public\r\n */\r\n S.applyOptions = function (options) {\r\n lastOptions = apply({}, S.options);\r\n apply(S.options, options);\r\n }\r\n\r\n /**\r\n * Reverts to whatever the options were before applyOptions() was called.\r\n *\r\n * @public\r\n */\r\n S.revertOptions = function () {\r\n apply(S.options, lastOptions);\r\n }\r\n\r\n /**\r\n * Initializes the Shadowbox environment. If options are given here, they\r\n * will override the defaults. A callback may be provided that will be called\r\n * when the document is ready. This function can be used for setting up links\r\n * using Shadowbox.setup.\r\n *\r\n * @param {Object} options\r\n * @param {Function} callback\r\n * @public\r\n */\r\n S.init = function (options, callback) {\r\n if (initialized)\r\n return;\r\n\r\n initialized = true;\r\n\r\n if (S.skin.options)\r\n apply(S.options, S.skin.options);\r\n\r\n if (options)\r\n apply(S.options, options);\r\n\r\n if (!S.path) {\r\n // determine script path automatically\r\n var path, scripts = document.getElementsByTagName(\"script\");\r\n for (var i = 0, len = scripts.length; i < len; ++i) {\r\n path = scriptPath.exec(scripts[i].src);\r\n if (path) {\r\n S.path = path[1];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (callback)\r\n S.onReady = callback;\r\n\r\n bindLoad();\r\n }\r\n\r\n /**\r\n * Opens the given object in Shadowbox. This object may be any of the following:\r\n *\r\n * - A URL specifying the location of some content to display\r\n * - An HTML link object (A or AREA tag) that links to some content\r\n * - A custom object similar to one produced by Shadowbox.makeObject\r\n * - An array of any of the above\r\n *\r\n * Note: When a single link object is given, Shadowbox will automatically search\r\n * for other cached link objects that have been set up in the same gallery and\r\n * display them all together.\r\n *\r\n * @param {mixed} obj\r\n * @public\r\n */\r\n S.open = function (obj) {\r\n if (open)\r\n return;\r\n\r\n var gc = S.makeGallery(obj);\r\n S.gallery = gc[0];\r\n S.current = gc[1];\r\n\r\n obj = S.getCurrent();\r\n\r\n if (obj == null)\r\n return;\r\n\r\n S.applyOptions(obj.options || {});\r\n\r\n filterGallery();\r\n\r\n // anything left to display?\r\n if (S.gallery.length) {\r\n obj = S.getCurrent();\r\n\r\n if (S.options.onOpen(obj) === false)\r\n return;\r\n\r\n open = true;\r\n\r\n S.skin.onOpen(obj, load);\r\n }\r\n }\r\n\r\n /**\r\n * Closes Shadowbox.\r\n *\r\n * @public\r\n */\r\n S.close = function () {\r\n if (!open)\r\n return;\r\n\r\n open = false;\r\n\r\n if (S.player) {\r\n S.player.remove();\r\n S.player = null;\r\n }\r\n\r\n if (typeof slideTimer == \"number\") {\r\n clearTimeout(slideTimer);\r\n slideTimer = null;\r\n }\r\n slideDelay = 0;\r\n\r\n listenKeys(false);\r\n\r\n S.options.onClose(S.getCurrent());\r\n\r\n S.skin.onClose();\r\n\r\n S.revertOptions();\r\n }\r\n\r\n /**\r\n * Starts a slideshow when a gallery is being displayed. Is called automatically\r\n * when the slideshowDelay option is set to anything other than 0.\r\n *\r\n * @public\r\n */\r\n S.play = function () {\r\n if (!S.hasNext())\r\n return;\r\n\r\n if (!slideDelay)\r\n slideDelay = S.options.slideshowDelay * 1000;\r\n\r\n if (slideDelay) {\r\n slideStart = now();\r\n slideTimer = setTimeout(function () {\r\n slideDelay = slideStart = 0; // reset slideshow\r\n S.next();\r\n }, slideDelay);\r\n\r\n if (S.skin.onPlay)\r\n S.skin.onPlay();\r\n }\r\n }\r\n\r\n /**\r\n * Pauses a slideshow on the current object.\r\n *\r\n * @public\r\n */\r\n S.pause = function () {\r\n if (typeof slideTimer != \"number\")\r\n return;\r\n\r\n slideDelay = Math.max(0, slideDelay - (now() - slideStart));\r\n\r\n // if there's any time left on current slide, pause the timer\r\n if (slideDelay) {\r\n clearTimeout(slideTimer);\r\n slideTimer = \"pause\";\r\n\r\n if (S.skin.onPause)\r\n S.skin.onPause();\r\n }\r\n }\r\n\r\n /**\r\n * Changes Shadowbox to display the item in the gallery specified by index.\r\n *\r\n * @param {Number} index\r\n * @public\r\n */\r\n S.change = function (index) {\r\n if (!(index in S.gallery)) {\r\n if (S.options.continuous) {\r\n index = (index < 0 ? S.gallery.length + index : 0); // loop\r\n if (!(index in S.gallery))\r\n return;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n S.current = index;\r\n\r\n if (typeof slideTimer == \"number\") {\r\n clearTimeout(slideTimer);\r\n slideTimer = null;\r\n slideDelay = slideStart = 0;\r\n }\r\n\r\n S.options.onChange(S.getCurrent());\r\n\r\n load(true);\r\n }\r\n\r\n /**\r\n * Advances to the next item in the gallery.\r\n *\r\n * @public\r\n */\r\n S.next = function () {\r\n S.change(S.current + 1);\r\n }\r\n\r\n /**\r\n * Rewinds to the previous gallery item.\r\n *\r\n * @public\r\n */\r\n S.previous = function () {\r\n S.change(S.current - 1);\r\n }\r\n\r\n /**\r\n * Calculates the dimensions for Shadowbox.\r\n *\r\n * @param {Number} height The height of the object\r\n * @param {Number} width The width of the object\r\n * @param {Number} maxHeight The maximum available height\r\n * @param {Number} maxWidth The maximum available width\r\n * @param {Number} topBottom The extra top/bottom required for borders/toolbars\r\n * @param {Number} leftRight The extra left/right required for borders/toolbars\r\n * @param {Number} padding The amount of padding (in pixels) to maintain around\r\n * the edge of the viewport\r\n * @param {Boolean} preserveAspect True to preserve the original aspect ratio when the\r\n * given dimensions are too large\r\n * @return {Object} The new dimensions object\r\n * @public\r\n */\r\n S.setDimensions = function (height, width, maxHeight, maxWidth, topBottom, leftRight, padding, preserveAspect) {\r\n var originalHeight = height,\r\n originalWidth = width;\r\n\r\n // constrain height/width to max\r\n var extraHeight = 2 * padding + topBottom;\r\n if (height + extraHeight > maxHeight)\r\n height = maxHeight - extraHeight;\r\n var extraWidth = 2 * padding + leftRight;\r\n if (width + extraWidth > maxWidth)\r\n width = maxWidth - extraWidth;\r\n\r\n // determine if object is oversized\r\n var changeHeight = (originalHeight - height) / originalHeight,\r\n changeWidth = (originalWidth - width) / originalWidth,\r\n oversized = (changeHeight > 0 || changeWidth > 0);\r\n\r\n // adjust height/width if too large\r\n if (preserveAspect && oversized) {\r\n // preserve aspect ratio according to greatest change\r\n if (changeHeight > changeWidth) {\r\n width = Math.round((originalWidth / originalHeight) * height);\r\n } else if (changeWidth > changeHeight) {\r\n height = Math.round((originalHeight / originalWidth) * width);\r\n }\r\n }\r\n\r\n S.dimensions = {\r\n height: height + topBottom,\r\n width: width + leftRight,\r\n innerHeight: height,\r\n innerWidth: width,\r\n top: Math.floor((maxHeight - (height + extraHeight)) / 2 + padding),\r\n left: Math.floor((maxWidth - (width + extraWidth)) / 2 + padding),\r\n oversized: oversized\r\n };\r\n\r\n return S.dimensions;\r\n }\r\n\r\n /**\r\n * Returns an array with two elements. The first is an array of objects that\r\n * constitutes the gallery, and the second is the index of the given object in\r\n * that array.\r\n *\r\n * @param {mixed} obj\r\n * @return {Array} An array containing the gallery and current index\r\n * @public\r\n */\r\n S.makeGallery = function (obj) {\r\n var gallery = [], current = -1;\r\n\r\n if (typeof obj == \"string\")\r\n obj = [obj];\r\n\r\n if (typeof obj.length == \"number\") {\r\n each(obj, function (i, o) {\r\n if (o.content) {\r\n gallery[i] = o;\r\n } else {\r\n gallery[i] = { content: o };\r\n }\r\n });\r\n current = 0;\r\n } else {\r\n if (obj.tagName) {\r\n // check the cache for this object before building one on the fly\r\n var cacheObj = S.getCache(obj);\r\n obj = cacheObj ? cacheObj : S.makeObject(obj);\r\n }\r\n\r\n if (obj.gallery) {\r\n // gallery object, build gallery from cached gallery objects\r\n gallery = [];\r\n\r\n var o;\r\n for (var key in S.cache) {\r\n o = S.cache[key];\r\n if (o.gallery && o.gallery == obj.gallery) {\r\n if (current == -1 && o.content == obj.content)\r\n current = gallery.length;\r\n gallery.push(o);\r\n }\r\n }\r\n\r\n if (current == -1) {\r\n gallery.unshift(obj);\r\n current = 0;\r\n }\r\n } else {\r\n // single object, no gallery\r\n gallery = [obj];\r\n current = 0;\r\n }\r\n }\r\n\r\n // use apply to break references to each gallery object here because\r\n // the code may modify certain properties of these objects from here\r\n // on out and we want to preserve the original in case the same object\r\n // is used again in a future call\r\n each(gallery, function (i, o) {\r\n gallery[i] = apply({}, o);\r\n });\r\n\r\n return [gallery, current];\r\n }\r\n\r\n /**\r\n * Extracts parameters from a link element and returns an object containing\r\n * (most of) the following keys:\r\n *\r\n * - content: The URL of the linked to content\r\n * - player: The abbreviated name of the player to use for the object (can automatically\r\n * be determined in most cases)\r\n * - title: The title to use for the object (optional)\r\n * - gallery: The name of the gallery the object belongs to (optional)\r\n * - height: The height of the object (in pixels, only required for movies and Flash)\r\n * - width: The width of the object (in pixels, only required for movies and Flash)\r\n * - options: A set of options to use for this object (optional)\r\n * - link: A reference to the original link element\r\n *\r\n * A custom set of options may be passed in here that will be applied when\r\n * this object is displayed. However, any options that are specified in\r\n * the link's HTML markup will trump options given here.\r\n *\r\n * @param {HTMLElement} link\r\n * @param {Object} options\r\n * @return {Object} An object representing the link\r\n * @public\r\n */\r\n S.makeObject = function (link, options) {\r\n var obj = {\r\n // accessing the href attribute directly here (instead of using\r\n // getAttribute) should give a full URL instead of a relative one\r\n content: link.href,\r\n title: link.getAttribute(\"title\") || \"\",\r\n link: link\r\n };\r\n\r\n // remove link-level options from top-level options\r\n if (options) {\r\n options = apply({}, options);\r\n each([\"player\", \"title\", \"height\", \"width\", \"gallery\"], function (i, o) {\r\n if (typeof options[o] != \"undefined\") {\r\n obj[o] = options[o];\r\n delete options[o];\r\n }\r\n });\r\n obj.options = options;\r\n } else {\r\n obj.options = {};\r\n }\r\n\r\n if (!obj.player)\r\n obj.player = S.getPlayer(obj.content);\r\n\r\n // HTML options always trump JavaScript options, so do these last\r\n var rel = link.getAttribute(\"rel\");\r\n if (rel) {\r\n // extract gallery name from shadowbox[name] format\r\n var match = rel.match(galleryName);\r\n if (match)\r\n obj.gallery = escape(match[2]);\r\n\r\n // extract any other parameters\r\n each(rel.split(';'), function (i, p) {\r\n match = p.match(inlineParam);\r\n if (match)\r\n obj[match[1]] = match[2];\r\n });\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Attempts to automatically determine the correct player to use for an object based\r\n * on its content attribute. Defaults to \"iframe\" when the content type cannot\r\n * automatically be determined.\r\n *\r\n * @param {String} content The content attribute of the object\r\n * @return {String} The name of the player to use\r\n * @public\r\n */\r\n S.getPlayer = function (content) {\r\n if (content.indexOf(\"#\") > -1 && content.indexOf(document.location.href) == 0)\r\n return \"inline\";\r\n\r\n // strip query string for player detection purposes\r\n var q = content.indexOf(\"?\");\r\n if (q > -1)\r\n content = content.substring(0, q);\r\n\r\n // get file extension\r\n var ext, m = content.match(fileExtension);\r\n if (m)\r\n ext = m[0].toLowerCase();\r\n\r\n if (ext) {\r\n if (S.img && S.img.ext.indexOf(ext) > -1)\r\n return \"img\";\r\n if (S.swf && S.swf.ext.indexOf(ext) > -1)\r\n return \"swf\";\r\n if (S.flv && S.flv.ext.indexOf(ext) > -1)\r\n return \"flv\";\r\n if (S.qt && S.qt.ext.indexOf(ext) > -1) {\r\n if (S.wmp && S.wmp.ext.indexOf(ext) > -1) {\r\n return \"qtwmp\"; // can be played by either QuickTime or Windows Media Player\r\n } else {\r\n return \"qt\";\r\n }\r\n }\r\n if (S.wmp && S.wmp.ext.indexOf(ext) > -1)\r\n return \"wmp\";\r\n }\r\n\r\n return \"iframe\";\r\n }\r\n\r\n /**\r\n * Filters the current gallery for unsupported objects.\r\n *\r\n * @private\r\n */\r\n function filterGallery() {\r\n var err = S.errorInfo, plugins = S.plugins, obj, remove, needed,\r\n m, format, replace, inlineEl, flashVersion;\r\n\r\n for (var i = 0; i < S.gallery.length; ++i) {\r\n obj = S.gallery[i]\r\n\r\n remove = false; // remove the object?\r\n needed = null; // what plugins are needed?\r\n\r\n switch (obj.player) {\r\n case \"flv\":\r\n case \"swf\":\r\n if (!plugins.fla)\r\n needed = \"fla\";\r\n break;\r\n case \"qt\":\r\n if (!plugins.qt)\r\n needed = \"qt\";\r\n break;\r\n case \"wmp\":\r\n if (S.isMac) {\r\n if (plugins.qt && plugins.f4m) {\r\n obj.player = \"qt\";\r\n } else {\r\n needed = \"qtf4m\";\r\n }\r\n } else if (!plugins.wmp) {\r\n needed = \"wmp\";\r\n }\r\n break;\r\n case \"qtwmp\":\r\n if (plugins.qt) {\r\n obj.player = \"qt\";\r\n } else if (plugins.wmp) {\r\n obj.player = \"wmp\";\r\n } else {\r\n needed = \"qtwmp\";\r\n }\r\n break;\r\n }\r\n\r\n // handle unsupported elements\r\n if (needed) {\r\n if (S.options.handleUnsupported == \"link\") {\r\n // generate a link to the appropriate plugin download page(s)\r\n switch (needed) {\r\n case \"qtf4m\":\r\n format = \"shared\";\r\n replace = [err.qt.url, err.qt.name, err.f4m.url, err.f4m.name];\r\n break;\r\n case \"qtwmp\":\r\n format = \"either\";\r\n replace = [err.qt.url, err.qt.name, err.wmp.url, err.wmp.name];\r\n break;\r\n default:\r\n format = \"single\";\r\n replace = [err[needed].url, err[needed].name];\r\n }\r\n\r\n obj.player = \"html\";\r\n obj.content = '
' + sprintf(S.lang.errors[format], replace) + '
';\r\n } else {\r\n remove = true;\r\n }\r\n } else if (obj.player == \"inline\") {\r\n // inline element, retrieve innerHTML\r\n m = inlineId.exec(obj.content);\r\n if (m) {\r\n inlineEl = get(m[1]);\r\n if (inlineEl) {\r\n obj.content = inlineEl.innerHTML;\r\n } else {\r\n // cannot find element with id\r\n remove = true;\r\n }\r\n } else {\r\n // cannot determine element id from content string\r\n remove = true;\r\n }\r\n } else if (obj.player == \"swf\" || obj.player == \"flv\") {\r\n flashVersion = (obj.options && obj.options.flashVersion) || S.options.flashVersion;\r\n\r\n if (S.flash && !S.flash.hasFlashPlayerVersion(flashVersion)) {\r\n // express install will be triggered because the client does not meet the\r\n // minimum required version of Flash. set height and width to those of expressInstall.swf\r\n obj.width = 310;\r\n // minimum height is 127, but +20 pixels on top and bottom looks better\r\n obj.height = 177;\r\n }\r\n }\r\n\r\n if (remove) {\r\n S.gallery.splice(i, 1);\r\n\r\n if (i < S.current) {\r\n --S.current; // maintain integrity of S.current\r\n } else if (i == S.current) {\r\n S.current = i > 0 ? i - 1 : i; // look for supported neighbor\r\n }\r\n\r\n // decrement index for next loop\r\n --i;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sets up a listener on the document for keydown events.\r\n *\r\n * @param {Boolean} on True to enable the listener, false to disable\r\n * @private\r\n */\r\n function listenKeys(on) {\r\n if (!S.options.enableKeys)\r\n return;\r\n\r\n (on ? addEvent : removeEvent)(document, \"keydown\", handleKey);\r\n }\r\n\r\n /**\r\n * A listener function that is fired when a key is pressed.\r\n *\r\n * @param {Event} e The keydown event\r\n * @private\r\n */\r\n function handleKey(e) {\r\n // don't handle events with modifier keys\r\n if (e.metaKey || e.shiftKey || e.altKey || e.ctrlKey)\r\n return;\r\n\r\n var code = keyCode(e), handler;\r\n\r\n switch (code) {\r\n /* CHANGE FROM ORIGINAL: remove keyboard keys q and x for closing Shadowbox, because it causes unexpected close while typing in iframe with input fields */\r\n //case 81: // q\r\n //case 88: // x\r\n /* END OF CHANGE*/\r\n case 27: // esc\r\n handler = S.close;\r\n break;\r\n case 37: // left\r\n handler = S.previous;\r\n break;\r\n case 39: // right\r\n handler = S.next;\r\n break;\r\n case 32: // space\r\n handler = typeof slideTimer == \"number\" ? S.pause : S.play;\r\n break;\r\n }\r\n\r\n if (handler) {\r\n preventDefault(e);\r\n handler();\r\n }\r\n }\r\n\r\n /**\r\n * Loads the current object.\r\n *\r\n * @param {Boolean} True if changing from a previous object\r\n * @private\r\n */\r\n function load(changing) {\r\n listenKeys(false);\r\n\r\n var obj = S.getCurrent();\r\n\r\n // determine player, inline is really just html\r\n var player = (obj.player == \"inline\" ? \"html\" : obj.player);\r\n\r\n if (typeof S[player] != \"function\")\r\n throw \"unknown player \" + player;\r\n\r\n if (changing) {\r\n S.player.remove();\r\n S.revertOptions();\r\n S.applyOptions(obj.options || {});\r\n }\r\n\r\n S.player = new S[player](obj, S.playerId);\r\n\r\n // preload neighboring gallery images\r\n if (S.gallery.length > 1) {\r\n var next = S.gallery[S.current + 1] || S.gallery[0];\r\n if (next.player == \"img\") {\r\n var a = new Image();\r\n a.src = next.content;\r\n }\r\n var prev = S.gallery[S.current - 1] || S.gallery[S.gallery.length - 1];\r\n if (prev.player == \"img\") {\r\n var b = new Image();\r\n b.src = prev.content;\r\n }\r\n }\r\n\r\n S.skin.onLoad(changing, waitReady);\r\n }\r\n\r\n /**\r\n * Waits until the current object is ready to be displayed.\r\n *\r\n * @private\r\n */\r\n function waitReady() {\r\n if (!open)\r\n return;\r\n\r\n if (typeof S.player.ready != \"undefined\") {\r\n // wait for content to be ready before loading\r\n var timer = setInterval(function () {\r\n if (open) {\r\n if (S.player.ready) {\r\n clearInterval(timer);\r\n timer = null;\r\n S.skin.onReady(show);\r\n }\r\n } else {\r\n clearInterval(timer);\r\n timer = null;\r\n }\r\n }, 10);\r\n } else {\r\n S.skin.onReady(show);\r\n }\r\n }\r\n\r\n /**\r\n * Displays the current object.\r\n *\r\n * @private\r\n */\r\n function show() {\r\n if (!open)\r\n return;\r\n\r\n S.player.append(S.skin.body, S.dimensions);\r\n\r\n S.skin.onShow(finish);\r\n }\r\n\r\n /**\r\n * Finishes up any remaining tasks after the object is displayed.\r\n *\r\n * @private\r\n */\r\n function finish() {\r\n if (!open)\r\n return;\r\n\r\n if (S.player.onLoad)\r\n S.player.onLoad();\r\n\r\n S.options.onFinish(S.getCurrent());\r\n\r\n if (!S.isPaused())\r\n S.play(); // kick off next slide\r\n\r\n listenKeys(true);\r\n }\r\n if (!Array.prototype.indexOf) {\r\n Array.prototype.indexOf = function (obj, from) {\r\n var len = this.length >>> 0;\r\n\r\n from = from || 0;\r\n if (from < 0)\r\n from += len;\r\n\r\n for (; from < len; ++from) {\r\n if (from in this && this[from] === obj)\r\n return from;\r\n }\r\n\r\n return -1;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current time in milliseconds.\r\n *\r\n * @return {Number}\r\n * @private\r\n */\r\n function now() {\r\n return (new Date).getTime();\r\n }\r\n\r\n /**\r\n * Applies all properties of extension to original.\r\n *\r\n * @param {Object} original\r\n * @param {Object} extension\r\n * @return {Object} The original object\r\n * @private\r\n */\r\n function apply(original, extension) {\r\n for (var property in extension)\r\n original[property] = extension[property];\r\n return original;\r\n }\r\n\r\n /**\r\n * Calls the given callback function for each element in obj. Note: obj must be an array-like\r\n * object.\r\n *\r\n * @param {Array|mixed} obj\r\n * @param {Function} callback\r\n * @private\r\n */\r\n function each(obj, callback) {\r\n var i = 0, len = obj.length;\r\n for (var value = obj[0]; i < len && callback.call(value, i, value) !== false; value = obj[++i]) { }\r\n }\r\n\r\n /**\r\n * Formats a string with the elements in the replacement array. The string should contain\r\n * tokens in the format {n} where n corresponds to the index of property name of the replacement\r\n * in the replace object.\r\n *\r\n * Example:\r\n *\r\n * format('Hello {0}', ['World']); // \"Hello World\"\r\n * format('Hello {world}', {world: \"World\"}); // \"Hello World\"\r\n *\r\n * @param {String} str The format spec string\r\n * @param {Array|Object} replace The array/object of replacement values\r\n * @return {String} The formatted string\r\n * @private\r\n */\r\n function sprintf(str, replace) {\r\n return str.replace(/\\{(\\w+?)\\}/g, function (match, i) {\r\n return replace[i];\r\n });\r\n }\r\n\r\n /**\r\n * A no-op function.\r\n *\r\n * @private\r\n */\r\n function noop() { }\r\n\r\n /**\r\n * Gets the element with the given id.\r\n *\r\n * @param {String} id\r\n * @return {HTMLElement}\r\n * @private\r\n */\r\n function get(id) {\r\n return document.getElementById(id);\r\n }\r\n\r\n /**\r\n * Removes an element from the DOM.\r\n *\r\n * @param {HTMLElement} el The element to remove\r\n * @private\r\n */\r\n function remove(el) {\r\n el.parentNode.removeChild(el);\r\n }\r\n\r\n /**\r\n * True if this browser supports opacity.\r\n *\r\n * @type {Boolean}\r\n * @private\r\n */\r\n var supportsOpacity = true,\r\n\r\n /**\r\n * True if the browser supports fixed positioning.\r\n *\r\n * @type {Boolean}\r\n * @private\r\n */\r\n supportsFixed = true;\r\n\r\n /**\r\n * Checks the level of support the browser provides. Should be called when\r\n * the DOM is ready to be manipulated.\r\n *\r\n * @private\r\n */\r\n function checkSupport() {\r\n var body = document.body,\r\n div = document.createElement(\"div\");\r\n\r\n // detect opacity support\r\n supportsOpacity = typeof div.style.opacity === \"string\";\r\n\r\n // detect support for fixed positioning\r\n div.style.position = \"fixed\";\r\n div.style.margin = 0;\r\n div.style.top = \"20px\";\r\n body.appendChild(div, body.firstChild);\r\n supportsFixed = div.offsetTop == 20;\r\n body.removeChild(div);\r\n }\r\n\r\n /**\r\n * Gets the computed value of the style on the given element.\r\n *\r\n * Note: This function is not safe for retrieving float values or non-pixel values\r\n * in IE.\r\n *\r\n * @param {HTMLElement} el The element\r\n * @param {String} style The camel-cased name of the style\r\n * @return {mixed} The computed value of the given style\r\n * @public\r\n */\r\n S.getStyle = (function () {\r\n var opacity = /opacity=([^)]*)/,\r\n getComputedStyle = document.defaultView && document.defaultView.getComputedStyle;\r\n\r\n return function (el, style) {\r\n var ret;\r\n\r\n if (!supportsOpacity && style == \"opacity\" && el.currentStyle) {\r\n ret = opacity.test(el.currentStyle.filter || \"\") ? (parseFloat(RegExp.$1) / 100) + \"\" : \"\";\r\n return ret === \"\" ? \"1\" : ret;\r\n }\r\n\r\n if (getComputedStyle) {\r\n var computedStyle = getComputedStyle(el, null);\r\n\r\n if (computedStyle)\r\n ret = computedStyle[style];\r\n\r\n if (style == \"opacity\" && ret == \"\")\r\n ret = \"1\";\r\n } else {\r\n ret = el.currentStyle[style];\r\n }\r\n\r\n return ret;\r\n }\r\n })();\r\n\r\n /**\r\n * Appends an HTML fragment to the given element.\r\n *\r\n * @param {HTMLElement} el\r\n * @param {String} html The HTML fragment to use\r\n * @public\r\n */\r\n S.appendHTML = function (el, html) {\r\n if (el.insertAdjacentHTML) {\r\n el.insertAdjacentHTML(\"BeforeEnd\", html);\r\n } else if (el.lastChild) {\r\n var range = el.ownerDocument.createRange();\r\n range.setStartAfter(el.lastChild);\r\n var frag = range.createContextualFragment(html);\r\n el.appendChild(frag);\r\n } else {\r\n el.innerHTML = html;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the window size. The dimension may be either \"Height\" or \"Width\".\r\n *\r\n * @param {String} dimension\r\n * @return {Number}\r\n * @public\r\n */\r\n S.getWindowSize = function (dimension) {\r\n if (document.compatMode === \"CSS1Compat\")\r\n return document.documentElement[\"client\" + dimension];\r\n\r\n return document.body[\"client\" + dimension];\r\n }\r\n\r\n /**\r\n * Sets an element's opacity.\r\n *\r\n * @param {HTMLElement} el\r\n * @param {Number} opacity\r\n * @public\r\n */\r\n S.setOpacity = function (el, opacity) {\r\n var style = el.style;\r\n if (supportsOpacity) {\r\n style.opacity = (opacity == 1 ? \"\" : opacity);\r\n } else {\r\n style.zoom = 1; // trigger hasLayout\r\n if (opacity == 1) {\r\n if (typeof style.filter == \"string\" && (/alpha/i).test(style.filter))\r\n style.filter = style.filter.replace(/\\s*[\\w\\.]*alpha\\([^\\)]*\\);?/gi, \"\");\r\n } else {\r\n style.filter = (style.filter || \"\").replace(/\\s*[\\w\\.]*alpha\\([^\\)]*\\)/gi, \"\") +\r\n \" alpha(opacity=\" + (opacity * 100) + \")\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clears the opacity setting on the given element. Needed for some cases in IE.\r\n *\r\n * @param {HTMLElement} el\r\n * @public\r\n */\r\n S.clearOpacity = function (el) {\r\n S.setOpacity(el, 1);\r\n }\r\n /**\r\n * The base adapter for Shadowbox.\r\n */\r\n\r\n /**\r\n * Gets the target of the given event. The event object passed will be\r\n * the same object that is passed to listeners registered with\r\n * addEvent().\r\n *\r\n * @param {Event} e The event object\r\n * @return {HTMLElement} The event's target element\r\n * @private\r\n */\r\n function getTarget(e) {\r\n var target = e.target ? e.target : e.srcElement;\r\n return target.nodeType == 3 ? target.parentNode : target;\r\n }\r\n\r\n /**\r\n * Gets the page X/Y coordinates of the mouse event in an [x, y] array.\r\n * The page coordinates should be relative to the document, and not the\r\n * viewport. The event object provided here will be the same object that\r\n * is passed to listeners registered with addEvent().\r\n *\r\n * @param {Event} e The event object\r\n * @return {Array} The page X/Y coordinates\r\n * @private\r\n */\r\n function getPageXY(e) {\r\n var x = e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)),\r\n y = e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop));\r\n return [x, y];\r\n }\r\n\r\n /**\r\n * Prevents the event's default behavior. The event object passed will\r\n * be the same object that is passed to listeners registered with\r\n * addEvent().\r\n *\r\n * @param {Event} e The event object\r\n * @private\r\n */\r\n function preventDefault(e) {\r\n e.preventDefault();\r\n }\r\n\r\n /**\r\n * Gets the key code of the given event object (keydown). The event\r\n * object here will be the same object that is passed to listeners\r\n * registered with addEvent().\r\n *\r\n * @param {Event} e The event object\r\n * @return {Number} The key code of the event\r\n * @private\r\n */\r\n function keyCode(e) {\r\n return e.which ? e.which : e.keyCode;\r\n }\r\n\r\n // Event handling functions below modified from original by Dean Edwards\r\n // http://dean.edwards.name/my/events.js\r\n\r\n /**\r\n * Adds an event handler to the given element. The handler should be called\r\n * in the scope of the element with the event object as its only argument.\r\n *\r\n * @param {HTMLElement} el The element to listen to\r\n * @param {String} type The type of the event to add\r\n * @param {Function} handler The event handler function\r\n * @private\r\n */\r\n function addEvent(el, type, handler) {\r\n if (el.addEventListener) {\r\n el.addEventListener(type, handler, false);\r\n } else {\r\n if (el.nodeType === 3 || el.nodeType === 8)\r\n return;\r\n\r\n if (el.setInterval && (el !== window && !el.frameElement))\r\n el = window;\r\n\r\n if (!handler.__guid)\r\n handler.__guid = addEvent.guid++;\r\n\r\n if (!el.events)\r\n el.events = {};\r\n\r\n var handlers = el.events[type];\r\n if (!handlers) {\r\n handlers = el.events[type] = {};\r\n\r\n if (el[\"on\" + type])\r\n handlers[0] = el[\"on\" + type];\r\n }\r\n\r\n handlers[handler.__guid] = handler;\r\n\r\n el[\"on\" + type] = addEvent.handleEvent;\r\n }\r\n }\r\n\r\n addEvent.guid = 1;\r\n\r\n addEvent.handleEvent = function (event) {\r\n var result = true;\r\n event = event || addEvent.fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);\r\n var handlers = this.events[event.type];\r\n\r\n for (var i in handlers) {\r\n this.__handleEvent = handlers[i];\r\n if (this.__handleEvent(event) === false)\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n addEvent.preventDefault = function () {\r\n this.returnValue = false;\r\n }\r\n\r\n addEvent.stopPropagation = function () {\r\n this.cancelBubble = true;\r\n }\r\n\r\n addEvent.fixEvent = function (e) {\r\n e.preventDefault = addEvent.preventDefault;\r\n e.stopPropagation = addEvent.stopPropagation;\r\n return e;\r\n }\r\n\r\n /**\r\n * Removes an event handler from the given element.\r\n *\r\n * @param {HTMLElement} el The DOM element to stop listening to\r\n * @param {String} type The type of the event to remove\r\n * @param {Function} handler The event handler function\r\n * @private\r\n */\r\n function removeEvent(el, type, handler) {\r\n if (el.removeEventListener) {\r\n el.removeEventListener(type, handler, false);\r\n } else {\r\n if (el.events && el.events[type])\r\n delete el.events[type][handler.__guid];\r\n }\r\n }\r\n // The code in this file is adapted for Shadowbox from the jQuery JavaScript library\r\n\r\n /**\r\n * True if Shadowbox has been loaded into the DOM, false otherwise.\r\n *\r\n * @type {Boolean}\r\n * @private\r\n */\r\n var loaded = false,\r\n\r\n /**\r\n * The callback function for the DOMContentLoaded browser event.\r\n *\r\n * @type {Function}\r\n * @private\r\n */\r\n DOMContentLoaded;\r\n\r\n if (document.addEventListener) {\r\n DOMContentLoaded = function () {\r\n document.removeEventListener(\"DOMContentLoaded\", DOMContentLoaded, false);\r\n S.load();\r\n }\r\n } else if (document.attachEvent) {\r\n DOMContentLoaded = function () {\r\n if (document.readyState === \"complete\") {\r\n document.detachEvent(\"onreadystatechange\", DOMContentLoaded);\r\n S.load();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * A DOM ready check for IE.\r\n *\r\n * @private\r\n */\r\n function doScrollCheck() {\r\n if (loaded)\r\n return;\r\n\r\n try {\r\n document.documentElement.doScroll(\"left\");\r\n } catch (e) {\r\n setTimeout(doScrollCheck, 1);\r\n return;\r\n }\r\n\r\n S.load();\r\n }\r\n\r\n /**\r\n * Waits for the DOM to be ready before firing the given callback function.\r\n *\r\n * @param {Function} callback\r\n * @private\r\n */\r\n function bindLoad() {\r\n if (document.readyState === \"complete\")\r\n return S.load();\r\n\r\n if (document.addEventListener) {\r\n document.addEventListener(\"DOMContentLoaded\", DOMContentLoaded, false);\r\n window.addEventListener(\"load\", S.load, false);\r\n } else if (document.attachEvent) {\r\n document.attachEvent(\"onreadystatechange\", DOMContentLoaded);\r\n window.attachEvent(\"onload\", S.load);\r\n\r\n var topLevel = false;\r\n try {\r\n topLevel = window.frameElement === null;\r\n } catch (e) { }\r\n\r\n if (document.documentElement.doScroll && topLevel)\r\n doScrollCheck();\r\n }\r\n }\r\n\r\n /**\r\n * Loads the Shadowbox code into the DOM. Is called automatically when the document\r\n * is ready.\r\n *\r\n * @public\r\n */\r\n S.load = function () {\r\n if (loaded)\r\n return;\r\n\r\n if (!document.body)\r\n return setTimeout(S.load, 13);\r\n\r\n loaded = true;\r\n\r\n checkSupport();\r\n\r\n S.onReady();\r\n\r\n if (!S.options.skipSetup)\r\n S.setup();\r\n\r\n S.skin.init();\r\n }\r\n /**\r\n * Contains plugin support information. Each property of this object is a\r\n * boolean indicating whether that plugin is supported. Keys are:\r\n *\r\n * - fla: Flash player\r\n * - qt: QuickTime player\r\n * - wmp: Windows Media player\r\n * - f4m: Flip4Mac plugin\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.plugins = {};\r\n\r\n if (navigator.plugins && navigator.plugins.length) {\r\n var names = [];\r\n each(navigator.plugins, function (i, p) {\r\n names.push(p.name);\r\n });\r\n names = names.join(',');\r\n\r\n var f4m = names.indexOf('Flip4Mac') > -1;\r\n\r\n S.plugins = {\r\n fla: names.indexOf('Shockwave Flash') > -1,\r\n qt: names.indexOf('QuickTime') > -1,\r\n wmp: !f4m && names.indexOf('Windows Media') > -1, // if it's Flip4Mac, it's not really WMP\r\n f4m: f4m\r\n };\r\n } else {\r\n var detectPlugin = function (name) {\r\n var axo;\r\n try {\r\n axo = new ActiveXObject(name);\r\n } catch (e) { }\r\n return !!axo;\r\n }\r\n\r\n S.plugins = {\r\n fla: detectPlugin('ShockwaveFlash.ShockwaveFlash'),\r\n qt: detectPlugin('QuickTime.QuickTime'),\r\n wmp: detectPlugin('wmplayer.ocx'),\r\n f4m: false\r\n };\r\n }\r\n // used to match the rel attribute of links\r\n var relAttr = /^(light|shadow)box/i,\r\n\r\n /**\r\n * The name of the expando property that Shadowbox uses on HTML elements\r\n * to store the cache index of that element.\r\n *\r\n * @type {String}\r\n * @private\r\n */\r\n expando = \"shadowboxCacheKey\",\r\n\r\n /**\r\n * A unique id counter.\r\n *\r\n * @type {Number}\r\n * @private\r\n */\r\n cacheKey = 1;\r\n\r\n /**\r\n * Contains all link objects that have been cached.\r\n *\r\n * @type {Object}\r\n * @public\r\n */\r\n S.cache = {};\r\n\r\n /**\r\n * Resolves a link selector. The selector may be omitted to select all anchor elements\r\n * on the page with rel=\"shadowbox\" or, if Shadowbox.find is used, it may be a single CSS\r\n * selector or an array of [selector, [context]].\r\n *\r\n * @param {mixed} selector\r\n * @return {Array} An array of matching link elements\r\n * @public\r\n */\r\n S.select = function (selector) {\r\n var links = [];\r\n\r\n if (!selector) {\r\n var rel;\r\n each(document.getElementsByTagName(\"a\"), function (i, el) {\r\n rel = el.getAttribute(\"rel\");\r\n if (rel && relAttr.test(rel))\r\n links.push(el);\r\n });\r\n } else {\r\n var length = selector.length;\r\n if (length) {\r\n if (typeof selector == \"string\") {\r\n if (S.find)\r\n links = S.find(selector); // css selector\r\n } else if (length == 2 && typeof selector[0] == \"string\" && selector[1].nodeType) {\r\n if (S.find)\r\n links = S.find(selector[0], selector[1]); // css selector + context\r\n } else {\r\n // array of links (or node list)\r\n for (var i = 0; i < length; ++i)\r\n links[i] = selector[i];\r\n }\r\n } else {\r\n links.push(selector); // single link\r\n }\r\n }\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Adds all links specified by the given selector to the cache. If no selector\r\n * is provided, will select every anchor element on the page with rel=\"shadowbox\".\r\n *\r\n * Note: Options given here apply only to links selected by the given selector.\r\n * Also, because elements do not support the rel attribute, they must be\r\n * explicitly passed to this method.\r\n *\r\n * @param {mixed} selector\r\n * @param {Object} options Some options to use for the given links\r\n * @public\r\n */\r\n S.setup = function (selector, options) {\r\n each(S.select(selector), function (i, link) {\r\n S.addCache(link, options);\r\n });\r\n }\r\n\r\n /**\r\n * Removes all links specified by the given selector from the cache.\r\n *\r\n * @param {mixed} selector\r\n * @public\r\n */\r\n S.teardown = function (selector) {\r\n each(S.select(selector), function (i, link) {\r\n S.removeCache(link);\r\n });\r\n }\r\n\r\n /**\r\n * Adds the given link element to the cache with the given options.\r\n *\r\n * @param {HTMLElement} link\r\n * @param {Object} options\r\n * @public\r\n */\r\n S.addCache = function (link, options) {\r\n var key = link[expando];\r\n\r\n if (key == undefined) {\r\n key = cacheKey++;\r\n // assign cache key expando, use integer primitive to avoid memory leak in IE\r\n link[expando] = key;\r\n // add onclick listener\r\n addEvent(link, \"click\", handleClick);\r\n }\r\n\r\n S.cache[key] = S.makeObject(link, options);\r\n }\r\n\r\n /**\r\n * Removes the given link element from the cache.\r\n *\r\n * @param {HTMLElement} link\r\n * @public\r\n */\r\n S.removeCache = function (link) {\r\n removeEvent(link, \"click\", handleClick);\r\n delete S.cache[link[expando]];\r\n link[expando] = null;\r\n }\r\n\r\n /**\r\n * Gets the object from cache representative of the given link element (if there is one).\r\n *\r\n * @param {HTMLElement} link\r\n * @return {Object}\r\n * @public\r\n */\r\n S.getCache = function (link) {\r\n var key = link[expando];\r\n return (key in S.cache && S.cache[key]);\r\n }\r\n\r\n /**\r\n * Removes all onclick listeners from elements that have previously been setup with\r\n * Shadowbox and clears all objects from cache.\r\n *\r\n * @public\r\n */\r\n S.clearCache = function () {\r\n for (var key in S.cache)\r\n S.removeCache(S.cache[key].link);\r\n\r\n S.cache = {};\r\n }\r\n\r\n /**\r\n * Handles all clicks on links that have been set up to work with Shadowbox\r\n * and cancels the default event behavior when appropriate.\r\n *\r\n * @param {Event} e The click event\r\n * @private\r\n */\r\n function handleClick(e) {\r\n //preventDefault(e); // good for debugging\r\n\r\n S.open(this);\r\n\r\n if (S.gallery.length)\r\n preventDefault(e);\r\n }\r\n /*!\r\n * Sizzle CSS Selector Engine - v1.0\r\n * Copyright 2009, The Dojo Foundation\r\n * Released under the MIT, BSD, and GPL Licenses.\r\n * More information: http://sizzlejs.com/\r\n *\r\n * Modified for inclusion in Shadowbox.js\r\n */\r\n S.find = (function () {\r\n\r\n var chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^[\\]]*\\]|['\"][^'\"]*['\"]|[^[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,\r\n done = 0,\r\n toString = Object.prototype.toString,\r\n hasDuplicate = false,\r\n baseHasDuplicate = true;\r\n\r\n // Here we check if the JavaScript engine is using some sort of\r\n // optimization where it does not always call our comparision\r\n // function. If that is the case, discard the hasDuplicate value.\r\n // Thus far that includes Google Chrome.\r\n [0, 0].sort(function () {\r\n baseHasDuplicate = false;\r\n return 0;\r\n });\r\n\r\n var Sizzle = function (selector, context, results, seed) {\r\n results = results || [];\r\n var origContext = context = context || document;\r\n\r\n if (context.nodeType !== 1 && context.nodeType !== 9) {\r\n return [];\r\n }\r\n\r\n if (!selector || typeof selector !== \"string\") {\r\n return results;\r\n }\r\n\r\n var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context),\r\n soFar = selector;\r\n\r\n // Reset the position of the chunker regexp (start from head)\r\n while ((chunker.exec(\"\"), m = chunker.exec(soFar)) !== null) {\r\n soFar = m[3];\r\n\r\n parts.push(m[1]);\r\n\r\n if (m[2]) {\r\n extra = m[3];\r\n break;\r\n }\r\n }\r\n\r\n if (parts.length > 1 && origPOS.exec(selector)) {\r\n if (parts.length === 2 && Expr.relative[parts[0]]) {\r\n set = posProcess(parts[0] + parts[1], context);\r\n } else {\r\n set = Expr.relative[parts[0]] ?\r\n [context] :\r\n Sizzle(parts.shift(), context);\r\n\r\n while (parts.length) {\r\n selector = parts.shift();\r\n\r\n if (Expr.relative[selector]) {\r\n selector += parts.shift();\r\n }\r\n\r\n set = posProcess(selector, set);\r\n }\r\n }\r\n } else {\r\n // Take a shortcut and set the context if the root selector is an ID\r\n // (but not if it'll be faster if the inner selector is an ID)\r\n if (!seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&\r\n Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1])) {\r\n var ret = Sizzle.find(parts.shift(), context, contextXML);\r\n context = ret.expr ? Sizzle.filter(ret.expr, ret.set)[0] : ret.set[0];\r\n }\r\n\r\n if (context) {\r\n var ret = seed ?\r\n\t\t\t\t{ expr: parts.pop(), set: makeArray(seed) } :\r\n Sizzle.find(parts.pop(), parts.length === 1 && (parts[0] === \"~\" || parts[0] === \"+\") && context.parentNode ? context.parentNode : context, contextXML);\r\n set = ret.expr ? Sizzle.filter(ret.expr, ret.set) : ret.set;\r\n\r\n if (parts.length > 0) {\r\n checkSet = makeArray(set);\r\n } else {\r\n prune = false;\r\n }\r\n\r\n while (parts.length) {\r\n var cur = parts.pop(), pop = cur;\r\n\r\n if (!Expr.relative[cur]) {\r\n cur = \"\";\r\n } else {\r\n pop = parts.pop();\r\n }\r\n\r\n if (pop == null) {\r\n pop = context;\r\n }\r\n\r\n Expr.relative[cur](checkSet, pop, contextXML);\r\n }\r\n } else {\r\n checkSet = parts = [];\r\n }\r\n }\r\n\r\n if (!checkSet) {\r\n checkSet = set;\r\n }\r\n\r\n if (!checkSet) {\r\n throw \"Syntax error, unrecognized expression: \" + (cur || selector);\r\n }\r\n\r\n if (toString.call(checkSet) === \"[object Array]\") {\r\n if (!prune) {\r\n results.push.apply(results, checkSet);\r\n } else if (context && context.nodeType === 1) {\r\n for (var i = 0; checkSet[i] != null; i++) {\r\n if (checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i]))) {\r\n results.push(set[i]);\r\n }\r\n }\r\n } else {\r\n for (var i = 0; checkSet[i] != null; i++) {\r\n if (checkSet[i] && checkSet[i].nodeType === 1) {\r\n results.push(set[i]);\r\n }\r\n }\r\n }\r\n } else {\r\n makeArray(checkSet, results);\r\n }\r\n\r\n if (extra) {\r\n Sizzle(extra, origContext, results, seed);\r\n Sizzle.uniqueSort(results);\r\n }\r\n\r\n return results;\r\n };\r\n\r\n Sizzle.uniqueSort = function (results) {\r\n if (sortOrder) {\r\n hasDuplicate = baseHasDuplicate;\r\n results.sort(sortOrder);\r\n\r\n if (hasDuplicate) {\r\n for (var i = 1; i < results.length; i++) {\r\n if (results[i] === results[i - 1]) {\r\n results.splice(i--, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return results;\r\n };\r\n\r\n Sizzle.matches = function (expr, set) {\r\n return Sizzle(expr, null, null, set);\r\n };\r\n\r\n Sizzle.find = function (expr, context, isXML) {\r\n var set, match;\r\n\r\n if (!expr) {\r\n return [];\r\n }\r\n\r\n for (var i = 0, l = Expr.order.length; i < l; i++) {\r\n var type = Expr.order[i], match;\r\n\r\n if ((match = Expr.leftMatch[type].exec(expr))) {\r\n var left = match[1];\r\n match.splice(1, 1);\r\n\r\n if (left.substr(left.length - 1) !== \"\\\\\") {\r\n match[1] = (match[1] || \"\").replace(/\\\\/g, \"\");\r\n set = Expr.find[type](match, context, isXML);\r\n if (set != null) {\r\n expr = expr.replace(Expr.match[type], \"\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!set) {\r\n set = context.getElementsByTagName(\"*\");\r\n }\r\n\r\n return { set: set, expr: expr };\r\n };\r\n\r\n Sizzle.filter = function (expr, set, inplace, not) {\r\n var old = expr, result = [], curLoop = set, match, anyFound,\r\n isXMLFilter = set && set[0] && isXML(set[0]);\r\n\r\n while (expr && set.length) {\r\n for (var type in Expr.filter) {\r\n if ((match = Expr.match[type].exec(expr)) != null) {\r\n var filter = Expr.filter[type], found, item;\r\n anyFound = false;\r\n\r\n if (curLoop === result) {\r\n result = [];\r\n }\r\n\r\n if (Expr.preFilter[type]) {\r\n match = Expr.preFilter[type](match, curLoop, inplace, result, not, isXMLFilter);\r\n\r\n if (!match) {\r\n anyFound = found = true;\r\n } else if (match === true) {\r\n continue;\r\n }\r\n }\r\n\r\n if (match) {\r\n for (var i = 0; (item = curLoop[i]) != null; i++) {\r\n if (item) {\r\n found = filter(item, match, i, curLoop);\r\n var pass = not ^ !!found;\r\n\r\n if (inplace && found != null) {\r\n if (pass) {\r\n anyFound = true;\r\n } else {\r\n curLoop[i] = false;\r\n }\r\n } else if (pass) {\r\n result.push(item);\r\n anyFound = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (found !== undefined) {\r\n if (!inplace) {\r\n curLoop = result;\r\n }\r\n\r\n expr = expr.replace(Expr.match[type], \"\");\r\n\r\n if (!anyFound) {\r\n return [];\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Improper expression\r\n if (expr === old) {\r\n if (anyFound == null) {\r\n throw \"Syntax error, unrecognized expression: \" + expr;\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n old = expr;\r\n }\r\n\r\n return curLoop;\r\n };\r\n\r\n var Expr = Sizzle.selectors = {\r\n order: [\"ID\", \"NAME\", \"TAG\"],\r\n match: {\r\n ID: /#((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)/,\r\n CLASS: /\\.((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)/,\r\n NAME: /\\[name=['\"]*((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)['\"]*\\]/,\r\n ATTR: /\\[\\s*((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)\\s*(?:(\\S?=)\\s*(['\"]*)(.*?)\\3|)\\s*\\]/,\r\n TAG: /^((?:[\\w\\u00c0-\\uFFFF\\*-]|\\\\.)+)/,\r\n CHILD: /:(only|nth|last|first)-child(?:\\((even|odd|[\\dn+-]*)\\))?/,\r\n POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^-]|$)/,\r\n PSEUDO: /:((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)(?:\\((['\"]*)((?:\\([^\\)]+\\)|[^\\2\\(\\)]*)+)\\2\\))?/\r\n },\r\n leftMatch: {},\r\n attrMap: {\r\n \"class\": \"className\",\r\n \"for\": \"htmlFor\"\r\n },\r\n attrHandle: {\r\n href: function (elem) {\r\n return elem.getAttribute(\"href\");\r\n }\r\n },\r\n relative: {\r\n \"+\": function (checkSet, part) {\r\n var isPartStr = typeof part === \"string\",\r\n isTag = isPartStr && !/\\W/.test(part),\r\n isPartStrNotTag = isPartStr && !isTag;\r\n\r\n if (isTag) {\r\n part = part.toLowerCase();\r\n }\r\n\r\n for (var i = 0, l = checkSet.length, elem; i < l; i++) {\r\n if ((elem = checkSet[i])) {\r\n while ((elem = elem.previousSibling) && elem.nodeType !== 1) { }\r\n\r\n checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?\r\n elem || false :\r\n elem === part;\r\n }\r\n }\r\n\r\n if (isPartStrNotTag) {\r\n Sizzle.filter(part, checkSet, true);\r\n }\r\n },\r\n \">\": function (checkSet, part) {\r\n var isPartStr = typeof part === \"string\";\r\n\r\n if (isPartStr && !/\\W/.test(part)) {\r\n part = part.toLowerCase();\r\n\r\n for (var i = 0, l = checkSet.length; i < l; i++) {\r\n var elem = checkSet[i];\r\n if (elem) {\r\n var parent = elem.parentNode;\r\n checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;\r\n }\r\n }\r\n } else {\r\n for (var i = 0, l = checkSet.length; i < l; i++) {\r\n var elem = checkSet[i];\r\n if (elem) {\r\n checkSet[i] = isPartStr ?\r\n elem.parentNode :\r\n elem.parentNode === part;\r\n }\r\n }\r\n\r\n if (isPartStr) {\r\n Sizzle.filter(part, checkSet, true);\r\n }\r\n }\r\n },\r\n \"\": function (checkSet, part, isXML) {\r\n var doneName = done++, checkFn = dirCheck;\r\n\r\n if (typeof part === \"string\" && !/\\W/.test(part)) {\r\n var nodeCheck = part = part.toLowerCase();\r\n checkFn = dirNodeCheck;\r\n }\r\n\r\n checkFn(\"parentNode\", part, doneName, checkSet, nodeCheck, isXML);\r\n },\r\n \"~\": function (checkSet, part, isXML) {\r\n var doneName = done++, checkFn = dirCheck;\r\n\r\n if (typeof part === \"string\" && !/\\W/.test(part)) {\r\n var nodeCheck = part = part.toLowerCase();\r\n checkFn = dirNodeCheck;\r\n }\r\n\r\n checkFn(\"previousSibling\", part, doneName, checkSet, nodeCheck, isXML);\r\n }\r\n },\r\n find: {\r\n ID: function (match, context, isXML) {\r\n if (typeof context.getElementById !== \"undefined\" && !isXML) {\r\n var m = context.getElementById(match[1]);\r\n return m ? [m] : [];\r\n }\r\n },\r\n NAME: function (match, context) {\r\n if (typeof context.getElementsByName !== \"undefined\") {\r\n var ret = [], results = context.getElementsByName(match[1]);\r\n\r\n for (var i = 0, l = results.length; i < l; i++) {\r\n if (results[i].getAttribute(\"name\") === match[1]) {\r\n ret.push(results[i]);\r\n }\r\n }\r\n\r\n return ret.length === 0 ? null : ret;\r\n }\r\n },\r\n TAG: function (match, context) {\r\n return context.getElementsByTagName(match[1]);\r\n }\r\n },\r\n preFilter: {\r\n CLASS: function (match, curLoop, inplace, result, not, isXML) {\r\n match = \" \" + match[1].replace(/\\\\/g, \"\") + \" \";\r\n\r\n if (isXML) {\r\n return match;\r\n }\r\n\r\n for (var i = 0, elem; (elem = curLoop[i]) != null; i++) {\r\n if (elem) {\r\n if (not ^ (elem.className && (\" \" + elem.className + \" \").replace(/[\\t\\n]/g, \" \").indexOf(match) >= 0)) {\r\n if (!inplace) {\r\n result.push(elem);\r\n }\r\n } else if (inplace) {\r\n curLoop[i] = false;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n ID: function (match) {\r\n return match[1].replace(/\\\\/g, \"\");\r\n },\r\n TAG: function (match, curLoop) {\r\n return match[1].toLowerCase();\r\n },\r\n CHILD: function (match) {\r\n if (match[1] === \"nth\") {\r\n // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'\r\n var test = /(-?)(\\d*)n((?:\\+|-)?\\d*)/.exec(\r\n match[2] === \"even\" && \"2n\" || match[2] === \"odd\" && \"2n+1\" ||\r\n !/\\D/.test(match[2]) && \"0n+\" + match[2] || match[2]);\r\n\r\n // calculate the numbers (first)n+(last) including if they are negative\r\n match[2] = (test[1] + (test[2] || 1)) - 0;\r\n match[3] = test[3] - 0;\r\n }\r\n\r\n // TODO: Move to normal caching system\r\n match[0] = done++;\r\n\r\n return match;\r\n },\r\n ATTR: function (match, curLoop, inplace, result, not, isXML) {\r\n var name = match[1].replace(/\\\\/g, \"\");\r\n\r\n if (!isXML && Expr.attrMap[name]) {\r\n match[1] = Expr.attrMap[name];\r\n }\r\n\r\n if (match[2] === \"~=\") {\r\n match[4] = \" \" + match[4] + \" \";\r\n }\r\n\r\n return match;\r\n },\r\n PSEUDO: function (match, curLoop, inplace, result, not) {\r\n if (match[1] === \"not\") {\r\n // If we're dealing with a complex expression, or a simple one\r\n if ((chunker.exec(match[3]) || \"\").length > 1 || /^\\w/.test(match[3])) {\r\n match[3] = Sizzle(match[3], null, null, curLoop);\r\n } else {\r\n var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);\r\n if (!inplace) {\r\n result.push.apply(result, ret);\r\n }\r\n return false;\r\n }\r\n } else if (Expr.match.POS.test(match[0]) || Expr.match.CHILD.test(match[0])) {\r\n return true;\r\n }\r\n\r\n return match;\r\n },\r\n POS: function (match) {\r\n match.unshift(true);\r\n return match;\r\n }\r\n },\r\n filters: {\r\n enabled: function (elem) {\r\n return elem.disabled === false && elem.type !== \"hidden\";\r\n },\r\n disabled: function (elem) {\r\n return elem.disabled === true;\r\n },\r\n checked: function (elem) {\r\n return elem.checked === true;\r\n },\r\n selected: function (elem) {\r\n // Accessing this property makes selected-by-default\r\n // options in Safari work properly\r\n elem.parentNode.selectedIndex;\r\n return elem.selected === true;\r\n },\r\n parent: function (elem) {\r\n return !!elem.firstChild;\r\n },\r\n empty: function (elem) {\r\n return !elem.firstChild;\r\n },\r\n has: function (elem, i, match) {\r\n return !!Sizzle(match[3], elem).length;\r\n },\r\n header: function (elem) {\r\n return /h\\d/i.test(elem.nodeName);\r\n },\r\n text: function (elem) {\r\n return \"text\" === elem.type;\r\n },\r\n radio: function (elem) {\r\n return \"radio\" === elem.type;\r\n },\r\n checkbox: function (elem) {\r\n return \"checkbox\" === elem.type;\r\n },\r\n file: function (elem) {\r\n return \"file\" === elem.type;\r\n },\r\n password: function (elem) {\r\n return \"password\" === elem.type;\r\n },\r\n submit: function (elem) {\r\n return \"submit\" === elem.type;\r\n },\r\n image: function (elem) {\r\n return \"image\" === elem.type;\r\n },\r\n reset: function (elem) {\r\n return \"reset\" === elem.type;\r\n },\r\n button: function (elem) {\r\n return \"button\" === elem.type || elem.nodeName.toLowerCase() === \"button\";\r\n },\r\n input: function (elem) {\r\n return /input|select|textarea|button/i.test(elem.nodeName);\r\n }\r\n },\r\n setFilters: {\r\n first: function (elem, i) {\r\n return i === 0;\r\n },\r\n last: function (elem, i, match, array) {\r\n return i === array.length - 1;\r\n },\r\n even: function (elem, i) {\r\n return i % 2 === 0;\r\n },\r\n odd: function (elem, i) {\r\n return i % 2 === 1;\r\n },\r\n lt: function (elem, i, match) {\r\n return i < match[3] - 0;\r\n },\r\n gt: function (elem, i, match) {\r\n return i > match[3] - 0;\r\n },\r\n nth: function (elem, i, match) {\r\n return match[3] - 0 === i;\r\n },\r\n eq: function (elem, i, match) {\r\n return match[3] - 0 === i;\r\n }\r\n },\r\n filter: {\r\n PSEUDO: function (elem, match, i, array) {\r\n var name = match[1], filter = Expr.filters[name];\r\n\r\n if (filter) {\r\n return filter(elem, i, match, array);\r\n } else if (name === \"contains\") {\r\n return (elem.textContent || elem.innerText || getText([elem]) || \"\").indexOf(match[3]) >= 0;\r\n } else if (name === \"not\") {\r\n var not = match[3];\r\n\r\n for (var i = 0, l = not.length; i < l; i++) {\r\n if (not[i] === elem) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n } else {\r\n throw \"Syntax error, unrecognized expression: \" + name;\r\n }\r\n },\r\n CHILD: function (elem, match) {\r\n var type = match[1], node = elem;\r\n switch (type) {\r\n case 'only':\r\n case 'first':\r\n while ((node = node.previousSibling)) {\r\n if (node.nodeType === 1) {\r\n return false;\r\n }\r\n }\r\n if (type === \"first\") {\r\n return true;\r\n }\r\n node = elem;\r\n case 'last':\r\n while ((node = node.nextSibling)) {\r\n if (node.nodeType === 1) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n case 'nth':\r\n var first = match[2], last = match[3];\r\n\r\n if (first === 1 && last === 0) {\r\n return true;\r\n }\r\n\r\n var doneName = match[0],\r\n parent = elem.parentNode;\r\n\r\n if (parent && (parent.sizcache !== doneName || !elem.nodeIndex)) {\r\n var count = 0;\r\n for (node = parent.firstChild; node; node = node.nextSibling) {\r\n if (node.nodeType === 1) {\r\n node.nodeIndex = ++count;\r\n }\r\n }\r\n parent.sizcache = doneName;\r\n }\r\n\r\n var diff = elem.nodeIndex - last;\r\n if (first === 0) {\r\n return diff === 0;\r\n } else {\r\n return (diff % first === 0 && diff / first >= 0);\r\n }\r\n }\r\n },\r\n ID: function (elem, match) {\r\n return elem.nodeType === 1 && elem.getAttribute(\"id\") === match;\r\n },\r\n TAG: function (elem, match) {\r\n return (match === \"*\" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;\r\n },\r\n CLASS: function (elem, match) {\r\n return (\" \" + (elem.className || elem.getAttribute(\"class\")) + \" \")\r\n .indexOf(match) > -1;\r\n },\r\n ATTR: function (elem, match) {\r\n var name = match[1],\r\n result = Expr.attrHandle[name] ?\r\n Expr.attrHandle[name](elem) :\r\n elem[name] != null ?\r\n elem[name] :\r\n elem.getAttribute(name),\r\n value = result + \"\",\r\n type = match[2],\r\n check = match[4];\r\n\r\n return result == null ?\r\n type === \"!=\" :\r\n type === \"=\" ?\r\n value === check :\r\n type === \"*=\" ?\r\n value.indexOf(check) >= 0 :\r\n type === \"~=\" ?\r\n (\" \" + value + \" \").indexOf(check) >= 0 :\r\n !check ?\r\n value && result !== false :\r\n type === \"!=\" ?\r\n value !== check :\r\n type === \"^=\" ?\r\n value.indexOf(check) === 0 :\r\n type === \"$=\" ?\r\n value.substr(value.length - check.length) === check :\r\n type === \"|=\" ?\r\n value === check || value.substr(0, check.length + 1) === check + \"-\" :\r\n false;\r\n },\r\n POS: function (elem, match, i, array) {\r\n var name = match[2], filter = Expr.setFilters[name];\r\n\r\n if (filter) {\r\n return filter(elem, i, match, array);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var origPOS = Expr.match.POS;\r\n\r\n for (var type in Expr.match) {\r\n Expr.match[type] = new RegExp(Expr.match[type].source + /(?![^\\[]*\\])(?![^\\(]*\\))/.source);\r\n Expr.leftMatch[type] = new RegExp(/(^(?:.|\\r|\\n)*?)/.source + Expr.match[type].source);\r\n }\r\n\r\n var makeArray = function (array, results) {\r\n array = Array.prototype.slice.call(array, 0);\r\n\r\n if (results) {\r\n results.push.apply(results, array);\r\n return results;\r\n }\r\n\r\n return array;\r\n };\r\n\r\n // Perform a simple check to determine if the browser is capable of\r\n // converting a NodeList to an array using builtin methods.\r\n try {\r\n Array.prototype.slice.call(document.documentElement.childNodes, 0);\r\n\r\n // Provide a fallback method if it does not work\r\n } catch (e) {\r\n makeArray = function (array, results) {\r\n var ret = results || [];\r\n\r\n if (toString.call(array) === \"[object Array]\") {\r\n Array.prototype.push.apply(ret, array);\r\n } else {\r\n if (typeof array.length === \"number\") {\r\n for (var i = 0, l = array.length; i < l; i++) {\r\n ret.push(array[i]);\r\n }\r\n } else {\r\n for (var i = 0; array[i]; i++) {\r\n ret.push(array[i]);\r\n }\r\n }\r\n }\r\n\r\n return ret;\r\n };\r\n }\r\n\r\n var sortOrder;\r\n\r\n if (document.documentElement.compareDocumentPosition) {\r\n sortOrder = function (a, b) {\r\n if (!a.compareDocumentPosition || !b.compareDocumentPosition) {\r\n if (a == b) {\r\n hasDuplicate = true;\r\n }\r\n return a.compareDocumentPosition ? -1 : 1;\r\n }\r\n\r\n var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;\r\n if (ret === 0) {\r\n hasDuplicate = true;\r\n }\r\n return ret;\r\n };\r\n } else if (\"sourceIndex\" in document.documentElement) {\r\n sortOrder = function (a, b) {\r\n if (!a.sourceIndex || !b.sourceIndex) {\r\n if (a == b) {\r\n hasDuplicate = true;\r\n }\r\n return a.sourceIndex ? -1 : 1;\r\n }\r\n\r\n var ret = a.sourceIndex - b.sourceIndex;\r\n if (ret === 0) {\r\n hasDuplicate = true;\r\n }\r\n return ret;\r\n };\r\n } else if (document.createRange) {\r\n sortOrder = function (a, b) {\r\n if (!a.ownerDocument || !b.ownerDocument) {\r\n if (a == b) {\r\n hasDuplicate = true;\r\n }\r\n return a.ownerDocument ? -1 : 1;\r\n }\r\n\r\n var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();\r\n aRange.setStart(a, 0);\r\n aRange.setEnd(a, 0);\r\n bRange.setStart(b, 0);\r\n bRange.setEnd(b, 0);\r\n var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);\r\n if (ret === 0) {\r\n hasDuplicate = true;\r\n }\r\n return ret;\r\n };\r\n }\r\n\r\n // Utility function for retreiving the text value of an array of DOM nodes\r\n function getText(elems) {\r\n var ret = \"\", elem;\r\n\r\n for (var i = 0; elems[i]; i++) {\r\n elem = elems[i];\r\n\r\n // Get the text from text nodes and CDATA nodes\r\n if (elem.nodeType === 3 || elem.nodeType === 4) {\r\n ret += elem.nodeValue;\r\n\r\n // Traverse everything else, except comment nodes\r\n } else if (elem.nodeType !== 8) {\r\n ret += getText(elem.childNodes);\r\n }\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n // Check to see if the browser returns elements by name when\r\n // querying by getElementById (and provide a workaround)\r\n (function () {\r\n // We're going to inject a fake input element with a specified name\r\n var form = document.createElement(\"div\"),\r\n id = \"script\" + (new Date).getTime();\r\n form.innerHTML = \"\";\r\n\r\n // Inject it into the root element, check its status, and remove it quickly\r\n var root = document.documentElement;\r\n root.insertBefore(form, root.firstChild);\r\n\r\n // The workaround has to do additional checks after a getElementById\r\n // Which slows things down for other browsers (hence the branching)\r\n if (document.getElementById(id)) {\r\n Expr.find.ID = function (match, context, isXML) {\r\n if (typeof context.getElementById !== \"undefined\" && !isXML) {\r\n var m = context.getElementById(match[1]);\r\n return m ? m.id === match[1] || typeof m.getAttributeNode !== \"undefined\" && m.getAttributeNode(\"id\").nodeValue === match[1] ? [m] : undefined : [];\r\n }\r\n };\r\n\r\n Expr.filter.ID = function (elem, match) {\r\n var node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\r\n return elem.nodeType === 1 && node && node.nodeValue === match;\r\n };\r\n }\r\n\r\n root.removeChild(form);\r\n root = form = null; // release memory in IE\r\n })();\r\n\r\n (function () {\r\n // Check to see if the browser returns only elements\r\n // when doing getElementsByTagName(\"*\")\r\n\r\n // Create a fake element\r\n var div = document.createElement(\"div\");\r\n div.appendChild(document.createComment(\"\"));\r\n\r\n // Make sure no comments are found\r\n if (div.getElementsByTagName(\"*\").length > 0) {\r\n Expr.find.TAG = function (match, context) {\r\n var results = context.getElementsByTagName(match[1]);\r\n\r\n // Filter out possible comments\r\n if (match[1] === \"*\") {\r\n var tmp = [];\r\n\r\n for (var i = 0; results[i]; i++) {\r\n if (results[i].nodeType === 1) {\r\n tmp.push(results[i]);\r\n }\r\n }\r\n\r\n results = tmp;\r\n }\r\n\r\n return results;\r\n };\r\n }\r\n\r\n // Check to see if an attribute returns normalized href attributes\r\n div.innerHTML = \"\";\r\n if (div.firstChild && typeof div.firstChild.getAttribute !== \"undefined\" &&\r\n div.firstChild.getAttribute(\"href\") !== \"#\") {\r\n Expr.attrHandle.href = function (elem) {\r\n return elem.getAttribute(\"href\", 2);\r\n };\r\n }\r\n\r\n div = null; // release memory in IE\r\n })();\r\n\r\n if (document.querySelectorAll) {\r\n (function () {\r\n var oldSizzle = Sizzle, div = document.createElement(\"div\");\r\n div.innerHTML = \"

\";\r\n\r\n // Safari can't handle uppercase or unicode characters when\r\n // in quirks mode.\r\n if (div.querySelectorAll && div.querySelectorAll(\".TEST\").length === 0) {\r\n return;\r\n }\r\n\r\n Sizzle = function (query, context, extra, seed) {\r\n context = context || document;\r\n\r\n // Only use querySelectorAll on non-XML documents\r\n // (ID selectors don't work in non-HTML documents)\r\n if (!seed && context.nodeType === 9 && !isXML(context)) {\r\n try {\r\n return makeArray(context.querySelectorAll(query), extra);\r\n } catch (e) { }\r\n }\r\n\r\n return oldSizzle(query, context, extra, seed);\r\n };\r\n\r\n for (var prop in oldSizzle) {\r\n Sizzle[prop] = oldSizzle[prop];\r\n }\r\n\r\n div = null; // release memory in IE\r\n })();\r\n }\r\n\r\n (function () {\r\n var div = document.createElement(\"div\");\r\n\r\n div.innerHTML = \"
\";\r\n\r\n // Opera can't find a second classname (in 9.6)\r\n // Also, make sure that getElementsByClassName actually exists\r\n if (!div.getElementsByClassName || div.getElementsByClassName(\"e\").length === 0) {\r\n return;\r\n }\r\n\r\n // Safari caches class attributes, doesn't catch changes (in 3.2)\r\n div.lastChild.className = \"e\";\r\n\r\n if (div.getElementsByClassName(\"e\").length === 1) {\r\n return;\r\n }\r\n\r\n Expr.order.splice(1, 0, \"CLASS\");\r\n Expr.find.CLASS = function (match, context, isXML) {\r\n if (typeof context.getElementsByClassName !== \"undefined\" && !isXML) {\r\n return context.getElementsByClassName(match[1]);\r\n }\r\n };\r\n\r\n div = null; // release memory in IE\r\n })();\r\n\r\n function dirNodeCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {\r\n for (var i = 0, l = checkSet.length; i < l; i++) {\r\n var elem = checkSet[i];\r\n if (elem) {\r\n elem = elem[dir];\r\n var match = false;\r\n\r\n while (elem) {\r\n if (elem.sizcache === doneName) {\r\n match = checkSet[elem.sizset];\r\n break;\r\n }\r\n\r\n if (elem.nodeType === 1 && !isXML) {\r\n elem.sizcache = doneName;\r\n elem.sizset = i;\r\n }\r\n\r\n if (elem.nodeName.toLowerCase() === cur) {\r\n match = elem;\r\n break;\r\n }\r\n\r\n elem = elem[dir];\r\n }\r\n\r\n checkSet[i] = match;\r\n }\r\n }\r\n }\r\n\r\n function dirCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {\r\n for (var i = 0, l = checkSet.length; i < l; i++) {\r\n var elem = checkSet[i];\r\n if (elem) {\r\n elem = elem[dir];\r\n var match = false;\r\n\r\n while (elem) {\r\n if (elem.sizcache === doneName) {\r\n match = checkSet[elem.sizset];\r\n break;\r\n }\r\n\r\n if (elem.nodeType === 1) {\r\n if (!isXML) {\r\n elem.sizcache = doneName;\r\n elem.sizset = i;\r\n }\r\n if (typeof cur !== \"string\") {\r\n if (elem === cur) {\r\n match = true;\r\n break;\r\n }\r\n\r\n } else if (Sizzle.filter(cur, [elem]).length > 0) {\r\n match = elem;\r\n break;\r\n }\r\n }\r\n\r\n elem = elem[dir];\r\n }\r\n\r\n checkSet[i] = match;\r\n }\r\n }\r\n }\r\n\r\n var contains = document.compareDocumentPosition ? function (a, b) {\r\n return a.compareDocumentPosition(b) & 16;\r\n } : function (a, b) {\r\n return a !== b && (a.contains ? a.contains(b) : true);\r\n };\r\n\r\n var isXML = function (elem) {\r\n // documentElement is verified for cases where it doesn't yet exist\r\n // (such as loading iframes in IE - #4833)\r\n var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;\r\n return documentElement ? documentElement.nodeName !== \"HTML\" : false;\r\n };\r\n\r\n var posProcess = function (selector, context) {\r\n var tmpSet = [], later = \"\", match,\r\n root = context.nodeType ? [context] : context;\r\n\r\n // Position selectors must be done after the filter\r\n // And so must :not(positional) so we move all PSEUDOs to the end\r\n while ((match = Expr.match.PSEUDO.exec(selector))) {\r\n later += match[0];\r\n selector = selector.replace(Expr.match.PSEUDO, \"\");\r\n }\r\n\r\n selector = Expr.relative[selector] ? selector + \"*\" : selector;\r\n\r\n for (var i = 0, l = root.length; i < l; i++) {\r\n Sizzle(selector, root[i], tmpSet);\r\n }\r\n\r\n return Sizzle.filter(later, tmpSet);\r\n };\r\n\r\n // EXPOSE\r\n\r\n //window.Sizzle = Sizzle;\r\n return Sizzle;\r\n\r\n })();\r\n /*!\r\n * SWFObject v2.1 \r\n * Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis\r\n * This software is released under the MIT License \r\n *\r\n * Modified for inclusion in Shadowbox.js\r\n */\r\n S.flash = (function () {\r\n\r\n var swfobject = function () {\r\n\r\n var UNDEF = \"undefined\",\r\n OBJECT = \"object\",\r\n SHOCKWAVE_FLASH = \"Shockwave Flash\",\r\n SHOCKWAVE_FLASH_AX = \"ShockwaveFlash.ShockwaveFlash\",\r\n FLASH_MIME_TYPE = \"application/x-shockwave-flash\",\r\n EXPRESS_INSTALL_ID = \"SWFObjectExprInst\",\r\n\r\n win = window,\r\n doc = document,\r\n nav = navigator,\r\n\r\n domLoadFnArr = [],\r\n regObjArr = [],\r\n objIdArr = [],\r\n listenersArr = [],\r\n script,\r\n timer = null,\r\n storedAltContent = null,\r\n storedAltContentId = null,\r\n isDomLoaded = false,\r\n isExpressInstallActive = false;\r\n\r\n /* Centralized function for browser feature detection\r\n - Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features\r\n - User agent string detection is only used when no alternative is possible\r\n - Is executed directly for optimal performance\r\n */\r\n var ua = function () {\r\n var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,\r\n playerVersion = [0, 0, 0],\r\n d = null;\r\n if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {\r\n d = nav.plugins[SHOCKWAVE_FLASH].description;\r\n if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes[\"application/x-shockwave-flash\"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+\r\n d = d.replace(/^.*\\s+(\\S+\\s+\\S+$)/, \"$1\");\r\n playerVersion[0] = parseInt(d.replace(/^(.*)\\..*$/, \"$1\"), 10);\r\n playerVersion[1] = parseInt(d.replace(/^.*\\.(.*)\\s.*$/, \"$1\"), 10);\r\n playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, \"$1\"), 10) : 0;\r\n }\r\n }\r\n else if (typeof win.ActiveXObject != UNDEF) {\r\n var a = null, fp6Crash = false;\r\n try {\r\n a = new ActiveXObject(SHOCKWAVE_FLASH_AX + \".7\");\r\n }\r\n catch (e) {\r\n try {\r\n a = new ActiveXObject(SHOCKWAVE_FLASH_AX + \".6\");\r\n playerVersion = [6, 0, 21];\r\n a.AllowScriptAccess = \"always\";\t // Introduced in fp6.0.47\r\n }\r\n catch (e) {\r\n if (playerVersion[0] == 6) {\r\n fp6Crash = true;\r\n }\r\n }\r\n if (!fp6Crash) {\r\n try {\r\n a = new ActiveXObject(SHOCKWAVE_FLASH_AX);\r\n }\r\n catch (e) { }\r\n }\r\n }\r\n if (!fp6Crash && a) { // a will return null when ActiveX is disabled\r\n try {\r\n d = a.GetVariable(\"$version\");\t// Will crash fp6.0.21/23/29\r\n if (d) {\r\n d = d.split(\" \")[1].split(\",\");\r\n playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];\r\n }\r\n }\r\n catch (e) { }\r\n }\r\n }\r\n var u = nav.userAgent.toLowerCase(),\r\n p = nav.platform.toLowerCase(),\r\n webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\\/(\\d+(\\.\\d+)?).*$/, \"$1\")) : false, // returns either the webkit version or false if not webkit\r\n ie = false,\r\n windows = p ? /win/.test(p) : /win/.test(u),\r\n mac = p ? /mac/.test(p) : /mac/.test(u);\r\n /*@cc_on\r\n ie = true;\r\n @if (@_win32)\r\n windows = true;\r\n @elif (@_mac)\r\n mac = true;\r\n @end\r\n @*/\r\n return { w3cdom: w3cdom, pv: playerVersion, webkit: webkit, ie: ie, win: windows, mac: mac };\r\n }();\r\n\r\n /* Cross-browser onDomLoad\r\n - Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/\r\n - Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)\r\n */\r\n var onDomLoad = function () {\r\n if (!ua.w3cdom) {\r\n return;\r\n }\r\n addDomLoadEvent(main);\r\n if (ua.ie && ua.win) {\r\n try {\t // Avoid a possible Operation Aborted error\r\n doc.write(\"\"); // String is split into pieces to avoid Norton AV to add code that can cause errors\r\n script = getElementById(\"__ie_ondomload\");\r\n if (script) {\r\n addListener(script, \"onreadystatechange\", checkReadyState);\r\n }\r\n }\r\n catch (e) { }\r\n }\r\n if (ua.webkit && typeof doc.readyState != UNDEF) {\r\n timer = setInterval(function () { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); } }, 10);\r\n }\r\n if (typeof doc.addEventListener != UNDEF) {\r\n doc.addEventListener(\"DOMContentLoaded\", callDomLoadFunctions, null);\r\n }\r\n addLoadEvent(callDomLoadFunctions);\r\n }();\r\n\r\n function checkReadyState() {\r\n if (script.readyState == \"complete\") {\r\n script.parentNode.removeChild(script);\r\n callDomLoadFunctions();\r\n }\r\n }\r\n\r\n function callDomLoadFunctions() {\r\n if (isDomLoaded) {\r\n return;\r\n }\r\n if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don't want to fire it too early\r\n var s = createElement(\"span\");\r\n try { // Avoid a possible Operation Aborted error\r\n var t = doc.getElementsByTagName(\"body\")[0].appendChild(s);\r\n t.parentNode.removeChild(t);\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n }\r\n isDomLoaded = true;\r\n if (timer) {\r\n clearInterval(timer);\r\n timer = null;\r\n }\r\n var dl = domLoadFnArr.length;\r\n for (var i = 0; i < dl; i++) {\r\n domLoadFnArr[i]();\r\n }\r\n }\r\n\r\n function addDomLoadEvent(fn) {\r\n if (isDomLoaded) {\r\n fn();\r\n }\r\n else {\r\n domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+\r\n }\r\n }\r\n\r\n /* Cross-browser onload\r\n - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/\r\n - Will fire an event as soon as a web page including all of its assets are loaded\r\n */\r\n function addLoadEvent(fn) {\r\n if (typeof win.addEventListener != UNDEF) {\r\n win.addEventListener(\"load\", fn, false);\r\n }\r\n else if (typeof doc.addEventListener != UNDEF) {\r\n doc.addEventListener(\"load\", fn, false);\r\n }\r\n else if (typeof win.attachEvent != UNDEF) {\r\n addListener(win, \"onload\", fn);\r\n }\r\n else if (typeof win.onload == \"function\") {\r\n var fnOld = win.onload;\r\n win.onload = function () {\r\n fnOld();\r\n fn();\r\n };\r\n }\r\n else {\r\n win.onload = fn;\r\n }\r\n }\r\n\r\n /* Main function\r\n - Will preferably execute onDomLoad, otherwise onload (as a fallback)\r\n */\r\n function main() { // Static publishing only\r\n var rl = regObjArr.length;\r\n for (var i = 0; i < rl; i++) { // For each registered object element\r\n var id = regObjArr[i].id;\r\n if (ua.pv[0] > 0) {\r\n var obj = getElementById(id);\r\n if (obj) {\r\n regObjArr[i].width = obj.getAttribute(\"width\") ? obj.getAttribute(\"width\") : \"0\";\r\n regObjArr[i].height = obj.getAttribute(\"height\") ? obj.getAttribute(\"height\") : \"0\";\r\n if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!\r\n if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements\r\n fixParams(obj);\r\n }\r\n setVisibility(id, true);\r\n }\r\n else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion(\"6.0.65\") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only)\r\n showExpressInstall(regObjArr[i]);\r\n }\r\n else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content\r\n displayAltContent(obj);\r\n }\r\n }\r\n }\r\n else {\t// If no fp is installed, we let the object element do its job (show alternative content)\r\n setVisibility(id, true);\r\n }\r\n }\r\n }\r\n\r\n /* Fix nested param elements, which are ignored by older webkit engines\r\n - This includes Safari up to and including version 1.2.2 on Mac OS 10.3\r\n - Fall back to the proprietary embed element\r\n */\r\n function fixParams(obj) {\r\n var nestedObj = obj.getElementsByTagName(OBJECT)[0];\r\n if (nestedObj) {\r\n var e = createElement(\"embed\"), a = nestedObj.attributes;\r\n if (a) {\r\n var al = a.length;\r\n for (var i = 0; i < al; i++) {\r\n if (a[i].nodeName == \"DATA\") {\r\n e.setAttribute(\"src\", a[i].nodeValue);\r\n }\r\n else {\r\n e.setAttribute(a[i].nodeName, a[i].nodeValue);\r\n }\r\n }\r\n }\r\n var c = nestedObj.childNodes;\r\n if (c) {\r\n var cl = c.length;\r\n for (var j = 0; j < cl; j++) {\r\n if (c[j].nodeType == 1 && c[j].nodeName == \"PARAM\") {\r\n e.setAttribute(c[j].getAttribute(\"name\"), c[j].getAttribute(\"value\"));\r\n }\r\n }\r\n }\r\n obj.parentNode.replaceChild(e, obj);\r\n }\r\n }\r\n\r\n /* Show the Adobe Express Install dialog\r\n - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75\r\n */\r\n function showExpressInstall(regObj) {\r\n isExpressInstallActive = true;\r\n var obj = getElementById(regObj.id);\r\n if (obj) {\r\n if (regObj.altContentId) {\r\n var ac = getElementById(regObj.altContentId);\r\n if (ac) {\r\n storedAltContent = ac;\r\n storedAltContentId = regObj.altContentId;\r\n }\r\n }\r\n else {\r\n storedAltContent = abstractAltContent(obj);\r\n }\r\n if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {\r\n regObj.width = \"310\";\r\n }\r\n if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {\r\n regObj.height = \"137\";\r\n }\r\n doc.title = doc.title.slice(0, 47) + \" - Flash Player Installation\";\r\n var pt = ua.ie && ua.win ? \"ActiveX\" : \"PlugIn\",\r\n dt = doc.title,\r\n fv = \"MMredirectURL=\" + win.location + \"&MMplayerType=\" + pt + \"&MMdoctitle=\" + dt,\r\n replaceId = regObj.id;\r\n // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element\r\n // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work\r\n if (ua.ie && ua.win && obj.readyState != 4) {\r\n var newObj = createElement(\"div\");\r\n replaceId += \"SWFObjectNew\";\r\n newObj.setAttribute(\"id\", replaceId);\r\n obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf\r\n obj.style.display = \"none\";\r\n var fn = function () {\r\n obj.parentNode.removeChild(obj);\r\n };\r\n addListener(win, \"onload\", fn);\r\n }\r\n createSWF({ data: regObj.expressInstall, id: EXPRESS_INSTALL_ID, width: regObj.width, height: regObj.height }, { flashvars: fv }, replaceId);\r\n }\r\n }\r\n\r\n /* Functions to abstract and display alternative content\r\n */\r\n function displayAltContent(obj) {\r\n if (ua.ie && ua.win && obj.readyState != 4) {\r\n // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element\r\n // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work\r\n var el = createElement(\"div\");\r\n obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content\r\n el.parentNode.replaceChild(abstractAltContent(obj), el);\r\n obj.style.display = \"none\";\r\n var fn = function () {\r\n obj.parentNode.removeChild(obj);\r\n };\r\n addListener(win, \"onload\", fn);\r\n }\r\n else {\r\n obj.parentNode.replaceChild(abstractAltContent(obj), obj);\r\n }\r\n }\r\n\r\n function abstractAltContent(obj) {\r\n var ac = createElement(\"div\");\r\n if (ua.win && ua.ie) {\r\n ac.innerHTML = obj.innerHTML;\r\n }\r\n else {\r\n var nestedObj = obj.getElementsByTagName(OBJECT)[0];\r\n if (nestedObj) {\r\n var c = nestedObj.childNodes;\r\n if (c) {\r\n var cl = c.length;\r\n for (var i = 0; i < cl; i++) {\r\n if (!(c[i].nodeType == 1 && c[i].nodeName == \"PARAM\") && !(c[i].nodeType == 8)) {\r\n ac.appendChild(c[i].cloneNode(true));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return ac;\r\n }\r\n\r\n /* Cross-browser dynamic SWF creation\r\n */\r\n function createSWF(attObj, parObj, id) {\r\n var r, el = getElementById(id);\r\n if (el) {\r\n if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content\r\n attObj.id = id;\r\n }\r\n if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML\r\n var att = \"\";\r\n for (var i in attObj) {\r\n if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {}\r\n if (i.toLowerCase() == \"data\") {\r\n parObj.movie = attObj[i];\r\n }\r\n else if (i.toLowerCase() == \"styleclass\") { // 'class' is an ECMA4 reserved keyword\r\n att += ' class=\"' + attObj[i] + '\"';\r\n }\r\n else if (i.toLowerCase() != \"classid\") {\r\n att += ' ' + i + '=\"' + attObj[i] + '\"';\r\n }\r\n }\r\n }\r\n var par = \"\";\r\n for (var j in parObj) {\r\n if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries\r\n par += '';\r\n }\r\n }\r\n el.outerHTML = '' + par + '';\r\n objIdArr[objIdArr.length] = attObj.id; // Stored to fix object 'leaks' on unload (dynamic publishing only)\r\n r = getElementById(attObj.id);\r\n }\r\n else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element\r\n var e = createElement(\"embed\");\r\n e.setAttribute(\"type\", FLASH_MIME_TYPE);\r\n for (var k in attObj) {\r\n if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries\r\n if (k.toLowerCase() == \"data\") {\r\n e.setAttribute(\"src\", attObj[k]);\r\n }\r\n else if (k.toLowerCase() == \"styleclass\") { // 'class' is an ECMA4 reserved keyword\r\n e.setAttribute(\"class\", attObj[k]);\r\n }\r\n else if (k.toLowerCase() != \"classid\") { // Filter out IE specific attribute\r\n e.setAttribute(k, attObj[k]);\r\n }\r\n }\r\n }\r\n for (var l in parObj) {\r\n if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries\r\n if (l.toLowerCase() != \"movie\") { // Filter out IE specific param element\r\n e.setAttribute(l, parObj[l]);\r\n }\r\n }\r\n }\r\n el.parentNode.replaceChild(e, el);\r\n r = e;\r\n }\r\n else { // Well-behaving browsers\r\n var o = createElement(OBJECT);\r\n o.setAttribute(\"type\", FLASH_MIME_TYPE);\r\n for (var m in attObj) {\r\n if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries\r\n if (m.toLowerCase() == \"styleclass\") { // 'class' is an ECMA4 reserved keyword\r\n o.setAttribute(\"class\", attObj[m]);\r\n }\r\n else if (m.toLowerCase() != \"classid\") { // Filter out IE specific attribute\r\n o.setAttribute(m, attObj[m]);\r\n }\r\n }\r\n }\r\n for (var n in parObj) {\r\n if (parObj[n] != Object.prototype[n] && n.toLowerCase() != \"movie\") { // Filter out prototype additions from other potential libraries and IE specific param element\r\n createObjParam(o, n, parObj[n]);\r\n }\r\n }\r\n el.parentNode.replaceChild(o, el);\r\n r = o;\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n function createObjParam(el, pName, pValue) {\r\n var p = createElement(\"param\");\r\n p.setAttribute(\"name\", pName);\r\n p.setAttribute(\"value\", pValue);\r\n el.appendChild(p);\r\n }\r\n\r\n /* Cross-browser SWF removal\r\n - Especially needed to safely and completely remove a SWF in Internet Explorer\r\n */\r\n function removeSWF(id) {\r\n var obj = getElementById(id);\r\n if (obj && (obj.nodeName == \"OBJECT\" || obj.nodeName == \"EMBED\")) {\r\n if (ua.ie && ua.win) {\r\n if (obj.readyState == 4) {\r\n removeObjectInIE(id);\r\n }\r\n else {\r\n win.attachEvent(\"onload\", function () {\r\n removeObjectInIE(id);\r\n });\r\n }\r\n }\r\n else {\r\n obj.parentNode.removeChild(obj);\r\n }\r\n }\r\n }\r\n\r\n function removeObjectInIE(id) {\r\n var obj = getElementById(id);\r\n if (obj) {\r\n for (var i in obj) {\r\n if (typeof obj[i] == \"function\") {\r\n obj[i] = null;\r\n }\r\n }\r\n obj.parentNode.removeChild(obj);\r\n }\r\n }\r\n\r\n /* Functions to optimize JavaScript compression\r\n */\r\n function getElementById(id) {\r\n var el = null;\r\n try {\r\n el = doc.getElementById(id);\r\n }\r\n catch (e) { }\r\n return el;\r\n }\r\n\r\n function createElement(el) {\r\n return doc.createElement(el);\r\n }\r\n\r\n /* Updated attachEvent function for Internet Explorer\r\n - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks\r\n */\r\n function addListener(target, eventType, fn) {\r\n target.attachEvent(eventType, fn);\r\n listenersArr[listenersArr.length] = [target, eventType, fn];\r\n }\r\n\r\n /* Flash Player and SWF content version matching\r\n */\r\n function hasPlayerVersion(rv) {\r\n var pv = ua.pv, v = rv.split(\".\");\r\n v[0] = parseInt(v[0], 10);\r\n v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. \"9\" instead of \"9.0.0\"\r\n v[2] = parseInt(v[2], 10) || 0;\r\n return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;\r\n }\r\n\r\n /* Cross-browser dynamic CSS creation\r\n - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php\r\n */\r\n function createCSS(sel, decl) {\r\n if (ua.ie && ua.mac) {\r\n return;\r\n }\r\n var h = doc.getElementsByTagName(\"head\")[0], s = createElement(\"style\");\r\n s.setAttribute(\"type\", \"text/css\");\r\n s.setAttribute(\"media\", \"screen\");\r\n if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {\r\n s.appendChild(doc.createTextNode(sel + \" {\" + decl + \"}\"));\r\n }\r\n h.appendChild(s);\r\n if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {\r\n var ls = doc.styleSheets[doc.styleSheets.length - 1];\r\n if (typeof ls.addRule == OBJECT) {\r\n ls.addRule(sel, decl);\r\n }\r\n }\r\n }\r\n\r\n function setVisibility(id, isVisible) {\r\n var v = isVisible ? \"visible\" : \"hidden\";\r\n if (isDomLoaded && getElementById(id)) {\r\n getElementById(id).style.visibility = v;\r\n }\r\n else {\r\n createCSS(\"#\" + id, \"visibility:\" + v);\r\n }\r\n }\r\n\r\n /* Filter to avoid XSS attacks\r\n */\r\n function urlEncodeIfNecessary(s) {\r\n var regex = /[\\\\\\\"<>\\.;]/;\r\n var hasBadChars = regex.exec(s) != null;\r\n return hasBadChars ? encodeURIComponent(s) : s;\r\n }\r\n\r\n /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)\r\n */\r\n var cleanup = function () {\r\n if (ua.ie && ua.win) {\r\n window.attachEvent(\"onunload\", function () {\r\n // remove listeners to avoid memory leaks\r\n var ll = listenersArr.length;\r\n for (var i = 0; i < ll; i++) {\r\n listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);\r\n }\r\n // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect\r\n var il = objIdArr.length;\r\n for (var j = 0; j < il; j++) {\r\n removeSWF(objIdArr[j]);\r\n }\r\n // cleanup library's main closures to avoid memory leaks\r\n for (var k in ua) {\r\n ua[k] = null;\r\n }\r\n ua = null;\r\n for (var l in swfobject) {\r\n swfobject[l] = null;\r\n }\r\n swfobject = null;\r\n });\r\n }\r\n }();\r\n\r\n\r\n return {\r\n /* Public API\r\n - Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation\r\n */\r\n registerObject: function (objectIdStr, swfVersionStr, xiSwfUrlStr) {\r\n if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {\r\n return;\r\n }\r\n var regObj = {};\r\n regObj.id = objectIdStr;\r\n regObj.swfVersion = swfVersionStr;\r\n regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : false;\r\n regObjArr[regObjArr.length] = regObj;\r\n setVisibility(objectIdStr, false);\r\n },\r\n\r\n getObjectById: function (objectIdStr) {\r\n var r = null;\r\n if (ua.w3cdom) {\r\n var o = getElementById(objectIdStr);\r\n if (o) {\r\n var n = o.getElementsByTagName(OBJECT)[0];\r\n if (!n || (n && typeof o.SetVariable != UNDEF)) {\r\n r = o;\r\n }\r\n else if (typeof n.SetVariable != UNDEF) {\r\n r = n;\r\n }\r\n }\r\n }\r\n return r;\r\n },\r\n\r\n embedSWF: function (swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {\r\n if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {\r\n return;\r\n }\r\n widthStr += \"\"; // Auto-convert to string\r\n heightStr += \"\";\r\n if (hasPlayerVersion(swfVersionStr)) {\r\n setVisibility(replaceElemIdStr, false);\r\n var att = {};\r\n if (attObj && typeof attObj === OBJECT) {\r\n for (var i in attObj) {\r\n if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries\r\n att[i] = attObj[i];\r\n }\r\n }\r\n }\r\n att.data = swfUrlStr;\r\n att.width = widthStr;\r\n att.height = heightStr;\r\n var par = {};\r\n if (parObj && typeof parObj === OBJECT) {\r\n for (var j in parObj) {\r\n if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries\r\n par[j] = parObj[j];\r\n }\r\n }\r\n }\r\n if (flashvarsObj && typeof flashvarsObj === OBJECT) {\r\n for (var k in flashvarsObj) {\r\n if (flashvarsObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries\r\n if (typeof par.flashvars != UNDEF) {\r\n par.flashvars += \"&\" + k + \"=\" + flashvarsObj[k];\r\n }\r\n else {\r\n par.flashvars = k + \"=\" + flashvarsObj[k];\r\n }\r\n }\r\n }\r\n }\r\n addDomLoadEvent(function () {\r\n createSWF(att, par, replaceElemIdStr);\r\n if (att.id == replaceElemIdStr) {\r\n setVisibility(replaceElemIdStr, true);\r\n }\r\n });\r\n }\r\n else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion(\"6.0.65\") && (ua.win || ua.mac)) {\r\n isExpressInstallActive = true; // deferred execution\r\n setVisibility(replaceElemIdStr, false);\r\n addDomLoadEvent(function () {\r\n var regObj = {};\r\n regObj.id = regObj.altContentId = replaceElemIdStr;\r\n regObj.width = widthStr;\r\n regObj.height = heightStr;\r\n regObj.expressInstall = xiSwfUrlStr;\r\n showExpressInstall(regObj);\r\n });\r\n }\r\n },\r\n\r\n getFlashPlayerVersion: function () {\r\n return { major: ua.pv[0], minor: ua.pv[1], release: ua.pv[2] };\r\n },\r\n\r\n hasFlashPlayerVersion: hasPlayerVersion,\r\n\r\n createSWF: function (attObj, parObj, replaceElemIdStr) {\r\n if (ua.w3cdom) {\r\n return createSWF(attObj, parObj, replaceElemIdStr);\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n\r\n removeSWF: function (objElemIdStr) {\r\n if (ua.w3cdom) {\r\n removeSWF(objElemIdStr);\r\n }\r\n },\r\n\r\n createCSS: function (sel, decl) {\r\n if (ua.w3cdom) {\r\n createCSS(sel, decl);\r\n }\r\n },\r\n\r\n addDomLoadEvent: addDomLoadEvent,\r\n\r\n addLoadEvent: addLoadEvent,\r\n\r\n getQueryParamValue: function (param) {\r\n var q = doc.location.search || doc.location.hash;\r\n if (param == null) {\r\n return urlEncodeIfNecessary(q);\r\n }\r\n if (q) {\r\n var pairs = q.substring(1).split(\"&\");\r\n for (var i = 0; i < pairs.length; i++) {\r\n if (pairs[i].substring(0, pairs[i].indexOf(\"=\")) == param) {\r\n return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf(\"=\") + 1)));\r\n }\r\n }\r\n }\r\n return \"\";\r\n },\r\n\r\n // For internal usage only\r\n expressInstallCallback: function () {\r\n if (isExpressInstallActive && storedAltContent) {\r\n var obj = getElementById(EXPRESS_INSTALL_ID);\r\n if (obj) {\r\n obj.parentNode.replaceChild(storedAltContent, obj);\r\n if (storedAltContentId) {\r\n setVisibility(storedAltContentId, true);\r\n if (ua.ie && ua.win) {\r\n storedAltContent.style.display = \"block\";\r\n }\r\n }\r\n storedAltContent = null;\r\n storedAltContentId = null;\r\n isExpressInstallActive = false;\r\n }\r\n }\r\n }\r\n };\r\n }();\r\n\r\n return swfobject;\r\n\r\n })();\r\n /**\r\n * The English language translation for Shadowbox.\r\n */\r\n\r\n S.lang = {\r\n code: 'en',\r\n of: 'of',\r\n loading: 'loading',\r\n cancel: 'Cancel',\r\n next: 'Next',\r\n previous: 'Previous',\r\n play: 'Play',\r\n pause: 'Pause',\r\n close: 'Close',\r\n errors: {\r\n single: 'You must install the {1} browser plugin to view this content.',\r\n shared: 'You must install both the {1} and {3} browser plugins to view this content.',\r\n either: 'You must install either the {1} or the {3} browser plugin to view this content.'\r\n }\r\n }\r\n /**\r\n * The FLV player for Shadowbox.\r\n */\r\n\r\n /**\r\n * The height (in pixels) of the JW FLV player controller.\r\n *\r\n * @type {Number}\r\n * @private\r\n */\r\n var jwControllerHeight = 20;\r\n\r\n /**\r\n * Constructor. The Flash video player class for Shadowbox.\r\n *\r\n * @constructor\r\n * @param {Object} obj The content object\r\n * @param {String} id The player id\r\n * @public\r\n */\r\n S.flv = function (obj, id) {\r\n this.obj = obj;\r\n this.id = id;\r\n\r\n // height/width default to 300 pixels\r\n this.height = obj.height ? parseInt(obj.height, 10) : 300;\r\n if (S.options.showMovieControls)\r\n this.height += jwControllerHeight;\r\n this.width = obj.width ? parseInt(obj.width, 10) : 300;\r\n }\r\n\r\n S.flv.ext = [\"flv\", \"m4v\"];\r\n\r\n S.flv.prototype = {\r\n\r\n /**\r\n * Appends this movie to the document.\r\n *\r\n * @param {HTMLElement} body The body element\r\n * @param {Object} dims The current Shadowbox dimensions\r\n * @public\r\n */\r\n append: function (body, dims) {\r\n // append temporary content element to replace\r\n var tmp = document.createElement('div');\r\n tmp.id = this.id;\r\n body.appendChild(tmp);\r\n\r\n var height = dims.innerHeight,\r\n width = dims.innerWidth,\r\n swf = S.path + \"player.swf\",\r\n version = S.options.flashVersion,\r\n express = S.path + \"expressInstall.swf\",\r\n flashvars = apply({\r\n file: this.obj.content,\r\n height: height,\r\n width: width,\r\n autostart: (S.options.autoplayMovies ? \"true\" : \"false\"),\r\n controlbar: (S.options.showMovieControls ? \"bottom\" : \"none\"),\r\n backcolor: \"0x000000\",\r\n frontcolor: \"0xCCCCCC\",\r\n lightcolor: \"0x557722\"\r\n }, S.options.flashVars),\r\n params = S.options.flashParams;\r\n\r\n S.flash.embedSWF(swf, this.id, width, height, version, express, flashvars, params);\r\n },\r\n\r\n /**\r\n * Removes this movie from the document.\r\n *\r\n * @public\r\n */\r\n remove: function () {\r\n // call express install callback here in case express install is\r\n // active and user has not selected anything\r\n S.flash.expressInstallCallback();\r\n S.flash.removeSWF(this.id);\r\n },\r\n\r\n /**\r\n * Called when the window is resized.\r\n *\r\n * @public\r\n */\r\n onWindowResize: function () {\r\n var dims = S.dimensions,\r\n el = get(this.id);\r\n el.height = dims.innerHeight;\r\n el.width = dims.innerWidth;\r\n }\r\n\r\n }\r\n /**\r\n * The HTML player for Shadowbox.\r\n */\r\n\r\n /**\r\n * Constructor. The HTML player class for Shadowbox.\r\n *\r\n * @constructor\r\n * @param {Object} obj The content object\r\n * @param {String} id The player id\r\n * @public\r\n */\r\n S.html = function (obj, id) {\r\n this.obj = obj;\r\n this.id = id;\r\n\r\n // height defaults to 300, width defaults to 500\r\n this.height = obj.height ? parseInt(obj.height, 10) : 300;\r\n this.width = obj.width ? parseInt(obj.width, 10) : 500;\r\n }\r\n\r\n S.html.prototype = {\r\n\r\n /**\r\n * Appends this object to the DOM.\r\n *\r\n * @param {HTMLElement} body The body element\r\n * @param {Object} dims The current Shadowbox dimensions\r\n * @public\r\n */\r\n append: function (body, dims) {\r\n var div = document.createElement(\"div\");\r\n div.id = this.id;\r\n div.className = \"html\"; // give special class to enable scrolling\r\n div.innerHTML = this.obj.content;\r\n\r\n body.appendChild(div);\r\n },\r\n\r\n /**\r\n * Removes this object from the DOM.\r\n *\r\n * @public\r\n */\r\n remove: function () {\r\n var el = get(this.id);\r\n if (el)\r\n remove(el);\r\n }\r\n\r\n }\r\n /**\r\n * The iframe player for Shadowbox.\r\n */\r\n\r\n /**\r\n * Constructor. The iframe player class for Shadowbox.\r\n *\r\n * @constructor\r\n * @param {Object} obj The content object\r\n * @param {String} id The player id\r\n * @public\r\n */\r\n S.iframe = function (obj, id) {\r\n this.obj = obj;\r\n this.id = id;\r\n\r\n // height/width default to full viewport height/width\r\n var overlay = get(\"sb-overlay\");\r\n this.height = obj.height ? parseInt(obj.height, 10) : overlay.offsetHeight;\r\n this.width = obj.width ? parseInt(obj.width, 10) : overlay.offsetWidth;\r\n }\r\n\r\n S.iframe.prototype = {\r\n\r\n /**\r\n * Appends this iframe to the DOM.\r\n *\r\n * @param {HTMLElement} body The body element\r\n * @param {Object} dims The current Shadowbox dimensions\r\n * @public\r\n */\r\n append: function (body, dims) {\r\n var html = '