diff --git a/dist/CookieMonsterDev.js.map b/dist/CookieMonsterDev.js.map index 265ea53..258fdb1 100644 --- a/dist/CookieMonsterDev.js.map +++ b/dist/CookieMonsterDev.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/@eastdesire/jscolor/jscolor.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/baseSetting.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/notifications/prompt.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/notifications/flash.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/savingAndLoading/saveFramework.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/toggles/toggleHeader.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/notifications/sound.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/toggleConfigVolume.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/menuSections/addMenu.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/menuSections/info/addInfoMenuSection.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/menuSections/info/createFrameworkInfoMenuSection.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/data/modInfo.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/menuSections/options/addOptionsMenuSection.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/menuSections/options/createFrameworkOptionsMenuSection.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/draw/drawLoop.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/data/headers.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/savingAndLoading/loadMod.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/savingAndLoading/createSaveDataObject.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/logic/logicLoop.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/data/settings.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/load.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/cookieMonsterFramework.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/init.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/init/createFlashScreen.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/frameworkDataObject/save.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/index.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/init/initModFramework.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/init/registerMod.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/listings/createInfoListing.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/listings/createOptionListing.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/listings/createOptionsFavouriteStar.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/toggles/toggleFavourite.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/toggleConfig.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/toggleConfigKeycode.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/listings/createOptionsSubHeader.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/menu/createModMenuSection.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/notifications/notification.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/settingColours.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/settingInputNumber.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/settingStandard.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/settingStandardWithFunc.js","webpack:///./node_modules/@cookiemonsterteam/cookiemonsterframework/src/options/settingClasses/settingVolume.js","webpack:///./src/Config/Toggles/ToggleWrinklerButtons.js","webpack:///./src/Data/Scales.ts","webpack:///./src/Main/VariablesAndData.js","webpack:///./src/Disp/BeautifyAndFormatting/Beautify.js","webpack:///./src/Cache/VariablesAndData.js","webpack:///./src/Sim/VariablesAndData.js","webpack:///./src/Disp/VariablesAndData.js","webpack:///./src/Sim/ReplacedGameFunctions/SimAuraMult.js","webpack:///./src/Sim/ReplacedGameFunctions/SimGetSellMultiplier.js","webpack:///./src/Sim/ReplacedGameFunctions/SimEff.js","webpack:///./src/Sim/ReplacedGameFunctions/SimHas.js","webpack:///./src/Sim/ReplacedGameFunctions/SimHasGod.js","webpack:///./src/Sim/ReplacedGameFunctions/SimModifyBuidlingPrice.js","webpack:///./src/Sim/SimulationEvents/SellBuilding.js","webpack:///./src/Disp/BuildingsUpgrades/Buildings.js","webpack:///./src/Disp/BuildingsUpgrades/UpdateUpgradeSectionsHeight.js","webpack:///./src/Disp/BuildingsUpgrades/Upgrades.js","webpack:///./src/Disp/BeautifyAndFormatting/FormatTime.js","webpack:///./src/Disp/BeautifyAndFormatting/GetTimeColour.js","webpack:///./src/Disp/HelperFunctions/GetCPS.js","webpack:///./src/Disp/HelperFunctions/GetWrinkConfigBank.js","webpack:///./src/Disp/InfoBars/CreateDOMElements.js","webpack:///./src/Disp/InfoBars/BottomBar.js","webpack:///./src/Disp/HelperFunctions/UpdateBackground.js","webpack:///./src/Config/SpecificToggles.js","webpack:///./src/Cache/Dragon/CacheDragonAuras.js","webpack:///./src/Sim/InitializeData/InitAchievement.js","webpack:///./src/Sim/ReplacedGameFunctions/SimGetTieredCpsMult.js","webpack:///./src/Sim/InitializeData/InitialBuildingData.js","webpack:///./src/Sim/InitializeData/InitUpgrade.js","webpack:///./src/Sim/SimulationData/CopyData.js","webpack:///./src/Disp/Tooltips/CreateTooltip.js","webpack:///./src/Cache/PP/ColourOfPP.js","webpack:///./src/Cache/CPS/GetCPSBuffMult.js","webpack:///./src/Sim/SimulationData/SimWin.js","webpack:///./src/Sim/Calculations/CalculateGains.js","webpack:///./src/Sim/ReplacedGameFunctions/SimGetHeavenlyMultiplier.js","webpack:///./src/Data/Gamedata.ts","webpack:///./src/Sim/ReplacedGameFunctions/SimHasAchiev.js","webpack:///./src/Sim/Calculations/CheckOtherAchiev.js","webpack:///./src/Sim/SimulationEvents/BuyBuildingBonusIncome.js","webpack:///./src/Disp/HelperFunctions/CalculateGrimoireRefillTime.js","webpack:///./src/Config/Toggles/ToggleToolWarnPos.js","webpack:///./src/Disp/Tooltips/UpdateTooltips.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/Building.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/Upgrade.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/SugarLump.js","webpack:///./src/Disp/HelperFunctions/GetLumpColour.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/Grimoire.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/HarvestAll.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/WrinklerButton.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/PantheonGods.js","webpack:///./src/Disp/Tooltips/TypesOfTooltips/Warnings.js","webpack:///./src/Disp/DrawHook.js","webpack:///./src/Disp/InfoBars/TimerBar.js","webpack:///./src/Disp/Tooltips/WrinklerTooltips.js","webpack:///./src/Disp/MenuSections/Refreshmenu.js","webpack:///./src/Main/ClickHook.js","webpack:///./src/Cache/CPS/AverageQueue.js","webpack:///./src/Cache/CPS/CPS.js","webpack:///./src/Sim/SimulationEvents/BuyBuilding.js","webpack:///./src/Cache/PP/Building.js","webpack:///./src/Cache/PP/PP.js","webpack:///./src/Cache/PP/Upgrade.js","webpack:///./src/Sim/SimulationEvents/BuyUpgrades.js","webpack:///./src/Cache/PriceAndIncome/PriceAndIncome.js","webpack:///./src/Cache/Stats/ChainCookies.js","webpack:///./src/Cache/Stats/HeavenlyChips.js","webpack:///./src/Cache/Stats/MissingUpgrades.js","webpack:///./src/Disp/MenuSections/Statistics/CreateMissingUpgrades.js","webpack:///./src/Cache/Stats/Reindeer.js","webpack:///./src/Cache/Stats/Stats.js","webpack:///./src/Cache/TillNextAchievement/AllAmountTillNextAchievement.js","webpack:///./src/Cache/TillNextAchievement/IndividualAmountTillNextAchievement.js","webpack:///./src/Cache/Wrinklers/Wrinklers.js","webpack:///./src/Cache/CacheInit.js","webpack:///./src/Disp/HelperFunctions/PopWrinklers.js","webpack:///./src/Disp/Tooltips/Tooltip.js","webpack:///./src/Disp/TabTitle/FavIcon.js","webpack:///./src/Sim/InitializeData/InitData.js","webpack:///./src/Main/ReplaceGameElements/TooltipGrimoire.js","webpack:///./src/Main/ReplaceGameElements/NativeGrimoire.js","webpack:///./src/Cache/Dragon/Dragon.js","webpack:///./src/Disp/MenuSections/Statistics/CreateDOMElements.js","webpack:///./src/Config/ToggleSetting.js","webpack:///./src/Disp/MenuSections/Statistics/AddStatsPage.js","webpack:///./src/Disp/MenuSections/Statistics/CreateStatsSections.js","webpack:///./src/Sim/SimulationEvents/ResetAscension.js","webpack:///./src/Disp/MenuSections/Statistics/CreateMissingAchievements.js","webpack:///./src/Main/ReplaceGameFunctions/FixMouse.js","webpack:///./src/Main/ReplaceGameFunctions/ReplaceNative.js","webpack:///./src/Disp/Tooltips/PositionLocation.js","webpack:///./src/Main/ReplaceGameElements/TooltipUpgrades.js","webpack:///./src/Disp/Dragon/Dragon.js","webpack:///./src/Sim/SimulationEvents/AuraChange.js","webpack:///./src/Disp/MenuSections/AddMenus.js","webpack:///./src/Disp/TabTitle/TabTitle.js","webpack:///./src/Disp/Tooltips/AscendButton.js","webpack:///./src/Disp/MenuSections/createMenuInfo.js","webpack:///./src/Data/Moddata.ts","webpack:///./src/Data/Sectionheaders.ts","webpack:///./src/Config/CheckNotificationPermissions.js","webpack:///./src/Disp/HelperFunctions/RefreshScale.js","webpack:///./src/Config/Toggles/ToggleBotBar.js","webpack:///./src/Data/settings.js","webpack:///./src/Config/Toggles/ToggleDetailedTime.js","webpack:///./src/Config/Toggles/ToggleUpgradeBarAndColour.js","webpack:///./src/Config/Toggles/ToggleUpgradeBarFixedPos.js","webpack:///./src/Config/Toggles/ToggleGCTimer.js","webpack:///./src/Config/Toggles/ToggleSectionHideButtons.js","webpack:///./src/Disp/HelperFunctions/UpdateColours.js","webpack:///./src/Disp/MenuSections/createMenuOptions.js","webpack:///./src/Main/Initialization.js","webpack:///./src/Disp/Initialization/CssArea.js","webpack:///./src/Disp/BuildingsUpgrades/UpgradeBar.js","webpack:///./src/Disp/Initialization/CreateSectionHideButtons.js","webpack:///./src/Disp/Initialization/CreateWrinklerButton.js","webpack:///./src/Disp/Initialization/UpdateBuildingUpgradeStyle.js","webpack:///./src/Disp/buildingTiles/createBuildingLockButtons.js","webpack:///./src/Disp/buildingTiles/toggleBuildingLock.js","webpack:///./src/Main/ReplaceGameElements/Tooltips.js","webpack:///./src/Main/WrinklerArea/AddDetectArea.js","webpack:///./src/Sim/SimulationEvents/GodChange.js","webpack:///./src/Main/LoopHook.js","webpack:///./src/Disp/HelperFunctions/UpdateAscendState.js","webpack:///./src/Cache/CPS/NoGoldSwitchCPS.js","webpack:///./src/Sim/Calculations/NoGoldenSwitchCalc.js","webpack:///./src/Cache/PantheonGods/CacheGods.js","webpack:///./src/Cache/CPS/SellChoEgg.js","webpack:///./src/Sim/SimulationEvents/SellBuildingForChoEgg.js","webpack:///./src/Cache/CacheLoop.js","webpack:///./src/Cache/CPS/CurrWrinklerCPS.js","webpack:///./src/Main/CheckStates/Ticker.js","webpack:///./src/Main/CheckStates/Season.js","webpack:///./src/Main/CheckStates/Garden.js","webpack:///./src/Main/CheckStates/Grimoire.js","webpack:///./src/Main/CheckStates/Wrinkler.js","webpack:///./src/Main/CheckStates/GoldenCookie.js","webpack:///./src/Disp/GoldenCookieTimers/GoldenCookieTimers.js","webpack:///./src/Data/headers.js","webpack:///./src/InitSaveLoad/load.js","webpack:///./src/CookieMonster.js","webpack:///./src/InitSaveLoad/init.js","webpack:///./src/InitSaveLoad/save.js"],"names":["global","factory","module","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","setBoxShadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","d","definition","key","o","enumerable","Setting","constructor","defaultValue","group","cookieMonsterPrompt","content","Game","promptWrapL","promptL","forEach","id","onclick","PlaySound","children","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","createFlash","modName","configName","forced","mods","cookieMonsterFramework","saveData","settings","cookieMonsterFrameworkData","isInitializing","setTimeout","fps","saveFramework","modSaveString","stringify","cookieClickerSaveString","b64_to_utf8","unescape","localStorage","getItem","pattern","modSave","newSaveString","setItem","escape","utf8_to_b64","toggleHeader","headerName","headers","playCMSound","url","sndConfig","volConfig","sound","Audio","GeneralSound","volume","play","toggleConfigVolume","addMenu","_","observer","disconnect","onMenu","menu","insertBefore","frameworkInfoDiv","titleDiv","buttonSpan","fontSize","verticalAlign","infoMenu","UpdateMenu","descriptionDiv","createFrameworkInfoMenuSection","listeners","addInfoMenuSection","subMenuLength","modOptionsDiv","optionsMenu","createFrameworkOptionsMenuSection","addOptionsMenuSection","observe","getElementById","attributes","childList","subtree","drawLoop","loadMod","settingsData","headersData","logicLoop","saveDataObject","modSaveData","settingsObject","headersObject","favouriteSettings","createSaveDataObject","load","MutationObserver","WhiteScreen","createFlashScreen","registerHook","save","initFunctions","registerMod","menuFunctions","createInfoListing","listingHTML","listingDiv","createOptionsListing","updateColoursFunc","refreshScaleFunc","div","FavouriteSettings","favourites","FavStar","includes","innerText","filter","ele","toggleFavouriteSetting","onmouseover","tooltip","onmouseout","createFavouriteStar","toggle","label","toggleConfig","desc","title","float","percent","slider","step","onchange","span","input","readOnly","inputPrompt","outerHTML","ClosePrompt","innerSpan","displayName","event","saveObject","altKey","ctrlKey","shiftKey","toggleConfigKeycode","createOptionsSubHeader","text","modDisplayName","menuName","modSectionDiv","notificationsFunctions","createNotification","message","visibilityState","Notification","badge","saveAndLoadingFunctions","settingClasses","super","ToggleWrinklerButtons","cookieMonsterMod","WrinklerButtons","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","num","floats","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","DispCSS","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheObjectsNextAchievement","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMinPPBulk","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","CMSayTime","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Clot","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","UpdateBuildings","arr","buyMode","removeProperty","BuildColour","colour","SortBuildings","k","sort","amountUntilNext","AmountNeeded","priceUntilNext","gridRow","UpdateUpgradeSectionsHeight","values","getElementsByClassName","section","UpgradesNeverCollapse","minHeight","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","marginRight","colourBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","DrawBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","income","marginBottom","click","production","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","GetCPSBuffMult","buffs","multCpS","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","shimmerTypes","golden","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","ObjectsTillNext","PPOfAmount","PPFrag","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","Warnings","CMDrawHook","prefs","autosave","drawT","Stats","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","AutosaveTimerBar","timeTillNextAutosave","OnAscend","TimerBarOverlay","spawned","Has","minTime","maxTime","chanceToSpawn","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","maxLength","queue","newValue","calcAverage","timePeriod","calcSum","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","choEgg","HasUnlocked","AvgClicksHist","BuildingGetPrice","partialPrice","CacheColour","PPRigidelMode","PPExcludeTop","CachePP","indexOfMin","CacheBuildingsPP","CookieMonsterData","Objects1","Objects10","Objects100","entries","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","AllAmountTillNextAchievement","forceRecalc","TotalNeeded","tillNext","AchievementsAtStart","index","lastIndexWithChange","IndividualAmountTillNextAchievement","CacheWrinklers","InitCache","PopAllNormalWrinklers","hp","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","UpdateFavicon","Favicon","wrath","href","InitData","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","GrimoireBar","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","CacheDragonCost","dragonLevel","dragonLevels","buy","replaceAll","cost","StatsHeader","config","fontFamily","ToggleHeader","StatsListing","listingName","StatsMissDispListing","current","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","Lucky","goldCookTooltip","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","Chain","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","Spells","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","Garden","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","Prestige","possiblePresMax","neededCook","HowManyCookiesReset","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","HeavenlyChipsTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","Wrink","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","Sea","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","Achievs","Misc","ShowMissedGC","missedGoldenClicks","MissingUpgrades","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","cookie","MissingAchievements","achievs","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","RebuildUpgrades","ClickProduct","BulkBuyBlock","DescribeDragonAura","aura","DragonAuraInfo","bonusCPS","priceOfChange","highestBuilding","CalculateChangeAura","timeToRecover","bonusCPSPercentage","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","life","lastIndexOf","spawn","UpdateTitle","cookiesToNext","TooltipAscendButton","ReplaceAscendTooltip","createMenuInfo","menuDiv","ConfigGroups","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Miscellaneous","ConfigGroupsNotification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","ToggleOnOff","checkNotificationPromise","requestPermission","then","RefreshScale","BeautifyAll","RefreshStore","ToggleBotBar","DetailedTime","UpgradeBarFixedPos","GCTimer","HideSectionsButtons","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","UpdateColours","createMenuOptions","subGroup","subGroupObject","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarAutosave","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","productButtons","button","lockedMinigames","pointerEvents","toggleBuildingLock","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CalculateChangeGod","CurrentSlot","godsById","CMLoopHook","AscendTimer","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","LoopCache","TickerEffect","shimmers","spawnLead","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","pop","webkitFilter","CreateGCTimer","transform","buildingIndex","version","CM","proceed","confirm","Steam"],"mappings":"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U,GAChD3L,EAAE,4BAA4BhJ,MAAM2U,QAAU,KAE9C3L,EAAE,8BAA8BhJ,MAAM2U,QAAU,OAChD3L,EAAE,4BAA4BhJ,MAAM2U,QAAU,QCV3C,MAAMqS,EAAmB,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG1DC,EAAuB,CAClC,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIWC,EAAkC,CAC7C,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OC3IK,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAnBAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,GAAyBC,KAAKC,MAI9BC,GAAyBF,KAAKC,MChB1B,SAAS,GAASE,EAAKC,EAAQ7K,GAC5C,MAAM8K,EACJ9L,KAAKiB,KAAKC,uBAAuBC,SAAS2I,iBAAiB1I,SAAS2K,cAAgB,EACtF,GAAIH,IAAQI,IACV,MAAO,WAET,QAAmB,IAARJ,EACT,MAAO,IAET,GAAk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AAIhgB,EACnB,EACA,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFof,aAAc,IAAIpf,EAChB,EACA,WACA,UACA,mCACA,gKACA,EACAqC,KAEFid,YAAa,IAAItf,EACf,EACA,OACA,UACA,CAAC,+CAAgD,+CACjD,2EACA,GAEFgb,YAAa,IAAIhb,EACf,EACA,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,KACE+a,QAGJ4B,YAAa,IAAI3c,EACf,EACA,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF0hB,aAAc,IAAI1hB,EAChB,EACA,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFmc,YAAa,IAAInc,EACf,EACA,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFqd,aAAc,IAAIrd,EAChB,EACA,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFme,gBAAiB,IAAIne,EACnB,EACA,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF43B,oBAAqB,IAAI53B,EACvB,EACA,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIFsgB,MAAO,IAAItgB,EACT,EACA,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFszB,gBAAiB,IAAItzB,EACnB,EACA,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFg0B,oBAAqB,IAAIh0B,EACvB,EACA,OACA,aACA,CAAC,2BAA4B,kCAC7B,yDACA,GAEFqiB,QAAS,IAAIriB,EACX,EACA,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEF8vB,oBAAqB,IAAI9vB,EACvB,EACA,WACA,aACA,0BACA,8GACA,EACAqC,KAEF+wB,aAAc,IAAIpzB,EAChB,EACA,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIFoO,MAAO,IAAIpO,EACT,EACA,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEF3G,aAAc,IAAI2G,EAChB,EACA,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEF85B,eAAgB,IAAI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","file":"CookieMonsterDev.js","sourcesContent":["/**\r\n * jscolor - JavaScript Color Picker\r\n *\r\n * @link http://jscolor.com\r\n * @license For open source use: GPLv3\r\n * For commercial use: JSColor Commercial License\r\n * @author Jan Odvarko - East Desire\r\n *\r\n * See usage examples at http://jscolor.com/examples/\r\n */\r\n\r\n\r\n(function (global, factory) {\r\n\r\n\t'use strict';\r\n\r\n\tif (typeof module === 'object' && typeof module.exports === 'object') {\r\n\t\t// Export jscolor as a module\r\n\t\tmodule.exports = global.document ?\r\n\t\t\tfactory (global) :\r\n\t\t\tfunction (win) {\r\n\t\t\t\tif (!win.document) {\r\n\t\t\t\t\tthrow new Error('jscolor needs a window with document');\r\n\t\t\t\t}\r\n\t\t\t\treturn factory(win);\r\n\t\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Default use (no module export)\r\n\tfactory(global);\r\n\r\n})(typeof window !== 'undefined' ? window : this, function (window) { // BEGIN factory\r\n\r\n// BEGIN jscolor code\r\n\r\n\r\n'use strict';\r\n\r\n\r\nvar jscolor = (function () { // BEGIN jscolor\r\n\r\nvar jsc = {\r\n\r\n\r\n\tinitialized : false,\r\n\r\n\tinstances : [], // created instances of jscolor\r\n\r\n\treadyQueue : [], // functions waiting to be called after init\r\n\r\n\r\n\tregister : function () {\r\n\t\tif (typeof window !== 'undefined' && window.document) {\r\n\t\t\twindow.document.addEventListener('DOMContentLoaded', jsc.pub.init, false);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tinstallBySelector : function (selector, rootNode) {\r\n\t\trootNode = rootNode ? jsc.node(rootNode) : window.document;\r\n\t\tif (!rootNode) {\r\n\t\t\tthrow new Error('Missing root node');\r\n\t\t}\r\n\r\n\t\tvar elms = rootNode.querySelectorAll(selector);\r\n\r\n\t\t// for backward compatibility with DEPRECATED installation/configuration using className\r\n\t\tvar matchClass = new RegExp('(^|\\\\s)(' + jsc.pub.lookupClass + ')(\\\\s*(\\\\{[^}]*\\\\})|\\\\s|$)', 'i');\r\n\r\n\t\tfor (var i = 0; i < elms.length; i += 1) {\r\n\r\n\t\t\tif (elms[i].jscolor && elms[i].jscolor instanceof jsc.pub) {\r\n\t\t\t\tcontinue; // jscolor already installed on this element\r\n\t\t\t}\r\n\r\n\t\t\tif (elms[i].type !== undefined && elms[i].type.toLowerCase() == 'color' && jsc.isColorAttrSupported) {\r\n\t\t\t\tcontinue; // skips inputs of type 'color' if supported by the browser\r\n\t\t\t}\r\n\r\n\t\t\tvar dataOpts, m;\r\n\r\n\t\t\tif (\r\n\t\t\t\t(dataOpts = jsc.getDataAttr(elms[i], 'jscolor')) !== null ||\r\n\t\t\t\t(elms[i].className && (m = elms[i].className.match(matchClass))) // installation using className (DEPRECATED)\r\n\t\t\t) {\r\n\t\t\t\tvar targetElm = elms[i];\r\n\r\n\t\t\t\tvar optsStr = '';\r\n\t\t\t\tif (dataOpts !== null) {\r\n\t\t\t\t\toptsStr = dataOpts;\r\n\r\n\t\t\t\t} else if (m) { // installation using className (DEPRECATED)\r\n\t\t\t\t\tconsole.warn('Installation using class name is DEPRECATED. Use data-jscolor=\"\" attribute instead.' + jsc.docsRef);\r\n\t\t\t\t\tif (m[4]) {\r\n\t\t\t\t\t\toptsStr = m[4];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar opts = null;\r\n\t\t\t\tif (optsStr.trim()) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\topts = jsc.parseOptionsStr(optsStr);\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.warn(e + '\\n' + optsStr);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tnew jsc.pub(targetElm, opts);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tparseOptionsStr : function (str) {\r\n\t\tvar opts = null;\r\n\r\n\t\ttry {\r\n\t\t\topts = JSON.parse(str);\r\n\r\n\t\t} catch (eParse) {\r\n\t\t\tif (!jsc.pub.looseJSON) {\r\n\t\t\t\tthrow new Error('Could not parse jscolor options as JSON: ' + eParse);\r\n\t\t\t} else {\r\n\t\t\t\t// loose JSON syntax is enabled -> try to evaluate the options string as JavaScript object\r\n\t\t\t\ttry {\r\n\t\t\t\t\topts = (new Function ('var opts = (' + str + '); return typeof opts === \"object\" ? opts : {};'))();\r\n\t\t\t\t} catch (eEval) {\r\n\t\t\t\t\tthrow new Error('Could not evaluate jscolor options: ' + eEval);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn opts;\r\n\t},\r\n\r\n\r\n\tgetInstances : function () {\r\n\t\tvar inst = [];\r\n\t\tfor (var i = 0; i < jsc.instances.length; i += 1) {\r\n\t\t\t// if the targetElement still exists, the instance is considered \"alive\"\r\n\t\t\tif (jsc.instances[i] && jsc.instances[i].targetElement) {\r\n\t\t\t\tinst.push(jsc.instances[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn inst;\r\n\t},\r\n\r\n\r\n\tcreateEl : function (tagName) {\r\n\t\tvar el = window.document.createElement(tagName);\r\n\t\tjsc.setData(el, 'gui', true);\r\n\t\treturn el;\r\n\t},\r\n\r\n\r\n\tnode : function (nodeOrSelector) {\r\n\t\tif (!nodeOrSelector) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tif (typeof nodeOrSelector === 'string') {\r\n\t\t\t// query selector\r\n\t\t\tvar sel = nodeOrSelector;\r\n\t\t\tvar el = null;\r\n\t\t\ttry {\r\n\t\t\t\tel = window.document.querySelector(sel);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.warn(e);\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tif (!el) {\r\n\t\t\t\tconsole.warn('No element matches the selector: %s', sel);\r\n\t\t\t}\r\n\t\t\treturn el;\r\n\t\t}\r\n\r\n\t\tif (jsc.isNode(nodeOrSelector)) {\r\n\t\t\t// DOM node\r\n\t\t\treturn nodeOrSelector;\r\n\t\t}\r\n\r\n\t\tconsole.warn('Invalid node of type %s: %s', typeof nodeOrSelector, nodeOrSelector);\r\n\t\treturn null;\r\n\t},\r\n\r\n\r\n\t// See https://stackoverflow.com/questions/384286/\r\n\tisNode : function (val) {\r\n\t\tif (typeof Node === 'object') {\r\n\t\t\treturn val instanceof Node;\r\n\t\t}\r\n\t\treturn val && typeof val === 'object' && typeof val.nodeType === 'number' && typeof val.nodeName === 'string';\r\n\t},\r\n\r\n\r\n\tnodeName : function (node) {\r\n\t\tif (node && node.nodeName) {\r\n\t\t\treturn node.nodeName.toLowerCase();\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\tremoveChildren : function (node) {\r\n\t\twhile (node.firstChild) {\r\n\t\t\tnode.removeChild(node.firstChild);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tisTextInput : function (el) {\r\n\t\treturn el && jsc.nodeName(el) === 'input' && el.type.toLowerCase() === 'text';\r\n\t},\r\n\r\n\r\n\tisButton : function (el) {\r\n\t\tif (!el) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar n = jsc.nodeName(el);\r\n\t\treturn (\r\n\t\t\t(n === 'button') ||\r\n\t\t\t(n === 'input' && ['button', 'submit', 'reset'].indexOf(el.type.toLowerCase()) > -1)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\tisButtonEmpty : function (el) {\r\n\t\tswitch (jsc.nodeName(el)) {\r\n\t\t\tcase 'input': return (!el.value || el.value.trim() === '');\r\n\t\t\tcase 'button': return (el.textContent.trim() === '');\r\n\t\t}\r\n\t\treturn null; // could not determine element's text\r\n\t},\r\n\r\n\r\n\t// See https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\r\n\tisPassiveEventSupported : (function () {\r\n\t\tvar supported = false;\r\n\r\n\t\ttry {\r\n\t\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\t\tget: function () { supported = true; }\r\n\t\t\t});\r\n\t\t\twindow.addEventListener('testPassive', null, opts);\r\n\t\t\twindow.removeEventListener('testPassive', null, opts);\r\n\t\t} catch (e) {}\r\n\r\n\t\treturn supported;\r\n\t})(),\r\n\r\n\r\n\tisColorAttrSupported : (function () {\r\n\t\tvar elm = window.document.createElement('input');\r\n\t\tif (elm.setAttribute) {\r\n\t\t\telm.setAttribute('type', 'color');\r\n\t\t\tif (elm.type.toLowerCase() == 'color') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t})(),\r\n\r\n\r\n\tdataProp : '_data_jscolor',\r\n\r\n\r\n\t// usage:\r\n\t// setData(obj, prop, value)\r\n\t// setData(obj, {prop:value, ...})\r\n\t//\r\n\tsetData : function () {\r\n\t\tvar obj = arguments[0];\r\n\r\n\t\tif (arguments.length === 3) {\r\n\t\t\t// setting a single property\r\n\t\t\tvar data = obj.hasOwnProperty(jsc.dataProp) ? obj[jsc.dataProp] : (obj[jsc.dataProp] = {});\r\n\t\t\tvar prop = arguments[1];\r\n\t\t\tvar value = arguments[2];\r\n\r\n\t\t\tdata[prop] = value;\r\n\t\t\treturn true;\r\n\r\n\t\t} else if (arguments.length === 2 && typeof arguments[1] === 'object') {\r\n\t\t\t// setting multiple properties\r\n\t\t\tvar data = obj.hasOwnProperty(jsc.dataProp) ? obj[jsc.dataProp] : (obj[jsc.dataProp] = {});\r\n\t\t\tvar map = arguments[1];\r\n\r\n\t\t\tfor (var prop in map) {\r\n\t\t\t\tif (map.hasOwnProperty(prop)) {\r\n\t\t\t\t\tdata[prop] = map[prop];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tthrow new Error('Invalid arguments');\r\n\t},\r\n\r\n\r\n\t// usage:\r\n\t// removeData(obj, prop, [prop...])\r\n\t//\r\n\tremoveData : function () {\r\n\t\tvar obj = arguments[0];\r\n\t\tif (!obj.hasOwnProperty(jsc.dataProp)) {\r\n\t\t\treturn true; // data object does not exist\r\n\t\t}\r\n\t\tfor (var i = 1; i < arguments.length; i += 1) {\r\n\t\t\tvar prop = arguments[i];\r\n\t\t\tdelete obj[jsc.dataProp][prop];\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\r\n\r\n\tgetData : function (obj, prop, setDefault) {\r\n\t\tif (!obj.hasOwnProperty(jsc.dataProp)) {\r\n\t\t\t// data object does not exist\r\n\t\t\tif (setDefault !== undefined) {\r\n\t\t\t\tobj[jsc.dataProp] = {}; // create data object\r\n\t\t\t} else {\r\n\t\t\t\treturn undefined; // no value to return\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar data = obj[jsc.dataProp];\r\n\r\n\t\tif (!data.hasOwnProperty(prop) && setDefault !== undefined) {\r\n\t\t\tdata[prop] = setDefault;\r\n\t\t}\r\n\t\treturn data[prop];\r\n\t},\r\n\r\n\r\n\tgetDataAttr : function (el, name) {\r\n\t\tvar attrName = 'data-' + name;\r\n\t\tvar attrValue = el.getAttribute(attrName);\r\n\t\treturn attrValue;\r\n\t},\r\n\r\n\r\n\tsetDataAttr : function (el, name, value) {\r\n\t\tvar attrName = 'data-' + name;\r\n\t\tel.setAttribute(attrName, value);\r\n\t},\r\n\r\n\r\n\t_attachedGroupEvents : {},\r\n\r\n\r\n\tattachGroupEvent : function (groupName, el, evnt, func) {\r\n\t\tif (!jsc._attachedGroupEvents.hasOwnProperty(groupName)) {\r\n\t\t\tjsc._attachedGroupEvents[groupName] = [];\r\n\t\t}\r\n\t\tjsc._attachedGroupEvents[groupName].push([el, evnt, func]);\r\n\t\tel.addEventListener(evnt, func, false);\r\n\t},\r\n\r\n\r\n\tdetachGroupEvents : function (groupName) {\r\n\t\tif (jsc._attachedGroupEvents.hasOwnProperty(groupName)) {\r\n\t\t\tfor (var i = 0; i < jsc._attachedGroupEvents[groupName].length; i += 1) {\r\n\t\t\t\tvar evt = jsc._attachedGroupEvents[groupName][i];\r\n\t\t\t\tevt[0].removeEventListener(evt[1], evt[2], false);\r\n\t\t\t}\r\n\t\t\tdelete jsc._attachedGroupEvents[groupName];\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tpreventDefault : function (e) {\r\n\t\tif (e.preventDefault) { e.preventDefault(); }\r\n\t\te.returnValue = false;\r\n\t},\r\n\r\n\r\n\tcaptureTarget : function (target) {\r\n\t\t// IE\r\n\t\tif (target.setCapture) {\r\n\t\t\tjsc._capturedTarget = target;\r\n\t\t\tjsc._capturedTarget.setCapture();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\treleaseTarget : function () {\r\n\t\t// IE\r\n\t\tif (jsc._capturedTarget) {\r\n\t\t\tjsc._capturedTarget.releaseCapture();\r\n\t\t\tjsc._capturedTarget = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\ttriggerEvent : function (el, eventName, bubbles, cancelable) {\r\n\t\tif (!el) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ev = null;\r\n\r\n\t\tif (typeof Event === 'function') {\r\n\t\t\tev = new Event(eventName, {\r\n\t\t\t\tbubbles: bubbles,\r\n\t\t\t\tcancelable: cancelable\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// IE\r\n\t\t\tev = window.document.createEvent('Event');\r\n\t\t\tev.initEvent(eventName, bubbles, cancelable);\r\n\t\t}\r\n\r\n\t\tif (!ev) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// so that we know that the event was triggered internally\r\n\t\tjsc.setData(ev, 'internal', true);\r\n\r\n\t\tel.dispatchEvent(ev);\r\n\t\treturn true;\r\n\t},\r\n\r\n\r\n\ttriggerInputEvent : function (el, eventName, bubbles, cancelable) {\r\n\t\tif (!el) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (jsc.isTextInput(el)) {\r\n\t\t\tjsc.triggerEvent(el, eventName, bubbles, cancelable);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\teventKey : function (ev) {\r\n\t\tvar keys = {\r\n\t\t\t9: 'Tab',\r\n\t\t\t13: 'Enter',\r\n\t\t\t27: 'Escape',\r\n\t\t};\r\n\t\tif (typeof ev.code === 'string') {\r\n\t\t\treturn ev.code;\r\n\t\t} else if (ev.keyCode !== undefined && keys.hasOwnProperty(ev.keyCode)) {\r\n\t\t\treturn keys[ev.keyCode];\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\r\n\r\n\tstrList : function (str) {\r\n\t\tif (!str) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\treturn str.replace(/^\\s+|\\s+$/g, '').split(/\\s+/);\r\n\t},\r\n\r\n\r\n\t// The className parameter (str) can only contain a single class name\r\n\thasClass : function (elm, className) {\r\n\t\tif (!className) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (elm.classList !== undefined) {\r\n\t\t\treturn elm.classList.contains(className);\r\n\t\t}\r\n\t\t// polyfill\r\n\t\treturn -1 != (' ' + elm.className.replace(/\\s+/g, ' ') + ' ').indexOf(' ' + className + ' ');\r\n\t},\r\n\r\n\r\n\t// The className parameter (str) can contain multiple class names separated by whitespace\r\n\taddClass : function (elm, className) {\r\n\t\tvar classNames = jsc.strList(className);\r\n\r\n\t\tif (elm.classList !== undefined) {\r\n\t\t\tfor (var i = 0; i < classNames.length; i += 1) {\r\n\t\t\t\telm.classList.add(classNames[i]);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// polyfill\r\n\t\tfor (var i = 0; i < classNames.length; i += 1) {\r\n\t\t\tif (!jsc.hasClass(elm, classNames[i])) {\r\n\t\t\t\telm.className += (elm.className ? ' ' : '') + classNames[i];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// The className parameter (str) can contain multiple class names separated by whitespace\r\n\tremoveClass : function (elm, className) {\r\n\t\tvar classNames = jsc.strList(className);\r\n\r\n\t\tif (elm.classList !== undefined) {\r\n\t\t\tfor (var i = 0; i < classNames.length; i += 1) {\r\n\t\t\t\telm.classList.remove(classNames[i]);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// polyfill\r\n\t\tfor (var i = 0; i < classNames.length; i += 1) {\r\n\t\t\tvar repl = new RegExp(\r\n\t\t\t\t'^\\\\s*' + classNames[i] + '\\\\s*|' +\r\n\t\t\t\t'\\\\s*' + classNames[i] + '\\\\s*$|' +\r\n\t\t\t\t'\\\\s+' + classNames[i] + '(\\\\s+)',\r\n\t\t\t\t'g'\r\n\t\t\t);\r\n\t\t\telm.className = elm.className.replace(repl, '$1');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tgetCompStyle : function (elm) {\r\n\t\tvar compStyle = window.getComputedStyle ? window.getComputedStyle(elm) : elm.currentStyle;\r\n\r\n\t\t// Note: In Firefox, getComputedStyle returns null in a hidden iframe,\r\n\t\t// that's why we need to check if the returned value is non-empty\r\n\t\tif (!compStyle) {\r\n\t\t\treturn {};\r\n\t\t}\r\n\t\treturn compStyle;\r\n\t},\r\n\r\n\r\n\t// Note:\r\n\t// Setting a property to NULL reverts it to the state before it was first set\r\n\t// with the 'reversible' flag enabled\r\n\t//\r\n\tsetStyle : function (elm, styles, important, reversible) {\r\n\t\t// using '' for standard priority (IE10 apparently doesn't like value undefined)\r\n\t\tvar priority = important ? 'important' : '';\r\n\t\tvar origStyle = null;\r\n\r\n\t\tfor (var prop in styles) {\r\n\t\t\tif (styles.hasOwnProperty(prop)) {\r\n\t\t\t\tvar setVal = null;\r\n\r\n\t\t\t\tif (styles[prop] === null) {\r\n\t\t\t\t\t// reverting a property value\r\n\r\n\t\t\t\t\tif (!origStyle) {\r\n\t\t\t\t\t\t// get the original style object, but dont't try to create it if it doesn't exist\r\n\t\t\t\t\t\torigStyle = jsc.getData(elm, 'origStyle');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (origStyle && origStyle.hasOwnProperty(prop)) {\r\n\t\t\t\t\t\t// we have property's original value -> use it\r\n\t\t\t\t\t\tsetVal = origStyle[prop];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// setting a property value\r\n\r\n\t\t\t\t\tif (reversible) {\r\n\t\t\t\t\t\tif (!origStyle) {\r\n\t\t\t\t\t\t\t// get the original style object and if it doesn't exist, create it\r\n\t\t\t\t\t\t\torigStyle = jsc.getData(elm, 'origStyle', {});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!origStyle.hasOwnProperty(prop)) {\r\n\t\t\t\t\t\t\t// original property value not yet stored -> store it\r\n\t\t\t\t\t\t\torigStyle[prop] = elm.style[prop];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetVal = styles[prop];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (setVal !== null) {\r\n\t\t\t\t\telm.style.setProperty(prop, setVal, priority);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thexColor : function (r, g, b) {\r\n\t\treturn '#' + (\r\n\t\t\t('0' + Math.round(r).toString(16)).substr(-2) +\r\n\t\t\t('0' + Math.round(g).toString(16)).substr(-2) +\r\n\t\t\t('0' + Math.round(b).toString(16)).substr(-2)\r\n\t\t).toUpperCase();\r\n\t},\r\n\r\n\r\n\thexaColor : function (r, g, b, a) {\r\n\t\treturn '#' + (\r\n\t\t\t('0' + Math.round(r).toString(16)).substr(-2) +\r\n\t\t\t('0' + Math.round(g).toString(16)).substr(-2) +\r\n\t\t\t('0' + Math.round(b).toString(16)).substr(-2) +\r\n\t\t\t('0' + Math.round(a * 255).toString(16)).substr(-2)\r\n\t\t).toUpperCase();\r\n\t},\r\n\r\n\r\n\trgbColor : function (r, g, b) {\r\n\t\treturn 'rgb(' +\r\n\t\t\tMath.round(r) + ',' +\r\n\t\t\tMath.round(g) + ',' +\r\n\t\t\tMath.round(b) +\r\n\t\t')';\r\n\t},\r\n\r\n\r\n\trgbaColor : function (r, g, b, a) {\r\n\t\treturn 'rgba(' +\r\n\t\t\tMath.round(r) + ',' +\r\n\t\t\tMath.round(g) + ',' +\r\n\t\t\tMath.round(b) + ',' +\r\n\t\t\t(Math.round((a===undefined || a===null ? 1 : a) * 100) / 100) +\r\n\t\t')';\r\n\t},\r\n\r\n\r\n\tlinearGradient : (function () {\r\n\r\n\t\tfunction getFuncName () {\r\n\t\t\tvar stdName = 'linear-gradient';\r\n\t\t\tvar prefixes = ['', '-webkit-', '-moz-', '-o-', '-ms-'];\r\n\t\t\tvar helper = window.document.createElement('div');\r\n\r\n\t\t\tfor (var i = 0; i < prefixes.length; i += 1) {\r\n\t\t\t\tvar tryFunc = prefixes[i] + stdName;\r\n\t\t\t\tvar tryVal = tryFunc + '(to right, rgba(0,0,0,0), rgba(0,0,0,0))';\r\n\r\n\t\t\t\thelper.style.background = tryVal;\r\n\t\t\t\tif (helper.style.background) { // CSS background successfully set -> function name is supported\r\n\t\t\t\t\treturn tryFunc;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn stdName; // fallback to standard 'linear-gradient' without vendor prefix\r\n\t\t}\r\n\r\n\t\tvar funcName = getFuncName();\r\n\r\n\t\treturn function () {\r\n\t\t\treturn funcName + '(' + Array.prototype.join.call(arguments, ', ') + ')';\r\n\t\t};\r\n\r\n\t})(),\r\n\r\n\r\n\tsetBorderRadius : function (elm, value) {\r\n\t\tjsc.setStyle(elm, {'border-radius' : value || '0'});\r\n\t},\r\n\r\n\r\n\tsetBoxShadow : function (elm, value) {\r\n\t\tjsc.setStyle(elm, {'box-shadow': value || 'none'});\r\n\t},\r\n\r\n\r\n\tgetElementPos : function (e, relativeToViewport) {\r\n\t\tvar x=0, y=0;\r\n\t\tvar rect = e.getBoundingClientRect();\r\n\t\tx = rect.left;\r\n\t\ty = rect.top;\r\n\t\tif (!relativeToViewport) {\r\n\t\t\tvar viewPos = jsc.getViewPos();\r\n\t\t\tx += viewPos[0];\r\n\t\t\ty += viewPos[1];\r\n\t\t}\r\n\t\treturn [x, y];\r\n\t},\r\n\r\n\r\n\tgetElementSize : function (e) {\r\n\t\treturn [e.offsetWidth, e.offsetHeight];\r\n\t},\r\n\r\n\r\n\t// get pointer's X/Y coordinates relative to viewport\r\n\tgetAbsPointerPos : function (e) {\r\n\t\tvar x = 0, y = 0;\r\n\t\tif (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) {\r\n\t\t\t// touch devices\r\n\t\t\tx = e.changedTouches[0].clientX;\r\n\t\t\ty = e.changedTouches[0].clientY;\r\n\t\t} else if (typeof e.clientX === 'number') {\r\n\t\t\tx = e.clientX;\r\n\t\t\ty = e.clientY;\r\n\t\t}\r\n\t\treturn { x: x, y: y };\r\n\t},\r\n\r\n\r\n\t// get pointer's X/Y coordinates relative to target element\r\n\tgetRelPointerPos : function (e) {\r\n\t\tvar target = e.target || e.srcElement;\r\n\t\tvar targetRect = target.getBoundingClientRect();\r\n\r\n\t\tvar x = 0, y = 0;\r\n\r\n\t\tvar clientX = 0, clientY = 0;\r\n\t\tif (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) {\r\n\t\t\t// touch devices\r\n\t\t\tclientX = e.changedTouches[0].clientX;\r\n\t\t\tclientY = e.changedTouches[0].clientY;\r\n\t\t} else if (typeof e.clientX === 'number') {\r\n\t\t\tclientX = e.clientX;\r\n\t\t\tclientY = e.clientY;\r\n\t\t}\r\n\r\n\t\tx = clientX - targetRect.left;\r\n\t\ty = clientY - targetRect.top;\r\n\t\treturn { x: x, y: y };\r\n\t},\r\n\r\n\r\n\tgetViewPos : function () {\r\n\t\tvar doc = window.document.documentElement;\r\n\t\treturn [\r\n\t\t\t(window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),\r\n\t\t\t(window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)\r\n\t\t];\r\n\t},\r\n\r\n\r\n\tgetViewSize : function () {\r\n\t\tvar doc = window.document.documentElement;\r\n\t\treturn [\r\n\t\t\t(window.innerWidth || doc.clientWidth),\r\n\t\t\t(window.innerHeight || doc.clientHeight),\r\n\t\t];\r\n\t},\r\n\r\n\r\n\t// r: 0-255\r\n\t// g: 0-255\r\n\t// b: 0-255\r\n\t//\r\n\t// returns: [ 0-360, 0-100, 0-100 ]\r\n\t//\r\n\tRGB_HSV : function (r, g, b) {\r\n\t\tr /= 255;\r\n\t\tg /= 255;\r\n\t\tb /= 255;\r\n\t\tvar n = Math.min(Math.min(r,g),b);\r\n\t\tvar v = Math.max(Math.max(r,g),b);\r\n\t\tvar m = v - n;\r\n\t\tif (m === 0) { return [ null, 0, 100 * v ]; }\r\n\t\tvar h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);\r\n\t\treturn [\r\n\t\t\t60 * (h===6?0:h),\r\n\t\t\t100 * (m/v),\r\n\t\t\t100 * v\r\n\t\t];\r\n\t},\r\n\r\n\r\n\t// h: 0-360\r\n\t// s: 0-100\r\n\t// v: 0-100\r\n\t//\r\n\t// returns: [ 0-255, 0-255, 0-255 ]\r\n\t//\r\n\tHSV_RGB : function (h, s, v) {\r\n\t\tvar u = 255 * (v / 100);\r\n\r\n\t\tif (h === null) {\r\n\t\t\treturn [ u, u, u ];\r\n\t\t}\r\n\r\n\t\th /= 60;\r\n\t\ts /= 100;\r\n\r\n\t\tvar i = Math.floor(h);\r\n\t\tvar f = i%2 ? h-i : 1-(h-i);\r\n\t\tvar m = u * (1 - s);\r\n\t\tvar n = u * (1 - s * f);\r\n\t\tswitch (i) {\r\n\t\t\tcase 6:\r\n\t\t\tcase 0: return [u,n,m];\r\n\t\t\tcase 1: return [n,u,m];\r\n\t\t\tcase 2: return [m,u,n];\r\n\t\t\tcase 3: return [m,n,u];\r\n\t\t\tcase 4: return [n,m,u];\r\n\t\t\tcase 5: return [u,m,n];\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tparseColorString : function (str) {\r\n\t\tvar ret = {\r\n\t\t\trgba: null,\r\n\t\t\tformat: null // 'hex' | 'hexa' | 'rgb' | 'rgba'\r\n\t\t};\r\n\r\n\t\tvar m;\r\n\r\n\t\tif (m = str.match(/^\\W*([0-9A-F]{3,8})\\W*$/i)) {\r\n\t\t\t// HEX notation\r\n\r\n\t\t\tif (m[1].length === 8) {\r\n\t\t\t\t// 8-char notation (= with alpha)\r\n\t\t\t\tret.format = 'hexa';\r\n\t\t\t\tret.rgba = [\r\n\t\t\t\t\tparseInt(m[1].substr(0,2),16),\r\n\t\t\t\t\tparseInt(m[1].substr(2,2),16),\r\n\t\t\t\t\tparseInt(m[1].substr(4,2),16),\r\n\t\t\t\t\tparseInt(m[1].substr(6,2),16) / 255\r\n\t\t\t\t];\r\n\r\n\t\t\t} else if (m[1].length === 6) {\r\n\t\t\t\t// 6-char notation\r\n\t\t\t\tret.format = 'hex';\r\n\t\t\t\tret.rgba = [\r\n\t\t\t\t\tparseInt(m[1].substr(0,2),16),\r\n\t\t\t\t\tparseInt(m[1].substr(2,2),16),\r\n\t\t\t\t\tparseInt(m[1].substr(4,2),16),\r\n\t\t\t\t\tnull\r\n\t\t\t\t];\r\n\r\n\t\t\t} else if (m[1].length === 3) {\r\n\t\t\t\t// 3-char notation\r\n\t\t\t\tret.format = 'hex';\r\n\t\t\t\tret.rgba = [\r\n\t\t\t\t\tparseInt(m[1].charAt(0) + m[1].charAt(0),16),\r\n\t\t\t\t\tparseInt(m[1].charAt(1) + m[1].charAt(1),16),\r\n\t\t\t\t\tparseInt(m[1].charAt(2) + m[1].charAt(2),16),\r\n\t\t\t\t\tnull\r\n\t\t\t\t];\r\n\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\tif (m = str.match(/^\\W*rgba?\\(([^)]*)\\)\\W*$/i)) {\r\n\t\t\t// rgb(...) or rgba(...) notation\r\n\r\n\t\t\tvar par = m[1].split(',');\r\n\t\t\tvar re = /^\\s*(\\d+|\\d*\\.\\d+|\\d+\\.\\d*)\\s*$/;\r\n\t\t\tvar mR, mG, mB, mA;\r\n\t\t\tif (\r\n\t\t\t\tpar.length >= 3 &&\r\n\t\t\t\t(mR = par[0].match(re)) &&\r\n\t\t\t\t(mG = par[1].match(re)) &&\r\n\t\t\t\t(mB = par[2].match(re))\r\n\t\t\t) {\r\n\t\t\t\tret.format = 'rgb';\r\n\t\t\t\tret.rgba = [\r\n\t\t\t\t\tparseFloat(mR[1]) || 0,\r\n\t\t\t\t\tparseFloat(mG[1]) || 0,\r\n\t\t\t\t\tparseFloat(mB[1]) || 0,\r\n\t\t\t\t\tnull\r\n\t\t\t\t];\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tpar.length >= 4 &&\r\n\t\t\t\t\t(mA = par[3].match(re))\r\n\t\t\t\t) {\r\n\t\t\t\t\tret.format = 'rgba';\r\n\t\t\t\t\tret.rgba[3] = parseFloat(mA[1]) || 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\tparsePaletteValue : function (mixed) {\r\n\t\tvar vals = [];\r\n\r\n\t\tif (typeof mixed === 'string') { // input is a string of space separated color values\r\n\t\t\t// rgb() and rgba() may contain spaces too, so let's find all color values by regex\r\n\t\t\tmixed.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\\(([^)]*)\\)/ig, function (val) {\r\n\t\t\t\tvals.push(val);\r\n\t\t\t});\r\n\t\t} else if (Array.isArray(mixed)) { // input is an array of color values\r\n\t\t\tvals = mixed;\r\n\t\t}\r\n\r\n\t\t// convert all values into uniform color format\r\n\r\n\t\tvar colors = [];\r\n\r\n\t\tfor (var i = 0; i < vals.length; i++) {\r\n\t\t\tvar color = jsc.parseColorString(vals[i]);\r\n\t\t\tif (color) {\r\n\t\t\t\tcolors.push(color);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn colors;\r\n\t},\r\n\r\n\r\n\tcontainsTranparentColor : function (colors) {\r\n\t\tfor (var i = 0; i < colors.length; i++) {\r\n\t\t\tvar a = colors[i].rgba[3];\r\n\t\t\tif (a !== null && a < 1.0) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\tisAlphaFormat : function (format) {\r\n\t\tswitch (format.toLowerCase()) {\r\n\t\tcase 'hexa':\r\n\t\tcase 'rgba':\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\t// Canvas scaling for retina displays\r\n\t//\r\n\t// adapted from https://www.html5rocks.com/en/tutorials/canvas/hidpi/\r\n\t//\r\n\tscaleCanvasForHighDPR : function (canvas) {\r\n\t\tvar dpr = window.devicePixelRatio || 1;\r\n\t\tcanvas.width *= dpr;\r\n\t\tcanvas.height *= dpr;\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\t\tctx.scale(dpr, dpr);\r\n\t},\r\n\r\n\r\n\tgenColorPreviewCanvas : function (color, separatorPos, specWidth, scaleForHighDPR) {\r\n\r\n\t\tvar sepW = Math.round(jsc.pub.previewSeparator.length);\r\n\t\tvar sqSize = jsc.pub.chessboardSize;\r\n\t\tvar sqColor1 = jsc.pub.chessboardColor1;\r\n\t\tvar sqColor2 = jsc.pub.chessboardColor2;\r\n\r\n\t\tvar cWidth = specWidth ? specWidth : sqSize * 2;\r\n\t\tvar cHeight = sqSize * 2;\r\n\r\n\t\tvar canvas = jsc.createEl('canvas');\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\r\n\t\tcanvas.width = cWidth;\r\n\t\tcanvas.height = cHeight;\r\n\t\tif (scaleForHighDPR) {\r\n\t\t\tjsc.scaleCanvasForHighDPR(canvas);\r\n\t\t}\r\n\r\n\t\t// transparency chessboard - background\r\n\t\tctx.fillStyle = sqColor1;\r\n\t\tctx.fillRect(0, 0, cWidth, cHeight);\r\n\r\n\t\t// transparency chessboard - squares\r\n\t\tctx.fillStyle = sqColor2;\r\n\t\tfor (var x = 0; x < cWidth; x += sqSize * 2) {\r\n\t\t\tctx.fillRect(x, 0, sqSize, sqSize);\r\n\t\t\tctx.fillRect(x + sqSize, sqSize, sqSize, sqSize);\r\n\t\t}\r\n\r\n\t\tif (color) {\r\n\t\t\t// actual color in foreground\r\n\t\t\tctx.fillStyle = color;\r\n\t\t\tctx.fillRect(0, 0, cWidth, cHeight);\r\n\t\t}\r\n\r\n\t\tvar start = null;\r\n\t\tswitch (separatorPos) {\r\n\t\t\tcase 'left':\r\n\t\t\t\tstart = 0;\r\n\t\t\t\tctx.clearRect(0, 0, sepW/2, cHeight);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'right':\r\n\t\t\t\tstart = cWidth - sepW;\r\n\t\t\t\tctx.clearRect(cWidth - (sepW/2), 0, sepW/2, cHeight);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tif (start !== null) {\r\n\t\t\tctx.lineWidth = 1;\r\n\t\t\tfor (var i = 0; i < jsc.pub.previewSeparator.length; i += 1) {\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.strokeStyle = jsc.pub.previewSeparator[i];\r\n\t\t\t\tctx.moveTo(0.5 + start + i, 0);\r\n\t\t\t\tctx.lineTo(0.5 + start + i, cHeight);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tcanvas: canvas,\r\n\t\t\twidth: cWidth,\r\n\t\t\theight: cHeight,\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t// if position or width is not set => fill the entire element (0%-100%)\r\n\tgenColorPreviewGradient : function (color, position, width) {\r\n\t\tvar params = [];\r\n\r\n\t\tif (position && width) {\r\n\t\t\tparams = [\r\n\t\t\t\t'to ' + {'left':'right', 'right':'left'}[position],\r\n\t\t\t\tcolor + ' 0%',\r\n\t\t\t\tcolor + ' ' + width + 'px',\r\n\t\t\t\t'rgba(0,0,0,0) ' + (width + 1) + 'px',\r\n\t\t\t\t'rgba(0,0,0,0) 100%',\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tparams = [\r\n\t\t\t\t'to right',\r\n\t\t\t\tcolor + ' 0%',\r\n\t\t\t\tcolor + ' 100%',\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\treturn jsc.linearGradient.apply(this, params);\r\n\t},\r\n\r\n\r\n\tredrawPosition : function () {\r\n\r\n\t\tif (!jsc.picker || !jsc.picker.owner) {\r\n\t\t\treturn; // picker is not shown\r\n\t\t}\r\n\r\n\t\tvar thisObj = jsc.picker.owner;\r\n\r\n\t\tvar tp, vp;\r\n\r\n\t\tif (thisObj.fixed) {\r\n\t\t\t// Fixed elements are positioned relative to viewport,\r\n\t\t\t// therefore we can ignore the scroll offset\r\n\t\t\ttp = jsc.getElementPos(thisObj.targetElement, true); // target pos\r\n\t\t\tvp = [0, 0]; // view pos\r\n\t\t} else {\r\n\t\t\ttp = jsc.getElementPos(thisObj.targetElement); // target pos\r\n\t\t\tvp = jsc.getViewPos(); // view pos\r\n\t\t}\r\n\r\n\t\tvar ts = jsc.getElementSize(thisObj.targetElement); // target size\r\n\t\tvar vs = jsc.getViewSize(); // view size\r\n\t\tvar pd = jsc.getPickerDims(thisObj);\r\n\t\tvar ps = [pd.borderW, pd.borderH]; // picker outer size\r\n\t\tvar a, b, c;\r\n\t\tswitch (thisObj.position.toLowerCase()) {\r\n\t\t\tcase 'left': a=1; b=0; c=-1; break;\r\n\t\t\tcase 'right':a=1; b=0; c=1; break;\r\n\t\t\tcase 'top': a=0; b=1; c=-1; break;\r\n\t\t\tdefault: a=0; b=1; c=1; break;\r\n\t\t}\r\n\t\tvar l = (ts[b]+ps[b])/2;\r\n\r\n\t\t// compute picker position\r\n\t\tif (!thisObj.smartPosition) {\r\n\t\t\tvar pp = [\r\n\t\t\t\ttp[a],\r\n\t\t\t\ttp[b]+ts[b]-l+l*c\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tvar pp = [\r\n\t\t\t\t-vp[a]+tp[a]+ps[a] > vs[a] ?\r\n\t\t\t\t\t(-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :\r\n\t\t\t\t\ttp[a],\r\n\t\t\t\t-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?\r\n\t\t\t\t\t(-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :\r\n\t\t\t\t\t(tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tvar x = pp[a];\r\n\t\tvar y = pp[b];\r\n\t\tvar positionValue = thisObj.fixed ? 'fixed' : 'absolute';\r\n\t\tvar contractShadow =\r\n\t\t\t(pp[0] + ps[0] > tp[0] || pp[0] < tp[0] + ts[0]) &&\r\n\t\t\t(pp[1] + ps[1] < tp[1] + ts[1]);\r\n\r\n\t\tjsc._drawPosition(thisObj, x, y, positionValue, contractShadow);\r\n\t},\r\n\r\n\r\n\t_drawPosition : function (thisObj, x, y, positionValue, contractShadow) {\r\n\t\tvar vShadow = contractShadow ? 0 : thisObj.shadowBlur; // px\r\n\r\n\t\tjsc.picker.wrap.style.position = positionValue;\r\n\t\tjsc.picker.wrap.style.left = x + 'px';\r\n\t\tjsc.picker.wrap.style.top = y + 'px';\r\n\r\n\t\tjsc.setBoxShadow(\r\n\t\t\tjsc.picker.boxS,\r\n\t\t\tthisObj.shadow ?\r\n\t\t\t\tnew jsc.BoxShadow(0, vShadow, thisObj.shadowBlur, 0, thisObj.shadowColor) :\r\n\t\t\t\tnull);\r\n\t},\r\n\r\n\r\n\tgetPickerDims : function (thisObj) {\r\n\t\tvar w = 2 * thisObj.controlBorderWidth + thisObj.width;\r\n\t\tvar h = 2 * thisObj.controlBorderWidth + thisObj.height;\r\n\r\n\t\tvar sliderSpace = 2 * thisObj.controlBorderWidth + 2 * jsc.getControlPadding(thisObj) + thisObj.sliderSize;\r\n\r\n\t\tif (jsc.getSliderChannel(thisObj)) {\r\n\t\t\tw += sliderSpace;\r\n\t\t}\r\n\t\tif (thisObj.hasAlphaChannel()) {\r\n\t\t\tw += sliderSpace;\r\n\t\t}\r\n\r\n\t\tvar pal = jsc.getPaletteDims(thisObj, w);\r\n\r\n\t\tif (pal.height) {\r\n\t\t\th += pal.height + thisObj.padding;\r\n\t\t}\r\n\t\tif (thisObj.closeButton) {\r\n\t\t\th += 2 * thisObj.controlBorderWidth + thisObj.padding + thisObj.buttonHeight;\r\n\t\t}\r\n\r\n\t\tvar pW = w + (2 * thisObj.padding);\r\n\t\tvar pH = h + (2 * thisObj.padding);\r\n\r\n\t\treturn {\r\n\t\t\tcontentW: w,\r\n\t\t\tcontentH: h,\r\n\t\t\tpaddedW: pW,\r\n\t\t\tpaddedH: pH,\r\n\t\t\tborderW: pW + (2 * thisObj.borderWidth),\r\n\t\t\tborderH: pH + (2 * thisObj.borderWidth),\r\n\t\t\tpalette: pal,\r\n\t\t};\r\n\t},\r\n\r\n\r\n\tgetPaletteDims : function (thisObj, width) {\r\n\t\tvar cols = 0, rows = 0, cellW = 0, cellH = 0, height = 0;\r\n\t\tvar sampleCount = thisObj._palette ? thisObj._palette.length : 0;\r\n\r\n\t\tif (sampleCount) {\r\n\t\t\tcols = thisObj.paletteCols;\r\n\t\t\trows = cols > 0 ? Math.ceil(sampleCount / cols) : 0;\r\n\r\n\t\t\t// color sample's dimensions (includes border)\r\n\t\t\tcellW = Math.max(1, Math.floor((width - ((cols - 1) * thisObj.paletteSpacing)) / cols));\r\n\t\t\tcellH = thisObj.paletteHeight ? Math.min(thisObj.paletteHeight, cellW) : cellW;\r\n\t\t}\r\n\r\n\t\tif (rows) {\r\n\t\t\theight =\r\n\t\t\t\trows * cellH +\r\n\t\t\t\t(rows - 1) * thisObj.paletteSpacing;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tcols: cols,\r\n\t\t\trows: rows,\r\n\t\t\tcellW: cellW,\r\n\t\t\tcellH: cellH,\r\n\t\t\twidth: width,\r\n\t\t\theight: height,\r\n\t\t};\r\n\t},\r\n\r\n\r\n\tgetControlPadding : function (thisObj) {\r\n\t\treturn Math.max(\r\n\t\t\tthisObj.padding / 2,\r\n\t\t\t(2 * thisObj.pointerBorderWidth + thisObj.pointerThickness) - thisObj.controlBorderWidth\r\n\t\t);\r\n\t},\r\n\r\n\r\n\tgetPadYChannel : function (thisObj) {\r\n\t\tswitch (thisObj.mode.charAt(1).toLowerCase()) {\r\n\t\t\tcase 'v': return 'v'; break;\r\n\t\t}\r\n\t\treturn 's';\r\n\t},\r\n\r\n\r\n\tgetSliderChannel : function (thisObj) {\r\n\t\tif (thisObj.mode.length > 2) {\r\n\t\t\tswitch (thisObj.mode.charAt(2).toLowerCase()) {\r\n\t\t\t\tcase 's': return 's'; break;\r\n\t\t\t\tcase 'v': return 'v'; break;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\r\n\r\n\t// calls function specified in picker's property\r\n\ttriggerCallback : function (thisObj, prop) {\r\n\t\tif (!thisObj[prop]) {\r\n\t\t\treturn; // callback func not specified\r\n\t\t}\r\n\t\tvar callback = null;\r\n\r\n\t\tif (typeof thisObj[prop] === 'string') {\r\n\t\t\t// string with code\r\n\t\t\ttry {\r\n\t\t\t\tcallback = new Function (thisObj[prop]);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error(e);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// function\r\n\t\t\tcallback = thisObj[prop];\r\n\t\t}\r\n\r\n\t\tif (callback) {\r\n\t\t\tcallback.call(thisObj);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Triggers a color change related event(s) on all picker instances.\r\n\t// It is possible to specify multiple events separated with a space.\r\n\ttriggerGlobal : function (eventNames) {\r\n\t\tvar inst = jsc.getInstances();\r\n\t\tfor (var i = 0; i < inst.length; i += 1) {\r\n\t\t\tinst[i].trigger(eventNames);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t_pointerMoveEvent : {\r\n\t\tmouse: 'mousemove',\r\n\t\ttouch: 'touchmove'\r\n\t},\r\n\t_pointerEndEvent : {\r\n\t\tmouse: 'mouseup',\r\n\t\ttouch: 'touchend'\r\n\t},\r\n\r\n\r\n\t_pointerOrigin : null,\r\n\t_capturedTarget : null,\r\n\r\n\r\n\tonDocumentKeyUp : function (e) {\r\n\t\tif (['Tab', 'Escape'].indexOf(jsc.eventKey(e)) !== -1) {\r\n\t\t\tif (jsc.picker && jsc.picker.owner) {\r\n\t\t\t\tjsc.picker.owner.tryHide();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tonWindowResize : function (e) {\r\n\t\tjsc.redrawPosition();\r\n\t},\r\n\r\n\r\n\tonWindowScroll : function (e) {\r\n\t\tjsc.redrawPosition();\r\n\t},\r\n\r\n\r\n\tonParentScroll : function (e) {\r\n\t\t// hide the picker when one of the parent elements is scrolled\r\n\t\tif (jsc.picker && jsc.picker.owner) {\r\n\t\t\tjsc.picker.owner.tryHide();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tonDocumentMouseDown : function (e) {\r\n\t\tvar target = e.target || e.srcElement;\r\n\r\n\t\tif (target.jscolor && target.jscolor instanceof jsc.pub) { // clicked targetElement -> show picker\r\n\t\t\tif (target.jscolor.showOnClick && !target.disabled) {\r\n\t\t\t\ttarget.jscolor.show();\r\n\t\t\t}\r\n\t\t} else if (jsc.getData(target, 'gui')) { // clicked jscolor's GUI element\r\n\t\t\tvar control = jsc.getData(target, 'control');\r\n\t\t\tif (control) {\r\n\t\t\t\t// jscolor's control\r\n\t\t\t\tjsc.onControlPointerStart(e, target, jsc.getData(target, 'control'), 'mouse');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// mouse is outside the picker's controls -> hide the color picker!\r\n\t\t\tif (jsc.picker && jsc.picker.owner) {\r\n\t\t\t\tjsc.picker.owner.tryHide();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tonPickerTouchStart : function (e) {\r\n\t\tvar target = e.target || e.srcElement;\r\n\r\n\t\tif (jsc.getData(target, 'control')) {\r\n\t\t\tjsc.onControlPointerStart(e, target, jsc.getData(target, 'control'), 'touch');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tonControlPointerStart : function (e, target, controlName, pointerType) {\r\n\t\tvar thisObj = jsc.getData(target, 'instance');\r\n\r\n\t\tjsc.preventDefault(e);\r\n\t\tjsc.captureTarget(target);\r\n\r\n\t\tvar registerDragEvents = function (doc, offset) {\r\n\t\t\tjsc.attachGroupEvent('drag', doc, jsc._pointerMoveEvent[pointerType],\r\n\t\t\t\tjsc.onDocumentPointerMove(e, target, controlName, pointerType, offset));\r\n\t\t\tjsc.attachGroupEvent('drag', doc, jsc._pointerEndEvent[pointerType],\r\n\t\t\t\tjsc.onDocumentPointerEnd(e, target, controlName, pointerType));\r\n\t\t};\r\n\r\n\t\tregisterDragEvents(window.document, [0, 0]);\r\n\r\n\t\tif (window.parent && window.frameElement) {\r\n\t\t\tvar rect = window.frameElement.getBoundingClientRect();\r\n\t\t\tvar ofs = [-rect.left, -rect.top];\r\n\t\t\tregisterDragEvents(window.parent.window.document, ofs);\r\n\t\t}\r\n\r\n\t\tvar abs = jsc.getAbsPointerPos(e);\r\n\t\tvar rel = jsc.getRelPointerPos(e);\r\n\t\tjsc._pointerOrigin = {\r\n\t\t\tx: abs.x - rel.x,\r\n\t\t\ty: abs.y - rel.y\r\n\t\t};\r\n\r\n\t\tswitch (controlName) {\r\n\t\tcase 'pad':\r\n\t\t\t// if the value slider is at the bottom, move it up\r\n\t\t\tif (jsc.getSliderChannel(thisObj) === 'v' && thisObj.channels.v === 0) {\r\n\t\t\t\tthisObj.fromHSVA(null, null, 100, null);\r\n\t\t\t}\r\n\t\t\tjsc.setPad(thisObj, e, 0, 0);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'sld':\r\n\t\t\tjsc.setSld(thisObj, e, 0);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'asld':\r\n\t\t\tjsc.setASld(thisObj, e, 0);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tthisObj.trigger('input');\r\n\t},\r\n\r\n\r\n\tonDocumentPointerMove : function (e, target, controlName, pointerType, offset) {\r\n\t\treturn function (e) {\r\n\t\t\tvar thisObj = jsc.getData(target, 'instance');\r\n\t\t\tswitch (controlName) {\r\n\t\t\tcase 'pad':\r\n\t\t\t\tjsc.setPad(thisObj, e, offset[0], offset[1]);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'sld':\r\n\t\t\t\tjsc.setSld(thisObj, e, offset[1]);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'asld':\r\n\t\t\t\tjsc.setASld(thisObj, e, offset[1]);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tthisObj.trigger('input');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tonDocumentPointerEnd : function (e, target, controlName, pointerType) {\r\n\t\treturn function (e) {\r\n\t\t\tvar thisObj = jsc.getData(target, 'instance');\r\n\t\t\tjsc.detachGroupEvents('drag');\r\n\t\t\tjsc.releaseTarget();\r\n\r\n\t\t\t// Always trigger changes AFTER detaching outstanding mouse handlers,\r\n\t\t\t// in case some color change that occured in user-defined onChange/onInput handler\r\n\t\t\t// intruded into current mouse events\r\n\t\t\tthisObj.trigger('input');\r\n\t\t\tthisObj.trigger('change');\r\n\t\t};\r\n\t},\r\n\r\n\r\n\tonPaletteSampleClick : function (e) {\r\n\t\tvar target = e.currentTarget;\r\n\t\tvar thisObj = jsc.getData(target, 'instance');\r\n\t\tvar color = jsc.getData(target, 'color');\r\n\r\n\t\t// when format is flexible, use the original format of this color sample\r\n\t\tif (thisObj.format.toLowerCase() === 'any') {\r\n\t\t\tthisObj._setFormat(color.format); // adapt format\r\n\t\t\tif (!jsc.isAlphaFormat(thisObj.getFormat())) {\r\n\t\t\t\tcolor.rgba[3] = 1.0; // when switching to a format that doesn't support alpha, set full opacity\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// if this color doesn't specify alpha, use alpha of 1.0 (if applicable)\r\n\t\tif (color.rgba[3] === null) {\r\n\t\t\tif (thisObj.paletteSetsAlpha === true || (thisObj.paletteSetsAlpha === 'auto' && thisObj._paletteHasTransparency)) {\r\n\t\t\t\tcolor.rgba[3] = 1.0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthisObj.fromRGBA.apply(thisObj, color.rgba);\r\n\r\n\t\tthisObj.trigger('input');\r\n\t\tthisObj.trigger('change');\r\n\r\n\t\tif (thisObj.hideOnPaletteClick) {\r\n\t\t\tthisObj.hide();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tsetPad : function (thisObj, e, ofsX, ofsY) {\r\n\t\tvar pointerAbs = jsc.getAbsPointerPos(e);\r\n\t\tvar x = ofsX + pointerAbs.x - jsc._pointerOrigin.x - thisObj.padding - thisObj.controlBorderWidth;\r\n\t\tvar y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.controlBorderWidth;\r\n\r\n\t\tvar xVal = x * (360 / (thisObj.width - 1));\r\n\t\tvar yVal = 100 - (y * (100 / (thisObj.height - 1)));\r\n\r\n\t\tswitch (jsc.getPadYChannel(thisObj)) {\r\n\t\tcase 's': thisObj.fromHSVA(xVal, yVal, null, null); break;\r\n\t\tcase 'v': thisObj.fromHSVA(xVal, null, yVal, null); break;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tsetSld : function (thisObj, e, ofsY) {\r\n\t\tvar pointerAbs = jsc.getAbsPointerPos(e);\r\n\t\tvar y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.controlBorderWidth;\r\n\t\tvar yVal = 100 - (y * (100 / (thisObj.height - 1)));\r\n\r\n\t\tswitch (jsc.getSliderChannel(thisObj)) {\r\n\t\tcase 's': thisObj.fromHSVA(null, yVal, null, null); break;\r\n\t\tcase 'v': thisObj.fromHSVA(null, null, yVal, null); break;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tsetASld : function (thisObj, e, ofsY) {\r\n\t\tvar pointerAbs = jsc.getAbsPointerPos(e);\r\n\t\tvar y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.controlBorderWidth;\r\n\t\tvar yVal = 1.0 - (y * (1.0 / (thisObj.height - 1)));\r\n\r\n\t\tif (yVal < 1.0) {\r\n\t\t\t// if format is flexible and the current format doesn't support alpha, switch to a suitable one\r\n\t\t\tvar fmt = thisObj.getFormat();\r\n\t\t\tif (thisObj.format.toLowerCase() === 'any' && !jsc.isAlphaFormat(fmt)) {\r\n\t\t\t\tthisObj._setFormat(fmt === 'hex' ? 'hexa' : 'rgba');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthisObj.fromHSVA(null, null, null, yVal);\r\n\t},\r\n\r\n\r\n\tcreatePadCanvas : function () {\r\n\r\n\t\tvar ret = {\r\n\t\t\telm: null,\r\n\t\t\tdraw: null\r\n\t\t};\r\n\r\n\t\tvar canvas = jsc.createEl('canvas');\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\r\n\t\tvar drawFunc = function (width, height, type) {\r\n\t\t\tcanvas.width = width;\r\n\t\t\tcanvas.height = height;\r\n\r\n\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n\t\t\tvar hGrad = ctx.createLinearGradient(0, 0, canvas.width, 0);\r\n\t\t\thGrad.addColorStop(0 / 6, '#F00');\r\n\t\t\thGrad.addColorStop(1 / 6, '#FF0');\r\n\t\t\thGrad.addColorStop(2 / 6, '#0F0');\r\n\t\t\thGrad.addColorStop(3 / 6, '#0FF');\r\n\t\t\thGrad.addColorStop(4 / 6, '#00F');\r\n\t\t\thGrad.addColorStop(5 / 6, '#F0F');\r\n\t\t\thGrad.addColorStop(6 / 6, '#F00');\r\n\r\n\t\t\tctx.fillStyle = hGrad;\r\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n\t\t\tvar vGrad = ctx.createLinearGradient(0, 0, 0, canvas.height);\r\n\t\t\tswitch (type.toLowerCase()) {\r\n\t\t\tcase 's':\r\n\t\t\t\tvGrad.addColorStop(0, 'rgba(255,255,255,0)');\r\n\t\t\t\tvGrad.addColorStop(1, 'rgba(255,255,255,1)');\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'v':\r\n\t\t\t\tvGrad.addColorStop(0, 'rgba(0,0,0,0)');\r\n\t\t\t\tvGrad.addColorStop(1, 'rgba(0,0,0,1)');\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tctx.fillStyle = vGrad;\r\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\t\t};\r\n\r\n\t\tret.elm = canvas;\r\n\t\tret.draw = drawFunc;\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\r\n\tcreateSliderGradient : function () {\r\n\r\n\t\tvar ret = {\r\n\t\t\telm: null,\r\n\t\t\tdraw: null\r\n\t\t};\r\n\r\n\t\tvar canvas = jsc.createEl('canvas');\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\r\n\t\tvar drawFunc = function (width, height, color1, color2) {\r\n\t\t\tcanvas.width = width;\r\n\t\t\tcanvas.height = height;\r\n\r\n\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n\t\t\tvar grad = ctx.createLinearGradient(0, 0, 0, canvas.height);\r\n\t\t\tgrad.addColorStop(0, color1);\r\n\t\t\tgrad.addColorStop(1, color2);\r\n\r\n\t\t\tctx.fillStyle = grad;\r\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\t\t};\r\n\r\n\t\tret.elm = canvas;\r\n\t\tret.draw = drawFunc;\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\r\n\tcreateASliderGradient : function () {\r\n\r\n\t\tvar ret = {\r\n\t\t\telm: null,\r\n\t\t\tdraw: null\r\n\t\t};\r\n\r\n\t\tvar canvas = jsc.createEl('canvas');\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\r\n\t\tvar drawFunc = function (width, height, color) {\r\n\t\t\tcanvas.width = width;\r\n\t\t\tcanvas.height = height;\r\n\r\n\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n\t\t\tvar sqSize = canvas.width / 2;\r\n\t\t\tvar sqColor1 = jsc.pub.chessboardColor1;\r\n\t\t\tvar sqColor2 = jsc.pub.chessboardColor2;\r\n\r\n\t\t\t// dark gray background\r\n\t\t\tctx.fillStyle = sqColor1;\r\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n\t\t\tif (sqSize > 0) { // to avoid infinite loop\r\n\t\t\t\tfor (var y = 0; y < canvas.height; y += sqSize * 2) {\r\n\t\t\t\t\t// light gray squares\r\n\t\t\t\t\tctx.fillStyle = sqColor2;\r\n\t\t\t\t\tctx.fillRect(0, y, sqSize, sqSize);\r\n\t\t\t\t\tctx.fillRect(sqSize, y + sqSize, sqSize, sqSize);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar grad = ctx.createLinearGradient(0, 0, 0, canvas.height);\r\n\t\t\tgrad.addColorStop(0, color);\r\n\t\t\tgrad.addColorStop(1, 'rgba(0,0,0,0)');\r\n\r\n\t\t\tctx.fillStyle = grad;\r\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\t\t};\r\n\r\n\t\tret.elm = canvas;\r\n\t\tret.draw = drawFunc;\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\r\n\tBoxShadow : (function () {\r\n\t\tvar BoxShadow = function (hShadow, vShadow, blur, spread, color, inset) {\r\n\t\t\tthis.hShadow = hShadow;\r\n\t\t\tthis.vShadow = vShadow;\r\n\t\t\tthis.blur = blur;\r\n\t\t\tthis.spread = spread;\r\n\t\t\tthis.color = color;\r\n\t\t\tthis.inset = !!inset;\r\n\t\t};\r\n\r\n\t\tBoxShadow.prototype.toString = function () {\r\n\t\t\tvar vals = [\r\n\t\t\t\tMath.round(this.hShadow) + 'px',\r\n\t\t\t\tMath.round(this.vShadow) + 'px',\r\n\t\t\t\tMath.round(this.blur) + 'px',\r\n\t\t\t\tMath.round(this.spread) + 'px',\r\n\t\t\t\tthis.color\r\n\t\t\t];\r\n\t\t\tif (this.inset) {\r\n\t\t\t\tvals.push('inset');\r\n\t\t\t}\r\n\t\t\treturn vals.join(' ');\r\n\t\t};\r\n\r\n\t\treturn BoxShadow;\r\n\t})(),\r\n\r\n\r\n\tflags : {\r\n\t\tleaveValue : 1 << 0,\r\n\t\tleaveAlpha : 1 << 1,\r\n\t\tleavePreview : 1 << 2,\r\n\t},\r\n\r\n\r\n\tenumOpts : {\r\n\t\tformat: ['auto', 'any', 'hex', 'hexa', 'rgb', 'rgba'],\r\n\t\tpreviewPosition: ['left', 'right'],\r\n\t\tmode: ['hsv', 'hvs', 'hs', 'hv'],\r\n\t\tposition: ['left', 'right', 'top', 'bottom'],\r\n\t\talphaChannel: ['auto', true, false],\r\n\t\tpaletteSetsAlpha: ['auto', true, false],\r\n\t},\r\n\r\n\r\n\tdeprecatedOpts : {\r\n\t\t// : ( can be null)\r\n\t\t'styleElement': 'previewElement',\r\n\t\t'onFineChange': 'onInput',\r\n\t\t'overwriteImportant': 'forceStyle',\r\n\t\t'closable': 'closeButton',\r\n\t\t'insetWidth': 'controlBorderWidth',\r\n\t\t'insetColor': 'controlBorderColor',\r\n\t\t'refine': null,\r\n\t},\r\n\r\n\r\n\tdocsRef : ' ' + 'See https://jscolor.com/docs/',\r\n\r\n\r\n\t//\r\n\t// Usage:\r\n\t// var myPicker = new JSColor( [, ])\r\n\t//\r\n\t// (constructor is accessible via both 'jscolor' and 'JSColor' name)\r\n\t//\r\n\r\n\tpub : function (targetElement, opts) {\r\n\r\n\t\tvar THIS = this;\r\n\r\n\t\tif (!opts) {\r\n\t\t\topts = {};\r\n\t\t}\r\n\r\n\t\tthis.channels = {\r\n\t\t\tr: 255, // red [0-255]\r\n\t\t\tg: 255, // green [0-255]\r\n\t\t\tb: 255, // blue [0-255]\r\n\t\t\th: 0, // hue [0-360]\r\n\t\t\ts: 0, // saturation [0-100]\r\n\t\t\tv: 100, // value (brightness) [0-100]\r\n\t\t\ta: 1.0, // alpha (opacity) [0.0 - 1.0]\r\n\t\t};\r\n\r\n\t\t// General options\r\n\t\t//\r\n\t\tthis.format = 'auto'; // 'auto' | 'any' | 'hex' | 'hexa' | 'rgb' | 'rgba' - Format of the input/output value\r\n\t\tthis.value = undefined; // INITIAL color value in any supported format. To change it later, use method fromString(), fromHSVA(), fromRGBA() or channel()\r\n\t\tthis.alpha = undefined; // INITIAL alpha value. To change it later, call method channel('A', )\r\n\t\tthis.onChange = undefined; // called when color changes. Value can be either a function or a string with JS code.\r\n\t\tthis.onInput = undefined; // called repeatedly as the color is being changed, e.g. while dragging a slider. Value can be either a function or a string with JS code.\r\n\t\tthis.valueElement = undefined; // element that will be used to display and input the color value\r\n\t\tthis.alphaElement = undefined; // element that will be used to display and input the alpha (opacity) value\r\n\t\tthis.previewElement = undefined; // element that will preview the picked color using CSS background\r\n\t\tthis.previewPosition = 'left'; // 'left' | 'right' - position of the color preview in previewElement\r\n\t\tthis.previewSize = 32; // (px) width of the color preview displayed in previewElement\r\n\t\tthis.previewPadding = 8; // (px) space between color preview and content of the previewElement\r\n\t\tthis.required = true; // whether the associated text input must always contain a color value. If false, the input can be left empty.\r\n\t\tthis.hash = true; // whether to prefix the HEX color code with # symbol (only applicable for HEX format)\r\n\t\tthis.uppercase = true; // whether to show the HEX color code in upper case (only applicable for HEX format)\r\n\t\tthis.forceStyle = true; // whether to overwrite CSS style of the previewElement using !important flag\r\n\r\n\t\t// Color Picker options\r\n\t\t//\r\n\t\tthis.width = 181; // width of the color spectrum (in px)\r\n\t\tthis.height = 101; // height of the color spectrum (in px)\r\n\t\tthis.mode = 'HSV'; // 'HSV' | 'HVS' | 'HS' | 'HV' - layout of the color picker controls\r\n\t\tthis.alphaChannel = 'auto'; // 'auto' | true | false - if alpha channel is enabled, the alpha slider will be visible. If 'auto', it will be determined according to color format\r\n\t\tthis.position = 'bottom'; // 'left' | 'right' | 'top' | 'bottom' - position relative to the target element\r\n\t\tthis.smartPosition = true; // automatically change picker position when there is not enough space for it\r\n\t\tthis.showOnClick = true; // whether to show the picker when user clicks its target element\r\n\t\tthis.hideOnLeave = true; // whether to automatically hide the picker when user leaves its target element (e.g. upon clicking the document)\r\n\t\tthis.palette = []; // colors to be displayed in the palette, specified as an array or a string of space separated color values (in any supported format)\r\n\t\tthis.paletteCols = 10; // number of columns in the palette\r\n\t\tthis.paletteSetsAlpha = 'auto'; // 'auto' | true | false - if true, palette colors that don't specify alpha will set alpha to 1.0\r\n\t\tthis.paletteHeight = 16; // maximum height (px) of a row in the palette\r\n\t\tthis.paletteSpacing = 4; // distance (px) between color samples in the palette\r\n\t\tthis.hideOnPaletteClick = false; // when set to true, clicking the palette will also hide the color picker\r\n\t\tthis.sliderSize = 16; // px\r\n\t\tthis.crossSize = 8; // px\r\n\t\tthis.closeButton = false; // whether to display the Close button\r\n\t\tthis.closeText = 'Close';\r\n\t\tthis.buttonColor = 'rgba(0,0,0,1)'; // CSS color\r\n\t\tthis.buttonHeight = 18; // px\r\n\t\tthis.padding = 12; // px\r\n\t\tthis.backgroundColor = 'rgba(255,255,255,1)'; // CSS color\r\n\t\tthis.borderWidth = 1; // px\r\n\t\tthis.borderColor = 'rgba(187,187,187,1)'; // CSS color\r\n\t\tthis.borderRadius = 8; // px\r\n\t\tthis.controlBorderWidth = 1; // px\r\n\t\tthis.controlBorderColor = 'rgba(187,187,187,1)'; // CSS color\r\n\t\tthis.shadow = true; // whether to display a shadow\r\n\t\tthis.shadowBlur = 15; // px\r\n\t\tthis.shadowColor = 'rgba(0,0,0,0.2)'; // CSS color\r\n\t\tthis.pointerColor = 'rgba(76,76,76,1)'; // CSS color\r\n\t\tthis.pointerBorderWidth = 1; // px\r\n\t\tthis.pointerBorderColor = 'rgba(255,255,255,1)'; // CSS color\r\n\t\tthis.pointerThickness = 2; // px\r\n\t\tthis.zIndex = 5000;\r\n\t\tthis.container = undefined; // where to append the color picker (BODY element by default)\r\n\r\n\t\t// Experimental\r\n\t\t//\r\n\t\tthis.minS = 0; // min allowed saturation (0 - 100)\r\n\t\tthis.maxS = 100; // max allowed saturation (0 - 100)\r\n\t\tthis.minV = 0; // min allowed value (brightness) (0 - 100)\r\n\t\tthis.maxV = 100; // max allowed value (brightness) (0 - 100)\r\n\t\tthis.minA = 0.0; // min allowed alpha (opacity) (0.0 - 1.0)\r\n\t\tthis.maxA = 1.0; // max allowed alpha (opacity) (0.0 - 1.0)\r\n\r\n\r\n\t\t// Getter: option(name)\r\n\t\t// Setter: option(name, value)\r\n\t\t// option({name:value, ...})\r\n\t\t//\r\n\t\tthis.option = function () {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\tthrow new Error('No option specified');\r\n\t\t\t}\r\n\r\n\t\t\tif (arguments.length === 1 && typeof arguments[0] === 'string') {\r\n\t\t\t\t// getting a single option\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn getOption(arguments[0]);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\r\n\t\t\t} else if (arguments.length >= 2 && typeof arguments[0] === 'string') {\r\n\t\t\t\t// setting a single option\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!setOption(arguments[0], arguments[1])) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tthis.redraw(); // immediately redraws the picker, if it's displayed\r\n\t\t\t\tthis.exposeColor(); // in case some preview-related or format-related option was changed\r\n\t\t\t\treturn true;\r\n\r\n\t\t\t} else if (arguments.length === 1 && typeof arguments[0] === 'object') {\r\n\t\t\t\t// setting multiple options\r\n\t\t\t\tvar opts = arguments[0];\r\n\t\t\t\tvar success = true;\r\n\t\t\t\tfor (var opt in opts) {\r\n\t\t\t\t\tif (opts.hasOwnProperty(opt)) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tif (!setOption(opt, opts[opt])) {\r\n\t\t\t\t\t\t\t\tsuccess = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t\t\t\tsuccess = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.redraw(); // immediately redraws the picker, if it's displayed\r\n\t\t\t\tthis.exposeColor(); // in case some preview-related or format-related option was changed\r\n\t\t\t\treturn success;\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error('Invalid arguments');\r\n\t\t}\r\n\r\n\r\n\t\t// Getter: channel(name)\r\n\t\t// Setter: channel(name, value)\r\n\t\t//\r\n\t\tthis.channel = function (name, value) {\r\n\t\t\tif (typeof name !== 'string') {\r\n\t\t\t\tthrow new Error('Invalid value for channel name: ' + name);\r\n\t\t\t}\r\n\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\t// getting channel value\r\n\t\t\t\tif (!this.channels.hasOwnProperty(name.toLowerCase())) {\r\n\t\t\t\t\tconsole.warn('Getting unknown channel: ' + name);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn this.channels[name.toLowerCase()];\r\n\r\n\t\t\t} else {\r\n\t\t\t\t// setting channel value\r\n\t\t\t\tvar res = false;\r\n\t\t\t\tswitch (name.toLowerCase()) {\r\n\t\t\t\t\tcase 'r': res = this.fromRGBA(value, null, null, null); break;\r\n\t\t\t\t\tcase 'g': res = this.fromRGBA(null, value, null, null); break;\r\n\t\t\t\t\tcase 'b': res = this.fromRGBA(null, null, value, null); break;\r\n\t\t\t\t\tcase 'h': res = this.fromHSVA(value, null, null, null); break;\r\n\t\t\t\t\tcase 's': res = this.fromHSVA(null, value, null, null); break;\r\n\t\t\t\t\tcase 'v': res = this.fromHSVA(null, null, value, null); break;\r\n\t\t\t\t\tcase 'a': res = this.fromHSVA(null, null, null, value); break;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tconsole.warn('Setting unknown channel: ' + name);\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (res) {\r\n\t\t\t\t\tthis.redraw(); // immediately redraws the picker, if it's displayed\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\r\n\t\t// Triggers given input event(s) by:\r\n\t\t// - executing on callback specified as picker's option\r\n\t\t// - triggering standard DOM event listeners attached to the value element\r\n\t\t//\r\n\t\t// It is possible to specify multiple events separated with a space.\r\n\t\t//\r\n\t\tthis.trigger = function (eventNames) {\r\n\t\t\tvar evs = jsc.strList(eventNames);\r\n\t\t\tfor (var i = 0; i < evs.length; i += 1) {\r\n\t\t\t\tvar ev = evs[i].toLowerCase();\r\n\r\n\t\t\t\t// trigger a callback\r\n\t\t\t\tvar callbackProp = null;\r\n\t\t\t\tswitch (ev) {\r\n\t\t\t\t\tcase 'input': callbackProp = 'onInput'; break;\r\n\t\t\t\t\tcase 'change': callbackProp = 'onChange'; break;\r\n\t\t\t\t}\r\n\t\t\t\tif (callbackProp) {\r\n\t\t\t\t\tjsc.triggerCallback(this, callbackProp);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// trigger standard DOM event listeners on the value element\r\n\t\t\t\tjsc.triggerInputEvent(this.valueElement, ev, true, true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\t// h: 0-360\r\n\t\t// s: 0-100\r\n\t\t// v: 0-100\r\n\t\t// a: 0.0-1.0\r\n\t\t//\r\n\t\tthis.fromHSVA = function (h, s, v, a, flags) { // null = don't change\r\n\t\t\tif (h === undefined) { h = null; }\r\n\t\t\tif (s === undefined) { s = null; }\r\n\t\t\tif (v === undefined) { v = null; }\r\n\t\t\tif (a === undefined) { a = null; }\r\n\r\n\t\t\tif (h !== null) {\r\n\t\t\t\tif (isNaN(h)) { return false; }\r\n\t\t\t\tthis.channels.h = Math.max(0, Math.min(360, h));\r\n\t\t\t}\r\n\t\t\tif (s !== null) {\r\n\t\t\t\tif (isNaN(s)) { return false; }\r\n\t\t\t\tthis.channels.s = Math.max(0, Math.min(100, this.maxS, s), this.minS);\r\n\t\t\t}\r\n\t\t\tif (v !== null) {\r\n\t\t\t\tif (isNaN(v)) { return false; }\r\n\t\t\t\tthis.channels.v = Math.max(0, Math.min(100, this.maxV, v), this.minV);\r\n\t\t\t}\r\n\t\t\tif (a !== null) {\r\n\t\t\t\tif (isNaN(a)) { return false; }\r\n\t\t\t\tthis.channels.a = this.hasAlphaChannel() ?\r\n\t\t\t\t\tMath.max(0, Math.min(1, this.maxA, a), this.minA) :\r\n\t\t\t\t\t1.0; // if alpha channel is disabled, the color should stay 100% opaque\r\n\t\t\t}\r\n\r\n\t\t\tvar rgb = jsc.HSV_RGB(\r\n\t\t\t\tthis.channels.h,\r\n\t\t\t\tthis.channels.s,\r\n\t\t\t\tthis.channels.v\r\n\t\t\t);\r\n\t\t\tthis.channels.r = rgb[0];\r\n\t\t\tthis.channels.g = rgb[1];\r\n\t\t\tthis.channels.b = rgb[2];\r\n\r\n\t\t\tthis.exposeColor(flags);\r\n\t\t\treturn true;\r\n\t\t};\r\n\r\n\r\n\t\t// r: 0-255\r\n\t\t// g: 0-255\r\n\t\t// b: 0-255\r\n\t\t// a: 0.0-1.0\r\n\t\t//\r\n\t\tthis.fromRGBA = function (r, g, b, a, flags) { // null = don't change\r\n\t\t\tif (r === undefined) { r = null; }\r\n\t\t\tif (g === undefined) { g = null; }\r\n\t\t\tif (b === undefined) { b = null; }\r\n\t\t\tif (a === undefined) { a = null; }\r\n\r\n\t\t\tif (r !== null) {\r\n\t\t\t\tif (isNaN(r)) { return false; }\r\n\t\t\t\tr = Math.max(0, Math.min(255, r));\r\n\t\t\t}\r\n\t\t\tif (g !== null) {\r\n\t\t\t\tif (isNaN(g)) { return false; }\r\n\t\t\t\tg = Math.max(0, Math.min(255, g));\r\n\t\t\t}\r\n\t\t\tif (b !== null) {\r\n\t\t\t\tif (isNaN(b)) { return false; }\r\n\t\t\t\tb = Math.max(0, Math.min(255, b));\r\n\t\t\t}\r\n\t\t\tif (a !== null) {\r\n\t\t\t\tif (isNaN(a)) { return false; }\r\n\t\t\t\tthis.channels.a = this.hasAlphaChannel() ?\r\n\t\t\t\t\tMath.max(0, Math.min(1, this.maxA, a), this.minA) :\r\n\t\t\t\t\t1.0; // if alpha channel is disabled, the color should stay 100% opaque\r\n\t\t\t}\r\n\r\n\t\t\tvar hsv = jsc.RGB_HSV(\r\n\t\t\t\tr===null ? this.channels.r : r,\r\n\t\t\t\tg===null ? this.channels.g : g,\r\n\t\t\t\tb===null ? this.channels.b : b\r\n\t\t\t);\r\n\t\t\tif (hsv[0] !== null) {\r\n\t\t\t\tthis.channels.h = Math.max(0, Math.min(360, hsv[0]));\r\n\t\t\t}\r\n\t\t\tif (hsv[2] !== 0) { // fully black color stays black through entire saturation range, so let's not change saturation\r\n\t\t\t\tthis.channels.s = Math.max(0, this.minS, Math.min(100, this.maxS, hsv[1]));\r\n\t\t\t}\r\n\t\t\tthis.channels.v = Math.max(0, this.minV, Math.min(100, this.maxV, hsv[2]));\r\n\r\n\t\t\t// update RGB according to final HSV, as some values might be trimmed\r\n\t\t\tvar rgb = jsc.HSV_RGB(this.channels.h, this.channels.s, this.channels.v);\r\n\t\t\tthis.channels.r = rgb[0];\r\n\t\t\tthis.channels.g = rgb[1];\r\n\t\t\tthis.channels.b = rgb[2];\r\n\r\n\t\t\tthis.exposeColor(flags);\r\n\t\t\treturn true;\r\n\t\t};\r\n\r\n\r\n\t\t// DEPRECATED. Use .fromHSVA() instead\r\n\t\t//\r\n\t\tthis.fromHSV = function (h, s, v, flags) {\r\n\t\t\tconsole.warn('fromHSV() method is DEPRECATED. Using fromHSVA() instead.' + jsc.docsRef);\r\n\t\t\treturn this.fromHSVA(h, s, v, null, flags);\r\n\t\t};\r\n\r\n\r\n\t\t// DEPRECATED. Use .fromRGBA() instead\r\n\t\t//\r\n\t\tthis.fromRGB = function (r, g, b, flags) {\r\n\t\t\tconsole.warn('fromRGB() method is DEPRECATED. Using fromRGBA() instead.' + jsc.docsRef);\r\n\t\t\treturn this.fromRGBA(r, g, b, null, flags);\r\n\t\t};\r\n\r\n\r\n\t\tthis.fromString = function (str, flags) {\r\n\t\t\tif (!this.required && str.trim() === '') {\r\n\t\t\t\t// setting empty string to an optional color input\r\n\t\t\t\tthis.setPreviewElementBg(null);\r\n\t\t\t\tthis.setValueElementValue('');\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tvar color = jsc.parseColorString(str);\r\n\t\t\tif (!color) {\r\n\t\t\t\treturn false; // could not parse\r\n\t\t\t}\r\n\t\t\tif (this.format.toLowerCase() === 'any') {\r\n\t\t\t\tthis._setFormat(color.format); // adapt format\r\n\t\t\t\tif (!jsc.isAlphaFormat(this.getFormat())) {\r\n\t\t\t\t\tcolor.rgba[3] = 1.0; // when switching to a format that doesn't support alpha, set full opacity\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.fromRGBA(\r\n\t\t\t\tcolor.rgba[0],\r\n\t\t\t\tcolor.rgba[1],\r\n\t\t\t\tcolor.rgba[2],\r\n\t\t\t\tcolor.rgba[3],\r\n\t\t\t\tflags\r\n\t\t\t);\r\n\t\t\treturn true;\r\n\t\t};\r\n\r\n\r\n\t\tthis.toString = function (format) {\r\n\t\t\tif (format === undefined) {\r\n\t\t\t\tformat = this.getFormat(); // format not specified -> use the current format\r\n\t\t\t}\r\n\t\t\tswitch (format.toLowerCase()) {\r\n\t\t\t\tcase 'hex': return this.toHEXString(); break;\r\n\t\t\t\tcase 'hexa': return this.toHEXAString(); break;\r\n\t\t\t\tcase 'rgb': return this.toRGBString(); break;\r\n\t\t\t\tcase 'rgba': return this.toRGBAString(); break;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t};\r\n\r\n\r\n\t\tthis.toHEXString = function () {\r\n\t\t\treturn jsc.hexColor(\r\n\t\t\t\tthis.channels.r,\r\n\t\t\t\tthis.channels.g,\r\n\t\t\t\tthis.channels.b\r\n\t\t\t);\r\n\t\t};\r\n\r\n\r\n\t\tthis.toHEXAString = function () {\r\n\t\t\treturn jsc.hexaColor(\r\n\t\t\t\tthis.channels.r,\r\n\t\t\t\tthis.channels.g,\r\n\t\t\t\tthis.channels.b,\r\n\t\t\t\tthis.channels.a\r\n\t\t\t);\r\n\t\t};\r\n\r\n\r\n\t\tthis.toRGBString = function () {\r\n\t\t\treturn jsc.rgbColor(\r\n\t\t\t\tthis.channels.r,\r\n\t\t\t\tthis.channels.g,\r\n\t\t\t\tthis.channels.b\r\n\t\t\t);\r\n\t\t};\r\n\r\n\r\n\t\tthis.toRGBAString = function () {\r\n\t\t\treturn jsc.rgbaColor(\r\n\t\t\t\tthis.channels.r,\r\n\t\t\t\tthis.channels.g,\r\n\t\t\t\tthis.channels.b,\r\n\t\t\t\tthis.channels.a\r\n\t\t\t);\r\n\t\t};\r\n\r\n\r\n\t\tthis.toGrayscale = function () {\r\n\t\t\treturn (\r\n\t\t\t\t0.213 * this.channels.r +\r\n\t\t\t\t0.715 * this.channels.g +\r\n\t\t\t\t0.072 * this.channels.b\r\n\t\t\t);\r\n\t\t};\r\n\r\n\r\n\t\tthis.toCanvas = function () {\r\n\t\t\treturn jsc.genColorPreviewCanvas(this.toRGBAString()).canvas;\r\n\t\t};\r\n\r\n\r\n\t\tthis.toDataURL = function () {\r\n\t\t\treturn this.toCanvas().toDataURL();\r\n\t\t};\r\n\r\n\r\n\t\tthis.toBackground = function () {\r\n\t\t\treturn jsc.pub.background(this.toRGBAString());\r\n\t\t};\r\n\r\n\r\n\t\tthis.isLight = function () {\r\n\t\t\treturn this.toGrayscale() > 255 / 2;\r\n\t\t};\r\n\r\n\r\n\t\tthis.hide = function () {\r\n\t\t\tif (isPickerOwner()) {\r\n\t\t\t\tdetachPicker();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.show = function () {\r\n\t\t\tdrawPicker();\r\n\t\t};\r\n\r\n\r\n\t\tthis.redraw = function () {\r\n\t\t\tif (isPickerOwner()) {\r\n\t\t\t\tdrawPicker();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.getFormat = function () {\r\n\t\t\treturn this._currentFormat;\r\n\t\t};\r\n\r\n\r\n\t\tthis._setFormat = function (format) {\r\n\t\t\tthis._currentFormat = format.toLowerCase();\r\n\t\t};\r\n\r\n\r\n\t\tthis.hasAlphaChannel = function () {\r\n\t\t\tif (this.alphaChannel === 'auto') {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tthis.format.toLowerCase() === 'any' || // format can change on the fly (e.g. from hex to rgba), so let's consider the alpha channel enabled\r\n\t\t\t\t\tjsc.isAlphaFormat(this.getFormat()) || // the current format supports alpha channel\r\n\t\t\t\t\tthis.alpha !== undefined || // initial alpha value is set, so we're working with alpha channel\r\n\t\t\t\t\tthis.alphaElement !== undefined // the alpha value is redirected, so we're working with alpha channel\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn this.alphaChannel; // the alpha channel is explicitly set\r\n\t\t};\r\n\r\n\r\n\t\tthis.processValueInput = function (str) {\r\n\t\t\tif (!this.fromString(str)) {\r\n\t\t\t\t// could not parse the color value - let's just expose the current color\r\n\t\t\t\tthis.exposeColor();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.processAlphaInput = function (str) {\r\n\t\t\tif (!this.fromHSVA(null, null, null, parseFloat(str))) {\r\n\t\t\t\t// could not parse the alpha value - let's just expose the current color\r\n\t\t\t\tthis.exposeColor();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.exposeColor = function (flags) {\r\n\t\t\tvar colorStr = this.toString();\r\n\t\t\tvar fmt = this.getFormat();\r\n\r\n\t\t\t// reflect current color in data- attribute\r\n\t\t\tjsc.setDataAttr(this.targetElement, 'current-color', colorStr);\r\n\r\n\t\t\tif (!(flags & jsc.flags.leaveValue) && this.valueElement) {\r\n\t\t\t\tif (fmt === 'hex' || fmt === 'hexa') {\r\n\t\t\t\t\tif (!this.uppercase) { colorStr = colorStr.toLowerCase(); }\r\n\t\t\t\t\tif (!this.hash) { colorStr = colorStr.replace(/^#/, ''); }\r\n\t\t\t\t}\r\n\t\t\t\tthis.setValueElementValue(colorStr);\r\n\t\t\t}\r\n\r\n\t\t\tif (!(flags & jsc.flags.leaveAlpha) && this.alphaElement) {\r\n\t\t\t\tvar alphaVal = Math.round(this.channels.a * 100) / 100;\r\n\t\t\t\tthis.setAlphaElementValue(alphaVal);\r\n\t\t\t}\r\n\r\n\t\t\tif (!(flags & jsc.flags.leavePreview) && this.previewElement) {\r\n\t\t\t\tvar previewPos = null; // 'left' | 'right' (null -> fill the entire element)\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tjsc.isTextInput(this.previewElement) || // text input\r\n\t\t\t\t\t(jsc.isButton(this.previewElement) && !jsc.isButtonEmpty(this.previewElement)) // button with text\r\n\t\t\t\t) {\r\n\t\t\t\t\tpreviewPos = this.previewPosition;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.setPreviewElementBg(this.toRGBAString());\r\n\t\t\t}\r\n\r\n\t\t\tif (isPickerOwner()) {\r\n\t\t\t\tredrawPad();\r\n\t\t\t\tredrawSld();\r\n\t\t\t\tredrawASld();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.setPreviewElementBg = function (color) {\r\n\t\t\tif (!this.previewElement) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar position = null; // color preview position: null | 'left' | 'right'\r\n\t\t\tvar width = null; // color preview width: px | null = fill the entire element\r\n\t\t\tif (\r\n\t\t\t\tjsc.isTextInput(this.previewElement) || // text input\r\n\t\t\t\t(jsc.isButton(this.previewElement) && !jsc.isButtonEmpty(this.previewElement)) // button with text\r\n\t\t\t) {\r\n\t\t\t\tposition = this.previewPosition;\r\n\t\t\t\twidth = this.previewSize;\r\n\t\t\t}\r\n\r\n\t\t\tvar backgrounds = [];\r\n\r\n\t\t\tif (!color) {\r\n\t\t\t\t// there is no color preview to display -> let's remove any previous background image\r\n\t\t\t\tbackgrounds.push({\r\n\t\t\t\t\timage: 'none',\r\n\t\t\t\t\tposition: 'left top',\r\n\t\t\t\t\tsize: 'auto',\r\n\t\t\t\t\trepeat: 'no-repeat',\r\n\t\t\t\t\torigin: 'padding-box',\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// CSS gradient for background color preview\r\n\t\t\t\tbackgrounds.push({\r\n\t\t\t\t\timage: jsc.genColorPreviewGradient(\r\n\t\t\t\t\t\tcolor,\r\n\t\t\t\t\t\tposition,\r\n\t\t\t\t\t\twidth ? width - jsc.pub.previewSeparator.length : null\r\n\t\t\t\t\t),\r\n\t\t\t\t\tposition: 'left top',\r\n\t\t\t\t\tsize: 'auto',\r\n\t\t\t\t\trepeat: position ? 'repeat-y' : 'repeat',\r\n\t\t\t\t\torigin: 'padding-box',\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// data URL of generated PNG image with a gray transparency chessboard\r\n\t\t\t\tvar preview = jsc.genColorPreviewCanvas(\r\n\t\t\t\t\t'rgba(0,0,0,0)',\r\n\t\t\t\t\tposition ? {'left':'right', 'right':'left'}[position] : null,\r\n\t\t\t\t\twidth,\r\n\t\t\t\t\ttrue\r\n\t\t\t\t);\r\n\t\t\t\tbackgrounds.push({\r\n\t\t\t\t\timage: 'url(\\'' + preview.canvas.toDataURL() + '\\')',\r\n\t\t\t\t\tposition: (position || 'left') + ' top',\r\n\t\t\t\t\tsize: preview.width + 'px ' + preview.height + 'px',\r\n\t\t\t\t\trepeat: position ? 'repeat-y' : 'repeat',\r\n\t\t\t\t\torigin: 'padding-box',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvar bg = {\r\n\t\t\t\timage: [],\r\n\t\t\t\tposition: [],\r\n\t\t\t\tsize: [],\r\n\t\t\t\trepeat: [],\r\n\t\t\t\torigin: [],\r\n\t\t\t};\r\n\t\t\tfor (var i = 0; i < backgrounds.length; i += 1) {\r\n\t\t\t\tbg.image.push(backgrounds[i].image);\r\n\t\t\t\tbg.position.push(backgrounds[i].position);\r\n\t\t\t\tbg.size.push(backgrounds[i].size);\r\n\t\t\t\tbg.repeat.push(backgrounds[i].repeat);\r\n\t\t\t\tbg.origin.push(backgrounds[i].origin);\r\n\t\t\t}\r\n\r\n\t\t\t// set previewElement's background-images\r\n\t\t\tvar sty = {\r\n\t\t\t\t'background-image': bg.image.join(', '),\r\n\t\t\t\t'background-position': bg.position.join(', '),\r\n\t\t\t\t'background-size': bg.size.join(', '),\r\n\t\t\t\t'background-repeat': bg.repeat.join(', '),\r\n\t\t\t\t'background-origin': bg.origin.join(', '),\r\n\t\t\t};\r\n\t\t\tjsc.setStyle(this.previewElement, sty, this.forceStyle);\r\n\r\n\r\n\t\t\t// set/restore previewElement's padding\r\n\t\t\tvar padding = {\r\n\t\t\t\tleft: null,\r\n\t\t\t\tright: null,\r\n\t\t\t};\r\n\t\t\tif (position) {\r\n\t\t\t\tpadding[position] = (this.previewSize + this.previewPadding) + 'px';\r\n\t\t\t}\r\n\r\n\t\t\tvar sty = {\r\n\t\t\t\t'padding-left': padding.left,\r\n\t\t\t\t'padding-right': padding.right,\r\n\t\t\t};\r\n\t\t\tjsc.setStyle(this.previewElement, sty, this.forceStyle, true);\r\n\t\t};\r\n\r\n\r\n\t\tthis.setValueElementValue = function (str) {\r\n\t\t\tif (this.valueElement) {\r\n\t\t\t\tif (jsc.nodeName(this.valueElement) === 'input') {\r\n\t\t\t\t\tthis.valueElement.value = str;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.valueElement.innerHTML = str;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.setAlphaElementValue = function (str) {\r\n\t\t\tif (this.alphaElement) {\r\n\t\t\t\tif (jsc.nodeName(this.alphaElement) === 'input') {\r\n\t\t\t\t\tthis.alphaElement.value = str;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.alphaElement.innerHTML = str;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis._processParentElementsInDOM = function () {\r\n\t\t\tif (this._parentElementsProcessed) { return; }\r\n\t\t\tthis._parentElementsProcessed = true;\r\n\r\n\t\t\tvar elm = this.targetElement;\r\n\t\t\tdo {\r\n\t\t\t\t// If the target element or one of its parent nodes has fixed position,\r\n\t\t\t\t// then use fixed positioning instead\r\n\t\t\t\tvar compStyle = jsc.getCompStyle(elm);\r\n\t\t\t\tif (compStyle.position && compStyle.position.toLowerCase() === 'fixed') {\r\n\t\t\t\t\tthis.fixed = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (elm !== this.targetElement) {\r\n\t\t\t\t\t// Ensure to attach onParentScroll only once to each parent element\r\n\t\t\t\t\t// (multiple targetElements can share the same parent nodes)\r\n\t\t\t\t\t//\r\n\t\t\t\t\t// Note: It's not just offsetParents that can be scrollable,\r\n\t\t\t\t\t// that's why we loop through all parent nodes\r\n\t\t\t\t\tif (!jsc.getData(elm, 'hasScrollListener')) {\r\n\t\t\t\t\t\telm.addEventListener('scroll', jsc.onParentScroll, false);\r\n\t\t\t\t\t\tjsc.setData(elm, 'hasScrollListener', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} while ((elm = elm.parentNode) && jsc.nodeName(elm) !== 'body');\r\n\t\t};\r\n\r\n\r\n\t\tthis.tryHide = function () {\r\n\t\t\tif (this.hideOnLeave) {\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tthis.set__palette = function (val) {\r\n\t\t\tthis.palette = val;\r\n\t\t\tthis._palette = jsc.parsePaletteValue(val);\r\n\t\t\tthis._paletteHasTransparency = jsc.containsTranparentColor(this._palette);\r\n\t\t};\r\n\r\n\r\n\t\tfunction setOption (option, value) {\r\n\t\t\tif (typeof option !== 'string') {\r\n\t\t\t\tthrow new Error('Invalid value for option name: ' + option);\r\n\t\t\t}\r\n\r\n\t\t\t// enum option\r\n\t\t\tif (jsc.enumOpts.hasOwnProperty(option)) {\r\n\t\t\t\tif (typeof value === 'string') { // enum string values are case insensitive\r\n\t\t\t\t\tvalue = value.toLowerCase();\r\n\t\t\t\t}\r\n\t\t\t\tif (jsc.enumOpts[option].indexOf(value) === -1) {\r\n\t\t\t\t\tthrow new Error('Option \\'' + option + '\\' has invalid value: ' + value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// deprecated option\r\n\t\t\tif (jsc.deprecatedOpts.hasOwnProperty(option)) {\r\n\t\t\t\tvar oldOpt = option;\r\n\t\t\t\tvar newOpt = jsc.deprecatedOpts[option];\r\n\t\t\t\tif (newOpt) {\r\n\t\t\t\t\t// if we have a new name for this option, let's log a warning and use the new name\r\n\t\t\t\t\tconsole.warn('Option \\'%s\\' is DEPRECATED, using \\'%s\\' instead.' + jsc.docsRef, oldOpt, newOpt);\r\n\t\t\t\t\toption = newOpt;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// new name not available for the option\r\n\t\t\t\t\tthrow new Error('Option \\'' + option + '\\' is DEPRECATED');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar setter = 'set__' + option;\r\n\r\n\t\t\tif (typeof THIS[setter] === 'function') { // a setter exists for this option\r\n\t\t\t\tTHIS[setter](value);\r\n\t\t\t\treturn true;\r\n\r\n\t\t\t} else if (option in THIS) { // option exists as a property\r\n\t\t\t\tTHIS[option] = value;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error('Unrecognized configuration option: ' + option);\r\n\t\t}\r\n\r\n\r\n\t\tfunction getOption (option) {\r\n\t\t\tif (typeof option !== 'string') {\r\n\t\t\t\tthrow new Error('Invalid value for option name: ' + option);\r\n\t\t\t}\r\n\r\n\t\t\t// deprecated option\r\n\t\t\tif (jsc.deprecatedOpts.hasOwnProperty(option)) {\r\n\t\t\t\tvar oldOpt = option;\r\n\t\t\t\tvar newOpt = jsc.deprecatedOpts[option];\r\n\t\t\t\tif (newOpt) {\r\n\t\t\t\t\t// if we have a new name for this option, let's log a warning and use the new name\r\n\t\t\t\t\tconsole.warn('Option \\'%s\\' is DEPRECATED, using \\'%s\\' instead.' + jsc.docsRef, oldOpt, newOpt);\r\n\t\t\t\t\toption = newOpt;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// new name not available for the option\r\n\t\t\t\t\tthrow new Error('Option \\'' + option + '\\' is DEPRECATED');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar getter = 'get__' + option;\r\n\r\n\t\t\tif (typeof THIS[getter] === 'function') { // a getter exists for this option\r\n\t\t\t\treturn THIS[getter](value);\r\n\r\n\t\t\t} else if (option in THIS) { // option exists as a property\r\n\t\t\t\treturn THIS[option];\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error('Unrecognized configuration option: ' + option);\r\n\t\t}\r\n\r\n\r\n\t\tfunction detachPicker () {\r\n\t\t\tjsc.removeClass(THIS.targetElement, jsc.pub.activeClassName);\r\n\t\t\tjsc.picker.wrap.parentNode.removeChild(jsc.picker.wrap);\r\n\t\t\tdelete jsc.picker.owner;\r\n\t\t}\r\n\r\n\r\n\t\tfunction drawPicker () {\r\n\r\n\t\t\t// At this point, when drawing the picker, we know what the parent elements are\r\n\t\t\t// and we can do all related DOM operations, such as registering events on them\r\n\t\t\t// or checking their positioning\r\n\t\t\tTHIS._processParentElementsInDOM();\r\n\r\n\t\t\tif (!jsc.picker) {\r\n\t\t\t\tjsc.picker = {\r\n\t\t\t\t\towner: null, // owner picker instance\r\n\t\t\t\t\twrap : jsc.createEl('div'),\r\n\t\t\t\t\tbox : jsc.createEl('div'),\r\n\t\t\t\t\tboxS : jsc.createEl('div'), // shadow area\r\n\t\t\t\t\tboxB : jsc.createEl('div'), // border\r\n\t\t\t\t\tpad : jsc.createEl('div'),\r\n\t\t\t\t\tpadB : jsc.createEl('div'), // border\r\n\t\t\t\t\tpadM : jsc.createEl('div'), // mouse/touch area\r\n\t\t\t\t\tpadCanvas : jsc.createPadCanvas(),\r\n\t\t\t\t\tcross : jsc.createEl('div'),\r\n\t\t\t\t\tcrossBY : jsc.createEl('div'), // border Y\r\n\t\t\t\t\tcrossBX : jsc.createEl('div'), // border X\r\n\t\t\t\t\tcrossLY : jsc.createEl('div'), // line Y\r\n\t\t\t\t\tcrossLX : jsc.createEl('div'), // line X\r\n\t\t\t\t\tsld : jsc.createEl('div'), // slider\r\n\t\t\t\t\tsldB : jsc.createEl('div'), // border\r\n\t\t\t\t\tsldM : jsc.createEl('div'), // mouse/touch area\r\n\t\t\t\t\tsldGrad : jsc.createSliderGradient(),\r\n\t\t\t\t\tsldPtrS : jsc.createEl('div'), // slider pointer spacer\r\n\t\t\t\t\tsldPtrIB : jsc.createEl('div'), // slider pointer inner border\r\n\t\t\t\t\tsldPtrMB : jsc.createEl('div'), // slider pointer middle border\r\n\t\t\t\t\tsldPtrOB : jsc.createEl('div'), // slider pointer outer border\r\n\t\t\t\t\tasld : jsc.createEl('div'), // alpha slider\r\n\t\t\t\t\tasldB : jsc.createEl('div'), // border\r\n\t\t\t\t\tasldM : jsc.createEl('div'), // mouse/touch area\r\n\t\t\t\t\tasldGrad : jsc.createASliderGradient(),\r\n\t\t\t\t\tasldPtrS : jsc.createEl('div'), // slider pointer spacer\r\n\t\t\t\t\tasldPtrIB : jsc.createEl('div'), // slider pointer inner border\r\n\t\t\t\t\tasldPtrMB : jsc.createEl('div'), // slider pointer middle border\r\n\t\t\t\t\tasldPtrOB : jsc.createEl('div'), // slider pointer outer border\r\n\t\t\t\t\tpal : jsc.createEl('div'), // palette\r\n\t\t\t\t\tbtn : jsc.createEl('div'),\r\n\t\t\t\t\tbtnT : jsc.createEl('span'), // text\r\n\t\t\t\t};\r\n\r\n\t\t\t\tjsc.picker.pad.appendChild(jsc.picker.padCanvas.elm);\r\n\t\t\t\tjsc.picker.padB.appendChild(jsc.picker.pad);\r\n\t\t\t\tjsc.picker.cross.appendChild(jsc.picker.crossBY);\r\n\t\t\t\tjsc.picker.cross.appendChild(jsc.picker.crossBX);\r\n\t\t\t\tjsc.picker.cross.appendChild(jsc.picker.crossLY);\r\n\t\t\t\tjsc.picker.cross.appendChild(jsc.picker.crossLX);\r\n\t\t\t\tjsc.picker.padB.appendChild(jsc.picker.cross);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.padB);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.padM);\r\n\r\n\t\t\t\tjsc.picker.sld.appendChild(jsc.picker.sldGrad.elm);\r\n\t\t\t\tjsc.picker.sldB.appendChild(jsc.picker.sld);\r\n\t\t\t\tjsc.picker.sldB.appendChild(jsc.picker.sldPtrOB);\r\n\t\t\t\tjsc.picker.sldPtrOB.appendChild(jsc.picker.sldPtrMB);\r\n\t\t\t\tjsc.picker.sldPtrMB.appendChild(jsc.picker.sldPtrIB);\r\n\t\t\t\tjsc.picker.sldPtrIB.appendChild(jsc.picker.sldPtrS);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.sldB);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.sldM);\r\n\r\n\t\t\t\tjsc.picker.asld.appendChild(jsc.picker.asldGrad.elm);\r\n\t\t\t\tjsc.picker.asldB.appendChild(jsc.picker.asld);\r\n\t\t\t\tjsc.picker.asldB.appendChild(jsc.picker.asldPtrOB);\r\n\t\t\t\tjsc.picker.asldPtrOB.appendChild(jsc.picker.asldPtrMB);\r\n\t\t\t\tjsc.picker.asldPtrMB.appendChild(jsc.picker.asldPtrIB);\r\n\t\t\t\tjsc.picker.asldPtrIB.appendChild(jsc.picker.asldPtrS);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.asldB);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.asldM);\r\n\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.pal);\r\n\r\n\t\t\t\tjsc.picker.btn.appendChild(jsc.picker.btnT);\r\n\t\t\t\tjsc.picker.box.appendChild(jsc.picker.btn);\r\n\r\n\t\t\t\tjsc.picker.boxB.appendChild(jsc.picker.box);\r\n\t\t\t\tjsc.picker.wrap.appendChild(jsc.picker.boxS);\r\n\t\t\t\tjsc.picker.wrap.appendChild(jsc.picker.boxB);\r\n\r\n\t\t\t\tjsc.picker.wrap.addEventListener('touchstart', jsc.onPickerTouchStart,\r\n\t\t\t\t\tjsc.isPassiveEventSupported ? {passive: false} : false);\r\n\t\t\t}\r\n\r\n\t\t\tvar p = jsc.picker;\r\n\r\n\t\t\tvar displaySlider = !!jsc.getSliderChannel(THIS);\r\n\t\t\tvar displayAlphaSlider = THIS.hasAlphaChannel();\r\n\t\t\tvar pickerDims = jsc.getPickerDims(THIS);\r\n\t\t\tvar crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize);\r\n\t\t\tvar controlPadding = jsc.getControlPadding(THIS);\r\n\t\t\tvar borderRadius = Math.min(\r\n\t\t\t\tTHIS.borderRadius,\r\n\t\t\t\tMath.round(THIS.padding * Math.PI)); // px\r\n\t\t\tvar padCursor = 'crosshair';\r\n\r\n\t\t\t// wrap\r\n\t\t\tp.wrap.className = 'jscolor-picker-wrap';\r\n\t\t\tp.wrap.style.clear = 'both';\r\n\t\t\tp.wrap.style.width = pickerDims.borderW + 'px';\r\n\t\t\tp.wrap.style.height = pickerDims.borderH + 'px';\r\n\t\t\tp.wrap.style.zIndex = THIS.zIndex;\r\n\r\n\t\t\t// picker\r\n\t\t\tp.box.className = 'jscolor-picker';\r\n\t\t\tp.box.style.width = pickerDims.paddedW + 'px';\r\n\t\t\tp.box.style.height = pickerDims.paddedH + 'px';\r\n\t\t\tp.box.style.position = 'relative';\r\n\r\n\t\t\t// picker shadow\r\n\t\t\tp.boxS.className = 'jscolor-picker-shadow';\r\n\t\t\tp.boxS.style.position = 'absolute';\r\n\t\t\tp.boxS.style.left = '0';\r\n\t\t\tp.boxS.style.top = '0';\r\n\t\t\tp.boxS.style.width = '100%';\r\n\t\t\tp.boxS.style.height = '100%';\r\n\t\t\tjsc.setBorderRadius(p.boxS, borderRadius + 'px');\r\n\r\n\t\t\t// picker border\r\n\t\t\tp.boxB.className = 'jscolor-picker-border';\r\n\t\t\tp.boxB.style.position = 'relative';\r\n\t\t\tp.boxB.style.border = THIS.borderWidth + 'px solid';\r\n\t\t\tp.boxB.style.borderColor = THIS.borderColor;\r\n\t\t\tp.boxB.style.background = THIS.backgroundColor;\r\n\t\t\tjsc.setBorderRadius(p.boxB, borderRadius + 'px');\r\n\r\n\t\t\t// IE hack:\r\n\t\t\t// If the element is transparent, IE will trigger the event on the elements under it,\r\n\t\t\t// e.g. on Canvas or on elements with border\r\n\t\t\tp.padM.style.background = 'rgba(255,0,0,.2)';\r\n\t\t\tp.sldM.style.background = 'rgba(0,255,0,.2)';\r\n\t\t\tp.asldM.style.background = 'rgba(0,0,255,.2)';\r\n\r\n\t\t\tp.padM.style.opacity =\r\n\t\t\tp.sldM.style.opacity =\r\n\t\t\tp.asldM.style.opacity =\r\n\t\t\t\t'0';\r\n\r\n\t\t\t// pad\r\n\t\t\tp.pad.style.position = 'relative';\r\n\t\t\tp.pad.style.width = THIS.width + 'px';\r\n\t\t\tp.pad.style.height = THIS.height + 'px';\r\n\r\n\t\t\t// pad - color spectrum (HSV and HVS)\r\n\t\t\tp.padCanvas.draw(THIS.width, THIS.height, jsc.getPadYChannel(THIS));\r\n\r\n\t\t\t// pad border\r\n\t\t\tp.padB.style.position = 'absolute';\r\n\t\t\tp.padB.style.left = THIS.padding + 'px';\r\n\t\t\tp.padB.style.top = THIS.padding + 'px';\r\n\t\t\tp.padB.style.border = THIS.controlBorderWidth + 'px solid';\r\n\t\t\tp.padB.style.borderColor = THIS.controlBorderColor;\r\n\r\n\t\t\t// pad mouse area\r\n\t\t\tp.padM.style.position = 'absolute';\r\n\t\t\tp.padM.style.left = 0 + 'px';\r\n\t\t\tp.padM.style.top = 0 + 'px';\r\n\t\t\tp.padM.style.width = (THIS.padding + 2 * THIS.controlBorderWidth + THIS.width + controlPadding) + 'px';\r\n\t\t\tp.padM.style.height = (2 * THIS.controlBorderWidth + 2 * THIS.padding + THIS.height) + 'px';\r\n\t\t\tp.padM.style.cursor = padCursor;\r\n\t\t\tjsc.setData(p.padM, {\r\n\t\t\t\tinstance: THIS,\r\n\t\t\t\tcontrol: 'pad',\r\n\t\t\t})\r\n\r\n\t\t\t// pad cross\r\n\t\t\tp.cross.style.position = 'absolute';\r\n\t\t\tp.cross.style.left =\r\n\t\t\tp.cross.style.top =\r\n\t\t\t\t'0';\r\n\t\t\tp.cross.style.width =\r\n\t\t\tp.cross.style.height =\r\n\t\t\t\tcrossOuterSize + 'px';\r\n\r\n\t\t\t// pad cross border Y and X\r\n\t\t\tp.crossBY.style.position =\r\n\t\t\tp.crossBX.style.position =\r\n\t\t\t\t'absolute';\r\n\t\t\tp.crossBY.style.background =\r\n\t\t\tp.crossBX.style.background =\r\n\t\t\t\tTHIS.pointerBorderColor;\r\n\t\t\tp.crossBY.style.width =\r\n\t\t\tp.crossBX.style.height =\r\n\t\t\t\t(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px';\r\n\t\t\tp.crossBY.style.height =\r\n\t\t\tp.crossBX.style.width =\r\n\t\t\t\tcrossOuterSize + 'px';\r\n\t\t\tp.crossBY.style.left =\r\n\t\t\tp.crossBX.style.top =\r\n\t\t\t\t(Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2) - THIS.pointerBorderWidth) + 'px';\r\n\t\t\tp.crossBY.style.top =\r\n\t\t\tp.crossBX.style.left =\r\n\t\t\t\t'0';\r\n\r\n\t\t\t// pad cross line Y and X\r\n\t\t\tp.crossLY.style.position =\r\n\t\t\tp.crossLX.style.position =\r\n\t\t\t\t'absolute';\r\n\t\t\tp.crossLY.style.background =\r\n\t\t\tp.crossLX.style.background =\r\n\t\t\t\tTHIS.pointerColor;\r\n\t\t\tp.crossLY.style.height =\r\n\t\t\tp.crossLX.style.width =\r\n\t\t\t\t(crossOuterSize - 2 * THIS.pointerBorderWidth) + 'px';\r\n\t\t\tp.crossLY.style.width =\r\n\t\t\tp.crossLX.style.height =\r\n\t\t\t\tTHIS.pointerThickness + 'px';\r\n\t\t\tp.crossLY.style.left =\r\n\t\t\tp.crossLX.style.top =\r\n\t\t\t\t(Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2)) + 'px';\r\n\t\t\tp.crossLY.style.top =\r\n\t\t\tp.crossLX.style.left =\r\n\t\t\t\tTHIS.pointerBorderWidth + 'px';\r\n\r\n\r\n\t\t\t// slider\r\n\t\t\tp.sld.style.overflow = 'hidden';\r\n\t\t\tp.sld.style.width = THIS.sliderSize + 'px';\r\n\t\t\tp.sld.style.height = THIS.height + 'px';\r\n\r\n\t\t\t// slider gradient\r\n\t\t\tp.sldGrad.draw(THIS.sliderSize, THIS.height, '#000', '#000');\r\n\r\n\t\t\t// slider border\r\n\t\t\tp.sldB.style.display = displaySlider ? 'block' : 'none';\r\n\t\t\tp.sldB.style.position = 'absolute';\r\n\t\t\tp.sldB.style.left = (THIS.padding + THIS.width + 2 * THIS.controlBorderWidth + 2 * controlPadding) + 'px';\r\n\t\t\tp.sldB.style.top = THIS.padding + 'px';\r\n\t\t\tp.sldB.style.border = THIS.controlBorderWidth + 'px solid';\r\n\t\t\tp.sldB.style.borderColor = THIS.controlBorderColor;\r\n\r\n\t\t\t// slider mouse area\r\n\t\t\tp.sldM.style.display = displaySlider ? 'block' : 'none';\r\n\t\t\tp.sldM.style.position = 'absolute';\r\n\t\t\tp.sldM.style.left = (THIS.padding + THIS.width + 2 * THIS.controlBorderWidth + controlPadding) + 'px';\r\n\t\t\tp.sldM.style.top = 0 + 'px';\r\n\t\t\tp.sldM.style.width = (\r\n\t\t\t\t\t(THIS.sliderSize + 2 * controlPadding + 2 * THIS.controlBorderWidth) +\r\n\t\t\t\t\t(displayAlphaSlider ? 0 : Math.max(0, THIS.padding - controlPadding)) // remaining padding to the right edge\r\n\t\t\t\t) + 'px';\r\n\t\t\tp.sldM.style.height = (2 * THIS.controlBorderWidth + 2 * THIS.padding + THIS.height) + 'px';\r\n\t\t\tp.sldM.style.cursor = 'default';\r\n\t\t\tjsc.setData(p.sldM, {\r\n\t\t\t\tinstance: THIS,\r\n\t\t\t\tcontrol: 'sld',\r\n\t\t\t});\r\n\r\n\t\t\t// slider pointer inner and outer border\r\n\t\t\tp.sldPtrIB.style.border =\r\n\t\t\tp.sldPtrOB.style.border =\r\n\t\t\t\tTHIS.pointerBorderWidth + 'px solid ' + THIS.pointerBorderColor;\r\n\r\n\t\t\t// slider pointer outer border\r\n\t\t\tp.sldPtrOB.style.position = 'absolute';\r\n\t\t\tp.sldPtrOB.style.left = -(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px';\r\n\t\t\tp.sldPtrOB.style.top = '0';\r\n\r\n\t\t\t// slider pointer middle border\r\n\t\t\tp.sldPtrMB.style.border = THIS.pointerThickness + 'px solid ' + THIS.pointerColor;\r\n\r\n\t\t\t// slider pointer spacer\r\n\t\t\tp.sldPtrS.style.width = THIS.sliderSize + 'px';\r\n\t\t\tp.sldPtrS.style.height = jsc.pub.sliderInnerSpace + 'px';\r\n\r\n\r\n\t\t\t// alpha slider\r\n\t\t\tp.asld.style.overflow = 'hidden';\r\n\t\t\tp.asld.style.width = THIS.sliderSize + 'px';\r\n\t\t\tp.asld.style.height = THIS.height + 'px';\r\n\r\n\t\t\t// alpha slider gradient\r\n\t\t\tp.asldGrad.draw(THIS.sliderSize, THIS.height, '#000');\r\n\r\n\t\t\t// alpha slider border\r\n\t\t\tp.asldB.style.display = displayAlphaSlider ? 'block' : 'none';\r\n\t\t\tp.asldB.style.position = 'absolute';\r\n\t\t\tp.asldB.style.left = (\r\n\t\t\t\t\t(THIS.padding + THIS.width + 2 * THIS.controlBorderWidth + controlPadding) +\r\n\t\t\t\t\t(displaySlider ? (THIS.sliderSize + 3 * controlPadding + 2 * THIS.controlBorderWidth) : 0)\r\n\t\t\t\t) + 'px';\r\n\t\t\tp.asldB.style.top = THIS.padding + 'px';\r\n\t\t\tp.asldB.style.border = THIS.controlBorderWidth + 'px solid';\r\n\t\t\tp.asldB.style.borderColor = THIS.controlBorderColor;\r\n\r\n\t\t\t// alpha slider mouse area\r\n\t\t\tp.asldM.style.display = displayAlphaSlider ? 'block' : 'none';\r\n\t\t\tp.asldM.style.position = 'absolute';\r\n\t\t\tp.asldM.style.left = (\r\n\t\t\t\t\t(THIS.padding + THIS.width + 2 * THIS.controlBorderWidth + controlPadding) +\r\n\t\t\t\t\t(displaySlider ? (THIS.sliderSize + 2 * controlPadding + 2 * THIS.controlBorderWidth) : 0)\r\n\t\t\t\t) + 'px';\r\n\t\t\tp.asldM.style.top = 0 + 'px';\r\n\t\t\tp.asldM.style.width = (\r\n\t\t\t\t\t(THIS.sliderSize + 2 * controlPadding + 2 * THIS.controlBorderWidth) +\r\n\t\t\t\t\tMath.max(0, THIS.padding - controlPadding) // remaining padding to the right edge\r\n\t\t\t\t) + 'px';\r\n\t\t\tp.asldM.style.height = (2 * THIS.controlBorderWidth + 2 * THIS.padding + THIS.height) + 'px';\r\n\t\t\tp.asldM.style.cursor = 'default';\r\n\t\t\tjsc.setData(p.asldM, {\r\n\t\t\t\tinstance: THIS,\r\n\t\t\t\tcontrol: 'asld',\r\n\t\t\t})\r\n\r\n\t\t\t// alpha slider pointer inner and outer border\r\n\t\t\tp.asldPtrIB.style.border =\r\n\t\t\tp.asldPtrOB.style.border =\r\n\t\t\t\tTHIS.pointerBorderWidth + 'px solid ' + THIS.pointerBorderColor;\r\n\r\n\t\t\t// alpha slider pointer outer border\r\n\t\t\tp.asldPtrOB.style.position = 'absolute';\r\n\t\t\tp.asldPtrOB.style.left = -(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px';\r\n\t\t\tp.asldPtrOB.style.top = '0';\r\n\r\n\t\t\t// alpha slider pointer middle border\r\n\t\t\tp.asldPtrMB.style.border = THIS.pointerThickness + 'px solid ' + THIS.pointerColor;\r\n\r\n\t\t\t// alpha slider pointer spacer\r\n\t\t\tp.asldPtrS.style.width = THIS.sliderSize + 'px';\r\n\t\t\tp.asldPtrS.style.height = jsc.pub.sliderInnerSpace + 'px';\r\n\r\n\r\n\t\t\t// palette\r\n\t\t\tp.pal.className = 'jscolor-palette';\r\n\t\t\tp.pal.style.display = pickerDims.palette.rows ? 'block' : 'none';\r\n\t\t\tp.pal.style.position = 'absolute';\r\n\t\t\tp.pal.style.left = THIS.padding + 'px';\r\n\t\t\tp.pal.style.top = (2 * THIS.controlBorderWidth + 2 * THIS.padding + THIS.height) + 'px';\r\n\r\n\t\t\t// palette's color samples\r\n\r\n\t\t\tp.pal.innerHTML = '';\r\n\r\n\t\t\tvar chessboard = jsc.genColorPreviewCanvas('rgba(0,0,0,0)');\r\n\r\n\t\t\tvar si = 0; // color sample's index\r\n\t\t\tfor (var r = 0; r < pickerDims.palette.rows; r++) {\r\n\t\t\t\tfor (var c = 0; c < pickerDims.palette.cols && si < THIS._palette.length; c++, si++) {\r\n\t\t\t\t\tvar sampleColor = THIS._palette[si];\r\n\t\t\t\t\tvar sampleCssColor = jsc.rgbaColor.apply(null, sampleColor.rgba);\r\n\r\n\t\t\t\t\tvar sc = jsc.createEl('div'); // color sample's color\r\n\t\t\t\t\tsc.style.width = (pickerDims.palette.cellW - 2 * THIS.controlBorderWidth) + 'px';\r\n\t\t\t\t\tsc.style.height = (pickerDims.palette.cellH - 2 * THIS.controlBorderWidth) + 'px';\r\n\t\t\t\t\tsc.style.backgroundColor = sampleCssColor;\r\n\r\n\t\t\t\t\tvar sw = jsc.createEl('div'); // color sample's wrap\r\n\t\t\t\t\tsw.className = 'jscolor-palette-sample';\r\n\t\t\t\t\tsw.style.display = 'block';\r\n\t\t\t\t\tsw.style.position = 'absolute';\r\n\t\t\t\t\tsw.style.left = (\r\n\t\t\t\t\t\t\tpickerDims.palette.cols <= 1 ? 0 :\r\n\t\t\t\t\t\t\tMath.round(10 * (c * ((pickerDims.contentW - pickerDims.palette.cellW) / (pickerDims.palette.cols - 1)))) / 10\r\n\t\t\t\t\t\t) + 'px';\r\n\t\t\t\t\tsw.style.top = (r * (pickerDims.palette.cellH + THIS.paletteSpacing)) + 'px';\r\n\t\t\t\t\tsw.style.border = THIS.controlBorderWidth + 'px solid';\r\n\t\t\t\t\tsw.style.borderColor = THIS.controlBorderColor;\r\n\t\t\t\t\tsw.style.cursor = 'pointer';\r\n\t\t\t\t\tif (sampleColor.rgba[3] !== null && sampleColor.rgba[3] < 1.0) { // only create chessboard background if the sample has transparency\r\n\t\t\t\t\t\tsw.style.backgroundImage = 'url(\\'' + chessboard.canvas.toDataURL() + '\\')';\r\n\t\t\t\t\t\tsw.style.backgroundRepeat = 'repeat';\r\n\t\t\t\t\t\tsw.style.backgroundPosition = 'center center';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tjsc.setData(sw, {\r\n\t\t\t\t\t\tinstance: THIS,\r\n\t\t\t\t\t\tcontrol: 'palette-sample',\r\n\t\t\t\t\t\tcolor: sampleColor,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tsw.addEventListener('click', jsc.onPaletteSampleClick, false);\r\n\t\t\t\t\tsw.appendChild(sc);\r\n\t\t\t\t\tp.pal.appendChild(sw);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// the Close button\r\n\t\t\tfunction setBtnBorder () {\r\n\t\t\t\tvar insetColors = THIS.controlBorderColor.split(/\\s+/);\r\n\t\t\t\tvar outsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1];\r\n\t\t\t\tp.btn.style.borderColor = outsetColor;\r\n\t\t\t}\r\n\t\t\tvar btnPadding = 15; // px\r\n\t\t\tp.btn.className = 'jscolor-btn-close';\r\n\t\t\tp.btn.style.display = THIS.closeButton ? 'block' : 'none';\r\n\t\t\tp.btn.style.position = 'absolute';\r\n\t\t\tp.btn.style.left = THIS.padding + 'px';\r\n\t\t\tp.btn.style.bottom = THIS.padding + 'px';\r\n\t\t\tp.btn.style.padding = '0 ' + btnPadding + 'px';\r\n\t\t\tp.btn.style.maxWidth = (pickerDims.contentW - 2 * THIS.controlBorderWidth - 2 * btnPadding) + 'px';\r\n\t\t\tp.btn.style.overflow = 'hidden';\r\n\t\t\tp.btn.style.height = THIS.buttonHeight + 'px';\r\n\t\t\tp.btn.style.whiteSpace = 'nowrap';\r\n\t\t\tp.btn.style.border = THIS.controlBorderWidth + 'px solid';\r\n\t\t\tsetBtnBorder();\r\n\t\t\tp.btn.style.color = THIS.buttonColor;\r\n\t\t\tp.btn.style.font = '12px sans-serif';\r\n\t\t\tp.btn.style.textAlign = 'center';\r\n\t\t\tp.btn.style.cursor = 'pointer';\r\n\t\t\tp.btn.onmousedown = function () {\r\n\t\t\t\tTHIS.hide();\r\n\t\t\t};\r\n\t\t\tp.btnT.style.lineHeight = THIS.buttonHeight + 'px';\r\n\t\t\tp.btnT.innerHTML = '';\r\n\t\t\tp.btnT.appendChild(window.document.createTextNode(THIS.closeText));\r\n\r\n\t\t\t// reposition the pointers\r\n\t\t\tredrawPad();\r\n\t\t\tredrawSld();\r\n\t\t\tredrawASld();\r\n\r\n\t\t\t// If we are changing the owner without first closing the picker,\r\n\t\t\t// make sure to first deal with the old owner\r\n\t\t\tif (jsc.picker.owner && jsc.picker.owner !== THIS) {\r\n\t\t\t\tjsc.removeClass(jsc.picker.owner.targetElement, jsc.pub.activeClassName);\r\n\t\t\t}\r\n\r\n\t\t\t// Set a new picker owner\r\n\t\t\tjsc.picker.owner = THIS;\r\n\r\n\t\t\t// The redrawPosition() method needs picker.owner to be set, that's why we call it here,\r\n\t\t\t// after setting the owner\r\n\t\t\tif (THIS.container === window.document.body) {\r\n\t\t\t\tjsc.redrawPosition();\r\n\t\t\t} else {\r\n\t\t\t\tjsc._drawPosition(THIS, 0, 0, 'relative', false);\r\n\t\t\t}\r\n\r\n\t\t\tif (p.wrap.parentNode !== THIS.container) {\r\n\t\t\t\tTHIS.container.appendChild(p.wrap);\r\n\t\t\t}\r\n\r\n\t\t\tjsc.addClass(THIS.targetElement, jsc.pub.activeClassName);\r\n\t\t}\r\n\r\n\r\n\t\tfunction redrawPad () {\r\n\t\t\t// redraw the pad pointer\r\n\t\t\tvar yChannel = jsc.getPadYChannel(THIS);\r\n\t\t\tvar x = Math.round((THIS.channels.h / 360) * (THIS.width - 1));\r\n\t\t\tvar y = Math.round((1 - THIS.channels[yChannel] / 100) * (THIS.height - 1));\r\n\t\t\tvar crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize);\r\n\t\t\tvar ofs = -Math.floor(crossOuterSize / 2);\r\n\t\t\tjsc.picker.cross.style.left = (x + ofs) + 'px';\r\n\t\t\tjsc.picker.cross.style.top = (y + ofs) + 'px';\r\n\r\n\t\t\t// redraw the slider\r\n\t\t\tswitch (jsc.getSliderChannel(THIS)) {\r\n\t\t\tcase 's':\r\n\t\t\t\tvar rgb1 = jsc.HSV_RGB(THIS.channels.h, 100, THIS.channels.v);\r\n\t\t\t\tvar rgb2 = jsc.HSV_RGB(THIS.channels.h, 0, THIS.channels.v);\r\n\t\t\t\tvar color1 = 'rgb(' +\r\n\t\t\t\t\tMath.round(rgb1[0]) + ',' +\r\n\t\t\t\t\tMath.round(rgb1[1]) + ',' +\r\n\t\t\t\t\tMath.round(rgb1[2]) + ')';\r\n\t\t\t\tvar color2 = 'rgb(' +\r\n\t\t\t\t\tMath.round(rgb2[0]) + ',' +\r\n\t\t\t\t\tMath.round(rgb2[1]) + ',' +\r\n\t\t\t\t\tMath.round(rgb2[2]) + ')';\r\n\t\t\t\tjsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'v':\r\n\t\t\t\tvar rgb = jsc.HSV_RGB(THIS.channels.h, THIS.channels.s, 100);\r\n\t\t\t\tvar color1 = 'rgb(' +\r\n\t\t\t\t\tMath.round(rgb[0]) + ',' +\r\n\t\t\t\t\tMath.round(rgb[1]) + ',' +\r\n\t\t\t\t\tMath.round(rgb[2]) + ')';\r\n\t\t\t\tvar color2 = '#000';\r\n\t\t\t\tjsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// redraw the alpha slider\r\n\t\t\tjsc.picker.asldGrad.draw(THIS.sliderSize, THIS.height, THIS.toHEXString());\r\n\t\t}\r\n\r\n\r\n\t\tfunction redrawSld () {\r\n\t\t\tvar sldChannel = jsc.getSliderChannel(THIS);\r\n\t\t\tif (sldChannel) {\r\n\t\t\t\t// redraw the slider pointer\r\n\t\t\t\tvar y = Math.round((1 - THIS.channels[sldChannel] / 100) * (THIS.height - 1));\r\n\t\t\t\tjsc.picker.sldPtrOB.style.top = (y - (2 * THIS.pointerBorderWidth + THIS.pointerThickness) - Math.floor(jsc.pub.sliderInnerSpace / 2)) + 'px';\r\n\t\t\t}\r\n\r\n\t\t\t// redraw the alpha slider\r\n\t\t\tjsc.picker.asldGrad.draw(THIS.sliderSize, THIS.height, THIS.toHEXString());\r\n\t\t}\r\n\r\n\r\n\t\tfunction redrawASld () {\r\n\t\t\tvar y = Math.round((1 - THIS.channels.a) * (THIS.height - 1));\r\n\t\t\tjsc.picker.asldPtrOB.style.top = (y - (2 * THIS.pointerBorderWidth + THIS.pointerThickness) - Math.floor(jsc.pub.sliderInnerSpace / 2)) + 'px';\r\n\t\t}\r\n\r\n\r\n\t\tfunction isPickerOwner () {\r\n\t\t\treturn jsc.picker && jsc.picker.owner === THIS;\r\n\t\t}\r\n\r\n\r\n\t\tfunction onValueKeyDown (ev) {\r\n\t\t\tif (jsc.eventKey(ev) === 'Enter') {\r\n\t\t\t\tif (THIS.valueElement) {\r\n\t\t\t\t\tTHIS.processValueInput(THIS.valueElement.value);\r\n\t\t\t\t}\r\n\t\t\t\tTHIS.tryHide();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction onAlphaKeyDown (ev) {\r\n\t\t\tif (jsc.eventKey(ev) === 'Enter') {\r\n\t\t\t\tif (THIS.alphaElement) {\r\n\t\t\t\t\tTHIS.processAlphaInput(THIS.alphaElement.value);\r\n\t\t\t\t}\r\n\t\t\t\tTHIS.tryHide();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction onValueChange (ev) {\r\n\t\t\tif (jsc.getData(ev, 'internal')) {\r\n\t\t\t\treturn; // skip if the event was internally triggered by jscolor\r\n\t\t\t}\r\n\r\n\t\t\tvar oldVal = THIS.valueElement.value;\r\n\r\n\t\t\tTHIS.processValueInput(THIS.valueElement.value); // this might change the value\r\n\r\n\t\t\tjsc.triggerCallback(THIS, 'onChange');\r\n\r\n\t\t\tif (THIS.valueElement.value !== oldVal) {\r\n\t\t\t\t// value was additionally changed -> let's trigger the change event again, even though it was natively dispatched\r\n\t\t\t\tjsc.triggerInputEvent(THIS.valueElement, 'change', true, true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction onAlphaChange (ev) {\r\n\t\t\tif (jsc.getData(ev, 'internal')) {\r\n\t\t\t\treturn; // skip if the event was internally triggered by jscolor\r\n\t\t\t}\r\n\r\n\t\t\tvar oldVal = THIS.alphaElement.value;\r\n\r\n\t\t\tTHIS.processAlphaInput(THIS.alphaElement.value); // this might change the value\r\n\r\n\t\t\tjsc.triggerCallback(THIS, 'onChange');\r\n\r\n\t\t\t// triggering valueElement's onChange (because changing alpha changes the entire color, e.g. with rgba format)\r\n\t\t\tjsc.triggerInputEvent(THIS.valueElement, 'change', true, true);\r\n\r\n\t\t\tif (THIS.alphaElement.value !== oldVal) {\r\n\t\t\t\t// value was additionally changed -> let's trigger the change event again, even though it was natively dispatched\r\n\t\t\t\tjsc.triggerInputEvent(THIS.alphaElement, 'change', true, true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction onValueInput (ev) {\r\n\t\t\tif (jsc.getData(ev, 'internal')) {\r\n\t\t\t\treturn; // skip if the event was internally triggered by jscolor\r\n\t\t\t}\r\n\r\n\t\t\tif (THIS.valueElement) {\r\n\t\t\t\tTHIS.fromString(THIS.valueElement.value, jsc.flags.leaveValue);\r\n\t\t\t}\r\n\r\n\t\t\tjsc.triggerCallback(THIS, 'onInput');\r\n\r\n\t\t\t// triggering valueElement's onInput\r\n\t\t\t// (not needed, it was dispatched normally by the browser)\r\n\t\t}\r\n\r\n\r\n\t\tfunction onAlphaInput (ev) {\r\n\t\t\tif (jsc.getData(ev, 'internal')) {\r\n\t\t\t\treturn; // skip if the event was internally triggered by jscolor\r\n\t\t\t}\r\n\r\n\t\t\tif (THIS.alphaElement) {\r\n\t\t\t\tTHIS.fromHSVA(null, null, null, parseFloat(THIS.alphaElement.value), jsc.flags.leaveAlpha);\r\n\t\t\t}\r\n\r\n\t\t\tjsc.triggerCallback(THIS, 'onInput');\r\n\r\n\t\t\t// triggering valueElement's onInput (because changing alpha changes the entire color, e.g. with rgba format)\r\n\t\t\tjsc.triggerInputEvent(THIS.valueElement, 'input', true, true);\r\n\t\t}\r\n\r\n\r\n\t\t// let's process the DEPRECATED 'options' property (this will be later removed)\r\n\t\tif (jsc.pub.options) {\r\n\t\t\t// let's set custom default options, if specified\r\n\t\t\tfor (var opt in jsc.pub.options) {\r\n\t\t\t\tif (jsc.pub.options.hasOwnProperty(opt)) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tsetOption(opt, jsc.pub.options[opt]);\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// let's apply configuration presets\r\n\t\t//\r\n\t\tvar presetsArr = [];\r\n\r\n\t\tif (opts.preset) {\r\n\t\t\tif (typeof opts.preset === 'string') {\r\n\t\t\t\tpresetsArr = opts.preset.split(/\\s+/);\r\n\t\t\t} else if (Array.isArray(opts.preset)) {\r\n\t\t\t\tpresetsArr = opts.preset.slice(); // slice() to clone\r\n\t\t\t} else {\r\n\t\t\t\tconsole.warn('Unrecognized preset value');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// always use the 'default' preset. If it's not listed, append it to the end.\r\n\t\tif (presetsArr.indexOf('default') === -1) {\r\n\t\t\tpresetsArr.push('default');\r\n\t\t}\r\n\r\n\t\t// let's apply the presets in reverse order, so that should there be any overlapping options,\r\n\t\t// the formerly listed preset will override the latter\r\n\t\tfor (var i = presetsArr.length - 1; i >= 0; i -= 1) {\r\n\t\t\tvar pres = presetsArr[i];\r\n\t\t\tif (!pres) {\r\n\t\t\t\tcontinue; // preset is empty string\r\n\t\t\t}\r\n\t\t\tif (!jsc.pub.presets.hasOwnProperty(pres)) {\r\n\t\t\t\tconsole.warn('Unknown preset: %s', pres);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tfor (var opt in jsc.pub.presets[pres]) {\r\n\t\t\t\tif (jsc.pub.presets[pres].hasOwnProperty(opt)) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tsetOption(opt, jsc.pub.presets[pres][opt]);\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// let's set specific options for this color picker\r\n\t\tvar nonProperties = [\r\n\t\t\t// these options won't be set as instance properties\r\n\t\t\t'preset',\r\n\t\t];\r\n\t\tfor (var opt in opts) {\r\n\t\t\tif (opts.hasOwnProperty(opt)) {\r\n\t\t\t\tif (nonProperties.indexOf(opt) === -1) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tsetOption(opt, opts[opt]);\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.warn(e);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t//\r\n\t\t// Install the color picker on chosen element(s)\r\n\t\t//\r\n\r\n\r\n\t\t// Determine picker's container element\r\n\t\tif (this.container === undefined) {\r\n\t\t\tthis.container = window.document.body; // default container is BODY element\r\n\r\n\t\t} else { // explicitly set to custom element\r\n\t\t\tthis.container = jsc.node(this.container);\r\n\t\t}\r\n\r\n\t\tif (!this.container) {\r\n\t\t\tthrow new Error('Cannot instantiate color picker without a container element');\r\n\t\t}\r\n\r\n\r\n\t\t// Fetch the target element\r\n\t\tthis.targetElement = jsc.node(targetElement);\r\n\r\n\t\tif (!this.targetElement) {\r\n\t\t\t// temporarily customized error message to help with migrating from versions prior to 2.2\r\n\t\t\tif (typeof targetElement === 'string' && /^[a-zA-Z][\\w:.-]*$/.test(targetElement)) {\r\n\t\t\t\t// targetElement looks like valid ID\r\n\t\t\t\tvar possiblyId = targetElement;\r\n\t\t\t\tthrow new Error('If \\'' + possiblyId + '\\' is supposed to be an ID, please use \\'#' + possiblyId + '\\' or any valid CSS selector.');\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error('Cannot instantiate color picker without a target element');\r\n\t\t}\r\n\r\n\t\tif (this.targetElement.jscolor && this.targetElement.jscolor instanceof jsc.pub) {\r\n\t\t\tthrow new Error('Color picker already installed on this element');\r\n\t\t}\r\n\r\n\r\n\t\t// link this instance with the target element\r\n\t\tthis.targetElement.jscolor = this;\r\n\t\tjsc.addClass(this.targetElement, jsc.pub.className);\r\n\r\n\t\t// register this instance\r\n\t\tjsc.instances.push(this);\r\n\r\n\r\n\t\t// if target is BUTTON\r\n\t\tif (jsc.isButton(this.targetElement)) {\r\n\r\n\t\t\tif (this.targetElement.type.toLowerCase() !== 'button') {\r\n\t\t\t\t// on buttons, always force type to be 'button', e.g. in situations the target