{"version":3,"sources":["lib.js"],"names":["e","t","module","exports","document","Error","window","this","C","x","E","r","Object","getPrototypeOf","s","slice","g","concat","u","push","i","indexOf","n","o","toString","v","hasOwnProperty","a","l","call","y","m","nodeType","c","type","src","nonce","noModule","b","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","w","f","k","fn","init","p","d","length","prototype","jquery","constructor","toArray","get","pushStack","merge","prevObject","each","map","apply","arguments","first","eq","last","end","sort","splice","extend","isPlainObject","Array","isArray","expando","Math","random","replace","isReady","error","noop","isEmptyObject","globalEval","trim","makeArray","inArray","grep","guid","support","Symbol","iterator","split","toLowerCase","h","ne","String","fromCharCode","oe","T","Date","S","ue","N","A","D","j","q","pop","L","H","O","P","R","M","I","W","$","F","RegExp","B","_","z","U","X","V","G","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","Y","Q","J","K","Z","ee","te","re","ie","charCodeAt","ae","be","disabled","nodeName","dir","next","childNodes","se","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","xe","join","ye","querySelectorAll","removeAttribute","cacheLength","shift","le","ce","fe","attrHandle","pe","sourceIndex","nextSibling","de","he","ge","isDisabled","ve","isXML","namespaceURI","documentElement","setDocument","defaultView","top","addEventListener","attachEvent","attributes","className","createComment","getById","getElementsByName","filter","find","getAttributeNode","value","innerHTML","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","contains","sortDetached","unshift","attr","specified","escape","uniqueSort","detectDuplicates","sortStable","getText","textContent","firstChild","nodeValue","selectors","createPseudo","match","relative",">"," ","+","~","preFilter","lastChild","uniqueID","pseudos","setFilters","not","has","lang","target","location","hash","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","parent","header","input","button","even","odd","lt","gt","nth","radio","checkbox","file","password","image","submit","reset","me","we","Te","Ce","Ee","filters","tokenize","compile","selector","select","defaultValue","expr","unique","isXMLDoc","escapeSelector","is","ready","parseHTML","children","contents","prev","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","content","reverse","promise","done","fail","then","Callbacks","once","stopOnFalse","memory","remove","disable","lock","locked","fireWith","fire","fired","Deferred","state","always","catch","pipe","progress","notify","resolve","reject","TypeError","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","when","console","warn","name","message","stack","readyException","removeEventListener","readyWait","readyState","doScroll","toUpperCase","uid","cache","defineProperty","configurable","set","access","hasData","JSON","parse","data","removeData","_data","_removeData","queue","dequeue","_queueHooks","stop","clearQueue","source","composed","getRootNode","style","display","css","cur","cssNumber","unit","start","body","show","hide","toggle","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","createDocumentFragment","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","ke","Se","Ne","Ae","off","event","De","namespace","handler","isTrigger","special","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","global","events","handle","triggered","dispatch","bindType","origType","delegateCount","setup","teardown","removeEvent","fix","delegateTarget","preDispatch","handlers","isPropagationStopped","currentTarget","elem","isImmediatePropagationStopped","rnamespace","handleObj","result","postDispatch","addProp","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","code","charCode","key","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","on","one","je","qe","Le","He","Oe","Pe","Re","Me","Ie","html","clone","_evalUrl","We","cleanData","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","$e","Fe","opener","getComputedStyle","Be","_e","getPropertyValue","pixelBoxStyles","width","minWidth","maxWidth","ze","cssText","marginLeft","right","position","offsetWidth","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","Ue","Xe","Ve","Ge","cssProps","Ye","Qe","Je","visibility","Ke","letterSpacing","fontWeight","Ze","max","et","ceil","tt","getClientRects","nt","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","setProperty","isFinite","getBoundingClientRect","left","margin","padding","border","expand","Tween","prop","easing","options","propHooks","run","duration","pos","step","fx","scrollTop","scrollLeft","linear","swing","cos","PI","rt","it","ot","at","st","ut","hidden","requestAnimationFrame","interval","tick","ct","ft","height","pt","dt","tweeners","prefilters","startTime","tweens","props","opts","specialEasing","originalProperties","originalOptions","createTween","bind","complete","timer","anim","Animation","*","tweener","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","old","fadeTo","animate","finish","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","clearTimeout","checkOn","optSelected","radioValue","ht","removeAttr","attrHooks","vt","yt","mt","xt","bt","removeProp","propFix","parseInt","for","class","addClass","removeClass","toggleClass","hasClass","wt","val","valHooks","focusin","Ct","Tt","parentWindow","simulate","triggerHandler","Et","kt","St","parseXML","DOMParser","parseFromString","Nt","At","Dt","jt","qt","param","encodeURIComponent","serialize","serializeArray","Lt","Ht","Ot","Pt","Rt","Mt","It","Wt","$t","Ft","Bt","_t","dataTypes","zt","ajaxSettings","flatOptions","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","xml","json","responseFields","converters","* text","text html","text json","text xml","context","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","statusCode","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","method","dataType","crossDomain","host","traditional","hasContent","ifModified","headers","beforeSend","success","timeout","send","dataFilter","statusText","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","wrap","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","Ut","0","1223","Xt","cors","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","response","script","scriptAttrs","charset","scriptCharset","Vt","Gt","Yt","jsonp","jsonpCallback","createHTMLDocument","implementation","animated","offset","setOffset","using","pageYOffset","pageXOffset","offsetParent","scrollTo","Height","Width","","hover","unbind","delegate","undelegate","proxy","holdReady","parseJSON","isFunction","isWindow","camelCase","isNumeric","isNaN","define","amd","Qt","jQuery","Jt","noConflict","require","navigator","userAgent","browser","version","versionNumber","platform","android","bb","blackberry","ipad","iphone","ipod","kindle","playbook","silk","mobile","cros","mac","linux","win","desktop","chrome","opr","safari","webkit","rv","iemobile","edge","jQBrowser","uaMatch","device","ios","androidPhone","androidTablet","blackberryPhone","blackberryTablet","windows","windowsPhone","windowsTablet","fxos","fxosPhone","fxosTablet","meego","cordova","nodeWebkit","process","tablet","portrait","innerHeight","innerWidth","landscape","Function","confirm","FormData","files","validate","action","AjaxCall","responseIsRequested","requestCount","onbeforeunload","bindLoader","possiblyUnbindLoader","path","request","stringify","textStatus","errorObject","alert","Message","getHtml","startsWith","search","rawPos","substring","validity","HTMLInputElement","field","isNum","valid","checkValidity","badInput","patternMismatch","hasAttribute","rangeOverflow","rangeUnderflow","stepMismatch","Number","tooLong","tooShort","typeMismatch","valueMissing","getValidityState","Globalization","localized","en","deep","sourceVal","isObject","targetVal","findClosestCulture","culture","cultures","obj","isString","list","prioritized","pri","parts","substr","lastIndexOf","cultureKey","language","preferCulture","localize","local","format","toLocaleString","pattern","nf","numberFormat","number","abs","precision","formatInfo","current","charAt","zeroPad","currency","percent","decimals","groupSizes","curSize","curGroupIndex","factor","pow","rounded","numberString","exponent","stringIndex","sep","ret","expandNumber","patternParts","lastIndex","ar","symbol","formatNumber","formatDate","cal","calendar","convert","patterns","eraDate","getTime","era","getEra","eras","setFullYear","getEraYear","sortable","expandFormat","hour","foundDay","checkedDay","converted","zeros","dayPartRegExp","quoteCount","tokenRegExp","padZeros","num","hasDay","getPart","date","part","getFullYear","getMonth","getDate","fromGregorian","preMatch","appendPreOrPostMatch","clength","names","days","namesAbbr","getDay","monthsGenitive","months","getHours","getMinutes","getSeconds","AM","PM","getMilliseconds","getTimezoneOffset","floor","radix","NaN","regexInfinity","regexHex","signInfo","parseNegativePattern","sign","intAndFraction","exponentPos","integer","fraction","decSep","decimalPos","groupSep","altGroupSep","expSignInfo","regexParseFloat","parseDate","formats","parseExact","englishName","nativeName","isRTL",",",".","-","calendars","standard","/",":","firstDay","namesShort","twoDigitYearMax","regexTrim","endsWith","str","count","arrayIndexOf","array","item","negativePattern","neg","outOfRange","low","high","expandYear","year","curr","ticks","toUpper","toUpperArray","arr","results","getMonthIndex","abbr","monthsGen","upperMonths","_upperMonths","upperMonthsGen","_upperMonthsGen","strings","escaped","il","len","parseInfo","_parseRegExp","reFormat","expFormat","regexp","groups","parseRegExp","regExp","getParseRegExp","hourOffset","upperDays","month","weekDay","min","sec","msec","tzMinOffset","pmHour","jl","matchGroup","matchInt","_upperDays","offsets","minOffset","eraName","defaultYear","toGregorian","setHours","adjustedMin","negativeInfinity","positiveInfinity","AdvancedProperty","SELECTOR_GROUP","SELECTOR_ANCHOR","SELECTOR_CANCEL","CLASS_SHOW","setEvents","showOrHideElement","$body","calculateTop","closeElement","advancedPropertyGroupHeight","extra","anchorClicked","$el","evt","CapacityBarController","$container","bar","CapacityBar","SELECTOR","maximum","LABEL","calculateCurrentPercentage","$element","capacityBar","percentage","refresh","currentFormatted","DataHrefAttribute","dataHrefAttribute","eval","DropdownGroupController","dropdownGroupController","dropdown","Dropdown","closeAllDropdowns","SELECTOR_CONTENT","SELECTOR_DROPDOWN","SELECTOR_OPTIONS","SELECTOR_CUSTOM_OPTIONS","SELECTOR_UNIT","SELECTOR_SELECT","CLASS_SELECTED","CLASS_READ_ONLY","$content","$input","$select","$unit","setControlForMobileDevice","setMobileDeviceEvents","setOptions","setControlForDesktop","setDesktopEvents","setReadOnlyIfNecessary","switchUnits","currentUnit","newUnit","resetSelectedOptions","selectedOption","setSelectedOption","setInputBySelectedOption","$units","$options","$selectedOption","$option","createOptionHtml","$selected","setByValue","destroyEvents","outerHTML","toggleContent","$contentOption","$selectOption","closeOtherDropdowns","setScrollTop","optionClicked","change","changeCallback","$selectoption","inputClicked","selectChanged","optionClickedHandler","inputClickedHandler","selectChangedHandler","InputGroup","CLASS_ELEMENT","CLASS_FOCUS","CLASS_FAULT","SELECTOR_ELEMENT","SELECTOR_FOCUSED","SELECTOR_INPUT","blurOtherInputs","$target","myInput","$inputs","setInputFocused","inputFocused","ListController","CONTROL_SELECTOR","List","clickAnchor","row","selectionControl","EVENTS","selectionControlChanged","$anchor","$row","setRowActiveClass","clickAnchorClicked","$list","LoaderController","loader","Loader","CLASSES","numeric","NumericInput","ATTRIBUTE_MINIMUM_VALUE","ATTRIBUTE_MAXIMUM_VALUE","ATTRIBUTE_STEP","CLASS_BUTTON_UP","CLASS_BUTTON_DOWN","CLASS_READONLY","SELECTOR_BUTTON","SELECTOR_BUTTONS","SELECTOR_CALCULATOR","SELECTOR_POPOVER","minimumValueAttribute","minimumValue","hasMinimumValue","maximumValueAttribute","maximumValue","hasMaximumValue","stepAttribute","stepIsInteger","$buttons","readonly","setReadOnly","hasPopover","PopoverInputGroup","PopoverCalculator","isLargerThanMinimumValue","isSmallerThanMaximumValue","validates","setValue","maximumFractionDigits","decrease","increase","popover","buttonClicked","$button","inputKeyup","getSelection","newValue","startSelection","selectionStart","endSelection","selectionEnd","setSelectionRange","blurOtherPopovers","inputChanged","unitClicked","keyup","PopoverMenuGroup","popovermenu","hideAllPopoverMenus","SELECTOR_MENU","CLASS_FADE_IN","transitionspeed","minimumTimeout","getPopoverMenuElement","getPopoverAnchorElement","hidePopoverMenu","hideOtherPopoverMenus","$menu","addClassShowToMenu","removeClassFadeInFromMenu","showPopoverMenu","Popup","SELECTOR_POPUP","CLASS_DISABLE_SCROLL","$popup","PopupController","FADER_SELECTOR","CANCEL_BUTTON_SELECTOR","POPUP_CONTENT_CLASS","that","faderClicked","cancelButtonClicked","clickedElement","Progressbar","progressbar","SELECTOR_MINIUM","SELECTOR_MAXIMUM","SELECTOR_PROGRESSBAR","$minVal","$maxVal","$progressbar","setProgressbarText","setProgressbar","valueToPercent","currentVal","maxVal","removeWhiteSpacesAndLetters","element","$newMinVal","$newMaxVal","$progressVal","noUiSlider","classList","compatMode","xPct","xVal","xSteps","xHighestCompleteStep","xNumSteps","toFixed","snap","direction","singleStep","spectrum","handles","animationDuration","connect","ort","getMargin","limit","tap","drag","fixed","tooltips","forEach","to","from","cssPrefix","cssClasses","useRequestAnimationFrame","range","orientation","behaviour","base","origin","horizontal","vertical","background","ltr","rtl","draggable","tooltip","pips","pipsHorizontal","pipsVertical","marker","markerHorizontal","markerVertical","markerNormal","markerLarge","markerSub","valueHorizontal","valueVertical","valueNormal","valueLarge","valueSub","keys","styleOposite","mode","density","ia","toStepping","fromStepping","getStep","values","stepped","fa","aa","pageOffset","points","cursor","ea","calcPoint","clientTop","clientLeft","ka","da","ja","ga","appVersion","buttonsProperty","startCalcPoint","baseSize","locations","handleNumbers","querySelector","noUiListener","noUiListeners","ba","move","ha","ca","pointerEnabled","msPointerEnabled","destroy","steps","getNearbySteps","thisStep","stepAfter","startValue","stepBefore","highestStep","countStepDecimals","__moveHandles","updateOptions","create","Slider","suffix","slideroptions","valueoptions","el","valuesuffix","SELECTOR_VALUE","SELECTOR_HANDLE","SELECTOR_CONNECT","CLASS_CURRENT","SELECTOR_MSG","SELECTOR_DROPDOWN_CONTENT","SELECTOR_DROPDOWN_INPUT","createNoUiSlider","resetWidthLastValue","setLabel","$last","self","$label","setHandleColours","colours","$handle","setHandleConnectColour","setMaxLock","slider","myHandleIndex","handleIndex","maxLockSlider","maxLockSliderMargin","maxLockSliderHandleIndex","maxLockMyHandleIndex","setMinLock","minLockSlider","minLockSliderMargin","minLockSliderHandleIndex","minLockMyHandleIndex","getValues","getOptions","getMaxValueByMaxLock","getMinValueByMinLock","getNoUiSlider","getSettingName","setByUnencoded","unencoded","updateCurrentLabel","validateValuesWithMaxLockSlider","validateValuesWithMinLockSlider","valueClicked","$value","onSlide","positions","selectedDiv","$msg","dropdownInput","$dropdownInput","log","onSet","SliderGroupController","sliderGroup","minValue","maxValue","stepValue","currentValue","pipValues","minTranslation","maxTranslation","currentTranslation","initSlider","$slider","minimum","$pipValues","minimumTranslation","maximumTranslation","$tooltips","$handles","pipValue","sliderGroupController","SoundPressureController","soundPressure","SoundPressure","stopPoint","gradient","label","ATTRIBUTE","warningTrigger","warning","getSelectedStopPoint","$stopPoint","setToStopPoint","initialWidth","$background","showOrHideWarning","setByTrigger","TabGroupController","tabGroup","tabGroupController","tabgroup","TabGroup","SELECTOR_TAB","SELECTOR_TAB_CONTENT","CLASS_ACTIVE","setAllTabsToNotActive","setTabToActive","$tab","tabClicked","HeaderAnimator","initVariables","minimumScroll","prevScrollTop","startScrollTop","prevDirection","setDirection","delta","setStartScrollTop","previousScrollTopHasInitValue","determineScrollTop","determineDelta","documentScrolled","scrollDelta","iosDocumentScrolled","$document","standalone","ReturnToHsnController","redirectToHsn","returnToHsnClicked","returnToHsnRadioButtonChanged","saveProjectButtonClicked","saveProject","errorHappened","RoomHeaderAnimator","wrapErrors","__wrapped__","isProduction","Sentry","captureException","addRoute","routes","route","routeFn","onpageshow","persisted","isRefresh","reload","dsn","sentryDsn","release","assetVersion","environment","sentryEnvironment","ProjectInfoController","SaveProjectController","ZoneOverviewController","FanSelectionController","CalculateCapacityController","UpdateOptionsController","UpdateSpeedController","SaveFanCoilController","EquipmentListController","pathname","FormValidator","SELECTOR_FORM","SELECTOR_FORM_EMAIL_VALIDATION","SELECTOR_NUMERIC_INPUT","SELECTOR_CHECKBOX","SELECTOR_SUBMIT","SELECTOR_ERROR","SELECTOR_VALUE_MISSING","SELECTOR_TYPE_MISMATCH","SELECTOR_TOO_LONG","SELECTOR_BAD_INPUT","SELECTOR_RANGE_UNDERFLOW","SELECTOR_RANGE_OVERFLOW","SELECTOR_PATTERN_MISMATCH","SELECTOR_GENERAL","SELECTOR_EMAIL_VALIDATION_URL","CLASS_VALIDATE","ATTRIBUTE_DATA_LOADER_TARGET","hasError","isEmailValid","$numeric","numericInput","required","showError","$error","parentSelector","hideError","isFormValid","elements","firstElementWithError","email","isValid","alreadyUsed","myEmail","elementBlurred","formSubmitted","$submit","formValidator","initForm","$form","isEditValid","$edit","$elements","SELECTOR_LOADER","SELECTOR_POPUP_LOADER","anchor","initLoaderFor","loaderId","$loader","showLoaderFor","hideLoaderFor","FADE_OUT","POPUP","PopoverController","ANCHOR_SELECTOR","POPOVER_SELECTOR","$anchors","$popover","Popover","ShowHideController","showHide","ShowHide","SEGMENT_CONTROL","segmentGroup","EVENT","triggerChanged","$trigger","triggerValue","triggerName","triggerId","hideListeners","showListeners","isSegmentControl","listenerClass","initSegmentControl","CALCULATE_CAPACITY","segmentgroup","FAN_COIL","capacityBars","specifications","ROOM","SPECIFICATION","capacity","sensibleCapacity","soundPressureLevel","soundPower","waterPressureDrop","waterFlowRate","airFlow","outletAirTemperature","outletAirRelativeHumidity","dehumidication","calculationParamChanged","$fanCoil","update","SEGMENT","ajaxName","createJson","addBreadcrumb","category","level","Severity","info","resp","coolingCapacityRaw","CoolingSpecification","CapacityRaw","coolingCapacity","Capacity","updateCapacityBarGroup","HeatingSpecification","RoomHeatingCapacity","RoomHeatingCapacityFormatted","RoomCoolingCapacity","RoomCoolingCapacityFormatted","updateSpecifications","$capacityBars","heatingCapacity","heatingCapacityFormatted","coolingCapacityFormatted","$coolingCapacityBar","coolingCapacityIndex","heatingCapacityIndex","SensibleCapacity","SoundPower","PressureDrop","WaterFlow","AirFlow","OutletDbAirTemperature","OutletAirRelativeHumidity","DeHumidification","Id","RoomId","segment","$segment","calculateCapacityController","recalculate","$lastFanCoil","equipmentList","groupByChanged","groupByClass","hideEquipmentLists","showEquipmentList","equipmentListController","roomProperties","ADD_FAN_COIL","section","DELETE_FANCOIL","popup","idPlaceholder","form","SOUND_PRESSURE","triggerGroup","control","ROOM_TYPE","temperature","heatingTemperature","OPTION_DETAIL","titlePlaceholder","imagePlaceholder","textPlaceholder","namePlaceholder","ADD_FAN_COIL_TRIGGER","title","documentClicked","addFanCoilClicked","addNewFanCoil","deleteFancoilClicked","setDeletePopup","showDeletePopup","deleteFanCoilConfirmed","deleteFanCoil","soundPressureTriggerChanged","roomTypeChanged","setControlsByRoomType","optionInfoClicked","setOptionDetailPopup","showOptionDetailPopup","$roomType","$roomName","$roomTemperature","$roomHeatingTemperature","roomType","roomTemperature","roomName","fanSelectionController","projectInfoController","ELEMENTS","OPTION","saveParamChanged","save","$optionProperty","saveFanCoilController","SLIDER","sliderSet","formattedValue","stringValue","$dropdown","saveProjectController","fanCoil","roomId","$oldOptions","updateOptionsController","container","updateSpeedController","room","roomMenu","DELETE_ROOM","roomBlurred","hideRoomPopoverMenu","deleteRoomClicked","$room","zoneOverviewController"],"mappings":"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","file":"lib.min.js","sourcesContent":["/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */\r\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.4.1\",k=function(e,t){return new k.fn.init(e,t)},p=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;function d(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp($),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+$),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+M+\"?|(\"+M+\")|.)\",\"ig\"),ne=function(e,t,n){var r=\"0x\"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=k),o=(l=h(t)).length;while(o--)l[o]=\"#\"+s+\" \"+xe(l[o]);c=l.join(\",\"),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute(\"id\")}}}return g(t.replace(B,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+k+\"-]\").length||v.push(\"~=\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+k+\"+*\").length||v.push(\".#.+[+~]\")}),ce(function(e){e.innerHTML=\"\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",$)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&p(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[\":\"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ge={option:[1,\"\"],thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx\",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==(\"focus\"===t)}function Ae(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return\"undefined\"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||\"\").match(R)||[\"\"]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||\"\").match(R)||[\"\"]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,\"events\")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,qe=/\\s*$/g;function Oe(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&k(e).children(\"tbody\")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Re(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n\")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\\?(?=&|$)|\\?\\?/;k.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Gt.pop()||k.expando+\"_\"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Yt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||k.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"
\",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1\").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,\"position\"),c=k(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=k.css(e,\"top\"),u=k.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===k.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===k.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,\"borderTopWidth\",!0),i.left+=k.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-k.css(r,\"marginTop\",!0),left:t.left-i.left-k.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===k.css(e,\"position\"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each([\"top\",\"left\"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+\"px\":t})}),k.each({Height:\"height\",Width:\"width\"},function(a,s){k.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){k.fn[n]=function(e,t){return 0=0&&/(rv)(?::| )([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a)||[],c=/(ipad)/.exec(a)||/(ipod)/.exec(a)||/(windows phone)/.exec(a)||/(iphone)/.exec(a)||/(kindle)/.exec(a)||/(silk)/.exec(a)||/(android)/.exec(a)||/(win)/.exec(a)||/(mac)/.exec(a)||/(linux)/.exec(a)||/(cros)/.exec(a)||/(playbook)/.exec(a)||/(bb)/.exec(a)||/(blackberry)/.exec(a)||[],d={},e={browser:b[5]||b[3]||b[1]||\"\",version:b[2]||b[4]||\"0\",versionNumber:b[4]||b[2]||\"0\",platform:c[0]||\"\"};if(e.browser&&(d[e.browser]=!0,d.version=e.version,d.versionNumber=parseInt(e.versionNumber,10)),e.platform&&(d[e.platform]=!0),(d.android||d.bb||d.blackberry||d.ipad||d.iphone||d.ipod||d.kindle||d.playbook||d.silk||d[\"windows phone\"])&&(d.mobile=!0),(d.cros||d.mac||d.linux||d.win)&&(d.desktop=!0),(d.chrome||d.opr||d.safari)&&(d.webkit=!0),d.rv||d.iemobile){var f=\"msie\";e.browser=f,d[f]=!0}if(d.edge){delete d.edge;var g=\"msedge\";e.browser=g,d[g]=!0}if(d.safari&&d.blackberry){var h=\"blackberry\";e.browser=h,d[h]=!0}if(d.safari&&d.playbook){var i=\"playbook\";e.browser=i,d[i]=!0}if(d.bb){var j=\"blackberry\";e.browser=j,d[j]=!0}if(d.opr){var k=\"opera\";e.browser=k,d[k]=!0}if(d.safari&&d.android){var l=\"android\";e.browser=l,d[l]=!0}if(d.safari&&d.kindle){var m=\"kindle\";e.browser=m,d[m]=!0}if(d.safari&&d.silk){var n=\"silk\";e.browser=n,d[n]=!0}return d.name=e.browser,d.platform=e.platform,d}return window.jQBrowser=b(window.navigator.userAgent),window.jQBrowser.uaMatch=b,a&&(a.browser=window.jQBrowser),window.jQBrowser});\r\n/*! device.js 0.1.61 */\r\n(function(){var a,b,c,d,e,f,g,h,i,j;a=window.device,window.device={},c=window.document.documentElement,j=window.navigator.userAgent.toLowerCase(),device.ios=function(){return device.iphone()||device.ipod()||device.ipad()},device.iphone=function(){return d(\"iphone\")},device.ipod=function(){return d(\"ipod\")},device.ipad=function(){return d(\"ipad\")},device.android=function(){return d(\"android\")},device.androidPhone=function(){return device.android()&&d(\"mobile\")},device.androidTablet=function(){return device.android()&&!d(\"mobile\")},device.blackberry=function(){return d(\"blackberry\")||d(\"bb10\")||d(\"rim\")},device.blackberryPhone=function(){return device.blackberry()&&!d(\"tablet\")},device.blackberryTablet=function(){return device.blackberry()&&d(\"tablet\")},device.windows=function(){return d(\"windows\")},device.windowsPhone=function(){return device.windows()&&d(\"phone\")},device.windowsTablet=function(){return device.windows()&&d(\"touch\")&&!device.windowsPhone()},device.fxos=function(){return(d(\"(mobile;\")||d(\"(tablet;\"))&&d(\"; rv:\")},device.fxosPhone=function(){return device.fxos()&&d(\"mobile\")},device.fxosTablet=function(){return device.fxos()&&d(\"tablet\")},device.meego=function(){return d(\"meego\")},device.cordova=function(){return window.cordova&&\"file:\"===location.protocol},device.nodeWebkit=function(){return\"object\"==typeof window.process},device.mobile=function(){return device.androidPhone()||device.iphone()||device.ipod()||device.windowsPhone()||device.blackberryPhone()||device.fxosPhone()||device.meego()},device.tablet=function(){return device.ipad()||device.androidTablet()||device.blackberryTablet()||device.windowsTablet()||device.fxosTablet()},device.desktop=function(){return!device.tablet()&&!device.mobile()},device.portrait=function(){return window.innerHeight/window.innerWidth>1},device.landscape=function(){return window.innerHeight/window.innerWidth<1},device.noConflict=function(){return window.device=a,this},d=function(a){return-1!==j.indexOf(a)},f=function(a){var b;return b=new RegExp(a,\"i\"),c.className.match(b)},b=function(a){return f(a)?void 0:c.className+=\" \"+a},h=function(a){return f(a)?c.className=c.className.replace(a,\"\"):void 0},device.ios()?device.ipad()?b(\"ios ipad tablet\"):device.iphone()?b(\"ios iphone mobile\"):device.ipod()&&b(\"ios ipod mobile\"):b(device.android()?device.androidTablet()?\"android tablet\":\"android mobile\":device.blackberry()?device.blackberryTablet()?\"blackberry tablet\":\"blackberry mobile\":device.windows()?device.windowsTablet()?\"windows tablet\":device.windowsPhone()?\"windows mobile\":\"desktop\":device.fxos()?device.fxosTablet()?\"fxos tablet\":\"fxos mobile\":device.meego()?\"meego mobile\":device.nodeWebkit()?\"node-webkit\":\"desktop\"),device.cordova()&&b(\"cordova\"),e=function(){return device.landscape()?(h(\"portrait\"),b(\"landscape\")):(h(\"landscape\"),b(\"portrait\"))},i=\"onorientationchange\"in window,g=i?\"orientationchange\":\"resize\",window.addEventListener?window.addEventListener(g,e,!1):window.attachEvent?window.attachEvent(g,e):window[g]=e,e()}).call(this);\r\n// Unobtrusive Ajax support library for jQuery\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// @version v3.2.6\r\n// \r\n// Microsoft grants you the right to use these script files for the sole\r\n// purpose of either: (i) interacting through your browser with the Microsoft\r\n// website or online service, subject to the applicable licensing or use\r\n// terms; or (ii) using the files as included with a Microsoft product subject\r\n// to that product's license terms. Microsoft reserves all other rights to the\r\n// files not expressly granted by Microsoft, whether by implication, estoppel\r\n// or otherwise. Insofar as a script file is dual licensed under GPL,\r\n// Microsoft neither took the code under GPL nor distributes it thereunder but\r\n// under the terms set out in this paragraph. All notices and licenses\r\n// below are for informational purposes only.\r\n!function(t){function a(t,a){for(var e=window,r=(t||\"\").split(\".\");e&&r.length;)e=e[r.shift()];return\"function\"==typeof e?e:(a.push(t),Function.constructor.apply(null,a))}function e(t){return\"GET\"===t||\"POST\"===t}function r(t,a){e(a)||t.setRequestHeader(\"X-HTTP-Method-Override\",a)}function n(a,e,r){var n;r.indexOf(\"application/x-javascript\")===-1&&(n=(a.getAttribute(\"data-ajax-mode\")||\"\").toUpperCase(),t(a.getAttribute(\"data-ajax-update\")).each(function(a,r){switch(n){case\"BEFORE\":t(r).prepend(e);break;case\"AFTER\":t(r).append(e);break;case\"REPLACE-WITH\":t(r).replaceWith(e);break;default:t(r).html(e)}}))}function i(i,u){var o,c,d,s;if(o=i.getAttribute(\"data-ajax-confirm\"),!o||window.confirm(o)){c=t(i.getAttribute(\"data-ajax-loading\")),s=parseInt(i.getAttribute(\"data-ajax-loading-duration\"),10)||0,t.extend(u,{type:i.getAttribute(\"data-ajax-method\")||void 0,url:i.getAttribute(\"data-ajax-url\")||void 0,cache:\"true\"===(i.getAttribute(\"data-ajax-cache\")||\"\").toLowerCase(),beforeSend:function(t){var e;return r(t,d),e=a(i.getAttribute(\"data-ajax-begin\"),[\"xhr\"]).apply(i,arguments),e!==!1&&c.show(s),e},complete:function(){c.hide(s),a(i.getAttribute(\"data-ajax-complete\"),[\"xhr\",\"status\"]).apply(i,arguments)},success:function(t,e,r){n(i,t,r.getResponseHeader(\"Content-Type\")||\"text/html\"),a(i.getAttribute(\"data-ajax-success\"),[\"data\",\"status\",\"xhr\"]).apply(i,arguments)},error:function(){a(i.getAttribute(\"data-ajax-failure\"),[\"xhr\",\"status\",\"error\"]).apply(i,arguments)}}),u.data.push({name:\"X-Requested-With\",value:\"XMLHttpRequest\"}),d=u.type.toUpperCase(),e(d)||(u.type=\"POST\",u.data.push({name:\"X-HTTP-Method-Override\",value:d}));var p=t(i);if(p.is(\"form\")&&\"multipart/form-data\"==p.attr(\"enctype\")){var f=new FormData;t.each(u.data,function(t,a){f.append(a.name,a.value)}),t(\"input[type=file]\",p).each(function(){var a=this;t.each(a.files,function(t,e){f.append(a.name,e)})}),t.extend(u,{processData:!1,contentType:!1,data:f})}t.ajax(u)}}function u(a){var e=t(a).data(d);return!e||!e.validate||e.validate()}var o=\"unobtrusiveAjaxClick\",c=\"unobtrusiveAjaxClickTarget\",d=\"unobtrusiveValidation\";t(document).on(\"click\",\"a[data-ajax=true]\",function(t){t.preventDefault(),i(this,{url:this.href,type:\"GET\",data:[]})}),t(document).on(\"click\",\"form[data-ajax=true] input[type=image]\",function(a){var e=a.target.name,r=t(a.target),n=t(r.parents(\"form\")[0]),i=r.offset();n.data(o,[{name:e+\".x\",value:Math.round(a.pageX-i.left)},{name:e+\".y\",value:Math.round(a.pageY-i.top)}]),setTimeout(function(){n.removeData(o)},0)}),t(document).on(\"click\",\"form[data-ajax=true] :submit\",function(a){var e=a.currentTarget.name,r=t(a.target),n=t(r.parents(\"form\")[0]);n.data(o,e?[{name:e,value:a.currentTarget.value}]:[]),n.data(c,r),setTimeout(function(){n.removeData(o),n.removeData(c)},0)}),t(document).on(\"submit\",\"form[data-ajax=true]\",function(a){var e=t(this).data(o)||[],r=t(this).data(c),n=r&&(r.hasClass(\"cancel\")||void 0!==r.attr(\"formnovalidate\"));a.preventDefault(),(n||u(this))&&i(this,{url:this.action,type:this.method||\"GET\",data:e.concat(t(this).serializeArray())})})}(jQuery);\r\nvar AjaxCall = function () {};\r\n\r\nAjaxCall.responseIsRequested = false;\r\nAjaxCall.requestCount = 0;\r\nwindow.onbeforeunload = function (e) {\r\n if (AjaxCall.responseIsRequested) {\r\n e.returnValue = 'Are you sure you want to leave?';\r\n }\r\n}\r\nAjaxCall.bindLoader = function () {\r\n AjaxCall.responseIsRequested = true;\r\n AjaxCall.requestCount += 1;\r\n $('.loader').trigger('custom_show');\r\n\r\n clearTimeout(AjaxCall.timeout);\r\n AjaxCall.timeout = setTimeout(function () {\r\n AjaxCall.requestCount = 0;\r\n AjaxCall.possiblyUnbindLoader();\r\n }, 2000);\r\n}\r\nAjaxCall.possiblyUnbindLoader = function () {\r\n AjaxCall.requestCount -= 1;\r\n if (AjaxCall.requestCount < 0) {\r\n AjaxCall.requestCount = 0;\r\n }\r\n\r\n if (AjaxCall.requestCount == 0) {\r\n AjaxCall.responseIsRequested = false;\r\n $('.loader').trigger('custom_hide');\r\n }\r\n}\r\n\r\nAjaxCall.send = function (path, request, success) {\r\n AjaxCall.bindLoader();\r\n\r\n var data = request ? JSON.stringify(request) : null;\r\n var type = request ? 'POST' : 'GET';\r\n\r\n return $.ajax({\r\n type: type,\r\n contentType: 'application/json; charset=utf-8',\r\n url: path,\r\n data: data,\r\n success: function (result, textStatus, xhr) {\r\n AjaxCall.success(result, xhr, success);\r\n AjaxCall.possiblyUnbindLoader();\r\n },\r\n error: function (xhr) {\r\n AjaxCall.possiblyUnbindLoader();\r\n if (xhr.responseText) {\r\n var errorObject = JSON.parse(xhr.responseText);\r\n alert('An error has occurred: ' + errorObject.Message);\r\n }\r\n },\r\n async: window.async\r\n });\r\n\r\n};\r\n\r\nAjaxCall.getHtml = function (path, request, success) {\r\n AjaxCall.bindLoader();\r\n\r\n var data = request ? JSON.stringify(request) : null;\r\n\r\n return $.ajax({\r\n type: 'GET',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'html',\r\n url: path,\r\n data: data,\r\n success: function (result, textStatus, xhr) {\r\n AjaxCall.success(result, xhr, success);\r\n AjaxCall.possiblyUnbindLoader();\r\n },\r\n error: function (xhr) {\r\n AjaxCall.possiblyUnbindLoader();\r\n var errorObject = JSON.parse(xhr.responseText);\r\n alert('An error has occurred: ' + errorObject.Message);\r\n },\r\n async: window.async\r\n });\r\n};\r\n\r\nAjaxCall.success = function (result, xhr, success) {\r\n var dataType = xhr.getResponseHeader(\"Content-Type\");\r\n\r\n if ((dataType != null && dataType.indexOf('text/html') === 0)\r\n && (result != null && result.indexOf(\"\") === 0)) {\r\n window.location = '/';\r\n } else if (success) {\r\n success(result);\r\n }\r\n};\r\nif (!String.prototype.startsWith) {\r\n Object.defineProperty(String.prototype, \"startsWith\", {\r\n value: function(search, rawPos) {\r\n var pos = rawPos > 0 ? rawPos | 0 : 0;\r\n return this.substring(pos, pos + search.length) === search;\r\n },\r\n });\r\n}\r\n\r\n; (function (window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n // Make sure that ValidityState is supported in full (all features)\r\n var supported = function () {\r\n var input = document.createElement('input');\r\n return ('validity' in input && 'badInput' in input.validity && 'patternMismatch' in input.validity && 'rangeOverflow' in input.validity && 'rangeUnderflow' in input.validity && 'stepMismatch' in input.validity && 'tooLong' in input.validity && 'tooShort' in input.validity && 'typeMismatch' in input.validity && 'valid' in input.validity && 'valueMissing' in input.validity);\r\n };\r\n\r\n /**\r\n * Generate the field validity object\r\n * @param {Node]} field The field to validate\r\n * @return {Object} The validity object\r\n */\r\n var getValidityState = function (field) {\r\n\r\n // Variables\r\n var type = field.getAttribute('type') || input.nodeName.toLowerCase();\r\n var isNum = type === 'number' || type === 'range';\r\n var length = field.value.length;\r\n var valid = true;\r\n\r\n // Run validity checks\r\n var checkValidity = {\r\n badInput: (isNum && length > 0 && !/[-+]?[0-9]/.test(field.value)), // value of a number field is not a number\r\n patternMismatch: (field.hasAttribute('pattern') && length > 0 && new RegExp(field.getAttribute('pattern')).test(field.value) === false), // value does not conform to the pattern\r\n rangeOverflow: (field.hasAttribute('max') && isNum && field.value > 1 && parseInt(field.value, 10) > parseInt(field.getAttribute('max'), 10)), // value of a number field is higher than the max attribute\r\n rangeUnderflow: (field.hasAttribute('min') && isNum && field.value > 1 && parseInt(field.value, 10) < parseInt(field.getAttribute('min'), 10)), // value of a number field is lower than the min attribute\r\n stepMismatch: (field.hasAttribute('step') && field.getAttribute('step') !== 'any' && isNum && Number(field.value) % parseFloat(field.getAttribute('step')) !== 0), // value of a number field does not conform to the stepattribute\r\n tooLong: (field.hasAttribute('maxLength') && field.getAttribute('maxLength') > 0 && length > parseInt(field.getAttribute('maxLength'), 10)), // the user has edited a too-long value in a field with maxlength\r\n tooShort: (field.hasAttribute('minLength') && field.getAttribute('minLength') > 0 && length > 0 && length < parseInt(field.getAttribute('minLength'), 10)), // the user has edited a too-short value in a field with minlength\r\n typeMismatch: (length > 0 && ((type === 'email' && !/^([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*$/.test(field.value)) || (type === 'url' && !/^(?:(?:https?|HTTPS?|ftp|FTP):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*)(?::\\d{2,5})?(?:[\\/?#]\\S*)?$/.test(field.value)))), // value of a email or URL field is not an email address or URL\r\n valueMissing: (field.hasAttribute('required') && (((type === 'checkbox' || type === 'radio') && !field.checked) || (type === 'select' && field.options[field.selectedIndex].value < 1) || (type !== 'checkbox' && type !== 'radio' && type !== 'select' && length < 1))) // required field without a value\r\n };\r\n\r\n // Check if any errors\r\n for (var key in checkValidity) {\r\n if (checkValidity.hasOwnProperty(key)) {\r\n // If there's an error, change valid value\r\n if (checkValidity[key]) {\r\n valid = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Add valid property to validity object\r\n checkValidity.valid = valid;\r\n\r\n // Return object\r\n return checkValidity;\r\n\r\n };\r\n\r\n // If the full set of ValidityState features aren't supported, polyfill\r\n if (!supported()) {\r\n Object.defineProperty(HTMLInputElement.prototype, 'validity', {\r\n get: function ValidityState() {\r\n return getValidityState(this);\r\n },\r\n configurable: true,\r\n });\r\n }\r\n\r\n})(window, document);\r\n/*!\r\n * jQuery Globalization Plugin\r\n * http://github.com/jquery/jquery-global\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n */\r\n(function() {\r\n\r\nvar Globalization = {}, localized = { en: {} };\r\nlocalized[\"default\"] = localized.en;\r\n\r\nGlobalization.extend = function( deep ) {\r\n var target = arguments[ 1 ] || {};\r\n for ( var i = 2, l = arguments.length; i < l; i++ ) {\r\n var source = arguments[ i ];\r\n if ( source ) {\r\n for ( var field in source ) {\r\n var sourceVal = source[ field ];\r\n if ( typeof sourceVal !== \"undefined\" ) {\r\n if ( deep && (isObject( sourceVal ) || isArray( sourceVal )) ) {\r\n var targetVal = target[ field ];\r\n // extend onto the existing value, or create a new one\r\n targetVal = targetVal && (isObject( targetVal ) || isArray( targetVal ))\r\n ? targetVal\r\n : (isArray( sourceVal ) ? [] : {});\r\n target[ field ] = this.extend( true, targetVal, sourceVal );\r\n }\r\n else {\r\n target[ field ] = sourceVal;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return target;\r\n}\r\n\r\nGlobalization.findClosestCulture = function(name) {\r\n var match;\r\n if ( !name ) {\r\n return this.culture || this.cultures[\"default\"];\r\n }\r\n if ( isString( name ) ) {\r\n name = name.split( ',' );\r\n }\r\n if ( isArray( name ) ) {\r\n var lang,\r\n cultures = this.cultures,\r\n list = name,\r\n i, l = list.length,\r\n prioritized = [];\r\n for ( i = 0; i < l; i++ ) {\r\n name = trim( list[ i ] );\r\n var pri, parts = name.split( ';' );\r\n lang = trim( parts[ 0 ] );\r\n if ( parts.length === 1 ) {\r\n pri = 1;\r\n }\r\n else {\r\n name = trim( parts[ 1 ] );\r\n if ( name.indexOf(\"q=\") === 0 ) {\r\n name = name.substr( 2 );\r\n pri = parseFloat( name, 10 );\r\n pri = isNaN( pri ) ? 0 : pri;\r\n }\r\n else {\r\n pri = 1;\r\n }\r\n }\r\n prioritized.push( { lang: lang, pri: pri } );\r\n }\r\n prioritized.sort(function(a, b) {\r\n return a.pri < b.pri ? 1 : -1;\r\n });\r\n\r\n // exact match\r\n for ( i = 0; i < l; i++ ) {\r\n lang = prioritized[ i ].lang;\r\n match = cultures[ lang ];\r\n if ( match ) {\r\n return match;\r\n }\r\n }\r\n\r\n // neutral language match\r\n for ( i = 0; i < l; i++ ) {\r\n lang = prioritized[ i ].lang;\r\n do {\r\n var index = lang.lastIndexOf( \"-\" );\r\n if ( index === -1 ) {\r\n break;\r\n }\r\n // strip off the last part. e.g. en-US => en\r\n lang = lang.substr( 0, index );\r\n match = cultures[ lang ];\r\n if ( match ) {\r\n return match;\r\n }\r\n }\r\n while ( 1 );\r\n }\r\n\r\n // last resort: match first culture using that language\r\n\t\tfor ( i = 0; i < l; i++ ) {\r\n lang = prioritized[ i ].lang;\r\n\t\t\tfor ( var cultureKey in cultures ) {\r\n\t\t\t\tvar culture = cultures[ cultureKey ];\r\n if ( culture.language == lang ) {\r\n return culture;\r\n }\r\n\t\t\t}\r\n }\r\n }\r\n else if ( typeof name === 'object' ) {\r\n return name;\r\n }\r\n return match || null;\r\n}\r\nGlobalization.preferCulture = function(name) {\r\n this.culture = this.findClosestCulture( name ) || this.cultures[\"default\"];\r\n}\r\nGlobalization.localize = function(key, culture, value) {\r\n // usign default culture in case culture is not provided\r\n if (typeof culture !== 'string') {\r\n culture = this.culture.name || this.culture || \"default\";\r\n }\r\n culture = this.cultures[ culture ] || { name: culture };\r\n\r\n var local = localized[ culture.name ];\r\n if ( arguments.length === 3 ) {\r\n if ( !local) {\r\n local = localized[ culture.name ] = {};\r\n }\r\n local[ key ] = value;\r\n }\r\n else {\r\n if ( local ) {\r\n value = local[ key ];\r\n }\r\n if ( typeof value === 'undefined' ) {\r\n var language = localized[ culture.language ];\r\n if ( language ) {\r\n value = language[ key ];\r\n }\r\n if ( typeof value === 'undefined' ) {\r\n value = localized[\"default\"][ key ];\r\n }\r\n }\r\n }\r\n return typeof value === \"undefined\" ? null : value;\r\n}\r\nGlobalization.format = function(value, format, culture) {\r\n culture = this.findClosestCulture( culture );\r\n if ( typeof value === \"number\" ) {\r\n value = formatNumber( value, format, culture );\r\n }\r\n else if ( value instanceof Date ) {\r\n value = formatDate( value, format, culture );\r\n }\r\n return value;\r\n}\r\nGlobalization.parseInt = function(value, radix, culture) {\r\n return Math.floor( this.parseFloat( value, radix, culture ) );\r\n}\r\nGlobalization.parseFloat = function(value, radix, culture) {\r\n\t// make radix optional\r\n\tif (typeof radix === \"string\") {\r\n\t\tculture = radix;\r\n\t\tradix = 10;\r\n\t}\r\n\r\n culture = this.findClosestCulture( culture );\r\n var ret = NaN,\r\n nf = culture.numberFormat;\r\n\r\n\tif (value.indexOf(culture.numberFormat.currency.symbol) > -1) {\r\n\t\t// remove currency symbol\r\n\t\tvalue = value.replace(culture.numberFormat.currency.symbol, \"\");\r\n\t\t// replace decimal seperator\r\n\t\tvalue = value.replace(culture.numberFormat.currency[\".\"], culture.numberFormat[\".\"]);\r\n\t}\r\n\r\n // trim leading and trailing whitespace\r\n value = trim( value );\r\n\r\n // allow infinity or hexidecimal\r\n if (regexInfinity.test(value)) {\r\n ret = parseFloat(value, radix);\r\n }\r\n else if (!radix && regexHex.test(value)) {\r\n ret = parseInt(value, 16);\r\n }\r\n else {\r\n var signInfo = parseNegativePattern( value, nf, nf.pattern[0] ),\r\n sign = signInfo[0],\r\n num = signInfo[1];\r\n // determine sign and number\r\n if ( sign === \"\" && nf.pattern[0] !== \"-n\" ) {\r\n signInfo = parseNegativePattern( value, nf, \"-n\" );\r\n sign = signInfo[0];\r\n num = signInfo[1];\r\n }\r\n sign = sign || \"+\";\r\n // determine exponent and number\r\n var exponent,\r\n intAndFraction,\r\n exponentPos = num.indexOf( 'e' );\r\n if ( exponentPos < 0 ) exponentPos = num.indexOf( 'E' );\r\n if ( exponentPos < 0 ) {\r\n intAndFraction = num;\r\n exponent = null;\r\n }\r\n else {\r\n intAndFraction = num.substr( 0, exponentPos );\r\n exponent = num.substr( exponentPos + 1 );\r\n }\r\n // determine decimal position\r\n var integer,\r\n fraction,\r\n decSep = nf['.'],\r\n decimalPos = intAndFraction.indexOf( decSep );\r\n if ( decimalPos < 0 ) {\r\n integer = intAndFraction;\r\n fraction = null;\r\n }\r\n else {\r\n integer = intAndFraction.substr( 0, decimalPos );\r\n fraction = intAndFraction.substr( decimalPos + decSep.length );\r\n }\r\n // handle groups (e.g. 1,000,000)\r\n var groupSep = nf[\",\"];\r\n integer = integer.split(groupSep).join('');\r\n var altGroupSep = groupSep.replace(/\\u00A0/g, \" \");\r\n if ( groupSep !== altGroupSep ) {\r\n integer = integer.split(altGroupSep).join('');\r\n }\r\n // build a natively parsable number string\r\n var p = sign + integer;\r\n if ( fraction !== null ) {\r\n p += '.' + fraction;\r\n }\r\n if ( exponent !== null ) {\r\n // exponent itself may have a number patternd\r\n var expSignInfo = parseNegativePattern( exponent, nf, \"-n\" );\r\n p += 'e' + (expSignInfo[0] || \"+\") + expSignInfo[1];\r\n }\r\n if ( regexParseFloat.test( p ) ) {\r\n ret = parseFloat( p );\r\n }\r\n }\r\n return ret;\r\n}\r\nGlobalization.parseDate = function(value, formats, culture) {\r\n culture = this.findClosestCulture( culture );\r\n\r\n var date, prop, patterns;\r\n if ( formats ) {\r\n if ( typeof formats === \"string\" ) {\r\n formats = [ formats ];\r\n }\r\n if ( formats.length ) {\r\n for ( var i = 0, l = formats.length; i < l; i++ ) {\r\n var format = formats[ i ];\r\n if ( format ) {\r\n date = parseExact( value, format, culture );\r\n if ( date ) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n patterns = culture.calendar.patterns;\r\n for ( prop in patterns ) {\r\n date = parseExact( value, patterns[prop], culture );\r\n if ( date ) {\r\n break;\r\n }\r\n }\r\n }\r\n return date || null;\r\n}\r\n\r\n// 1. When defining a culture, all fields are required except the ones stated as optional.\r\n// 2. You can use Globalization.extend to copy an existing culture and provide only the differing values,\r\n// a good practice since most cultures do not differ too much from the 'default' culture.\r\n// DO use the 'default' culture if you do this, as it is the only one that definitely\r\n// exists.\r\n// 3. Other plugins may add to the culture information provided by extending it. However,\r\n// that plugin may extend it prior to the culture being defined, or after. Therefore,\r\n// do not overwrite values that already exist when defining the baseline for a culture,\r\n// by extending your culture object with the existing one.\r\n// 4. Each culture should have a \".calendars\" object with at least one calendar named \"standard\"\r\n// which serves as the default calendar in use by that culture.\r\n// 5. Each culture should have a \".calendar\" object which is the current calendar being used,\r\n// it may be dynamically changed at any time to one of the calendars in \".calendars\".\r\n\r\n// To define a culture, use the following pattern, which handles defining the culture based\r\n// on the 'default culture, extending it with the existing culture if it exists, and defining\r\n// it if it does not exist.\r\n// Globalization.cultures.foo = Globalization.extend(true, Globalization.extend(true, {}, Globalization.cultures['default'], fooCulture), Globalization.cultures.foo)\r\n\r\nvar cultures = Globalization.cultures = Globalization.cultures || {};\r\nvar en = cultures[\"default\"] = cultures.en = Globalization.extend(true, {\r\n // A unique name for the culture in the form -\r\n name: \"en\",\r\n // the name of the culture in the english language\r\n englishName: \"English\",\r\n // the name of the culture in its own language\r\n nativeName: \"English\",\r\n // whether the culture uses right-to-left text\r\n isRTL: false,\r\n // 'language' is used for so-called \"specific\" cultures.\r\n // For example, the culture \"es-CL\" means \"Spanish, in Chili\".\r\n // It represents the Spanish-speaking culture as it is in Chili,\r\n // which might have different formatting rules or even translations\r\n // than Spanish in Spain. A \"neutral\" culture is one that is not\r\n // specific to a region. For example, the culture \"es\" is the generic\r\n // Spanish culture, which may be a more generalized version of the language\r\n // that may or may not be what a specific culture expects.\r\n // For a specific culture like \"es-CL\", the 'language' field refers to the\r\n // neutral, generic culture information for the language it is using.\r\n // This is not always a simple matter of the string before the dash.\r\n // For example, the \"zh-Hans\" culture is netural (Simplified Chinese).\r\n // And the 'zh-SG' culture is Simplified Chinese in Singapore, whose lanugage\r\n // field is \"zh-CHS\", not \"zh\".\r\n // This field should be used to navigate from a specific culture to it's\r\n // more general, neutral culture. If a culture is already as general as it\r\n // can get, the language may refer to itself.\r\n language: \"en\",\r\n // numberFormat defines general number formatting rules, like the digits in\r\n // each grouping, the group separator, and how negative numbers are displayed.\r\n numberFormat: {\r\n // [negativePattern]\r\n // Note, numberFormat.pattern has no 'positivePattern' unlike percent and currency,\r\n // but is still defined as an array for consistency with them.\r\n // negativePattern: one of \"(n)|-n|- n|n-|n -\"\r\n pattern: [\"-n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // string that separates number groups, as in 1,000,000\r\n ',': \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n '.': \".\",\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // symbol used for positive numbers\r\n '+': \"+\",\r\n // symbol used for negative numbers\r\n '-': \"-\",\r\n percent: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %\"\r\n // positivePattern: one of \"n %|n%|%n|% n\"\r\n pattern: [\"-n %\",\"n %\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n ',': \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n '.': \".\",\r\n // symbol used to represent a percentage\r\n symbol: \"%\"\r\n },\r\n currency: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)\"\r\n // positivePattern: one of \"$n|n$|$ n|n $\"\r\n pattern: [\"($n)\",\"$n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n ',': \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n '.': \".\",\r\n // symbol used to represent currency\r\n symbol: \"$\"\r\n }\r\n },\r\n // calendars defines all the possible calendars used by this culture.\r\n // There should be at least one defined with name 'standard', and is the default\r\n // calendar used by the culture.\r\n // A calendar contains information about how dates are formatted, information about\r\n // the calendar's eras, a standard set of the date formats,\r\n // translations for day and month names, and if the calendar is not based on the Gregorian\r\n // calendar, conversion functions to and from the Gregorian calendar.\r\n calendars: {\r\n standard: {\r\n // name that identifies the type of calendar this is\r\n name: \"Gregorian_USEnglish\",\r\n // separator of parts of a date (e.g. '/' in 11/05/1955)\r\n '/': \"/\",\r\n // separator of parts of a time (e.g. ':' in 05:44 PM)\r\n ':': \":\",\r\n // the first day of the week (0 = Sunday, 1 = Monday, etc)\r\n firstDay: 0,\r\n days: {\r\n // full day names\r\n names: [\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\r\n // abbreviated day names\r\n namesAbbr: [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\r\n // shortest day names\r\n namesShort: [\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"]\r\n },\r\n months: {\r\n // full month names (13 months for lunar calendards -- 13th month should be \"\" if not lunar)\r\n names: [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\",\"\"],\r\n // abbreviated month names\r\n namesAbbr: [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\",\"\"]\r\n },\r\n // AM and PM designators in one of these forms:\r\n // The usual view, and the upper and lower case versions\r\n // [standard,lowercase,uppercase]\r\n // The culture does not use AM or PM (likely all standard date formats use 24 hour time)\r\n // null\r\n AM: [\"AM\", \"am\", \"AM\"],\r\n PM: [\"PM\", \"pm\", \"PM\"],\r\n eras: [\r\n // eras in reverse chronological order.\r\n // name: the name of the era in this culture (e.g. A.D., C.E.)\r\n // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era.\r\n // offset: offset in years from gregorian calendar\r\n { \"name\": \"A.D.\", \"start\": null, \"offset\": 0 }\r\n ],\r\n // when a two digit year is given, it will never be parsed as a four digit\r\n // year greater than this year (in the appropriate era for the culture)\r\n // Set it as a full year (e.g. 2029) or use an offset format starting from\r\n // the current year: \"+19\" would correspond to 2029 if the current year 2010.\r\n twoDigitYearMax: 2029,\r\n // set of predefined date and time patterns used by the culture\r\n // these represent the format someone in this culture would expect\r\n // to see given the portions of the date that are shown.\r\n patterns: {\r\n // short date pattern\r\n d: \"M/d/yyyy\",\r\n // long date pattern\r\n D: \"dddd, MMMM dd, yyyy\",\r\n // short time pattern\r\n t: \"h:mm tt\",\r\n // long time pattern\r\n T: \"h:mm:ss tt\",\r\n // long date, short time pattern\r\n f: \"dddd, MMMM dd, yyyy h:mm tt\",\r\n // long date, long time pattern\r\n F: \"dddd, MMMM dd, yyyy h:mm:ss tt\",\r\n // month/day pattern\r\n M: \"MMMM dd\",\r\n // month/year pattern\r\n Y: \"yyyy MMMM\",\r\n // S is a sortable format that does not vary by culture\r\n S: \"yyyy\\u0027-\\u0027MM\\u0027-\\u0027dd\\u0027T\\u0027HH\\u0027:\\u0027mm\\u0027:\\u0027ss\"\r\n }\r\n // optional fields for each calendar:\r\n /*\r\n monthsGenitive:\r\n Same as months but used when the day preceeds the month.\r\n Omit if the culture has no genitive distinction in month names.\r\n For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx\r\n convert:\r\n Allows for the support of non-gregorian based calendars. This convert object is used to\r\n to convert a date to and from a gregorian calendar date to handle parsing and formatting.\r\n The two functions:\r\n fromGregorian(date)\r\n Given the date as a parameter, return an array with parts [year, month, day]\r\n corresponding to the non-gregorian based year, month, and day for the calendar.\r\n toGregorian(year, month, day)\r\n Given the non-gregorian year, month, and day, return a new Date() object\r\n set to the corresponding date in the gregorian calendar.\r\n */\r\n }\r\n }\r\n}, cultures.en);\r\nen.calendar = en.calendar || en.calendars.standard;\r\n\r\nvar regexTrim = /^\\s+|\\s+$/g,\r\n regexInfinity = /^[+-]?infinity$/i,\r\n regexHex = /^0x[a-f0-9]+$/i,\r\n regexParseFloat = /^[+-]?\\d*\\.?\\d*(e[+-]?\\d+)?$/,\r\n toString = Object.prototype.toString;\r\n\r\nfunction startsWith(value, pattern) {\r\n return value.indexOf( pattern ) === 0;\r\n}\r\n\r\nfunction endsWith(value, pattern) {\r\n return value.substr( value.length - pattern.length ) === pattern;\r\n}\r\n\r\nfunction trim(value) {\r\n return (value+\"\").replace( regexTrim, \"\" );\r\n}\r\n\r\nfunction zeroPad(str, count, left) {\r\n for (var l=str.length; l < count; l++) {\r\n str = (left ? ('0' + str) : (str + '0'));\r\n }\r\n return str;\r\n}\r\n\r\nfunction isArray(obj) {\r\n return toString.call(obj) === \"[object Array]\";\r\n}\r\n\r\nfunction isString(obj) {\r\n return toString.call(obj) === \"[object String]\";\r\n}\r\n\r\nfunction isObject(obj) {\r\n return toString.call(obj) === \"[object Object]\";\r\n}\r\n\r\nfunction arrayIndexOf( array, item ) {\r\n if ( array.indexOf ) {\r\n return array.indexOf( item );\r\n }\r\n for ( var i = 0, length = array.length; i < length; i++ ) {\r\n if ( array[ i ] === item ) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\n// *************************************** Numbers ***************************************\r\n\r\nfunction expandNumber(number, precision, formatInfo) {\r\n var groupSizes = formatInfo.groupSizes,\r\n curSize = groupSizes[ 0 ],\r\n curGroupIndex = 1,\r\n factor = Math.pow( 10, precision ),\r\n rounded = Math.round( number * factor ) / factor;\r\n if ( !isFinite(rounded) ) {\r\n rounded = number;\r\n }\r\n number = rounded;\r\n\r\n var numberString = number+\"\",\r\n right = \"\",\r\n split = numberString.split(/e/i),\r\n exponent = split.length > 1 ? parseInt( split[ 1 ], 10 ) : 0;\r\n numberString = split[ 0 ];\r\n split = numberString.split( \".\" );\r\n numberString = split[ 0 ];\r\n right = split.length > 1 ? split[ 1 ] : \"\";\r\n\r\n var l;\r\n if ( exponent > 0 ) {\r\n right = zeroPad( right, exponent, false );\r\n numberString += right.slice( 0, exponent );\r\n right = right.substr( exponent );\r\n }\r\n else if ( exponent < 0 ) {\r\n exponent = -exponent;\r\n numberString = zeroPad( numberString, exponent + 1 );\r\n right = numberString.slice( -exponent, numberString.length ) + right;\r\n numberString = numberString.slice( 0, -exponent );\r\n }\r\n\r\n if ( precision > 0 ) {\r\n right = formatInfo['.'] +\r\n ((right.length > precision) ? right.slice( 0, precision ) : zeroPad( right, precision ));\r\n }\r\n else {\r\n right = \"\";\r\n }\r\n\r\n var stringIndex = numberString.length - 1,\r\n sep = formatInfo[\",\"],\r\n ret = \"\";\r\n\r\n while ( stringIndex >= 0 ) {\r\n if ( curSize === 0 || curSize > stringIndex ) {\r\n return numberString.slice( 0, stringIndex + 1 ) + ( ret.length ? ( sep + ret + right ) : right );\r\n }\r\n ret = numberString.slice( stringIndex - curSize + 1, stringIndex + 1 ) + ( ret.length ? ( sep + ret ) : \"\" );\r\n\r\n stringIndex -= curSize;\r\n\r\n if ( curGroupIndex < groupSizes.length ) {\r\n curSize = groupSizes[ curGroupIndex ];\r\n curGroupIndex++;\r\n }\r\n }\r\n return numberString.slice( 0, stringIndex + 1 ) + sep + ret + right;\r\n}\r\n\r\n\r\nfunction parseNegativePattern(value, nf, negativePattern) {\r\n var neg = nf[\"-\"],\r\n pos = nf[\"+\"],\r\n ret;\r\n switch (negativePattern) {\r\n case \"n -\":\r\n neg = ' ' + neg;\r\n pos = ' ' + pos;\r\n // fall through\r\n case \"n-\":\r\n if ( endsWith( value, neg ) ) {\r\n ret = [ '-', value.substr( 0, value.length - neg.length ) ];\r\n }\r\n else if ( endsWith( value, pos ) ) {\r\n ret = [ '+', value.substr( 0, value.length - pos.length ) ];\r\n }\r\n break;\r\n case \"- n\":\r\n neg += ' ';\r\n pos += ' ';\r\n // fall through\r\n case \"-n\":\r\n if ( startsWith( value, neg ) ) {\r\n ret = [ '-', value.substr( neg.length ) ];\r\n }\r\n else if ( startsWith(value, pos) ) {\r\n ret = [ '+', value.substr( pos.length ) ];\r\n }\r\n break;\r\n case \"(n)\":\r\n if ( startsWith( value, '(' ) && endsWith( value, ')' ) ) {\r\n ret = [ '-', value.substr( 1, value.length - 2 ) ];\r\n }\r\n break;\r\n }\r\n return ret || [ '', value ];\r\n}\r\n\r\nfunction formatNumber(value, format, culture) {\r\n if ( !format || format === 'i' ) {\r\n return culture.name.length ? value.toLocaleString() : value.toString();\r\n }\r\n format = format || \"D\";\r\n\r\n var nf = culture.numberFormat,\r\n number = Math.abs(value),\r\n precision = -1,\r\n pattern;\r\n if (format.length > 1) precision = parseInt( format.slice( 1 ), 10 );\r\n\r\n var current = format.charAt( 0 ).toUpperCase(),\r\n formatInfo;\r\n\r\n switch (current) {\r\n case \"D\":\r\n pattern = 'n';\r\n if (precision !== -1) {\r\n number = zeroPad( \"\"+number, precision, true );\r\n }\r\n if (value < 0) number = -number;\r\n break;\r\n case \"N\":\r\n formatInfo = nf;\r\n // fall through\r\n case \"C\":\r\n formatInfo = formatInfo || nf.currency;\r\n // fall through\r\n case \"P\":\r\n formatInfo = formatInfo || nf.percent;\r\n pattern = value < 0 ? formatInfo.pattern[0] : (formatInfo.pattern[1] || \"n\");\r\n if (precision === -1) precision = formatInfo.decimals;\r\n number = expandNumber( number * (current === \"P\" ? 100 : 1), precision, formatInfo );\r\n break;\r\n default:\r\n throw \"Bad number format specifier: \" + current;\r\n }\r\n\r\n var patternParts = /n|\\$|-|%/g,\r\n ret = \"\";\r\n for (;;) {\r\n var index = patternParts.lastIndex,\r\n ar = patternParts.exec(pattern);\r\n\r\n ret += pattern.slice( index, ar ? ar.index : pattern.length );\r\n\r\n if (!ar) {\r\n break;\r\n }\r\n\r\n switch (ar[0]) {\r\n case \"n\":\r\n ret += number;\r\n break;\r\n case \"$\":\r\n ret += nf.currency.symbol;\r\n break;\r\n case \"-\":\r\n // don't make 0 negative\r\n if ( /[1-9]/.test( number ) ) {\r\n ret += nf[\"-\"];\r\n }\r\n break;\r\n case \"%\":\r\n ret += nf.percent.symbol;\r\n break;\r\n }\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n// *************************************** Dates ***************************************\r\n\r\nfunction outOfRange(value, low, high) {\r\n return value < low || value > high;\r\n}\r\n\r\nfunction expandYear(cal, year) {\r\n // expands 2-digit year into 4 digits.\r\n var now = new Date(),\r\n era = getEra(now);\r\n if ( year < 100 ) {\r\n var twoDigitYearMax = cal.twoDigitYearMax;\r\n twoDigitYearMax = typeof twoDigitYearMax === 'string' ? new Date().getFullYear() % 100 + parseInt( twoDigitYearMax, 10 ) : twoDigitYearMax;\r\n var curr = getEraYear( now, cal, era );\r\n year += curr - ( curr % 100 );\r\n if ( year > twoDigitYearMax ) {\r\n year -= 100;\r\n }\r\n }\r\n return year;\r\n}\r\n\r\nfunction getEra(date, eras) {\r\n if ( !eras ) return 0;\r\n var start, ticks = date.getTime();\r\n for ( var i = 0, l = eras.length; i < l; i++ ) {\r\n start = eras[ i ].start;\r\n if ( start === null || ticks >= start ) {\r\n return i;\r\n }\r\n }\r\n return 0;\r\n}\r\n\r\nfunction toUpper(value) {\r\n // 'he-IL' has non-breaking space in weekday names.\r\n return value.split( \"\\u00A0\" ).join(' ').toUpperCase();\r\n}\r\n\r\nfunction toUpperArray(arr) {\r\n var results = [];\r\n for ( var i = 0, l = arr.length; i < l; i++ ) {\r\n results[i] = toUpper(arr[i]);\r\n }\r\n return results;\r\n}\r\n\r\nfunction getEraYear(date, cal, era, sortable) {\r\n var year = date.getFullYear();\r\n if ( !sortable && cal.eras ) {\r\n // convert normal gregorian year to era-shifted gregorian\r\n // year by subtracting the era offset\r\n year -= cal.eras[ era ].offset;\r\n }\r\n return year;\r\n}\r\n\r\nfunction getDayIndex(cal, value, abbr) {\r\n var ret,\r\n days = cal.days,\r\n upperDays = cal._upperDays;\r\n if ( !upperDays ) {\r\n cal._upperDays = upperDays = [\r\n toUpperArray( days.names ),\r\n toUpperArray( days.namesAbbr ),\r\n toUpperArray( days.namesShort )\r\n ];\r\n }\r\n value = toUpper( value );\r\n if ( abbr ) {\r\n ret = arrayIndexOf( upperDays[ 1 ], value );\r\n if ( ret === -1 ) {\r\n ret = arrayIndexOf( upperDays[ 2 ], value );\r\n }\r\n }\r\n else {\r\n ret = arrayIndexOf( upperDays[ 0 ], value );\r\n }\r\n return ret;\r\n}\r\n\r\nfunction getMonthIndex(cal, value, abbr) {\r\n var months = cal.months,\r\n monthsGen = cal.monthsGenitive || cal.months,\r\n upperMonths = cal._upperMonths,\r\n upperMonthsGen = cal._upperMonthsGen;\r\n if ( !upperMonths ) {\r\n cal._upperMonths = upperMonths = [\r\n toUpperArray( months.names ),\r\n toUpperArray( months.namesAbbr )\r\n ];\r\n cal._upperMonthsGen = upperMonthsGen = [\r\n toUpperArray( monthsGen.names ),\r\n toUpperArray( monthsGen.namesAbbr )\r\n ];\r\n }\r\n value = toUpper( value );\r\n var i = arrayIndexOf( abbr ? upperMonths[ 1 ] : upperMonths[ 0 ], value );\r\n if ( i < 0 ) {\r\n i = arrayIndexOf( abbr ? upperMonthsGen[ 1 ] : upperMonthsGen[ 0 ], value );\r\n }\r\n return i;\r\n}\r\n\r\nfunction appendPreOrPostMatch(preMatch, strings) {\r\n // appends pre- and post- token match strings while removing escaped characters.\r\n // Returns a single quote count which is used to determine if the token occurs\r\n // in a string literal.\r\n var quoteCount = 0,\r\n escaped = false;\r\n for ( var i = 0, il = preMatch.length; i < il; i++ ) {\r\n var c = preMatch.charAt( i );\r\n switch ( c ) {\r\n case '\\'':\r\n if ( escaped ) {\r\n strings.push( \"'\" );\r\n }\r\n else {\r\n quoteCount++;\r\n }\r\n escaped = false;\r\n break;\r\n case '\\\\':\r\n if ( escaped ) {\r\n strings.push( \"\\\\\" );\r\n }\r\n escaped = !escaped;\r\n break;\r\n default:\r\n strings.push( c );\r\n escaped = false;\r\n break;\r\n }\r\n }\r\n return quoteCount;\r\n}\r\n\r\nfunction expandFormat(cal, format) {\r\n // expands unspecified or single character date formats into the full pattern.\r\n format = format || \"F\";\r\n var pattern,\r\n patterns = cal.patterns,\r\n len = format.length;\r\n if ( len === 1 ) {\r\n pattern = patterns[ format ];\r\n if ( !pattern ) {\r\n throw \"Invalid date format string '\" + format + \"'.\";\r\n }\r\n format = pattern;\r\n }\r\n else if ( len === 2 && format.charAt(0) === \"%\" ) {\r\n // %X escape format -- intended as a custom format string that is only one character, not a built-in format.\r\n format = format.charAt( 1 );\r\n }\r\n return format;\r\n}\r\n\r\nfunction getParseRegExp(cal, format) {\r\n // converts a format string into a regular expression with groups that\r\n // can be used to extract date fields from a date string.\r\n // check for a cached parse regex.\r\n var re = cal._parseRegExp;\r\n if ( !re ) {\r\n cal._parseRegExp = re = {};\r\n }\r\n else {\r\n var reFormat = re[ format ];\r\n if ( reFormat ) {\r\n return reFormat;\r\n }\r\n }\r\n\r\n // expand single digit formats, then escape regular expression characters.\r\n var expFormat = expandFormat( cal, format ).replace( /([\\^\\$\\.\\*\\+\\?\\|\\[\\]\\(\\)\\{\\}])/g, \"\\\\\\\\$1\" ),\r\n regexp = [\"^\"],\r\n groups = [],\r\n index = 0,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n match;\r\n\r\n // iterate through each date token found.\r\n while ( (match = tokenRegExp.exec( expFormat )) !== null ) {\r\n var preMatch = expFormat.slice( index, match.index );\r\n index = tokenRegExp.lastIndex;\r\n\r\n // don't replace any matches that occur inside a string literal.\r\n quoteCount += appendPreOrPostMatch( preMatch, regexp );\r\n if ( quoteCount % 2 ) {\r\n regexp.push( match[ 0 ] );\r\n continue;\r\n }\r\n\r\n // add a regex group for the token.\r\n var m = match[ 0 ],\r\n len = m.length,\r\n add;\r\n switch ( m ) {\r\n case 'dddd': case 'ddd':\r\n case 'MMMM': case 'MMM':\r\n case 'gg': case 'g':\r\n add = \"(\\\\D+)\";\r\n break;\r\n case 'tt': case 't':\r\n add = \"(\\\\D*)\";\r\n break;\r\n case 'yyyy':\r\n case 'fff':\r\n case 'ff':\r\n case 'f':\r\n add = \"(\\\\d{\" + len + \"})\";\r\n break;\r\n case 'dd': case 'd':\r\n case 'MM': case 'M':\r\n case 'yy': case 'y':\r\n case 'HH': case 'H':\r\n case 'hh': case 'h':\r\n case 'mm': case 'm':\r\n case 'ss': case 's':\r\n add = \"(\\\\d\\\\d?)\";\r\n break;\r\n case 'zzz':\r\n add = \"([+-]?\\\\d\\\\d?:\\\\d{2})\";\r\n break;\r\n case 'zz': case 'z':\r\n add = \"([+-]?\\\\d\\\\d?)\";\r\n break;\r\n case '/':\r\n add = \"(\\\\\" + cal[\"/\"] + \")\";\r\n break;\r\n default:\r\n throw \"Invalid date format pattern '\" + m + \"'.\";\r\n break;\r\n }\r\n if ( add ) {\r\n regexp.push( add );\r\n }\r\n groups.push( match[ 0 ] );\r\n }\r\n appendPreOrPostMatch( expFormat.slice( index ), regexp );\r\n regexp.push( \"$\" );\r\n\r\n // allow whitespace to differ when matching formats.\r\n var regexpStr = regexp.join( '' ).replace( /\\s+/g, \"\\\\s+\" ),\r\n parseRegExp = {'regExp': regexpStr, 'groups': groups};\r\n\r\n // cache the regex for this format.\r\n return re[ format ] = parseRegExp;\r\n}\r\n\r\nfunction getTokenRegExp() {\r\n // regular expression for matching date and time tokens in format strings.\r\n return /\\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g;\r\n}\r\n\r\nfunction parseExact(value, format, culture) {\r\n // try to parse the date string by matching against the format string\r\n // while using the specified culture for date field names.\r\n value = trim( value );\r\n var cal = culture.calendar,\r\n // convert date formats into regular expressions with groupings.\r\n // use the regexp to determine the input format and extract the date fields.\r\n parseInfo = getParseRegExp(cal, format),\r\n match = new RegExp(parseInfo.regExp).exec(value);\r\n if (match === null) {\r\n return null;\r\n }\r\n // found a date format that matches the input.\r\n var groups = parseInfo.groups,\r\n era = null, year = null, month = null, date = null, weekDay = null,\r\n hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null,\r\n pmHour = false;\r\n // iterate the format groups to extract and set the date fields.\r\n for ( var j = 0, jl = groups.length; j < jl; j++ ) {\r\n var matchGroup = match[ j + 1 ];\r\n if ( matchGroup ) {\r\n var current = groups[ j ],\r\n clength = current.length,\r\n matchInt = parseInt( matchGroup, 10 );\r\n switch ( current ) {\r\n case 'dd': case 'd':\r\n // Day of month.\r\n date = matchInt;\r\n // check that date is generally in valid range, also checking overflow below.\r\n if ( outOfRange( date, 1, 31 ) ) return null;\r\n break;\r\n case 'MMM':\r\n case 'MMMM':\r\n month = getMonthIndex( cal, matchGroup, clength === 3 );\r\n if ( outOfRange( month, 0, 11 ) ) return null;\r\n break;\r\n case 'M': case 'MM':\r\n // Month.\r\n month = matchInt - 1;\r\n if ( outOfRange( month, 0, 11 ) ) return null;\r\n break;\r\n case 'y': case 'yy':\r\n case 'yyyy':\r\n year = clength < 4 ? expandYear( cal, matchInt ) : matchInt;\r\n if ( outOfRange( year, 0, 9999 ) ) return null;\r\n break;\r\n case 'h': case 'hh':\r\n // Hours (12-hour clock).\r\n hour = matchInt;\r\n if ( hour === 12 ) hour = 0;\r\n if ( outOfRange( hour, 0, 11 ) ) return null;\r\n break;\r\n case 'H': case 'HH':\r\n // Hours (24-hour clock).\r\n hour = matchInt;\r\n if ( outOfRange( hour, 0, 23 ) ) return null;\r\n break;\r\n case 'm': case 'mm':\r\n // Minutes.\r\n min = matchInt;\r\n if ( outOfRange( min, 0, 59 ) ) return null;\r\n break;\r\n case 's': case 'ss':\r\n // Seconds.\r\n sec = matchInt;\r\n if ( outOfRange( sec, 0, 59 ) ) return null;\r\n break;\r\n case 'tt': case 't':\r\n // AM/PM designator.\r\n // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of\r\n // the AM tokens. If not, fail the parse for this format.\r\n pmHour = cal.PM && ( matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2] );\r\n if ( !pmHour && ( !cal.AM || (matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2]) ) ) return null;\r\n break;\r\n case 'f':\r\n // Deciseconds.\r\n case 'ff':\r\n // Centiseconds.\r\n case 'fff':\r\n // Milliseconds.\r\n msec = matchInt * Math.pow( 10, 3-clength );\r\n if ( outOfRange( msec, 0, 999 ) ) return null;\r\n break;\r\n case 'ddd':\r\n // Day of week.\r\n case 'dddd':\r\n // Day of week.\r\n weekDay = getDayIndex( cal, matchGroup, clength === 3 );\r\n if ( outOfRange( weekDay, 0, 6 ) ) return null;\r\n break;\r\n case 'zzz':\r\n // Time zone offset in +/- hours:min.\r\n var offsets = matchGroup.split( /:/ );\r\n if ( offsets.length !== 2 ) return null;\r\n hourOffset = parseInt( offsets[ 0 ], 10 );\r\n if ( outOfRange( hourOffset, -12, 13 ) ) return null;\r\n var minOffset = parseInt( offsets[ 1 ], 10 );\r\n if ( outOfRange( minOffset, 0, 59 ) ) return null;\r\n tzMinOffset = (hourOffset * 60) + (startsWith( matchGroup, '-' ) ? -minOffset : minOffset);\r\n break;\r\n case 'z': case 'zz':\r\n // Time zone offset in +/- hours.\r\n hourOffset = matchInt;\r\n if ( outOfRange( hourOffset, -12, 13 ) ) return null;\r\n tzMinOffset = hourOffset * 60;\r\n break;\r\n case 'g': case 'gg':\r\n var eraName = matchGroup;\r\n if ( !eraName || !cal.eras ) return null;\r\n eraName = trim( eraName.toLowerCase() );\r\n for ( var i = 0, l = cal.eras.length; i < l; i++ ) {\r\n if ( eraName === cal.eras[ i ].name.toLowerCase() ) {\r\n era = i;\r\n break;\r\n }\r\n }\r\n // could not find an era with that name\r\n if ( era === null ) return null;\r\n break;\r\n }\r\n }\r\n }\r\n var result = new Date(), defaultYear, convert = cal.convert;\r\n defaultYear = convert ? convert.fromGregorian( result )[ 0 ] : result.getFullYear();\r\n if ( year === null ) {\r\n year = defaultYear;\r\n }\r\n else if ( cal.eras ) {\r\n // year must be shifted to normal gregorian year\r\n // but not if year was not specified, its already normal gregorian\r\n // per the main if clause above.\r\n year += cal.eras[ (era || 0) ].offset;\r\n }\r\n // set default day and month to 1 and January, so if unspecified, these are the defaults\r\n // instead of the current day/month.\r\n if ( month === null ) {\r\n month = 0;\r\n }\r\n if ( date === null ) {\r\n date = 1;\r\n }\r\n // now have year, month, and date, but in the culture's calendar.\r\n // convert to gregorian if necessary\r\n if ( convert ) {\r\n result = convert.toGregorian( year, month, date );\r\n // conversion failed, must be an invalid match\r\n if ( result === null ) return null;\r\n }\r\n else {\r\n // have to set year, month and date together to avoid overflow based on current date.\r\n result.setFullYear( year, month, date );\r\n // check to see if date overflowed for specified month (only checked 1-31 above).\r\n if ( result.getDate() !== date ) return null;\r\n // invalid day of week.\r\n if ( weekDay !== null && result.getDay() !== weekDay ) {\r\n return null;\r\n }\r\n }\r\n // if pm designator token was found make sure the hours fit the 24-hour clock.\r\n if ( pmHour && hour < 12 ) {\r\n hour += 12;\r\n }\r\n result.setHours( hour, min, sec, msec );\r\n if ( tzMinOffset !== null ) {\r\n // adjust timezone to utc before applying local offset.\r\n var adjustedMin = result.getMinutes() - ( tzMinOffset + result.getTimezoneOffset() );\r\n // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours\r\n // to ensure both these fields will not exceed this range. adjustedMin will range\r\n // somewhere between -1440 and 1500, so we only need to split this into hours.\r\n result.setHours( result.getHours() + parseInt( adjustedMin / 60, 10 ), adjustedMin % 60 );\r\n }\r\n return result;\r\n}\r\n\r\nfunction formatDate(value, format, culture) {\r\n var cal = culture.calendar,\r\n convert = cal.convert;\r\n if ( !format || !format.length || format === 'i' ) {\r\n var ret;\r\n if ( culture && culture.name.length ) {\r\n if ( convert ) {\r\n // non-gregorian calendar, so we cannot use built-in toLocaleString()\r\n ret = formatDate( value, cal.patterns.F, culture );\r\n }\r\n else {\r\n var eraDate = new Date( value.getTime() ),\r\n era = getEra( value, cal.eras );\r\n eraDate.setFullYear( getEraYear( value, cal, era ) );\r\n ret = eraDate.toLocaleString();\r\n }\r\n }\r\n else {\r\n ret = value.toString();\r\n }\r\n return ret;\r\n }\r\n\r\n var eras = cal.eras,\r\n sortable = format === \"s\";\r\n format = expandFormat( cal, format );\r\n\r\n // Start with an empty string\r\n ret = [];\r\n var hour,\r\n zeros = ['0','00','000'],\r\n foundDay,\r\n checkedDay,\r\n dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n converted;\r\n\r\n function padZeros(num, c) {\r\n var r, s = num+'';\r\n if ( c > 1 && s.length < c ) {\r\n r = ( zeros[ c - 2 ] + s);\r\n return r.substr( r.length - c, c );\r\n }\r\n else {\r\n r = s;\r\n }\r\n return r;\r\n }\r\n\r\n function hasDay() {\r\n if ( foundDay || checkedDay ) {\r\n return foundDay;\r\n }\r\n foundDay = dayPartRegExp.test( format );\r\n checkedDay = true;\r\n return foundDay;\r\n }\r\n\r\n function getPart( date, part ) {\r\n if ( converted ) {\r\n return converted[ part ];\r\n }\r\n switch ( part ) {\r\n case 0: return date.getFullYear();\r\n case 1: return date.getMonth();\r\n case 2: return date.getDate();\r\n }\r\n }\r\n\r\n if ( !sortable && convert ) {\r\n converted = convert.fromGregorian( value );\r\n }\r\n\r\n for (;;) {\r\n // Save the current index\r\n var index = tokenRegExp.lastIndex,\r\n // Look for the next pattern\r\n ar = tokenRegExp.exec( format );\r\n\r\n // Append the text before the pattern (or the end of the string if not found)\r\n var preMatch = format.slice( index, ar ? ar.index : format.length );\r\n quoteCount += appendPreOrPostMatch( preMatch, ret );\r\n\r\n if ( !ar ) {\r\n break;\r\n }\r\n\r\n // do not replace any matches that occur inside a string literal.\r\n if ( quoteCount % 2 ) {\r\n ret.push( ar[ 0 ] );\r\n continue;\r\n }\r\n\r\n var current = ar[ 0 ],\r\n clength = current.length;\r\n\r\n switch ( current ) {\r\n case \"ddd\":\r\n //Day of the week, as a three-letter abbreviation\r\n case \"dddd\":\r\n // Day of the week, using the full name\r\n var names = (clength === 3) ? cal.days.namesAbbr : cal.days.names;\r\n ret.push( names[ value.getDay() ] );\r\n break;\r\n case \"d\":\r\n // Day of month, without leading zero for single-digit days\r\n case \"dd\":\r\n // Day of month, with leading zero for single-digit days\r\n foundDay = true;\r\n ret.push( padZeros( getPart( value, 2 ), clength ) );\r\n break;\r\n case \"MMM\":\r\n // Month, as a three-letter abbreviation\r\n case \"MMMM\":\r\n // Month, using the full name\r\n var part = getPart( value, 1 );\r\n ret.push( (cal.monthsGenitive && hasDay())\r\n ? cal.monthsGenitive[ clength === 3 ? \"namesAbbr\" : \"names\" ][ part ]\r\n : cal.months[ clength === 3 ? \"namesAbbr\" : \"names\" ][ part ] );\r\n break;\r\n case \"M\":\r\n // Month, as digits, with no leading zero for single-digit months\r\n case \"MM\":\r\n // Month, as digits, with leading zero for single-digit months\r\n ret.push( padZeros( getPart( value, 1 ) + 1, clength ) );\r\n break;\r\n case \"y\":\r\n // Year, as two digits, but with no leading zero for years less than 10\r\n case \"yy\":\r\n // Year, as two digits, with leading zero for years less than 10\r\n case \"yyyy\":\r\n // Year represented by four full digits\r\n part = converted ? converted[ 0 ] : getEraYear( value, cal, getEra( value, eras ), sortable );\r\n if ( clength < 4 ) {\r\n part = part % 100;\r\n }\r\n ret.push( padZeros( part, clength ) );\r\n break;\r\n case \"h\":\r\n // Hours with no leading zero for single-digit hours, using 12-hour clock\r\n case \"hh\":\r\n // Hours with leading zero for single-digit hours, using 12-hour clock\r\n hour = value.getHours() % 12;\r\n if ( hour === 0 ) hour = 12;\r\n ret.push( padZeros( hour, clength ) );\r\n break;\r\n case \"H\":\r\n // Hours with no leading zero for single-digit hours, using 24-hour clock\r\n case \"HH\":\r\n // Hours with leading zero for single-digit hours, using 24-hour clock\r\n ret.push( padZeros( value.getHours(), clength ) );\r\n break;\r\n case \"m\":\r\n // Minutes with no leading zero for single-digit minutes\r\n case \"mm\":\r\n // Minutes with leading zero for single-digit minutes\r\n ret.push( padZeros( value.getMinutes(), clength ) );\r\n break;\r\n case \"s\":\r\n // Seconds with no leading zero for single-digit seconds\r\n case \"ss\":\r\n // Seconds with leading zero for single-digit seconds\r\n ret.push( padZeros(value .getSeconds(), clength ) );\r\n break;\r\n case \"t\":\r\n // One character am/pm indicator (\"a\" or \"p\")\r\n case \"tt\":\r\n // Multicharacter am/pm indicator\r\n part = value.getHours() < 12 ? (cal.AM ? cal.AM[0] : \" \") : (cal.PM ? cal.PM[0] : \" \");\r\n ret.push( clength === 1 ? part.charAt( 0 ) : part );\r\n break;\r\n case \"f\":\r\n // Deciseconds\r\n case \"ff\":\r\n // Centiseconds\r\n case \"fff\":\r\n // Milliseconds\r\n ret.push( padZeros( value.getMilliseconds(), 3 ).substr( 0, clength ) );\r\n break;\r\n case \"z\":\r\n // Time zone offset, no leading zero\r\n case \"zz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push( (hour <= 0 ? '+' : '-') + padZeros( Math.floor( Math.abs( hour ) ), clength ) );\r\n break;\r\n case \"zzz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push( (hour <= 0 ? '+' : '-') + padZeros( Math.floor( Math.abs( hour ) ), 2 ) +\r\n // Hard coded \":\" separator, rather than using cal.TimeSeparator\r\n // Repeated here for consistency, plus \":\" was already assumed in date parsing.\r\n \":\" + padZeros( Math.abs( value.getTimezoneOffset() % 60 ), 2 ) );\r\n break;\r\n case \"g\":\r\n case \"gg\":\r\n if ( cal.eras ) {\r\n ret.push( cal.eras[ getEra(value, eras) ].name );\r\n }\r\n break;\r\n case \"/\":\r\n ret.push( cal[\"/\"] );\r\n break;\r\n default:\r\n throw \"Invalid date format pattern '\" + current + \"'.\";\r\n break;\r\n }\r\n }\r\n return ret.join( '' );\r\n}\r\n\r\n// EXPORTS\r\njQuery.global = Globalization;\r\n\r\n})();\r\n\r\n\r\n/*\r\n * Globalize Culture bg\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"bg\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"bg\",\r\n englishName: \"Bulgarian\",\r\n nativeName: \"български\",\r\n language: \"bg\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n negativeInfinity: \"- безкрайност\",\r\n positiveInfinity: \"+ безкрайност\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"лв.\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"неделя\",\r\n \"понеделник\",\r\n \"вторник\",\r\n \"сряда\",\r\n \"четвъртък\",\r\n \"петък\",\r\n \"събота\"\r\n ],\r\n namesAbbr: [\"нед\", \"пон\", \"вт\", \"ср\", \"четв\", \"пет\", \"съб\"],\r\n namesShort: [\"н\", \"п\", \"в\", \"с\", \"ч\", \"п\", \"с\"]\r\n },\r\n months: {\r\n names: [\r\n \"януари\",\r\n \"февруари\",\r\n \"март\",\r\n \"април\",\r\n \"май\",\r\n \"юни\",\r\n \"юли\",\r\n \"август\",\r\n \"септември\",\r\n \"октомври\",\r\n \"ноември\",\r\n \"декември\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"ян\",\r\n \"февр\",\r\n \"март\",\r\n \"апр\",\r\n \"май\",\r\n \"юни\",\r\n \"юли\",\r\n \"авг\",\r\n \"септ\",\r\n \"окт\",\r\n \"ноември\",\r\n \"дек\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"след новата ера\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"d.M.yyyy 'г.'\",\r\n D: \"dd MMMM yyyy 'г.'\",\r\n t: \"HH:mm 'ч.'\",\r\n T: \"HH:mm:ss 'ч.'\",\r\n f: \"dd MMMM yyyy 'г.' HH:mm 'ч.'\",\r\n F: \"dd MMMM yyyy 'г.' HH:mm:ss 'ч.'\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy 'г.'\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"bg\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture cs\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"cs\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"cs\",\r\n englishName: \"Czech\",\r\n nativeName: \"čeština\",\r\n language: \"cs\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n NaN: \"Není číslo\",\r\n negativeInfinity: \"-nekonečno\",\r\n positiveInfinity: \"+nekonečno\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"Kč\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"neděle\",\r\n \"pondělí\",\r\n \"úterý\",\r\n \"středa\",\r\n \"čtvrtek\",\r\n \"pátek\",\r\n \"sobota\"\r\n ],\r\n namesAbbr: [\"ne\", \"po\", \"út\", \"st\", \"čt\", \"pá\", \"so\"],\r\n namesShort: [\"ne\", \"po\", \"út\", \"st\", \"čt\", \"pá\", \"so\"]\r\n },\r\n months: {\r\n names: [\r\n \"leden\",\r\n \"únor\",\r\n \"březen\",\r\n \"duben\",\r\n \"květen\",\r\n \"červen\",\r\n \"červenec\",\r\n \"srpen\",\r\n \"září\",\r\n \"říjen\",\r\n \"listopad\",\r\n \"prosinec\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"\"\r\n ]\r\n },\r\n monthsGenitive: {\r\n names: [\r\n \"ledna\",\r\n \"února\",\r\n \"března\",\r\n \"dubna\",\r\n \"května\",\r\n \"června\",\r\n \"července\",\r\n \"srpna\",\r\n \"září\",\r\n \"října\",\r\n \"listopadu\",\r\n \"prosince\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"\"\r\n ]\r\n },\r\n AM: [\"dop.\", \"dop.\", \"DOP.\"],\r\n PM: [\"odp.\", \"odp.\", \"ODP.\"],\r\n eras: [{ name: \"n. l.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"d.M.yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM yyyy H:mm\",\r\n F: \"d. MMMM yyyy H:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"cs\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture da\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"da\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"da\",\r\n englishName: \"Danish\",\r\n nativeName: \"dansk\",\r\n language: \"da\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n negativeInfinity: \"-INF\",\r\n positiveInfinity: \"INF\",\r\n percent: {\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"$ -n\", \"$ n\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"kr.\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \"-\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"søndag\",\r\n \"mandag\",\r\n \"tirsdag\",\r\n \"onsdag\",\r\n \"torsdag\",\r\n \"fredag\",\r\n \"lørdag\"\r\n ],\r\n namesAbbr: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\r\n namesShort: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"]\r\n },\r\n months: {\r\n names: [\r\n \"januar\",\r\n \"februar\",\r\n \"marts\",\r\n \"april\",\r\n \"maj\",\r\n \"juni\",\r\n \"juli\",\r\n \"august\",\r\n \"september\",\r\n \"oktober\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"maj\",\r\n \"jun\",\r\n \"jul\",\r\n \"aug\",\r\n \"sep\",\r\n \"okt\",\r\n \"nov\",\r\n \"dec\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"dd-MM-yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d. MMMM yyyy HH:mm\",\r\n F: \"d. MMMM yyyy HH:mm:ss\",\r\n M: \"d. MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"da\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture de\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"de\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"de\",\r\n englishName: \"German\",\r\n nativeName: \"Deutsch\",\r\n language: \"de\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n NaN: \"n. def.\",\r\n negativeInfinity: \"-unendlich\",\r\n positiveInfinity: \"+unendlich\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"Sonntag\",\r\n \"Montag\",\r\n \"Dienstag\",\r\n \"Mittwoch\",\r\n \"Donnerstag\",\r\n \"Freitag\",\r\n \"Samstag\"\r\n ],\r\n namesAbbr: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\r\n namesShort: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"]\r\n },\r\n months: {\r\n names: [\r\n \"Januar\",\r\n \"Februar\",\r\n \"März\",\r\n \"April\",\r\n \"Mai\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"August\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"Dezember\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mrz\",\r\n \"Apr\",\r\n \"Mai\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n \"Okt\",\r\n \"Nov\",\r\n \"Dez\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"n. Chr.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"dd.MM.yyyy\",\r\n D: \"dddd, d. MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"dddd, d. MMMM yyyy HH:mm\",\r\n F: \"dddd, d. MMMM yyyy HH:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"de\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture el\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"el\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"el\",\r\n englishName: \"Greek\",\r\n nativeName: \"Ελληνικά\",\r\n language: \"el\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n NaN: \"μη αριθμός\",\r\n negativeInfinity: \"-Άπειρο\",\r\n positiveInfinity: \"Άπειρο\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"Κυριακή\",\r\n \"Δευτέρα\",\r\n \"Τρίτη\",\r\n \"Τετάρτη\",\r\n \"Πέμπτη\",\r\n \"Παρασκευή\",\r\n \"Σάββατο\"\r\n ],\r\n namesAbbr: [\"Κυρ\", \"Δευ\", \"Τρι\", \"Τετ\", \"Πεμ\", \"Παρ\", \"Σαβ\"],\r\n namesShort: [\"Κυ\", \"Δε\", \"Τρ\", \"Τε\", \"Πε\", \"Πα\", \"Σά\"]\r\n },\r\n months: {\r\n names: [\r\n \"Ιανουάριος\",\r\n \"Φεβρουάριος\",\r\n \"Μάρτιος\",\r\n \"Απρίλιος\",\r\n \"Μάιος\",\r\n \"Ιούνιος\",\r\n \"Ιούλιος\",\r\n \"Αύγουστος\",\r\n \"Σεπτέμβριος\",\r\n \"Οκτώβριος\",\r\n \"Νοέμβριος\",\r\n \"Δεκέμβριος\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"Ιαν\",\r\n \"Φεβ\",\r\n \"Μαρ\",\r\n \"Απρ\",\r\n \"Μαϊ\",\r\n \"Ιουν\",\r\n \"Ιουλ\",\r\n \"Αυγ\",\r\n \"Σεπ\",\r\n \"Οκτ\",\r\n \"Νοε\",\r\n \"Δεκ\",\r\n \"\"\r\n ]\r\n },\r\n monthsGenitive: {\r\n names: [\r\n \"Ιανουαρίου\",\r\n \"Φεβρουαρίου\",\r\n \"Μαρτίου\",\r\n \"Απριλίου\",\r\n \"Μαΐου\",\r\n \"Ιουνίου\",\r\n \"Ιουλίου\",\r\n \"Αυγούστου\",\r\n \"Σεπτεμβρίου\",\r\n \"Οκτωβρίου\",\r\n \"Νοεμβρίου\",\r\n \"Δεκεμβρίου\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"Ιαν\",\r\n \"Φεβ\",\r\n \"Μαρ\",\r\n \"Απρ\",\r\n \"Μαϊ\",\r\n \"Ιουν\",\r\n \"Ιουλ\",\r\n \"Αυγ\",\r\n \"Σεπ\",\r\n \"Οκτ\",\r\n \"Νοε\",\r\n \"Δεκ\",\r\n \"\"\r\n ]\r\n },\r\n AM: [\"πμ\", \"πμ\", \"ΠΜ\"],\r\n PM: [\"μμ\", \"μμ\", \"ΜΜ\"],\r\n eras: [{ name: \"μ.Χ.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"d/M/yyyy\",\r\n D: \"dddd, d MMMM yyyy\",\r\n f: \"dddd, d MMMM yyyy h:mm tt\",\r\n F: \"dddd, d MMMM yyyy h:mm:ss tt\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"el\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture es\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"es\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"es\",\r\n englishName: \"Spanish\",\r\n nativeName: \"español\",\r\n language: \"es\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n NaN: \"NeuN\",\r\n negativeInfinity: \"-Infinito\",\r\n positiveInfinity: \"Infinito\",\r\n percent: {\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"domingo\",\r\n \"lunes\",\r\n \"martes\",\r\n \"miércoles\",\r\n \"jueves\",\r\n \"viernes\",\r\n \"sábado\"\r\n ],\r\n namesAbbr: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\r\n namesShort: [\"do\", \"lu\", \"ma\", \"mi\", \"ju\", \"vi\", \"sá\"]\r\n },\r\n months: {\r\n names: [\r\n \"enero\",\r\n \"febrero\",\r\n \"marzo\",\r\n \"abril\",\r\n \"mayo\",\r\n \"junio\",\r\n \"julio\",\r\n \"agosto\",\r\n \"septiembre\",\r\n \"octubre\",\r\n \"noviembre\",\r\n \"diciembre\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"ene\",\r\n \"feb\",\r\n \"mar\",\r\n \"abr\",\r\n \"may\",\r\n \"jun\",\r\n \"jul\",\r\n \"ago\",\r\n \"sep\",\r\n \"oct\",\r\n \"nov\",\r\n \"dic\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"d.C.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"dd/MM/yyyy\",\r\n D: \"dddd, dd' de 'MMMM' de 'yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"dddd, dd' de 'MMMM' de 'yyyy H:mm\",\r\n F: \"dddd, dd' de 'MMMM' de 'yyyy H:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM' de 'yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"es\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture fi\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"fi\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"fi\",\r\n englishName: \"Finnish\",\r\n nativeName: \"suomi\",\r\n language: \"fi\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n negativeInfinity: \"-INF\",\r\n positiveInfinity: \"INF\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"sunnuntai\",\r\n \"maanantai\",\r\n \"tiistai\",\r\n \"keskiviikko\",\r\n \"torstai\",\r\n \"perjantai\",\r\n \"lauantai\"\r\n ],\r\n namesAbbr: [\"su\", \"ma\", \"ti\", \"ke\", \"to\", \"pe\", \"la\"],\r\n namesShort: [\"su\", \"ma\", \"ti\", \"ke\", \"to\", \"pe\", \"la\"]\r\n },\r\n months: {\r\n names: [\r\n \"tammikuu\",\r\n \"helmikuu\",\r\n \"maaliskuu\",\r\n \"huhtikuu\",\r\n \"toukokuu\",\r\n \"kesäkuu\",\r\n \"heinäkuu\",\r\n \"elokuu\",\r\n \"syyskuu\",\r\n \"lokakuu\",\r\n \"marraskuu\",\r\n \"joulukuu\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"tammi\",\r\n \"helmi\",\r\n \"maalis\",\r\n \"huhti\",\r\n \"touko\",\r\n \"kesä\",\r\n \"heinä\",\r\n \"elo\",\r\n \"syys\",\r\n \"loka\",\r\n \"marras\",\r\n \"joulu\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"d.M.yyyy\",\r\n D: \"d. MMMM'ta 'yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM'ta 'yyyy H:mm\",\r\n F: \"d. MMMM'ta 'yyyy H:mm:ss\",\r\n M: \"d. MMMM'ta'\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"fi\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture fr\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"fr\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"fr\",\r\n englishName: \"French\",\r\n nativeName: \"français\",\r\n language: \"fr\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n NaN: \"Non Numérique\",\r\n negativeInfinity: \"-Infini\",\r\n positiveInfinity: \"+Infini\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"dimanche\",\r\n \"lundi\",\r\n \"mardi\",\r\n \"mercredi\",\r\n \"jeudi\",\r\n \"vendredi\",\r\n \"samedi\"\r\n ],\r\n namesAbbr: [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"],\r\n namesShort: [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"]\r\n },\r\n months: {\r\n names: [\r\n \"janvier\",\r\n \"février\",\r\n \"mars\",\r\n \"avril\",\r\n \"mai\",\r\n \"juin\",\r\n \"juillet\",\r\n \"août\",\r\n \"septembre\",\r\n \"octobre\",\r\n \"novembre\",\r\n \"décembre\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"janv.\",\r\n \"févr.\",\r\n \"mars\",\r\n \"avr.\",\r\n \"mai\",\r\n \"juin\",\r\n \"juil.\",\r\n \"août\",\r\n \"sept.\",\r\n \"oct.\",\r\n \"nov.\",\r\n \"déc.\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"ap. J.-C.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"dd/MM/yyyy\",\r\n D: \"dddd d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"dddd d MMMM yyyy HH:mm\",\r\n F: \"dddd d MMMM yyyy HH:mm:ss\",\r\n M: \"d MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"fr\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture hr\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"hr\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"hr\",\r\n englishName: \"Croatian\",\r\n nativeName: \"hrvatski\",\r\n language: \"hr\",\r\n numberFormat: {\r\n pattern: [\"- n\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"kn\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"nedjelja\",\r\n \"ponedjeljak\",\r\n \"utorak\",\r\n \"srijeda\",\r\n \"četvrtak\",\r\n \"petak\",\r\n \"subota\"\r\n ],\r\n namesAbbr: [\"ned\", \"pon\", \"uto\", \"sri\", \"čet\", \"pet\", \"sub\"],\r\n namesShort: [\"ne\", \"po\", \"ut\", \"sr\", \"če\", \"pe\", \"su\"]\r\n },\r\n months: {\r\n names: [\r\n \"siječanj\",\r\n \"veljača\",\r\n \"ožujak\",\r\n \"travanj\",\r\n \"svibanj\",\r\n \"lipanj\",\r\n \"srpanj\",\r\n \"kolovoz\",\r\n \"rujan\",\r\n \"listopad\",\r\n \"studeni\",\r\n \"prosinac\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"sij\",\r\n \"vlj\",\r\n \"ožu\",\r\n \"tra\",\r\n \"svi\",\r\n \"lip\",\r\n \"srp\",\r\n \"kol\",\r\n \"ruj\",\r\n \"lis\",\r\n \"stu\",\r\n \"pro\",\r\n \"\"\r\n ]\r\n },\r\n monthsGenitive: {\r\n names: [\r\n \"siječnja\",\r\n \"veljače\",\r\n \"ožujka\",\r\n \"travnja\",\r\n \"svibnja\",\r\n \"lipnja\",\r\n \"srpnja\",\r\n \"kolovoza\",\r\n \"rujna\",\r\n \"listopada\",\r\n \"studenog\",\r\n \"prosinca\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"sij\",\r\n \"vlj\",\r\n \"ožu\",\r\n \"tra\",\r\n \"svi\",\r\n \"lip\",\r\n \"srp\",\r\n \"kol\",\r\n \"ruj\",\r\n \"lis\",\r\n \"stu\",\r\n \"pro\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"d.M.yyyy.\",\r\n D: \"d. MMMM yyyy.\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM yyyy. H:mm\",\r\n F: \"d. MMMM yyyy. H:mm:ss\",\r\n M: \"d. MMMM\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"hr\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture hu\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"hu\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"hu\",\r\n englishName: \"Hungarian\",\r\n nativeName: \"magyar\",\r\n language: \"hu\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n NaN: \"nem szám\",\r\n negativeInfinity: \"negatív végtelen\",\r\n positiveInfinity: \"végtelen\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"Ft\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"vasárnap\",\r\n \"hétfő\",\r\n \"kedd\",\r\n \"szerda\",\r\n \"csütörtök\",\r\n \"péntek\",\r\n \"szombat\"\r\n ],\r\n namesAbbr: [\"V\", \"H\", \"K\", \"Sze\", \"Cs\", \"P\", \"Szo\"],\r\n namesShort: [\"V\", \"H\", \"K\", \"Sze\", \"Cs\", \"P\", \"Szo\"]\r\n },\r\n months: {\r\n names: [\r\n \"január\",\r\n \"február\",\r\n \"március\",\r\n \"április\",\r\n \"május\",\r\n \"június\",\r\n \"július\",\r\n \"augusztus\",\r\n \"szeptember\",\r\n \"október\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan.\",\r\n \"febr.\",\r\n \"márc.\",\r\n \"ápr.\",\r\n \"máj.\",\r\n \"jún.\",\r\n \"júl.\",\r\n \"aug.\",\r\n \"szept.\",\r\n \"okt.\",\r\n \"nov.\",\r\n \"dec.\",\r\n \"\"\r\n ]\r\n },\r\n AM: [\"de.\", \"de.\", \"DE.\"],\r\n PM: [\"du.\", \"du.\", \"DU.\"],\r\n eras: [{ name: \"i.sz.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"yyyy.MM.dd.\",\r\n D: \"yyyy. MMMM d.\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"yyyy. MMMM d. H:mm\",\r\n F: \"yyyy. MMMM d. H:mm:ss\",\r\n M: \"MMMM d.\",\r\n Y: \"yyyy. MMMM\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"hu\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture it\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"it\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"it\",\r\n englishName: \"Italian\",\r\n nativeName: \"italiano\",\r\n language: \"it\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n NaN: \"Non un numero reale\",\r\n negativeInfinity: \"-Infinito\",\r\n positiveInfinity: \"+Infinito\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-$ n\", \"$ n\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"domenica\",\r\n \"lunedì\",\r\n \"martedì\",\r\n \"mercoledì\",\r\n \"giovedì\",\r\n \"venerdì\",\r\n \"sabato\"\r\n ],\r\n namesAbbr: [\"dom\", \"lun\", \"mar\", \"mer\", \"gio\", \"ven\", \"sab\"],\r\n namesShort: [\"do\", \"lu\", \"ma\", \"me\", \"gi\", \"ve\", \"sa\"]\r\n },\r\n months: {\r\n names: [\r\n \"gennaio\",\r\n \"febbraio\",\r\n \"marzo\",\r\n \"aprile\",\r\n \"maggio\",\r\n \"giugno\",\r\n \"luglio\",\r\n \"agosto\",\r\n \"settembre\",\r\n \"ottobre\",\r\n \"novembre\",\r\n \"dicembre\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"gen\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"mag\",\r\n \"giu\",\r\n \"lug\",\r\n \"ago\",\r\n \"set\",\r\n \"ott\",\r\n \"nov\",\r\n \"dic\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"d.C.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"dd/MM/yyyy\",\r\n D: \"dddd d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"dddd d MMMM yyyy HH:mm\",\r\n F: \"dddd d MMMM yyyy HH:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"it\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture nl\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"nl\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"nl\",\r\n englishName: \"Dutch\",\r\n nativeName: \"Nederlands\",\r\n language: \"nl\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n percent: {\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"$ -n\", \"$ n\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \"-\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"zondag\",\r\n \"maandag\",\r\n \"dinsdag\",\r\n \"woensdag\",\r\n \"donderdag\",\r\n \"vrijdag\",\r\n \"zaterdag\"\r\n ],\r\n namesAbbr: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\r\n namesShort: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"]\r\n },\r\n months: {\r\n names: [\r\n \"januari\",\r\n \"februari\",\r\n \"maart\",\r\n \"april\",\r\n \"mei\",\r\n \"juni\",\r\n \"juli\",\r\n \"augustus\",\r\n \"september\",\r\n \"oktober\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"feb\",\r\n \"mrt\",\r\n \"apr\",\r\n \"mei\",\r\n \"jun\",\r\n \"jul\",\r\n \"aug\",\r\n \"sep\",\r\n \"okt\",\r\n \"nov\",\r\n \"dec\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"d-M-yyyy\",\r\n D: \"dddd d MMMM yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"dddd d MMMM yyyy H:mm\",\r\n F: \"dddd d MMMM yyyy H:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"nl\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture no\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"no\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"no\",\r\n englishName: \"Norwegian\",\r\n nativeName: \"norsk\",\r\n language: \"no\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n negativeInfinity: \"-INF\",\r\n positiveInfinity: \"INF\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"$ -n\", \"$ n\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"kr\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"søndag\",\r\n \"mandag\",\r\n \"tirsdag\",\r\n \"onsdag\",\r\n \"torsdag\",\r\n \"fredag\",\r\n \"lørdag\"\r\n ],\r\n namesAbbr: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\r\n namesShort: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"]\r\n },\r\n months: {\r\n names: [\r\n \"januar\",\r\n \"februar\",\r\n \"mars\",\r\n \"april\",\r\n \"mai\",\r\n \"juni\",\r\n \"juli\",\r\n \"august\",\r\n \"september\",\r\n \"oktober\",\r\n \"november\",\r\n \"desember\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"mai\",\r\n \"jun\",\r\n \"jul\",\r\n \"aug\",\r\n \"sep\",\r\n \"okt\",\r\n \"nov\",\r\n \"des\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"dd.MM.yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d. MMMM yyyy HH:mm\",\r\n F: \"d. MMMM yyyy HH:mm:ss\",\r\n M: \"d. MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"no\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture pl\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"pl\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"pl\",\r\n englishName: \"Polish\",\r\n nativeName: \"polski\",\r\n language: \"pl\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n NaN: \"nie jest liczbą\",\r\n negativeInfinity: \"-nieskończoność\",\r\n positiveInfinity: \"+nieskończoność\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"zł\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \"-\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"niedziela\",\r\n \"poniedziałek\",\r\n \"wtorek\",\r\n \"środa\",\r\n \"czwartek\",\r\n \"piątek\",\r\n \"sobota\"\r\n ],\r\n namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\r\n namesShort: [\"N\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"]\r\n },\r\n months: {\r\n names: [\r\n \"styczeń\",\r\n \"luty\",\r\n \"marzec\",\r\n \"kwiecień\",\r\n \"maj\",\r\n \"czerwiec\",\r\n \"lipiec\",\r\n \"sierpień\",\r\n \"wrzesień\",\r\n \"październik\",\r\n \"listopad\",\r\n \"grudzień\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"sty\",\r\n \"lut\",\r\n \"mar\",\r\n \"kwi\",\r\n \"maj\",\r\n \"cze\",\r\n \"lip\",\r\n \"sie\",\r\n \"wrz\",\r\n \"paź\",\r\n \"lis\",\r\n \"gru\",\r\n \"\"\r\n ]\r\n },\r\n monthsGenitive: {\r\n names: [\r\n \"stycznia\",\r\n \"lutego\",\r\n \"marca\",\r\n \"kwietnia\",\r\n \"maja\",\r\n \"czerwca\",\r\n \"lipca\",\r\n \"sierpnia\",\r\n \"września\",\r\n \"października\",\r\n \"listopada\",\r\n \"grudnia\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"sty\",\r\n \"lut\",\r\n \"mar\",\r\n \"kwi\",\r\n \"maj\",\r\n \"cze\",\r\n \"lip\",\r\n \"sie\",\r\n \"wrz\",\r\n \"paź\",\r\n \"lis\",\r\n \"gru\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"yyyy-MM-dd\",\r\n D: \"d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d MMMM yyyy HH:mm\",\r\n F: \"d MMMM yyyy HH:mm:ss\",\r\n M: \"d MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"pl\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture pt\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"pt\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"pt\",\r\n englishName: \"Portuguese\",\r\n nativeName: \"Português\",\r\n language: \"pt\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n NaN: \"NaN (Não é um número)\",\r\n negativeInfinity: \"-Infinito\",\r\n positiveInfinity: \"+Infinito\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-$ n\", \"$ n\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"R$\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n days: {\r\n names: [\r\n \"domingo\",\r\n \"segunda-feira\",\r\n \"terça-feira\",\r\n \"quarta-feira\",\r\n \"quinta-feira\",\r\n \"sexta-feira\",\r\n \"sábado\"\r\n ],\r\n namesAbbr: [\"dom\", \"seg\", \"ter\", \"qua\", \"qui\", \"sex\", \"sáb\"],\r\n namesShort: [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"]\r\n },\r\n months: {\r\n names: [\r\n \"janeiro\",\r\n \"fevereiro\",\r\n \"março\",\r\n \"abril\",\r\n \"maio\",\r\n \"junho\",\r\n \"julho\",\r\n \"agosto\",\r\n \"setembro\",\r\n \"outubro\",\r\n \"novembro\",\r\n \"dezembro\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"fev\",\r\n \"mar\",\r\n \"abr\",\r\n \"mai\",\r\n \"jun\",\r\n \"jul\",\r\n \"ago\",\r\n \"set\",\r\n \"out\",\r\n \"nov\",\r\n \"dez\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"d.C.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"dd/MM/yyyy\",\r\n D: \"dddd, d' de 'MMMM' de 'yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"dddd, d' de 'MMMM' de 'yyyy HH:mm\",\r\n F: \"dddd, d' de 'MMMM' de 'yyyy HH:mm:ss\",\r\n M: \"dd' de 'MMMM\",\r\n Y: \"MMMM' de 'yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"pt\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture ro\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"ro\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"ro\",\r\n englishName: \"Romanian\",\r\n nativeName: \"română\",\r\n language: \"ro\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"lei\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"duminică\",\r\n \"luni\",\r\n \"marţi\",\r\n \"miercuri\",\r\n \"joi\",\r\n \"vineri\",\r\n \"sâmbătă\"\r\n ],\r\n namesAbbr: [\"D\", \"L\", \"Ma\", \"Mi\", \"J\", \"V\", \"S\"],\r\n namesShort: [\"D\", \"L\", \"Ma\", \"Mi\", \"J\", \"V\", \"S\"]\r\n },\r\n months: {\r\n names: [\r\n \"ianuarie\",\r\n \"februarie\",\r\n \"martie\",\r\n \"aprilie\",\r\n \"mai\",\r\n \"iunie\",\r\n \"iulie\",\r\n \"august\",\r\n \"septembrie\",\r\n \"octombrie\",\r\n \"noiembrie\",\r\n \"decembrie\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"ian.\",\r\n \"feb.\",\r\n \"mar.\",\r\n \"apr.\",\r\n \"mai.\",\r\n \"iun.\",\r\n \"iul.\",\r\n \"aug.\",\r\n \"sep.\",\r\n \"oct.\",\r\n \"nov.\",\r\n \"dec.\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"dd.MM.yyyy\",\r\n D: \"d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d MMMM yyyy HH:mm\",\r\n F: \"d MMMM yyyy HH:mm:ss\",\r\n M: \"d MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"ro\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture sk\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"sk\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"sk\",\r\n englishName: \"Slovak\",\r\n nativeName: \"slovenčina\",\r\n language: \"sk\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n NaN: \"Nie je číslo\",\r\n negativeInfinity: \"-nekonečno\",\r\n positiveInfinity: \"+nekonečno\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \". \",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"nedeľa\",\r\n \"pondelok\",\r\n \"utorok\",\r\n \"streda\",\r\n \"štvrtok\",\r\n \"piatok\",\r\n \"sobota\"\r\n ],\r\n namesAbbr: [\"ne\", \"po\", \"ut\", \"st\", \"št\", \"pi\", \"so\"],\r\n namesShort: [\"ne\", \"po\", \"ut\", \"st\", \"št\", \"pi\", \"so\"]\r\n },\r\n months: {\r\n names: [\r\n \"január\",\r\n \"február\",\r\n \"marec\",\r\n \"apríl\",\r\n \"máj\",\r\n \"jún\",\r\n \"júl\",\r\n \"august\",\r\n \"september\",\r\n \"október\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"\"\r\n ]\r\n },\r\n monthsGenitive: {\r\n names: [\r\n \"januára\",\r\n \"februára\",\r\n \"marca\",\r\n \"apríla\",\r\n \"mája\",\r\n \"júna\",\r\n \"júla\",\r\n \"augusta\",\r\n \"septembra\",\r\n \"októbra\",\r\n \"novembra\",\r\n \"decembra\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{ name: \"n. l.\", start: null, offset: 0 }],\r\n patterns: {\r\n d: \"d. M. yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM yyyy H:mm\",\r\n F: \"d. MMMM yyyy H:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"sk\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture sl\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"sl\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"sl\",\r\n englishName: \"Slovenian\",\r\n nativeName: \"slovenski\",\r\n language: \"sl\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n negativeInfinity: \"-neskončnost\",\r\n positiveInfinity: \"neskončnost\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"€\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"nedelja\",\r\n \"ponedeljek\",\r\n \"torek\",\r\n \"sreda\",\r\n \"četrtek\",\r\n \"petek\",\r\n \"sobota\"\r\n ],\r\n namesAbbr: [\"ned\", \"pon\", \"tor\", \"sre\", \"čet\", \"pet\", \"sob\"],\r\n namesShort: [\"ne\", \"po\", \"to\", \"sr\", \"če\", \"pe\", \"so\"]\r\n },\r\n months: {\r\n names: [\r\n \"januar\",\r\n \"februar\",\r\n \"marec\",\r\n \"april\",\r\n \"maj\",\r\n \"junij\",\r\n \"julij\",\r\n \"avgust\",\r\n \"september\",\r\n \"oktober\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"maj\",\r\n \"jun\",\r\n \"jul\",\r\n \"avg\",\r\n \"sep\",\r\n \"okt\",\r\n \"nov\",\r\n \"dec\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"d.M.yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM yyyy H:mm\",\r\n F: \"d. MMMM yyyy H:mm:ss\",\r\n M: \"d. MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"sl\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture sr\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"sr\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"sr\",\r\n englishName: \"Serbian\",\r\n nativeName: \"srpski\",\r\n language: \"sr\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n negativeInfinity: \"-beskonačnost\",\r\n positiveInfinity: \"+beskonačnost\",\r\n percent: {\r\n pattern: [\"-n%\",\"n%\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\",\"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"Din.\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\"nedelja\",\"ponedeljak\",\"utorak\",\"sreda\",\"četvrtak\",\"petak\",\"subota\"],\r\n namesAbbr: [\"ned\",\"pon\",\"uto\",\"sre\",\"čet\",\"pet\",\"sub\"],\r\n namesShort: [\"ne\",\"po\",\"ut\",\"sr\",\"če\",\"pe\",\"su\"]\r\n },\r\n months: {\r\n names: [\"januar\",\"februar\",\"mart\",\"april\",\"maj\",\"jun\",\"jul\",\"avgust\",\"septembar\",\"oktobar\",\"novembar\",\"decembar\",\"\"],\r\n namesAbbr: [\"jan\",\"feb\",\"mar\",\"apr\",\"maj\",\"jun\",\"jul\",\"avg\",\"sep\",\"okt\",\"nov\",\"dec\",\"\"]\r\n },\r\n AM: null,\r\n PM: null,\r\n eras: [{\"name\":\"n.e.\",\"start\":null,\"offset\":0}],\r\n patterns: {\r\n d: \"d.M.yyyy\",\r\n D: \"d. MMMM yyyy\",\r\n t: \"H:mm\",\r\n T: \"H:mm:ss\",\r\n f: \"d. MMMM yyyy H:mm\",\r\n F: \"d. MMMM yyyy H:mm:ss\",\r\n M: \"d. MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"sr\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture sv\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"sv\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"sv\",\r\n englishName: \"Swedish\",\r\n nativeName: \"svenska\",\r\n language: \"sv\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n negativeInfinity: \"-INF\",\r\n positiveInfinity: \"INF\",\r\n percent: {\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"kr\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \"-\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"söndag\",\r\n \"måndag\",\r\n \"tisdag\",\r\n \"onsdag\",\r\n \"torsdag\",\r\n \"fredag\",\r\n \"lördag\"\r\n ],\r\n namesAbbr: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"],\r\n namesShort: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"]\r\n },\r\n months: {\r\n names: [\r\n \"januari\",\r\n \"februari\",\r\n \"mars\",\r\n \"april\",\r\n \"maj\",\r\n \"juni\",\r\n \"juli\",\r\n \"augusti\",\r\n \"september\",\r\n \"oktober\",\r\n \"november\",\r\n \"december\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"jan\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"maj\",\r\n \"jun\",\r\n \"jul\",\r\n \"aug\",\r\n \"sep\",\r\n \"okt\",\r\n \"nov\",\r\n \"dec\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"yyyy-MM-dd\",\r\n D: \"'den 'd MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"'den 'd MMMM yyyy HH:mm\",\r\n F: \"'den 'd MMMM yyyy HH:mm:ss\",\r\n M: \"'den 'd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"sv\"]\r\n );\r\n})(this);\r\n\r\n/*\r\n * Globalize Culture tr\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function(window, undefined) {\r\n var Globalization;\r\n\r\n if (\r\n typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\"\r\n ) {\r\n // Assume CommonJS\r\n Globalization = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalization = $.global;\r\n }\r\n\r\n Globalization.cultures[\"tr\"] = Globalization.extend(\r\n true,\r\n Globalization.extend(true, {}, Globalization.cultures[\"default\"], {\r\n name: \"tr\",\r\n englishName: \"Turkish\",\r\n nativeName: \"Türkçe\",\r\n language: \"tr\",\r\n numberFormat: {\r\n \",\": \".\",\r\n \".\": \",\",\r\n percent: {\r\n pattern: [\"-%n\", \"%n\"],\r\n \",\": \".\",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \".\",\r\n \".\": \",\",\r\n symbol: \"TL\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\r\n \"Pazar\",\r\n \"Pazartesi\",\r\n \"Salı\",\r\n \"Çarşamba\",\r\n \"Perşembe\",\r\n \"Cuma\",\r\n \"Cumartesi\"\r\n ],\r\n namesAbbr: [\"Paz\", \"Pzt\", \"Sal\", \"Çar\", \"Per\", \"Cum\", \"Cmt\"],\r\n namesShort: [\"Pz\", \"Pt\", \"Sa\", \"Ça\", \"Pe\", \"Cu\", \"Ct\"]\r\n },\r\n months: {\r\n names: [\r\n \"Ocak\",\r\n \"Şubat\",\r\n \"Mart\",\r\n \"Nisan\",\r\n \"Mayıs\",\r\n \"Haziran\",\r\n \"Temmuz\",\r\n \"Ağustos\",\r\n \"Eylül\",\r\n \"Ekim\",\r\n \"Kasım\",\r\n \"Aralık\",\r\n \"\"\r\n ],\r\n namesAbbr: [\r\n \"Oca\",\r\n \"Şub\",\r\n \"Mar\",\r\n \"Nis\",\r\n \"May\",\r\n \"Haz\",\r\n \"Tem\",\r\n \"Ağu\",\r\n \"Eyl\",\r\n \"Eki\",\r\n \"Kas\",\r\n \"Ara\",\r\n \"\"\r\n ]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"dd.MM.yyyy\",\r\n D: \"dd MMMM yyyy dddd\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"dd MMMM yyyy dddd HH:mm\",\r\n F: \"dd MMMM yyyy dddd HH:mm:ss\",\r\n M: \"dd MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n }),\r\n Globalization.cultures[\"tr\"]\r\n );\r\n})(this);\r\n\r\n$(document).ready(function() {\r\n new AdvancedProperty().init();\r\n});\r\n\r\nvar AdvancedProperty = function() {};\r\n\r\nAdvancedProperty.SELECTOR_GROUP = \".advanced-property-group\";\r\nAdvancedProperty.SELECTOR_ANCHOR = \".advanced-property-group .advanced\";\r\nAdvancedProperty.SELECTOR_CANCEL = \".button.cancel\";\r\nAdvancedProperty.CLASS_SHOW = \"show-advanced-properties\";\r\n\r\nAdvancedProperty.prototype = {\r\n /* INIT */\r\n init: function() {\r\n this.setEvents();\r\n },\r\n\r\n showOrHideElement: function() {\r\n var $body = $(\"body\");\r\n\r\n if ($body.hasClass(\"hideheader\") || $body.hasClass(\"hideroomheader\")) {\r\n if ($body.hasClass(AdvancedProperty.CLASS_SHOW)) {\r\n $(\".room section.result\").css(\"top\", 0);\r\n } else {\r\n $(\".room section.result\").css(\"top\", this.calculateTop());\r\n }\r\n }\r\n $(\"body\").toggleClass(AdvancedProperty.CLASS_SHOW);\r\n },\r\n\r\n closeElement: function() {\r\n $(\"body\").removeClass(AdvancedProperty.CLASS_SHOW);\r\n $(\".room section.result\").css(\"top\", 0);\r\n },\r\n\r\n calculateTop: function() {\r\n //calc(80px + 370px + 85px - 20px - 30px)\r\n var advancedPropertyHeatingHeight = 290;\r\n var advancedPropertyCoolingHeight = 80;\r\n var advancedPropertyErrorHeight = 55;\r\n\r\n var advancedPropertyGroupHeight = advancedPropertyHeatingHeight;\r\n if ($(\".advanced-property-group.has-cooling-controls\").length > 0) {\r\n advancedPropertyGroupHeight += advancedPropertyCoolingHeight;\r\n }\r\n if ($(\".advanced-property-group.has-error\").length > 0) {\r\n advancedPropertyGroupHeight += advancedPropertyErrorHeight;\r\n }\r\n\r\n var roomHeaderHeight = 80;\r\n var spaceBetweenSubHeaderAndRoomHeader = 20;\r\n var extra = $(\"body\").hasClass(\"hideheader\") ? 30 : 0;\r\n var scrollTop = $(\"html\")[0].scrollTop;\r\n\r\n return (\r\n roomHeaderHeight +\r\n advancedPropertyGroupHeight +\r\n scrollTop -\r\n spaceBetweenSubHeaderAndRoomHeader -\r\n extra\r\n );\r\n },\r\n\r\n /* EVENTS */\r\n setEvents: function() {\r\n $(AdvancedProperty.SELECTOR_ANCHOR).click(this.anchorClicked.bind(this));\r\n $(AdvancedProperty.SELECTOR_CANCEL, this.$el).click(\r\n this.closeElement.bind(this)\r\n );\r\n },\r\n\r\n anchorClicked: function(evt) {\r\n evt.stopPropagation();\r\n this.showOrHideElement();\r\n },\r\n};\r\n\r\n$(document).ready(function() {\r\n new CapacityBarController().init();\r\n});\r\n\r\nvar CapacityBarController = function() {};\r\nCapacityBarController.prototype = {\r\n init: function($container) {\r\n $('.capacity-bar', $container).each(function(i, bar) {\r\n new CapacityBar().init($(bar));\r\n });\r\n }\r\n};\r\n\r\nvar CapacityBar = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n current: '.current',\r\n maximum: '.maximum',\r\n progress: '.progressbar-progress',\r\n LABEL: {\r\n current: '.current-formatted',\r\n maximum: '.maximum-formatted'\r\n }\r\n },\r\n\r\n calculateCurrentPercentage: function($element) {\r\n var current = parseFloat($(_.SELECTOR.current, $element).val());\r\n var maximum = parseFloat($(_.SELECTOR.maximum, $element).val());\r\n\r\n if (isNaN(current) || isNaN(maximum)) {\r\n return 0;\r\n }\r\n\r\n var maxPercent = 100;\r\n var percent = (maxPercent / maximum) * current;\r\n\r\n return Math.ceil(percent);\r\n }\r\n };\r\n\r\n function capacityBar() {}\r\n\r\n capacityBar.prototype = {\r\n init: function($element) {\r\n if (!$element || !$element.length) {\r\n return;\r\n }\r\n\r\n $element[0].CapacityBar = this;\r\n this.$element = $element;\r\n\r\n var percentage = _.calculateCurrentPercentage($element);\r\n $(_.SELECTOR.progress, $element).width(percentage + '%');\r\n },\r\n\r\n refresh: function(current, currentFormatted) {\r\n var $element = this.$element;\r\n\r\n $(_.SELECTOR.current, $element).val(current);\r\n $(_.SELECTOR.LABEL.current, $element).text(currentFormatted);\r\n\r\n var percentage = _.calculateCurrentPercentage($element);\r\n $(_.SELECTOR.progress, $element).width(percentage + '%');\r\n }\r\n };\r\n\r\n return capacityBar;\r\n})();\r\n\r\n///\r\n///\r\n\r\nvar DataHrefAttribute = (function() {\r\n function dataHrefAttribute() { }\r\n dataHrefAttribute.prototype = {\r\n init: function($container) {\r\n $('[data-href]',$container).on('click', function () {\r\n if (!!$(this).data('ajax')) {\r\n var success = null;\r\n if ($(this).data('ajax-success')) {\r\n success = eval($(this).data('ajax-success')).bind(this);\r\n }\r\n\r\n AjaxCall.send($(this).data('href'), {}, success);\r\n return false;\r\n }\r\n\r\n if (!$(this).data('popup-target')) {\r\n window.location = $(this).data('href');\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n return dataHrefAttribute;\r\n}());\r\n\r\n/// \r\n/// \r\n\r\n$(document).ready(function() {\r\n new DropdownGroupController().init();\r\n});\r\n\r\nvar DropdownGroupController = (function () {\r\n var _ = {\r\n DROPDOWN_SELECTOR: '.dropdown-group .dropdown'\r\n };\r\n\r\n function dropdownGroupController() { }\r\n\r\n dropdownGroupController.prototype = {\r\n init: function () {\r\n $(_.DROPDOWN_SELECTOR).each(function (i, dropdown) {\r\n new Dropdown().init($(dropdown));\r\n });\r\n }\r\n };\r\n\r\n return dropdownGroupController;\r\n}());\r\n\r\n$(window).click(function() {\r\n new Dropdown().closeAllDropdowns();\r\n});\r\n\r\nvar Dropdown = function() {};\r\n\r\nDropdown.SELECTOR_CONTENT = '.dropdown-content';\r\nDropdown.SELECTOR_GROUP = '.dropdown-group';\r\nDropdown.SELECTOR_DROPDOWN = '.dropdown';\r\n\r\nDropdown.prototype = {\r\n SELECTOR_OPTIONS: 'select:not(.hide) option',\r\n SELECTOR_CUSTOM_OPTIONS: '.dropdown-content div',\r\n SELECTOR_UNIT: '.dropdown-unit',\r\n SELECTOR_SELECT: 'select:not(.hide)',\r\n CLASS_SELECTED: 'active',\r\n CLASS_READ_ONLY:'read-only',\r\n /* INIT */\r\n init: function($element, options) {\r\n if (!$element || !$element.length)\r\n return;\r\n\r\n this.$el = $element;\r\n this.options = options;\r\n $element[0].Dropdown = this;\r\n\r\n this.$content = $(Dropdown.SELECTOR_CONTENT, this.$el);\r\n this.$input = $('input', this.$el);\r\n this.$select = $(this.SELECTOR_SELECT, this.$el);\r\n this.scrollTop = 0;\r\n this.$unit = $(this.SELECTOR_UNIT, this.$el)\r\n\r\n if (!device.mobile() && !device.tablet()) {\r\n this.setOptions()\r\n this.setControlForDesktop()\r\n this.setDesktopEvents()\r\n } else {\r\n this.setControlForMobileDevice()\r\n this.setMobileDeviceEvents()\r\n }\r\n\r\n this.setReadOnlyIfNecessary()\r\n },\r\n\r\n switchUnits: function (currentUnit, newUnit) {\r\n var hiddenSelect = $('select.hide', this.$el)\r\n\r\n if (hiddenSelect.length > 0) {\r\n $('select', this.$el).toggleClass('hide')\r\n var selectedIndex = this.$select.prop('selectedIndex')\r\n this.$select = $(this.SELECTOR_SELECT, this.$el)\r\n this.setOptions();\r\n\r\n this.$unit.text(newUnit)\r\n this.$unit.attr('data-alternative-unit', currentUnit)\r\n\r\n this.resetSelectedOptions()\r\n var selectedOption = $(this.SELECTOR_CUSTOM_OPTIONS, this.$el).eq(selectedIndex)\r\n this.setSelectedOption(selectedOption)\r\n this.setInputBySelectedOption(selectedOption)\r\n\r\n this.setDesktopEvents()\r\n\r\n var $units = $('.material-units');\r\n if ($units.is(':visible')) {\r\n $('.underline', $units).removeClass('underline');\r\n $('span:contains(' + newUnit + ')', $units).addClass('underline');\r\n }\r\n }\r\n },\r\n\r\n setOptions: function() {\r\n this.$content.html('')\r\n\r\n var $options = $(this.SELECTOR_OPTIONS, this.$el)\r\n this.options = $options;\r\n var $selectedOption = $('option:selected', this.$el)\r\n\r\n if (!$options.length)\r\n return;\r\n\r\n var options = '';\r\n\r\n for (var i = 0, c = $options.length; i < c; i++) {\r\n var $option = $options.eq(i) \r\n var hide = $selectedOption.val() === \"10\" && $option.val() === \"5\" \r\n options += this.createOptionHtml(\r\n $option.val(),\r\n $option.text(),\r\n $selectedOption.val(),\r\n hide\r\n )\r\n }\r\n\r\n this.$content.html(options)\r\n },\r\n\r\n setControlForDesktop: function() {\r\n var $selected = $(this.SELECTOR_OPTIONS + ':selected', this.$el);\r\n\r\n if ($selected.length && $selected.length === 1)\r\n this.setInputBySelectedOption($selected);\r\n },\r\n\r\n setControlForMobileDevice: function() {\r\n this.$content.hide();\r\n this.$select.addClass('for-mobile-devices');\r\n },\r\n\r\n setReadOnlyIfNecessary: function() {\r\n var $options = $('option', this.$select);\r\n\r\n if ($options.length > 2) {\r\n return;\r\n }\r\n\r\n var $defaultOption = $('option[value=0]', this.$select);\r\n if ($defaultOption.length === 0 && $options.length === 2) {\r\n return;\r\n }\r\n\r\n var $option;\r\n if ($options.length === 1) {\r\n $option = $options;\r\n } else {\r\n $option = $('option:not([value=0])', this.$select);\r\n }\r\n\r\n this.$el.addClass(this.CLASS_READ_ONLY);\r\n this.setByValue($option.val());\r\n this.destroyEvents();\r\n },\r\n\r\n /* CREATE HTML */\r\n createOptionHtml: function(value, text, selectedOption, hide) {\r\n if (hide) {\r\n var $option = $('
')\r\n .addClass(selectedOption === value ? this.CLASS_SELECTED : '')\r\n .html(text)\r\n .attr('title', text)\r\n .attr('data-val', value)\r\n .css('display', 'none');\r\n\r\n return $option[0].outerHTML;\r\n\r\n } else {\r\n var $option = $('
')\r\n .addClass(selectedOption === value ? this.CLASS_SELECTED : '')\r\n .html(text)\r\n .attr('title', text)\r\n .attr('data-val', value);\r\n\r\n return $option[0].outerHTML;\r\n\r\n } \r\n },\r\n\r\n /* UPDATE HTML */\r\n resetSelectedOptions: function() {\r\n $(this.SELECTOR_CUSTOM_OPTIONS, this.$el).removeClass(this.CLASS_SELECTED);\r\n },\r\n\r\n setSelectedOption: function($option) {\r\n $option.addClass(this.CLASS_SELECTED);\r\n\r\n var value = $option.data('val');\r\n this.$select\r\n .find('option')\r\n .filter(function() {\r\n return $(this).val() == value;\r\n })\r\n .prop('selected', true);\r\n },\r\n\r\n toggleContent: function(show) {\r\n if (show)\r\n this.$content.addClass('show');\r\n else\r\n this.$content.removeClass('show');\r\n },\r\n\r\n setInputBySelectedOption: function($option) {\r\n if (!$option || !$option.length)\r\n return;\r\n\r\n this.$input.val($option.text()).data('val', $option.val());\r\n },\r\n\r\n setByValue: function(value) {\r\n var $contentOption = $(this.SELECTOR_CUSTOM_OPTIONS + '[data-val=' + value + ']', this.$el).first();\r\n var $selectOption = $(this.SELECTOR_OPTIONS + '[value=' + value + ']', this.$el).first();\r\n\r\n this.resetSelectedOptions();\r\n this.setInputBySelectedOption($selectOption);\r\n this.setSelectedOption($contentOption);\r\n },\r\n\r\n closeOtherDropdowns: function() {\r\n $(Dropdown.SELECTOR_CONTENT)\r\n .not(this.$content)\r\n .removeClass('show');\r\n },\r\n\r\n closeAllDropdowns: function() {\r\n $(Dropdown.SELECTOR_CONTENT, $(Dropdown.SELECTOR_GROUP)).removeClass('show');\r\n },\r\n\r\n /* DATA */\r\n setScrollTop: function() {\r\n this.scrollTop = this.$content[0].scrollTop;\r\n },\r\n\r\n /* EVENTS */\r\n optionClicked: function(evt) {\r\n var $option = $(evt.currentTarget);\r\n\r\n this.resetSelectedOptions();\r\n this.setSelectedOption($option);\r\n this.setInputBySelectedOption($option);\r\n this.setScrollTop();\r\n this.toggleContent();\r\n this.$select.change();\r\n\r\n if (this.options && this.options.changeCallback) {\r\n var $selectoption = $(\r\n 'select option:contains(' + $option.text() + ')',\r\n this.$el\r\n );\r\n this.options.changeCallback($selectoption);\r\n }\r\n },\r\n\r\n inputClicked: function(evt) {\r\n evt.stopPropagation();\r\n\r\n if (this.$el.hasClass(this.CLASS_READ_ONLY)) {\r\n return;\r\n }\r\n\r\n var show = !this.$content.hasClass('show');\r\n\r\n this.closeOtherDropdowns();\r\n this.toggleContent(show);\r\n this.$content[0].scrollTop = this.scrollTop;\r\n },\r\n\r\n selectChanged: function() {\r\n var $selected = $(this.SELECTOR_OPTIONS + ':selected', this.$el);\r\n this.setInputBySelectedOption($selected);\r\n\r\n if (this.options && this.options.changeCallback) {\r\n this.options.changeCallback($selected);\r\n }\r\n },\r\n\r\n setDesktopEvents: function() {\r\n this.optionClickedHandler = this.optionClicked.bind(this);\r\n this.inputClickedHandler = this.inputClicked.bind(this);\r\n\r\n $(this.SELECTOR_CUSTOM_OPTIONS, this.$el).bind(\r\n 'click',\r\n this.optionClickedHandler\r\n );\r\n this.$input\r\n .unbind('click')\r\n .bind('click', this.inputClickedHandler);\r\n },\r\n\r\n setMobileDeviceEvents: function() {\r\n this.selectChangedHandler = this.selectChanged.bind(this);\r\n this.$select.bind('change', this.selectChangedHandler);\r\n\r\n var $selected = $(this.SELECTOR_OPTIONS + ':selected', this.$el);\r\n if ($selected.length && $selected.length === 1)\r\n this.setInputBySelectedOption($selected);\r\n },\r\n\r\n destroyEvents: function() {\r\n $(this.SELECTOR_CUSTOM_OPTIONS, this.$el).unbind(\r\n 'click',\r\n this.optionClickedHandler\r\n );\r\n this.$input.unbind('click', this.inputClickedHandler);\r\n this.$select.unbind('change', this.selectChangedHandler);\r\n }\r\n};\r\n$(document)\r\n .ready(function() {\r\n $('.input').each(function(i, input) { new InputGroup().init($(input)); });\r\n });\r\n\r\nvar InputGroup = function() {}\r\n\r\nInputGroup.CLASS_ELEMENT = 'input';\r\nInputGroup.CLASS_FOCUS = 'focus';\r\nInputGroup.CLASS_FAULT = 'fault';\r\n\r\nInputGroup.SELECTOR_ELEMENT = '.' + InputGroup.CLASS_ELEMENT;\r\nInputGroup.SELECTOR_FOCUSED = InputGroup.SELECTOR_ELEMENT + '.' + InputGroup.CLASS_FOCUS;\r\nInputGroup.SELECTOR_INPUT = '> input';\r\n\r\nInputGroup.blurOtherInputs = function (evt) {\r\n var $target = $(evt.target);\r\n var myInput = null;\r\n \r\n if ($target.parents(InputGroup.SELECTOR_ELEMENT).length > 0) {\r\n myInput = $target.parents(InputGroup.SELECTOR_ELEMENT)[0];\r\n } else if ($target.hasClass(InputGroup.CLASS_ELEMENT)) {\r\n myInput = evt.target;\r\n }\r\n\r\n var $inputs = $(InputGroup.SELECTOR_ELEMENT);\r\n for (var i = 0, c = $inputs.length; i < c; i++) {\r\n var input = $inputs.eq(i)[0];\r\n\r\n if (input === myInput) {\r\n continue;\r\n } else {\r\n if (input.InputGroup && input.InputGroup.blur) {\r\n input.InputGroup.blur();\r\n }\r\n }\r\n }\r\n}\r\n$(window).click(InputGroup.blurOtherInputs);\r\n\r\nInputGroup.prototype = {\r\n /* INIT */\r\n init: function($element, options) {\r\n if (!$element || !$element.length)\r\n return;\r\n\r\n $element[0].InputGroup = this;\r\n\r\n this.$el = $element;\r\n this.options = options;\r\n\r\n this.$input = $(InputGroup.SELECTOR_INPUT, this.$el);\r\n\r\n if (this.$input.is(':focus')) {\r\n this.setInputFocused();\r\n }\r\n\r\n this.setEvents();\r\n },\r\n\r\n blur: function() {\r\n this.$el.removeClass(InputGroup.CLASS_FOCUS);\r\n },\r\n\r\n setInputFocused: function() {\r\n this.$el.addClass(InputGroup.CLASS_FOCUS);\r\n },\r\n\r\n /* EVENTS */\r\n inputClicked: function() {\r\n this.setInputFocused();\r\n },\r\n\r\n inputFocused: function (evt) {\r\n InputGroup.blurOtherInputs(evt);\r\n this.setInputFocused();\r\n },\r\n\r\n setEvents: function() {\r\n this.$input.click(this.inputClicked.bind(this));\r\n this.$input.focus(this.inputFocused.bind(this));\r\n }\r\n}\r\n$(document).ready(function () {\r\n new ListController().init();\r\n});\r\n\r\nvar ListController = function () {};\r\nListController.CONTROL_SELECTOR = '.table .block';\r\nListController.prototype.init = function ($container) {\r\n $(ListController.CONTROL_SELECTOR, $container).each(function (i, list) {\r\n new List().init($(list));\r\n })\r\n}\r\n\r\nvar List = (function () {\r\n var _ = {\r\n SELECTOR: {\r\n clickAnchor: '.material-information-anchor',\r\n row: 'ul',\r\n selectionControl: '.material-selection input'\r\n },\r\n CLASS: {\r\n active: 'active'\r\n },\r\n EVENTS: {\r\n selectionControlChanged: function (evt) {\r\n var $anchor = $(evt.currentTarget);\r\n var $row = $anchor.parents(_.SELECTOR.row);\r\n\r\n _.setRowActiveClass($row, $anchor);\r\n },\r\n\r\n clickAnchorClicked:function(evt){\r\n \tvar $anchor = $(evt.currentTarget);\r\n \tvar $row = $anchor.parents(_.SELECTOR.row);\r\n\r\n \t$(_.SELECTOR.selectionControl, $row).click();\r\n }\r\n },\r\n\r\n setRowActiveClass: function ($row, $anchor) {\r\n if ($anchor.is(':checked')) {\r\n $row.addClass(_.CLASS.active);\r\n } else {\r\n $row.removeClass(_.CLASS.active);\r\n }\r\n\r\n if ($anchor.is(':radio')) {\r\n var name = $anchor.attr('name');\r\n var $otherAnchors = $('input[name=\"' + name + '\"]').not($anchor);\r\n var $otherRows = $otherAnchors.parents(_.SELECTOR.row);\r\n\r\n $otherRows.removeClass(_.CLASS.active);\r\n }\r\n }\r\n };\r\n\r\n function list() {}\r\n list.prototype.init = function ($list) {\r\n if (!$list || !$list.length) {\r\n return;\r\n }\r\n\r\n $(_.SELECTOR.selectionControl, $list).change(_.EVENTS.selectionControlChanged);\r\n $(_.SELECTOR.clickAnchor, $list).click(_.EVENTS.clickAnchorClicked);\r\n }\r\n\r\n return list;\r\n}());\r\n$(document).ready(function() {\r\n\tnew LoaderController().init();\r\n});\r\n\r\nvar LoaderController = function() {};\r\nLoaderController.prototype = {\r\n\tinit: function($container) {\r\n\t\t$('.loader', $container).each(function(i, loader) { new Loader().init($(loader)); });\r\n\t}\r\n};\r\n\r\nvar Loader = (function() {\r\n\tvar _ = {\r\n\t\tCLASSES: {\r\n\t\t\tshow:'show'\r\n\t\t},\r\n\t\tshow: function() {\r\n\t\t\tthis.$el.addClass(_.CLASSES.show);\r\n\t\t},\r\n\t\thide: function() {\r\n\t\t\tthis.$el.removeClass(_.CLASSES.show);\r\n\t\t}\r\n\t};\r\n\r\n\tfunction loader() {}\r\n\r\n\tloader.prototype = {\r\n\t\tinit: function($el) {\r\n\t\t\tthis.$el = $el;\r\n\r\n\t\t\tthis.$el.on('custom_show', _.show.bind(this));\r\n\t\t\tthis.$el.on('custom_hide', _.hide.bind(this));\r\n\t\t}\r\n\t};\r\n\treturn loader;\r\n}());\r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n\r\n$(document)\r\n .ready(function() {\r\n $('.numeric-input').each(function (i, numeric) { new NumericInput().init($(numeric)); });\r\n });\r\n\r\nvar NumericInput = function() {}\r\n\r\nNumericInput.ATTRIBUTE_MINIMUM_VALUE = 'data-min';\r\nNumericInput.ATTRIBUTE_MAXIMUM_VALUE = 'data-max';\r\nNumericInput.ATTRIBUTE_STEP = 'data-step';\r\n\r\nNumericInput.CLASS_ELEMENT = 'numeric-input';\r\nNumericInput.CLASS_BUTTON_UP = 'up';\r\nNumericInput.CLASS_BUTTON_DOWN = 'down';\r\nNumericInput.CLASS_READONLY = 'read-only';\r\nNumericInput.CLASS_FOCUS = 'focus';\r\nNumericInput.CLASS_FAULT = 'fault';\r\n\r\nNumericInput.SELECTOR_ELEMENT = '.' + NumericInput.CLASS_ELEMENT;\r\nNumericInput.SELECTOR_FOCUSED = NumericInput.SELECTOR_ELEMENT + '.' + NumericInput.CLASS_FOCUS;\r\nNumericInput.SELECTOR_BUTTON = '.numeric-input-button';\r\nNumericInput.SELECTOR_BUTTONS = '> .numeric-input-buttons .numeric-input-button';\r\nNumericInput.SELECTOR_INPUT = '> input';\r\nNumericInput.SELECTOR_CALCULATOR = '.popover-calculator';\r\nNumericInput.SELECTOR_POPOVER = '.popover-input-group';\r\n\r\nNumericInput.SELECTOR_UNIT = '.numeric-input-unit';\r\n\r\nNumericInput.blurOtherInputs = function (evt) {\r\n var $target = $(evt.target);\r\n var myInput = null;\r\n\r\n if ($target.parents(NumericInput.SELECTOR_ELEMENT).length > 0) {\r\n myInput = $target.parents(NumericInput.SELECTOR_ELEMENT)[0];\r\n } else if ($target.hasClass(NumericInput.CLASS_ELEMENT)) {\r\n myInput = evt.target;\r\n }\r\n\r\n var $inputs = $(NumericInput.SELECTOR_ELEMENT);\r\n for (var i = 0, c = $inputs.length; i < c; i++) {\r\n var input = $inputs.eq(i)[0];\r\n\r\n if (input === myInput) {\r\n continue;\r\n } else if (input.NumericInput && input.NumericInput.blur) {\r\n input.NumericInput.blur();\r\n }\r\n }\r\n}\r\n$(window).click(NumericInput.blurOtherInputs);\r\n\r\nNumericInput.prototype = {\r\n /* INIT */\r\n init: function($element, options) {\r\n if (!$element || !$element.length)\r\n return;\r\n\r\n $element[0].NumericInput = this;\r\n\r\n this.$el = $element;\r\n this.options = options;\r\n var minimumValueAttribute = $element.attr(NumericInput.ATTRIBUTE_MINIMUM_VALUE);\r\n\r\n if (minimumValueAttribute) {\r\n this.minimumValue = $.global.parseFloat(minimumValueAttribute);\r\n }\r\n\r\n this.hasMinimumValue = typeof minimumValueAttribute !== typeof undefined && minimumValueAttribute !== false;\r\n var maximumValueAttribute = $element.attr(NumericInput.ATTRIBUTE_MAXIMUM_VALUE);\r\n\r\n if (maximumValueAttribute) {\r\n this.maximumValue = $.global.parseFloat(maximumValueAttribute);\r\n }\r\n\r\n this.hasMaximumValue = typeof maximumValueAttribute !== typeof undefined && maximumValueAttribute !== false;\r\n var stepAttribute = $element.attr(NumericInput.ATTRIBUTE_STEP);\r\n\r\n if (typeof stepAttribute !== typeof undefined && stepAttribute !== false) {\r\n this.step = $.global.parseFloat(stepAttribute);\r\n } else {\r\n this.step = 1;\r\n }\r\n\r\n this.stepIsInteger = typeof this.step === 'number' \r\n && isFinite(this.step) \r\n && Math.floor(this.step) === this.step;\r\n\r\n this.$input = $(NumericInput.SELECTOR_INPUT, this.$el);\r\n this.$buttons = $(NumericInput.SELECTOR_BUTTONS, this.$el);\r\n\r\n if (options && options.readonly) {\r\n this.setReadOnly();\r\n }\r\n\r\n if (this.hasPopover()) {\r\n new PopoverInputGroup().init(this.$input, $(NumericInput.SELECTOR_POPOVER, this.$el));\r\n }\r\n\r\n if ($(NumericInput.SELECTOR_CALCULATOR, this.$el).length > 0) {\r\n new PopoverCalculator().init(this.$input, $(NumericInput.SELECTOR_CALCULATOR, this.$el));\r\n }\r\n\r\n if (this.$input.is(':focus')) {\r\n this.setInputFocused();\r\n }\r\n\r\n this.$unit = $(NumericInput.SELECTOR_UNIT, this.$el);\r\n\r\n this.setEvents();\r\n },\r\n\r\n hasPopover:function() {\r\n return $(NumericInput.SELECTOR_POPOVER, this.$el).length > 0;\r\n },\r\n\r\n isLargerThanMinimumValue: function(value) {\r\n return (this.hasMinimumValue && value >= this.minimumValue) ||\r\n !this.hasMinimumValue;\r\n },\r\n\r\n isSmallerThanMaximumValue: function(value){\r\n\r\n return (this.hasMaximumValue && value <= this.maximumValue) ||\r\n !this.hasMaximumValue;\r\n },\r\n\r\n validates: function(value) {\r\n return this.isLargerThanMinimumValue(value) &&\r\n this.isSmallerThanMaximumValue(value) &&\r\n !isNaN(value);\r\n },\r\n\r\n blur: function() {\r\n this.$el.removeClass(NumericInput.CLASS_FOCUS);\r\n },\r\n\r\n setReadOnly: function() {\r\n this.$el.addClass(NumericInput.CLASS_READONLY);\r\n this.$input.attr('readonly', 'readonly');\r\n this.$input.attr('tabindex', '-1');\r\n },\r\n\r\n /* UPDATE HTML */\r\n setValue: function(extra) {\r\n var value = $.global.parseFloat(this.$input.val());\r\n value += extra;\r\n\r\n if (this.validates(value)) {\r\n\r\n // this is needed, adding 2 floats in javascript returns incorrect numbers. ex: 2.1000000000003\r\n // when the value is not a rounded integer we show 2 decimals\r\n if (!this.stepIsInteger || Math.round(value) !== value) {\r\n value = value.toLocaleString($.global.culture.name, { maximumFractionDigits: 2});\r\n }\r\n\r\n this.$input.val(value);\r\n this.$input.trigger('change');\r\n this.$input.parent().removeClass(NumericInput.CLASS_FAULT);\r\n }\r\n\r\n if (!this.isLargerThanMinimumValue(value)) {\r\n this.$input.val(this.minimumValue);\r\n this.$input.parent().removeClass(NumericInput.CLASS_FAULT);\r\n }\r\n\r\n if (!this.isSmallerThanMaximumValue(value)) {\r\n this.$input.val(this.maximumValue);\r\n this.$input.parent().removeClass(NumericInput.CLASS_FAULT);\r\n }\r\n },\r\n\r\n decrease: function() {\r\n this.setValue(-this.step);\r\n },\r\n\r\n increase: function() {\r\n this.setValue(this.step);\r\n },\r\n\r\n setInputFocused: function() {\r\n this.$el.addClass(NumericInput.CLASS_FOCUS);\r\n this.$input[0].select();\r\n\r\n if (this.hasPopover()) {\r\n var popover = $(NumericInput.SELECTOR_POPOVER, this.$el)[0];\r\n\r\n if (popover.PopoverInputGroup && popover.PopoverInputGroup.show) {\r\n popover.PopoverInputGroup.show();\r\n }\r\n }\r\n },\r\n\r\n switchUnits: function (currentUnit, newUnit) {\r\n if (!currentUnit || !newUnit) {\r\n return;\r\n }\r\n\r\n this.$unit.text(newUnit);\r\n this.$unit.attr('data-alternative-unit', currentUnit);\r\n\r\n var $units = $('.pressure-drop-units');\r\n $('.underline', $units).removeClass('underline');\r\n $('span:contains(' + newUnit + ')', $units).addClass('underline');\r\n\r\n $('.pressure-drop-unit').text(newUnit);\r\n },\r\n\r\n /* EVENTS */\r\n buttonClicked: function(evt) {\r\n var $button = $(evt.currentTarget);\r\n\r\n if ($button.hasClass(NumericInput.CLASS_BUTTON_UP)) {\r\n this.increase();\r\n } else if ($button.hasClass(NumericInput.CLASS_BUTTON_DOWN)) {\r\n this.decrease();\r\n }\r\n\r\n this.setInputFocused();\r\n },\r\n\r\n inputClicked: function() {\r\n this.setInputFocused();\r\n },\r\n\r\n inputKeyup: function() {\r\n var selected = document.getSelection().toString() === this.$input.val();\r\n\r\n var newValue = $.global.parseFloat(this.$input.val());\r\n if (this.stepIsInteger && newValue != '-'){\r\n newValue = parseInt(newValue) || '';\r\n }\r\n\r\n var startSelection = this.$input[0].selectionStart;\r\n var endSelection = this.$input[0].selectionEnd;\r\n\r\n //this.$input.val(newValue);\r\n\r\n this.$input[0].setSelectionRange(startSelection, endSelection);\r\n\r\n if (selected) {\r\n this.$input.select();\r\n }\r\n\r\n if (!this.validates(newValue)) {\r\n this.$el.addClass(NumericInput.CLASS_FAULT);\r\n } else {\r\n this.$el.removeClass(NumericInput.CLASS_FAULT);\r\n }\r\n },\r\n\r\n inputFocused: function (evt) {\r\n if (this.hasPopover()) {\r\n PopoverInputGroup.blurOtherPopovers(evt);\r\n }\r\n \r\n NumericInput.blurOtherInputs(evt);\r\n this.setInputFocused();\r\n },\r\n\r\n inputChanged: function(evt) {\r\n if (this.hasMinimumValue) {\r\n var value = parseInt(this.$input.val());\r\n\r\n if (value < this.minimumValue) {\r\n this.$input.val(this.minimumValue);\r\n }\r\n }\r\n },\r\n\r\n unitClicked: function (evt) {\r\n var currentUnit = this.$unit.text();\r\n var newUnit = this.$unit.attr('data-alternative-unit');\r\n\r\n this.switchUnits(currentUnit, newUnit);\r\n },\r\n\r\n setEvents: function() {\r\n this.$buttons.click(this.buttonClicked.bind(this));\r\n this.$input.click(this.inputClicked.bind(this));\r\n this.$input.keyup(this.inputKeyup.bind(this));\r\n this.$input.focus(this.inputFocused.bind(this));\r\n this.$input.change(this.inputChanged.bind(this));\r\n this.$unit.click(this.unitClicked.bind(this));\r\n }\r\n}\r\n$(document)\r\n .ready(function () {\r\n $(PopoverMenuGroup.SELECTOR_GROUP)\r\n .each(function (i, popovermenu) {\r\n new PopoverMenuGroup().init($(popovermenu));\r\n });\r\n });\r\n\r\n$(window)\r\n .click(function () {\r\n new PopoverMenuGroup().hideAllPopoverMenus();\r\n });\r\n\r\nvar PopoverMenuGroup = function () {}\r\n\r\nPopoverMenuGroup.SELECTOR_GROUP = '.popover-menu-group';\r\nPopoverMenuGroup.SELECTOR_MENU = '.popover-menu';\r\nPopoverMenuGroup.SELECTOR_ANCHOR = '.popover-menu-anchor';\r\nPopoverMenuGroup.CLASS_SHOW = 'show';\r\nPopoverMenuGroup.CLASS_FADE_IN = 'fade-in';\r\nPopoverMenuGroup.prototype = {\r\n init: function ($el) {\r\n this.$el = $el;\r\n this.transitionspeed = 400;\r\n this.minimumTimeout = 1;\r\n this.setEvents();\r\n },\r\n\r\n getPopoverMenuElement: function () {\r\n return $(PopoverMenuGroup.SELECTOR_MENU, this.$el);\r\n },\r\n\r\n getPopoverAnchorElement: function () {\r\n return $(PopoverMenuGroup.SELECTOR_ANCHOR, this.$el);\r\n },\r\n\r\n hideAllPopoverMenus: function () {\r\n this.hidePopoverMenu($(PopoverMenuGroup.SELECTOR_MENU));\r\n },\r\n\r\n hideOtherPopoverMenus: function () {\r\n var $menu = this.getPopoverMenuElement();\r\n this.hidePopoverMenu($(PopoverMenuGroup.SELECTOR_MENU).not($menu));\r\n },\r\n\r\n addClassShowToMenu: function ($menu) {\r\n $menu.addClass(PopoverMenuGroup.CLASS_SHOW);\r\n },\r\n\r\n removeClassFadeInFromMenu: function ($menu) {\r\n $menu.removeClass(PopoverMenuGroup.CLASS_FADE_IN);\r\n },\r\n\r\n showPopoverMenu: function () {\r\n var $menu = this.getPopoverMenuElement();\r\n\r\n $menu.addClass(PopoverMenuGroup.CLASS_FADE_IN);\r\n setTimeout(this.addClassShowToMenu.bind(this, $menu), this.minimumTimeout);\r\n },\r\n\r\n hidePopoverMenu: function ($menu) {\r\n $menu.removeClass(PopoverMenuGroup.CLASS_SHOW);\r\n setTimeout(this.removeClassFadeInFromMenu.bind(this, $menu), this.transitionspeed);\r\n },\r\n\r\n /* EVENTS */\r\n anchorClicked: function (evt) {\r\n evt.stopPropagation();\r\n evt.preventDefault();\r\n\r\n this.hideOtherPopoverMenus();\r\n this.showPopoverMenu();\r\n },\r\n\r\n setEvents: function () {\r\n var $anchor = this.getPopoverAnchorElement();\r\n\r\n $anchor.click(this.anchorClicked.bind(this));\r\n this.$el.click(this.anchorClicked.bind(this));\r\n }\r\n}\r\nvar Popup = function() {};\r\n\r\nPopup.SELECTOR_POPUP = '.popup';\r\nPopup.CLASS_SHOW = 'show';\r\nPopup.CLASS_DISABLE_SCROLL = 'disable-scroll';\r\n\r\nPopup.prototype = {\r\n show: function($popup) {\r\n $popup.addClass(Popup.CLASS_SHOW);\r\n $popup.parent().css('position', 'fixed');\r\n $('body').addClass(Popup.CLASS_DISABLE_SCROLL);\r\n },\r\n\r\n hide: function ($popup) {\r\n $popup.removeClass(Popup.CLASS_SHOW);\r\n $popup.parent().css('position', '');\r\n $('body').removeClass(Popup.CLASS_DISABLE_SCROLL);\r\n }\r\n}\r\n/// \r\n$(document).ready(function() {\r\n new PopupController().init();\r\n});\r\n\r\nvar PopupController = function() { this.init(); };\r\n\r\nPopupController.prototype = {\r\n FADER_SELECTOR: '.fader',\r\n CANCEL_BUTTON_SELECTOR: '.cancel',\r\n POPUP_CONTENT_CLASS: 'content',\r\n\r\n init: function() {\r\n var that = this;\r\n $(this.FADER_SELECTOR).click(function(event) { that.faderClicked(event, that, this); });\r\n $(this.CANCEL_BUTTON_SELECTOR).click(function(event) { that.cancelButtonClicked(event, that, this) });\r\n },\r\n\r\n faderClicked: function(event, that, clickedElement) {\r\n var $target = $(event.target);\r\n\r\n if (!$target.hasClass(that.POPUP_CONTENT_CLASS)\r\n && $target.parents('.' + that.POPUP_CONTENT_CLASS).length === 0) {\r\n var $popup = $(clickedElement).parents(Popup.SELECTOR_POPUP);\r\n new Popup().hide($popup);\r\n }\r\n },\r\n\r\n cancelButtonClicked: function(event, that, clickedElement) {\r\n event.preventDefault();\r\n\r\n var $popup = $(clickedElement).parents(Popup.SELECTOR_POPUP);\r\n new Popup().hide($popup);\r\n }\r\n}\r\n$(document)\r\n .ready(function() {\r\n $(Progressbar.SELECTOR_GROUP)\r\n .each(function(i, progressbar) { new Progressbar().init($(progressbar)); });\r\n });\r\n\r\nvar Progressbar = function() {}\r\n\r\nProgressbar.SELECTOR_GROUP = '.progressbar-group';\r\nProgressbar.SELECTOR_MINIUM = '.minimum';\r\nProgressbar.SELECTOR_MAXIMUM = '.maximum';\r\nProgressbar.SELECTOR_PROGRESSBAR = '.progressbar-progress';\r\n\r\nProgressbar.prototype = {\r\n /* INIT */\r\n init: function($element) {\r\n if (!$element || !$element.length)\r\n return;\r\n\r\n this.$el = $element;\r\n this.$minVal = $(Progressbar.SELECTOR_MINIUM, this.$el);\r\n this.$maxVal = $(Progressbar.SELECTOR_MAXIMUM, this.$el);\r\n this.$progressbar = $(Progressbar.SELECTOR_PROGRESSBAR, this.$el);\r\n \r\n this.setProgressbarText();\r\n this.setProgressbar();\r\n },\r\n \r\n valueToPercent: function (currentVal, maxVal) {\r\n var maxPercent = 100;\r\n var percent = maxPercent / maxVal * currentVal;\r\n\r\n return Math.ceil(percent);\r\n },\r\n \r\n removeWhiteSpacesAndLetters: function(element) {\r\n return element.val().replace(/[^0-9.,]+/, '');\r\n },\r\n\r\n setProgressbarText: function() {\r\n this.$newMinVal = this.removeWhiteSpacesAndLetters(this.$minVal);\r\n this.$newMaxVal = this.removeWhiteSpacesAndLetters(this.$maxVal);\r\n },\r\n \r\n setProgressbar: function() {\r\n this.$progressVal = this.valueToPercent(this.$newMinVal, this.$newMaxVal);\r\n \r\n if ( this.$progressVal > 100 ) {\r\n this.$progressVal = 100;\r\n }\r\n \r\n this.$progressbar.width(this.$progressVal + '%');\r\n }\r\n}\r\n/*! nouislider - 9.0.0 - 2016-09-29 21:44:02 */\r\n\r\n!function(a){\"function\"==typeof define&&define.amd?define([],a):\"object\"==typeof exports?module.exports=a():window.noUiSlider=a()}(function(){\"use strict\";function a(a,b){var c=document.createElement(\"div\");return j(c,b),a.appendChild(c),c}function b(a){return a.filter(function(a){return!this[a]&&(this[a]=!0)},{})}function c(a,b){return Math.round(a/b)*b}function d(a,b){var c=a.getBoundingClientRect(),d=a.ownerDocument,e=d.documentElement,f=m();return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(f.x=0),b?c.top+f.y-e.clientTop:c.left+f.x-e.clientLeft}function e(a){return\"number\"==typeof a&&!isNaN(a)&&isFinite(a)}function f(a,b,c){c>0&&(j(a,b),setTimeout(function(){k(a,b)},c))}function g(a){return Math.max(Math.min(a,100),0)}function h(a){return Array.isArray(a)?a:[a]}function i(a){a=String(a);var b=a.split(\".\");return b.length>1?b[1].length:0}function j(a,b){a.classList?a.classList.add(b):a.className+=\" \"+b}function k(a,b){a.classList?a.classList.remove(b):a.className=a.className.replace(new RegExp(\"(^|\\\\b)\"+b.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function l(a,b){return a.classList?a.classList.contains(b):new RegExp(\"\\\\b\"+b+\"\\\\b\").test(a.className)}function m(){var a=void 0!==window.pageXOffset,b=\"CSS1Compat\"===(document.compatMode||\"\"),c=a?window.pageXOffset:b?document.documentElement.scrollLeft:document.body.scrollLeft,d=a?window.pageYOffset:b?document.documentElement.scrollTop:document.body.scrollTop;return{x:c,y:d}}function n(){return window.navigator.pointerEnabled?{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\"}:window.navigator.msPointerEnabled?{start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:{start:\"mousedown touchstart\",move:\"mousemove touchmove\",end:\"mouseup touchend\"}}function o(a,b){return 100/(b-a)}function p(a,b){return 100*b/(a[1]-a[0])}function q(a,b){return p(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function r(a,b){return b*(a[1]-a[0])/100+a[0]}function s(a,b){for(var c=1;a>=b[c];)c+=1;return c}function t(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=s(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+q([d,e],c)/o(f,g)}function u(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=s(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],r([d,e],(c-f)*o(f,g))}function v(a,b,d,e){if(100===e)return e;var f,g,h=s(e,a);return d?(f=a[h-1],g=a[h],e-f>(g-f)/2?g:f):b[h-1]?a[h-1]+c(e-a[h-1],b[h-1]):e}function w(a,b,c){var d;if(\"number\"==typeof b&&(b=[b]),\"[object Array]\"!==Object.prototype.toString.call(b))throw new Error(\"noUiSlider: 'range' contains invalid value.\");if(d=\"min\"===a?0:\"max\"===a?100:parseFloat(a),!e(d)||!e(b[0]))throw new Error(\"noUiSlider: 'range' value isn't numeric.\");c.xPct.push(d),c.xVal.push(b[0]),d?c.xSteps.push(!isNaN(b[1])&&b[1]):isNaN(b[1])||(c.xSteps[0]=b[1]),c.xHighestCompleteStep.push(0)}function x(a,b,c){if(!b)return!0;c.xSteps[a]=p([c.xVal[a],c.xVal[a+1]],b)/o(c.xPct[a],c.xPct[a+1]);var d=(c.xVal[a+1]-c.xVal[a])/c.xNumSteps[a],e=Math.ceil(Number(d.toFixed(3))-1),f=c.xVal[a]+c.xNumSteps[a]*e;c.xHighestCompleteStep[a]=f}function y(a,b,c,d){this.xPct=[],this.xVal=[],this.xSteps=[d||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=b,this.direction=c;var e,f=[];for(e in a)a.hasOwnProperty(e)&&f.push([a[e],e]);for(f.length&&\"object\"==typeof f[0][0]?f.sort(function(a,b){return a[0][0]-b[0][0]}):f.sort(function(a,b){return a[0]-b[0]}),e=0;e=0,d=b.indexOf(\"drag\")>=0,e=b.indexOf(\"fixed\")>=0,f=b.indexOf(\"snap\")>=0,g=b.indexOf(\"hover\")>=0;if(e){if(2!==a.handles)throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");H(a,a.start[1]-a.start[0])}a.events={tap:c||f,drag:d,fixed:e,snap:f,hover:g}}function L(a,b){if(b!==!1)if(b===!0){a.tooltips=[];for(var c=0;c-1?1:\"steps\"===c?2:0,!g&&i&&(q=0),l===v&&j||(f[n.toFixed(5)]=[l,q]),k=n}}),f}function w(a,b,c){function d(a,b){var c=b===e.cssClasses.value,d=c?m:n,f=c?k:l;return b+\" \"+d[e.ort]+\" \"+f[a]}function f(a,b,c){return'class=\"'+d(c[1],b)+'\" style=\"'+e.style+\": \"+a+'%\"'}function g(a,d){d[1]=d[1]&&b?b(d[0],d[1]):d[1],i+=\"
\",d[1]&&(i+=\"
\"+c.to(d[0])+\"
\")}var h=document.createElement(\"div\"),i=\"\",k=[e.cssClasses.valueNormal,e.cssClasses.valueLarge,e.cssClasses.valueSub],l=[e.cssClasses.markerNormal,e.cssClasses.markerLarge,e.cssClasses.markerSub],m=[e.cssClasses.valueHorizontal,e.cssClasses.valueVertical],n=[e.cssClasses.markerHorizontal,e.cssClasses.markerVertical];return j(h,e.cssClasses.pips),j(h,0===e.ort?e.cssClasses.pipsHorizontal:e.cssClasses.pipsVertical),Object.keys(a).forEach(function(b){g(b,a[b])}),h.innerHTML=i,h}function x(a){var b=a.mode,c=a.density||1,d=a.filter||!1,e=a.values||!1,f=a.stepped||!1,g=u(b,e,f),h=v(c,b,g),i=a.format||{to:Math.round};return fa.appendChild(w(h,d,i))}function y(){var a=aa.getBoundingClientRect(),b=\"offset\"+[\"Width\",\"Height\"][e.ort];return 0===e.ort?a.width||aa[b]:a.height||aa[b]}function z(a,b,c,d){var f=function(b){return!fa.hasAttribute(\"disabled\")&&(!l(fa,e.cssClasses.tap)&&(b=A(b,d.pageOffset),!(a===ea.start&&void 0!==b.buttons&&b.buttons>1)&&((!d.hover||!b.buttons)&&(b.calcPoint=b.points[e.ort],void c(b,d)))))},g=[];return a.split(\" \").forEach(function(a){b.addEventListener(a,f,!1),g.push([a,f])}),g}function A(a,b){a.preventDefault();var c,d,e=0===a.type.indexOf(\"touch\"),f=0===a.type.indexOf(\"mouse\"),g=0===a.type.indexOf(\"pointer\"),h=a;if(0===a.type.indexOf(\"MSPointer\")&&(g=!0),e){if(h.touches.length>1)return!1;c=a.changedTouches[0].pageX,d=a.changedTouches[0].pageY}return b=b||m(),(f||g)&&(c=a.clientX+b.x,d=a.clientY+b.y),h.pageOffset=b,h.points=[c,d],h.cursor=f||g,h}function B(a){var b=a-d(aa,e.ort),c=100*b/y();return e.dir?100-c:c}function C(a){var b=100,c=!1;return ba.forEach(function(d,e){if(!d.hasAttribute(\"disabled\")){var f=Math.abs(ga[e]-a);f1?d.forEach(function(a,c){var d=M(e,a,e[a]+b,f[c],g[c]);d===!1?b=0:(b=d-e[a],e[a]=d)}):f=g=[!0];var h=!1;d.forEach(function(a,d){h=R(a,c[a]+b,f[d],g[d])||h}),h&&d.forEach(function(a){E(\"update\",a),E(\"slide\",a)})}function E(a,b,c){Object.keys(ka).forEach(function(d){var f=d.split(\".\")[0];a===f&&ka[d].forEach(function(a){a.call(da,ja.map(e.format.to),b,ja.slice(),c||!1,ga.slice())})})}function F(a,b){\"mouseout\"===a.type&&\"HTML\"===a.target.nodeName&&null===a.relatedTarget&&H(a,b)}function G(a,b){if(navigator.appVersion.indexOf(\"MSIE 9\")===-1&&0===a.buttons&&0!==b.buttonsProperty)return H(a,b);var c=(e.dir?-1:1)*(a.calcPoint-b.startCalcPoint),d=100*c/b.baseSize;D(c>0,d,b.locations,b.handleNumbers)}function H(a,b){var c=aa.querySelector(\".\"+e.cssClasses.active);null!==c&&k(c,e.cssClasses.active),a.cursor&&(document.body.style.cursor=\"\",document.body.removeEventListener(\"selectstart\",document.body.noUiListener)),document.documentElement.noUiListeners.forEach(function(a){document.documentElement.removeEventListener(a[0],a[1])}),k(fa,e.cssClasses.drag),P(),b.handleNumbers.forEach(function(a){E(\"set\",a),E(\"change\",a),E(\"end\",a)})}function I(a,b){if(1===b.handleNumbers.length){var c=ba[b.handleNumbers[0]];if(c.hasAttribute(\"disabled\"))return!1;j(c.children[0],e.cssClasses.active)}a.preventDefault(),a.stopPropagation();var d=z(ea.move,document.documentElement,G,{startCalcPoint:a.calcPoint,baseSize:y(),pageOffset:a.pageOffset,handleNumbers:b.handleNumbers,buttonsProperty:a.buttons,locations:ga.slice()}),f=z(ea.end,document.documentElement,H,{handleNumbers:b.handleNumbers}),g=z(\"mouseout\",document.documentElement,F,{handleNumbers:b.handleNumbers});if(document.documentElement.noUiListeners=d.concat(f,g),a.cursor){document.body.style.cursor=getComputedStyle(a.target).cursor,ba.length>1&&j(fa,e.cssClasses.drag);var h=function(){return!1};document.body.noUiListener=h,document.body.addEventListener(\"selectstart\",h,!1)}b.handleNumbers.forEach(function(a){E(\"start\",a)})}function J(a){a.stopPropagation();var b=B(a.calcPoint),c=C(b);return c!==!1&&(e.events.snap||f(fa,e.cssClasses.tap,e.animationDuration),R(c,b,!0,!0),P(),E(\"slide\",c,!0),E(\"set\",c,!0),E(\"change\",c,!0),E(\"update\",c,!0),void(e.events.snap&&I(a,{handleNumbers:[c]})))}function K(a){var b=B(a.calcPoint),c=ia.getStep(b),d=ia.fromStepping(c);Object.keys(ka).forEach(function(a){\"hover\"===a.split(\".\")[0]&&ka[a].forEach(function(a){a.call(da,d)})})}function L(a){a.fixed||ba.forEach(function(a,b){z(ea.start,a.children[0],I,{handleNumbers:[b]})}),a.tap&&z(ea.start,aa,J,{}),a.hover&&z(ea.move,aa,K,{hover:!0}),a.drag&&ca.forEach(function(b,c){if(b!==!1&&0!==c&&c!==ca.length-1){var d=ba[c-1],f=ba[c],g=[b];j(b,e.cssClasses.draggable),a.fixed&&(g.push(d.children[0]),g.push(f.children[0])),g.forEach(function(a){z(ea.start,a,I,{handles:[d,f],handleNumbers:[c-1,c]})})}})}function M(a,b,c,d,f){return ba.length>1&&(d&&b>0&&(c=Math.max(c,a[b-1]+e.margin)),f&&b1&&e.limit&&(d&&b>0&&(c=Math.min(c,a[b-1]+e.limit)),f&&b50?-1:1,c=3+(ba.length+b*a);ba[a].childNodes[0].style.zIndex=c})}function R(a,b,c,d){return b=M(ga,a,b,c,d),b!==!1&&(O(a,b),!0)}function S(a){if(ca[a]){var b=0,c=100;0!==a&&(b=ga[a-1]),a!==ca.length-1&&(c=ga[a]),ca[a].style[e.style]=N(b),ca[a].style[e.styleOposite]=N(100-c)}}function T(a,b){null!==a&&a!==!1&&(\"number\"==typeof a&&(a=String(a)),a=e.format.from(a),a===!1||isNaN(a)||R(b,ia.toStepping(a),!1,!1))}function U(a,b){var c=h(a),d=void 0===ga[0];b=void 0===b||!!b,c.forEach(T),e.animate&&!d&&f(fa,e.cssClasses.tap,e.animationDuration),ha.forEach(function(a){R(a,ga[a],!0,!1)}),P(),ha.forEach(function(a){E(\"update\",a),null!==c[a]&&b&&E(\"set\",a)})}function V(a){U(e.start,a)}function W(){var a=ja.map(e.format.to);return 1===a.length?a[0]:a}function X(){for(var a in e.cssClasses)e.cssClasses.hasOwnProperty(a)&&k(fa,e.cssClasses[a]);for(;fa.firstChild;)fa.removeChild(fa.firstChild);delete fa.noUiSlider}function Y(){return ga.map(function(a,b){var c=ia.getNearbySteps(a),d=ja[b],e=c.thisStep.step,f=null;e!==!1&&d+e>c.stepAfter.startValue&&(e=c.stepAfter.startValue-d),f=d>c.thisStep.startValue?c.thisStep.step:c.stepBefore.step!==!1&&d-c.stepBefore.highestStep,100===a?e=null:0===a&&(f=null);var g=ia.countStepDecimals();return null!==e&&e!==!1&&(e=Number(e.toFixed(g))),null!==f&&f!==!1&&(f=Number(f.toFixed(g))),[f,e]})}function Z(a,b){ka[a]=ka[a]||[],ka[a].push(b),\"update\"===a.split(\".\")[0]&&ba.forEach(function(a,b){E(\"update\",b)})}function $(a){var b=a&&a.split(\".\")[0],c=b&&a.substring(b.length);Object.keys(ka).forEach(function(a){var d=a.split(\".\")[0],e=a.substring(d.length);b&&b!==d||c&&c!==e||delete ka[a]})}function _(a,b){var c=W(),d=[\"margin\",\"limit\",\"range\",\"animate\",\"snap\",\"step\",\"format\"];d.forEach(function(b){void 0!==a[b]&&(i[b]=a[b])});var f=Q(i);d.forEach(function(b){void 0!==a[b]&&(e[b]=f[b])}),f.spectrum.direction=ia.direction,ia=f.spectrum,e.margin=f.margin,e.limit=f.limit,ga=[],U(a.start||c,b)}var aa,ba,ca,da,ea=n(),fa=c,ga=[],ha=[],ia=e.spectrum,ja=[],ka={};if(fa.noUiSlider)throw new Error(\"Slider was already initialized.\");return r(fa),q(e.connect,aa),da={destroy:X,steps:Y,on:Z,off:$,get:W,set:U,reset:V,__moveHandles:function(a,b,c){D(a,b,ga,c)},options:i,updateOptions:_,target:fa,pips:x},L(e.events),U(e.start),e.pips&&x(e.pips),e.tooltips&&t(),da}function S(a,b){if(!a.nodeName)throw new Error(\"noUiSlider.create requires a single element.\");var c=Q(b,a),d=R(a,c,b);return a.noUiSlider=d,d}y.prototype.getMargin=function(a){var b=this.xNumSteps[0];if(b&&a%b)throw new Error(\"noUiSlider: 'limit' and 'margin' must be divisible by step.\");return 2===this.xPct.length&&p(this.xVal,a)},y.prototype.toStepping=function(a){return a=t(this.xVal,this.xPct,a)},y.prototype.fromStepping=function(a){return u(this.xVal,this.xPct,a)},y.prototype.getStep=function(a){return a=v(this.xPct,this.xSteps,this.snap,a)},y.prototype.getNearbySteps=function(a){var b=s(a,this.xPct);return{stepBefore:{startValue:this.xVal[b-2],step:this.xNumSteps[b-2],highestStep:this.xHighestCompleteStep[b-2]},thisStep:{startValue:this.xVal[b-1],step:this.xNumSteps[b-1],highestStep:this.xHighestCompleteStep[b-1]},stepAfter:{startValue:this.xVal[b-0],step:this.xNumSteps[b-0],highestStep:this.xHighestCompleteStep[b-0]}}},y.prototype.countStepDecimals=function(){var a=this.xNumSteps.map(i);return Math.max.apply(null,a)},y.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var T={to:function(a){return void 0!==a&&a.toFixed(2)},from:Number};return{create:S}});\r\n/// \r\n/// \r\n\r\n/* OPTIONS EXPLANATION\r\n * format: the text of the pips will be changed to the return of the function\r\n * behaviour: 'tap': make the closest sliderhandle handle when the slider gets tapped\r\n * connect: [true, false]: can be used to control the bar between the handles, or the edges of the slider. \r\n Pass an array with a boolean for every connecting element, including the edges of the slider. \r\n Pass true to set the bars between the handles, but not between the handles and the sliders edges.\r\n * start: [0]: sets the number of handles and corresponding start positions, relative to range,\r\n * step: 5: to make the handles jump between intervals\r\n * range: min, max, and possible other percentages\r\n * snap: force the slider to jump between the specified values\r\n * orientation: set the slider to 'vertical' or 'horizontal'\r\n */\r\n\r\n/* PIP OPTIONS EXPLANATION\r\n * mode: 'values': pips are generated at value-based positions on the slider\r\n * stepped: true: the pips will be matched to the slider steps\r\n * values: specific pip values\r\n */\r\n\r\nvar Slider = function ($element, suffix, slideroptions, valueoptions) {\r\n if (!$element || !$element.length)\r\n return;\r\n\r\n this.$el = $element;\r\n this.el = $element[0];\r\n this.valuesuffix = suffix;\r\n this.init(slideroptions, valueoptions);\r\n}\r\n\r\nSlider.prototype = {\r\n /* INIT */\r\n SELECTOR_VALUE: '.noUi-value',\r\n SELECTOR_HANDLE: '.noUi-handle',\r\n SELECTOR_CONNECT: '.noUi-connect',\r\n CLASS_CURRENT: 'active',\r\n SELECTOR_MSG: '.lwt-message',\r\n SELECTOR_DROPDOWN_CONTENT: '.dropdown-content',\r\n SELECTOR_DROPDOWN_INPUT: '.dropdown input',\r\n SELECTOR_DROPDOWN: '.dropdown',\r\n\r\n init: function (slideroptions, valueoptions) {\r\n this.setOptions(slideroptions, valueoptions);\r\n this.createNoUiSlider();\r\n this.resetWidthLastValue();\r\n this.setLabel();\r\n this.setEvents();\r\n this.values = slideroptions.start;\r\n },\r\n\r\n createNoUiSlider: function () {\r\n noUiSlider.create(this.el, this.options);\r\n },\r\n\r\n reset: function () {\r\n this.el.noUiSlider.reset();\r\n },\r\n\r\n resetWidthLastValue: function () {\r\n var $last = $(this.SELECTOR_VALUE, this.$el).last();\r\n var left = $last.css('left');\r\n $last.css('left', '').addClass('active').width(Math.ceil($last.width())).css('left', left).removeClass('active');\r\n },\r\n\r\n setOptions: function (slideroptions, valueoptions) {\r\n var pips = null;\r\n if (valueoptions) {\r\n pips = $.extend({\r\n mode: 'values',\r\n stepped: true\r\n }, valueoptions);\r\n\r\n if (this.valuesuffix) {\r\n var self = this;\r\n pips.format = {\r\n 'to': function (value) {\r\n return value.toFixed(0) + self.valuesuffix;\r\n },\r\n 'from': Number\r\n }\r\n }\r\n }\r\n\r\n this.options = $.extend({\r\n behaviour: 'tap',\r\n connect: [true, false],\r\n pips: pips\r\n }, slideroptions);\r\n },\r\n\r\n setLabel: function (value) {\r\n var options = this.el.noUiSlider.options;\r\n var pips = options && options.pips && options.pips.values;\r\n var $label = null;\r\n\r\n if(options.tooltips)\r\n return;\r\n\r\n if (!pips)\r\n return;\r\n\r\n if (!value && value !== 0)\r\n value = options.start;\r\n\r\n for (var i = 0, c = pips.length; i < c; i++) {\r\n if (pips[i] !== value)\r\n continue;\r\n\r\n $label = $('.noUi-value', this.$el).eq(i);\r\n break;\r\n }\r\n\r\n if (!$label || !$label.length)\r\n return;\r\n\r\n $label.addClass(this.CLASS_CURRENT);\r\n },\r\n\r\n setHandleColours: function () {\r\n var colours = this.el.noUiSlider.options.colours;\r\n\r\n if (!colours)\r\n return;\r\n\r\n for (var i = 0, c = colours.length; i < c; i++) {\r\n var $handle = $(this.SELECTOR_HANDLE + ':eq(' + i + ')', this.$el);\r\n\r\n if (!$handle || !$handle.length)\r\n return;\r\n\r\n $handle.addClass(colours[i]);\r\n }\r\n },\r\n\r\n setHandleConnectColour: function () {\r\n var options = this.el.noUiSlider.options;\r\n var colours = options.colours;\r\n var connect = options.connect;\r\n\r\n if (!colours || connect !== true)\r\n return;\r\n\r\n $(this.SELECTOR_CONNECT, this.$el).addClass(colours[0]);\r\n },\r\n\r\n setMaxLock: function (slider, margin, myHandleIndex, handleIndex) {\r\n this.maxLockSlider = slider;\r\n this.maxLockSliderMargin = margin || 0;\r\n this.maxLockSliderHandleIndex = handleIndex || 0;\r\n this.maxLockMyHandleIndex = myHandleIndex || 0;\r\n },\r\n\r\n setMinLock: function (slider, margin, myHandleIndex, handleIndex) {\r\n this.minLockSlider = slider;\r\n this.minLockSliderMargin = margin || 0;\r\n this.minLockSliderHandleIndex = handleIndex || 0;\r\n this.minLockMyHandleIndex = myHandleIndex || 0;\r\n },\r\n\r\n /* GETTERS */\r\n getValues: function () {\r\n return this.values;\r\n },\r\n\r\n getOptions: function () {\r\n return this.el && this.el.noUiSlider && this.el.noUiSlider.options;\r\n },\r\n\r\n getMaxValueByMaxLock: function () {\r\n return this.maxLockSlider.getValues()[this.maxLockSliderHandleIndex] - this.maxLockSliderMargin;\r\n },\r\n\r\n getMinValueByMinLock: function () {\r\n return this.minLockSlider.getValues()[this.minLockSliderHandleIndex] + this.minLockSliderMargin;\r\n },\r\n\r\n getNoUiSlider: function () {\r\n return this.el.noUiSlider;\r\n },\r\n\r\n getSettingName: function () {\r\n return this.$el.data('setting');\r\n },\r\n\r\n /* SETTERS */\r\n updateOptions: function (options) {\r\n if (!this.el || !this.el.noUiSlider)\r\n return;\r\n\r\n this.el.noUiSlider.updateOptions(options);\r\n },\r\n\r\n setByUnencoded:function(unencoded) {\r\n this.el.noUiSlider.set(unencoded);\r\n },\r\n\r\n /* UPDATE HTML */\r\n updateCurrentLabel: function (unencoded) {\r\n $(this.SELECTOR_VALUE, this.$el).removeClass(this.CLASS_CURRENT);\r\n\r\n for (var i = 0, c = unencoded.length; i < c; i++) {\r\n this.setLabel(unencoded[i]);\r\n }\r\n },\r\n\r\n /* VALIDATE */\r\n validateValuesWithMaxLockSlider: function (value) {\r\n var lockvalue = this.getMaxValueByMaxLock();\r\n\r\n if (value < lockvalue)\r\n return true;\r\n\r\n return false;\r\n },\r\n\r\n validateValuesWithMinLockSlider: function (value) {\r\n if (value > this.getMinValueByMinLock())\r\n return true;\r\n\r\n return false;\r\n },\r\n\r\n /* EVENTS */\r\n valueClicked: function (evt) {\r\n var $value = $(evt.currentTarget);\r\n\r\n this.el.noUiSlider.set($value.text().replace(this.valuesuffix, ''));\r\n $(this.SELECTOR_VALUE, this.$el).removeClass(this.CLASS_CURRENT);\r\n $value.addClass(this.CLASS_CURRENT);\r\n },\r\n\r\n onSlide: function (values, handle, unencoded, tap, positions) {\r\n var selectedDiv = $(this.SELECTOR_MSG, this.$msg);\r\n var dropdownInput = $(this.SELECTOR_DROPDOWN_INPUT, this.$dropdownInput)\r\n var dropdown = $(this.SELECTOR_DROPDOWN)[0]\r\n console.log(selectedDiv);\r\n console.log($(this.SELECTOR_DROPDOWN))\r\n\r\n $(this.SELECTOR_DROPDOWN)[0].Dropdown.resetSelectedOptions()\r\n \r\n if (parseInt(values[1], 10) < 55) {\r\n selectedDiv.css('visibility', 'hidden');\r\n dropdownInput.val(5)\r\n dropdown.Dropdown.setSelectedOption($('.dropdown-content [data-val=\"5\"]'))\r\n $('.dropdown-content [data-val=\"5\"]').show();\r\n dropdownInput.prop('disabled', false);\r\n dropdownInput.css('color', '#455a68');\r\n } \r\n else {\r\n selectedDiv.css('visibility', 'visible');\r\n dropdownInput.val(10)\r\n $('.dropdown-content [data-val=\"5\"]').hide();\r\n dropdownInput.prop('disabled', true);\r\n dropdownInput.css('color', '#c1c4c8');\r\n } \r\n\r\n\r\n if (this.maxLockSlider && handle === this.maxLockMyHandleIndex && !this.validateValuesWithMaxLockSlider(unencoded[handle])) {\r\n this.values[handle] = this.getMaxValueByMaxLock();\r\n this.el.noUiSlider.set(this.values);\r\n return;\r\n }\r\n\r\n if (this.minLockSlider && handle === this.minLockMyHandleIndex && !this.validateValuesWithMinLockSlider(unencoded[handle])) {\r\n this.values[handle] = this.getMinValueByMinLock();\r\n this.el.noUiSlider.set(this.values);\r\n return;\r\n }\r\n\r\n this.values = unencoded;\r\n this.updateCurrentLabel(unencoded);\r\n },\r\n\r\n onSet: function (values, handle, unencoded, tap, positions) {\r\n this.values = unencoded;\r\n },\r\n\r\n setEvents: function () {\r\n if (this.$el.hasClass('read-only')) {\r\n this.el.setAttribute('disabled', true);\r\n } else {\r\n $(this.SELECTOR_VALUE, this.$el).click(this.valueClicked.bind(this));\r\n this.el.noUiSlider.on('slide', this.onSlide.bind(this));\r\n this.el.noUiSlider.on('set', this.onSet.bind(this));\r\n }\r\n }\r\n}\r\n\r\n$(document).ready(function() {\r\n new SliderGroupController().init();\r\n});\r\n\r\nvar SliderGroupController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n sliderGroup: '.slider-group',\r\n slider: '.slider',\r\n minValue: '.min-value',\r\n maxValue: '.max-value',\r\n stepValue: '.step-value',\r\n currentValue: '.current-value',\r\n pipValues: '.pips-values option',\r\n minTranslation: '.translation-min-value',\r\n maxTranslation: '.translation-max-value',\r\n currentTranslation: '.translation-current-value',\r\n tooltips: '.noUi-tooltip',\r\n handles: '.noUi-origin'\r\n },\r\n initSlider: function($element) {\r\n var $slider = $(_.SELECTOR.slider, $element);\r\n var minimum = parseInt($(_.SELECTOR.minValue, $element).val());\r\n var maximum = parseInt($(_.SELECTOR.maxValue, $element).val());\r\n var current = parseInt($(_.SELECTOR.currentValue, $element).val());\r\n\r\n var stepValue = $(_.SELECTOR.stepValue, $element).val();\r\n var $pipValues = $(_.SELECTOR.pipValues, $element);\r\n\r\n var minimumTranslation = $(_.SELECTOR.minTranslation).val();\r\n var maximumTranslation = $(_.SELECTOR.maxTranslation).val();\r\n var currentTranslation = $(_.SELECTOR.currentTranslation).val();\r\n\r\n var slider = new Slider($slider, null, {\r\n start: [minimum, current, maximum],\r\n connect: [true, true, true, true],\r\n range: {\r\n min: minimum,\r\n max: maximum\r\n },\r\n tooltips: true,\r\n format: {\r\n to: function(value) {\r\n return value.toFixed(0) + ' °C';\r\n },\r\n from: function(value) {\r\n return value.replace(' °C', '');\r\n }\r\n }\r\n });\r\n\r\n var $tooltips = $(_.SELECTOR.tooltips, $slider);\r\n $tooltips\r\n .eq(0)\r\n .attr('data-translation', minimumTranslation)\r\n .addClass('align-left');\r\n $tooltips.eq(1).attr('data-translation', currentTranslation);\r\n $tooltips\r\n .eq(2)\r\n .attr('data-translation', maximumTranslation)\r\n .addClass('align-right');\r\n\r\n var $handles = $(_.SELECTOR.handles, $slider);\r\n $handles.eq(0).attr('disabled', true);\r\n $handles.eq(2).attr('disabled', true);\r\n\r\n if (stepValue) {\r\n $slider[0].noUiSlider.updateOptions(\r\n {\r\n step: parseInt(stepValue)\r\n },\r\n true\r\n );\r\n } else if (!!$pipValues.length) {\r\n var pipValues = $.map($pipValues, function(pipValue, index) {\r\n return parseInt($(pipValue).val());\r\n });\r\n var min = Math.min.apply(null, pipValues);\r\n var max = Math.max.apply(null, pipValues);\r\n var range = {};\r\n for (var i = 0; i < pipValues.length; i++) {\r\n var pipValue = pipValues[i];\r\n var key = '';\r\n if (pipValue === min) {\r\n key = 'min';\r\n } else if (pipValue === max) {\r\n key = 'max';\r\n } else {\r\n key = ((pipValue - min) * 100) / (max - min) + '%';\r\n }\r\n\r\n range[key] = [pipValue, pipValue, pipValue];\r\n }\r\n\r\n $slider[0].noUiSlider.updateOptions({\r\n range: range,\r\n pips: {\r\n mode: 'values',\r\n values: pipValues,\r\n stepped: true\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function sliderGroupController() {}\r\n\r\n sliderGroupController.prototype = {\r\n init: function() {\r\n $(_.SELECTOR.sliderGroup).each(function(i, sliderGroup) {\r\n _.initSlider($(sliderGroup));\r\n });\r\n }\r\n };\r\n return sliderGroupController;\r\n})();\r\n\r\n$(document).ready(function () {\r\n new SoundPressureController().init();\r\n});\r\n\r\nvar SoundPressureController = function () {}\r\nSoundPressureController.prototype = {\r\n init: function ($container) {\r\n $('.sound-pressure-group', $container).each(function (i, soundPressure) {\r\n new SoundPressure().init($(soundPressure));\r\n })\r\n }\r\n};\r\n\r\nvar SoundPressure = (function () {\r\n var _ = {\r\n SELECTOR: {\r\n stopPoint: '.sound-pressure-stop-points',\r\n gradient: '.sound-gradient',\r\n background: '.sound-background',\r\n maximum: '.sound-pressure-maximum',\r\n label: '.sound-pressure span'\r\n },\r\n ATTRIBUTE: {\r\n width: 'width',\r\n x: 'x'\r\n },\r\n CLASS: {\r\n warningTrigger: 'sound-pressure-warning-trigger',\r\n warning: 'warning'\r\n },\r\n getSelectedStopPoint: function ($el) {\r\n var $stopPoint = $(_.SELECTOR.stopPoint, $el).find(':selected');\r\n\r\n return parseInt($stopPoint.text());\r\n },\r\n setToStopPoint: function ($el) {\r\n var stopPoint = _.getSelectedStopPoint($el);\r\n var maximum = parseInt($(_.SELECTOR.maximum, $el).val());\r\n var initialWidth = $(_.SELECTOR.gradient, $el).width();\r\n var $background = $(_.SELECTOR.background, $el);\r\n var $label = $(_.SELECTOR.label, $el);\r\n\r\n var width = initialWidth / maximum * (maximum - stopPoint);\r\n var left = initialWidth - width;\r\n\r\n if (isNaN(width) || isNaN(left)) {\r\n return;\r\n }\r\n\r\n $label.text(stopPoint);\r\n $background\r\n .attr(_.ATTRIBUTE.width, width)\r\n .attr(_.ATTRIBUTE.x, left);\r\n },\r\n\r\n showOrHideWarning: function ($el) {\r\n if ($(_.SELECTOR.stopPoint, $el).find(':selected').hasClass(_.CLASS.warningTrigger)) {\r\n $el.addClass(_.CLASS.warning);\r\n } else {\r\n $el.removeClass(_.CLASS.warning);\r\n }\r\n }\r\n };\r\n\r\n function soundPressure() {}\r\n soundPressure.prototype = {\r\n init: function ($el) {\r\n if (!$el || !$el.length) {\r\n return;\r\n }\r\n\r\n this.$el = $el;\r\n $el[0].SoundPressure = this;\r\n\r\n _.setToStopPoint($el);\r\n },\r\n setByTrigger: function (trigger) {\r\n $(_.SELECTOR.stopPoint, this.$el).val(trigger);\r\n _.setToStopPoint(this.$el);\r\n _.showOrHideWarning(this.$el);\r\n }\r\n };\r\n return soundPressure;\r\n})();\r\n$(document).ready(function () {\r\n new TabGroupController().init();\r\n});\r\n\r\nvar TabGroupController = (function () {\r\n var _ = {\r\n SELECTOR: {\r\n tabGroup: '.tab-group'\r\n }\r\n };\r\n\r\n function tabGroupController() {}\r\n tabGroupController.prototype = {\r\n init: function ($container) {\r\n $(_.SELECTOR.tabGroup, $container).each(function (i, tabgroup) {\r\n new TabGroup($(tabgroup)).init();\r\n });\r\n }\r\n };\r\n\r\n return tabGroupController;\r\n}());\r\n\r\nvar TabGroup = function ($el) {\r\n this.$el = $el;\r\n};\r\n\r\nTabGroup.SELECTOR_TAB = '.tab';\r\nTabGroup.SELECTOR_TAB_CONTENT = '.tab-content';\r\nTabGroup.CLASS_ACTIVE = 'active';\r\nTabGroup.CLASS_SHOW = 'show';\r\nTabGroup.prototype = {\r\n init: function () {\r\n this.setEvents();\r\n },\r\n\r\n /* UPDATE HTML */\r\n /*______________*/\r\n setAllTabsToNotActive: function () {\r\n $(TabGroup.SELECTOR_TAB, this.$el).removeClass(TabGroup.CLASS_ACTIVE);\r\n this.$el.nextAll(TabGroup.SELECTOR_TAB_CONTENT).removeClass(TabGroup.CLASS_SHOW);\r\n },\r\n\r\n setTabToActive: function ($tab) {\r\n $tab.addClass(TabGroup.CLASS_ACTIVE);\r\n this.$el.nextAll($tab.attr('href') + TabGroup.SELECTOR_TAB_CONTENT).first().addClass(TabGroup.CLASS_SHOW);\r\n },\r\n\r\n /* EVENTS */\r\n /*__________*/\r\n tabClicked: function (evt) {\r\n evt.preventDefault();\r\n\r\n var $tab = $(evt.currentTarget);\r\n this.setAllTabsToNotActive();\r\n this.setTabToActive($tab);\r\n },\r\n\r\n setEvents: function () {\r\n $(TabGroup.SELECTOR_TAB, this.$el).click(this.tabClicked.bind(this));\r\n }\r\n}\r\n/// \r\n$(document).ready(function() {\r\n new HeaderAnimator().init();\r\n});\r\n\r\nvar HeaderAnimator = function () { };\r\n\r\nHeaderAnimator.prototype = {\r\n init: function () {\r\n this.initVariables();\r\n this.setEvents();\r\n },\r\n\r\n initVariables: function () {\r\n this.minimumScroll = 80; // Minimum scrollheight to show the header (ideally the height of the header)\r\n this.prevScrollTop = -1;\r\n this.startScrollTop = -1;\r\n this.direction = 0;\r\n this.prevDirection = 0;\r\n },\r\n\r\n /* SETTERS */\r\n /*__________*/\r\n setDirection: function (delta) {\r\n //1 is down, -1 is up, 0 is no scroll\r\n\r\n if (delta !== 0) {\r\n this.direction = delta >= 0 ? 1 : -1;\r\n } else {\r\n this.direction = 0;\r\n }\r\n },\r\n\r\n setStartScrollTop: function (scrollTop) {\r\n this.startScrollTop = scrollTop;\r\n },\r\n\r\n /* CHECKS */\r\n /*_________*/\r\n previousScrollTopHasInitValue: function () {\r\n return this.prevScrollTop === -1;\r\n },\r\n\r\n /* CALCULATIONS */\r\n /*_______________*/\r\n determineScrollTop: function () {\r\n var scrollTop = $(window).scrollTop();\r\n\r\n //For iOS and other OS with bump animations on top, show the search box when you arrive at the top of the page\r\n if (scrollTop < this.minimumScroll) {\r\n scrollTop = 0;\r\n }\r\n\r\n return scrollTop;\r\n },\r\n\r\n determineDelta: function (scrollTop) {\r\n return scrollTop - this.prevScrollTop;\r\n },\r\n\r\n /* EVENTS */\r\n /*__________*/\r\n documentScrolled: function () {\r\n var scrollTop = this.determineScrollTop();\r\n\r\n if (this.previousScrollTopHasInitValue()) {\r\n this.setStartScrollTop(scrollTop);\r\n } else {\r\n var delta = this.determineDelta(scrollTop);\r\n this.setDirection(delta);\r\n }\r\n\r\n //If the direction is different and up or down, reset the startscroll\r\n if (this.direction !== this.prevDirection) {\r\n if (this.prevDirection !== 0) {\r\n this.setStartScrollTop(scrollTop);\r\n }\r\n\r\n this.prevDirection = this.direction;\r\n }\r\n\r\n //See how much has been scrolled and in what direction to show or hide the search box\r\n var scrollDelta = Math.abs(scrollTop - this.startScrollTop);\r\n var $body = $('body');\r\n if (scrollDelta > 0 && this.direction === 1) {\r\n $body.addClass('hideheader');\r\n } else if (scrollDelta > this.minimumScroll && this.direction === -1) {\r\n $body.removeClass('hideheader');\r\n }\r\n\r\n this.prevScrollTop = scrollTop;\r\n },\r\n\r\n iosDocumentScrolled: function () {\r\n var scrollTop = $(window).scrollTop();\r\n this.prevScrollTop = scrollTop;\r\n this.startScrollTop = scrollTop;\r\n this.direction = 0;\r\n this.prevDirection = 0;\r\n },\r\n\r\n setEvents: function () {\r\n var $document = $(document);\r\n\r\n $document.on('scroll', this.documentScrolled.bind(this));\r\n\r\n if (device.ios() && window.navigator.standalone) {\r\n $document.on('touchstart', this.documentScrolled.bind(this));\r\n $document.on('touchend', this.documentScrolled.bind(this));\r\n $document.on('scroll', this.iosDocumentScrolled.bind(this), 250);\r\n }\r\n }\r\n}\r\n$(document).ready(function () {\r\n new ReturnToHsnController().init();\r\n});\r\n\r\nvar ReturnToHsnController = function () { };\r\n\r\nReturnToHsnController.redirectToHsn = function () {\r\n window.location = $('#hsn-url').val();\r\n};\r\n\r\nReturnToHsnController.prototype = {\r\n init: function () {\r\n $(\".return-to-hsn\").click(this.returnToHsnClicked.bind(this));\r\n $(\"input[name=returntohsn-group]\").change(\r\n this.returnToHsnRadioButtonChanged.bind(this)\r\n );\r\n $('#save-project').on('click', this.saveProjectButtonClicked.bind(this));\r\n },\r\n\r\n returnToHsnRadioButtonChanged: function (event) {\r\n var value = $('input[name=returntohsn-group]:checked').val();\r\n\r\n if (value === '1') {\r\n this.saveProject();\r\n } else {\r\n ReturnToHsnController.redirectToHsn();\r\n }\r\n },\r\n\r\n returnToHsnClicked: function (event) {\r\n event.preventDefault();\r\n new Popup().show($(\".popup.return-to-hsn-popup\"));\r\n },\r\n\r\n saveProjectButtonClicked: function (event) {\r\n event.preventDefault();\r\n this.saveProject();\r\n },\r\n\r\n saveProject: function () {\r\n new Popup().hide($('.popup.return-to-hsn-popup'));\r\n new Popup().show($('.popup.load-hsn-popup'));\r\n\r\n AjaxCall.send(\"/HSN/saveproject\", {}, function (response, errorHappened) {\r\n if (errorHappened === true) {\r\n $('input[name=returntohsn-group]').prop('checked', false);\r\n } else {\r\n ReturnToHsnController.redirectToHsn();\r\n }\r\n });\r\n }\r\n};\r\n\r\n/// \r\n$(document).ready(function() {\r\n new RoomHeaderAnimator().init();\r\n});\r\n\r\nvar RoomHeaderAnimator = function() {};\r\nRoomHeaderAnimator.prototype = {\r\n init: function() {\r\n this.initVariables();\r\n this.setEvents();\r\n },\r\n initVariables: function() {\r\n this.minimumScroll = 20; // Minimum scrollheight to show the header (ideally the height of the header) --> changed this so the scroll is the same as when the room header sticks to the subheader\r\n this.prevScrollTop = -1;\r\n this.startScrollTop = -1;\r\n this.direction = 0;\r\n this.prevDirection = 0;\r\n },\r\n /* SETTERS */\r\n /*__________*/\r\n setDirection: function(delta) {\r\n //1 is down, -1 is up, 0 is no scroll\r\n if (delta !== 0) {\r\n this.direction = delta >= 0 ? 1 : -1;\r\n } else {\r\n this.direction = 0;\r\n }\r\n },\r\n setStartScrollTop: function(scrollTop) {\r\n this.startScrollTop = scrollTop;\r\n },\r\n /* CHECKS */\r\n /*_________*/\r\n previousScrollTopHasInitValue: function() {\r\n return this.prevScrollTop === -1;\r\n },\r\n /* CALCULATIONS */\r\n /*_______________*/\r\n determineScrollTop: function() {\r\n var scrollTop = $(window).scrollTop();\r\n //For iOS and other OS with bump animations on top, show the search box when you arrive at the top of the page\r\n if (scrollTop < this.minimumScroll) {\r\n scrollTop = 0;\r\n }\r\n return scrollTop;\r\n },\r\n determineDelta: function(scrollTop) {\r\n return scrollTop - this.prevScrollTop;\r\n },\r\n /* EVENTS */\r\n /*__________*/\r\n documentScrolled: function() {\r\n var scrollTop = this.determineScrollTop();\r\n if (this.previousScrollTopHasInitValue()) {\r\n this.setStartScrollTop(scrollTop);\r\n } else {\r\n var delta = this.determineDelta(scrollTop);\r\n this.setDirection(delta);\r\n }\r\n //If the direction is different and up or down, reset the startscroll\r\n if (this.direction !== this.prevDirection) {\r\n if (this.prevDirection !== 0) {\r\n this.setStartScrollTop(scrollTop);\r\n }\r\n this.prevDirection = this.direction;\r\n }\r\n //See how much has been scrolled and in what direction to show or hide the search box\r\n var scrollDelta = Math.abs(scrollTop - this.startScrollTop);\r\n var $body = $(\"body\");\r\n if (scrollDelta > 20 && this.direction === 1) {\r\n $body.addClass(\"hideroomheader\");\r\n } else if (scrollTop <= this.minimumScroll && this.direction === -1) {\r\n $body.removeClass(\"hideroomheader\");\r\n }\r\n this.prevScrollTop = scrollTop;\r\n },\r\n iosDocumentScrolled: function() {\r\n var scrollTop = $(window).scrollTop();\r\n this.prevScrollTop = scrollTop;\r\n this.startScrollTop = scrollTop;\r\n this.direction = 0;\r\n this.prevDirection = 0;\r\n },\r\n setEvents: function() {\r\n var $document = $(document);\r\n $document.on(\"scroll\", this.documentScrolled.bind(this));\r\n if (device.ios() && window.navigator.standalone) {\r\n $document.on(\"touchstart\", this.documentScrolled.bind(this));\r\n $document.on(\"touchend\", this.documentScrolled.bind(this));\r\n $document.on(\"scroll\", this.iosDocumentScrolled.bind(this), 250);\r\n }\r\n }\r\n};\r\n\r\n// This part is used to fix a bug with onbeforeunload. This is needed for Safari on Mac. Safari has a feature which caches the page aggressively.\r\n// Alas Safari also has a bug that it does not take AJAX updates into account. Which resulted\r\n// in old data that was shown when the back button was pressed.\r\n// The isRefresh property is set because the onbeforeunload event is called when we do a 'location.reload'\r\n// and the old data that Safari shows would be saved and would overwrite the data of the item that should be shown.\r\nwindow.onpageshow = function(event) {\r\n if (event.persisted) {\r\n window.isRefresh = true;\r\n window.location.reload();\r\n }\r\n};\r\n\r\n// This is needed because window.onerror is not always called so we try/catch our routes en\r\nfunction wrapErrors(fn) {\r\n // don't wrap function more than once\r\n if (!fn.__wrapped__) {\r\n fn.__wrapped__ = function() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n if (isProduction) {\r\n Sentry.captureException(e);\r\n } else {\r\n throw e; // re-throw the error\r\n }\r\n }\r\n };\r\n }\r\n\r\n return fn.__wrapped__;\r\n}\r\n\r\nfunction addRoute(routes, route, routeFn) {\r\n routes[route] = wrapErrors(routeFn);\r\n}\r\n\r\n$(document).ready(function() {\r\n if (isProduction) {\r\n Sentry.init({\r\n dsn: sentryDsn,\r\n release: assetVersion,\r\n environment: sentryEnvironment\r\n });\r\n }\r\n\r\n window.async = true;\r\n var routes = new Array();\r\n addRoute(routes, \"/projectinfo\", function() {\r\n new ProjectInfoController().init();\r\n new SaveProjectController().init();\r\n });\r\n\r\n addRoute(routes, \"/zone\", function() {\r\n new ZoneOverviewController().init();\r\n });\r\n\r\n addRoute(routes, \"/room\", function() {\r\n new FanSelectionController().init();\r\n new CalculateCapacityController().init();\r\n new UpdateOptionsController().init();\r\n new UpdateSpeedController().init();\r\n new SaveFanCoilController().init();\r\n });\r\n\r\n addRoute(routes, \"/equipmentlist\", function() {\r\n new EquipmentListController().init();\r\n });\r\n\r\n for (var route in routes) {\r\n if (window.location.pathname.toLowerCase().indexOf(route) > -1) {\r\n try {\r\n routes[route]();\r\n } catch (e) {\r\n console.error(e.stack);\r\n }\r\n }\r\n }\r\n});\r\n\r\n/// https://css-tricks.com/guides/form-validation/\r\n$(document).ready(function() {\r\n new FormValidator().init();\r\n});\r\n\r\nvar FormValidator = (function() {\r\n var _ = {\r\n SELECTOR_FORM: \"form.validate\",\r\n SELECTOR_FORM_EMAIL_VALIDATION: \"form.validate-email\",\r\n SELECTOR_INPUT: \".input\",\r\n SELECTOR_NUMERIC_INPUT: \".numeric-input\",\r\n SELECTOR_CHECKBOX: \".checkbox-group\",\r\n SELECTOR_DROPDOWN: \".dropdown\",\r\n SELECTOR_SUBMIT: \"button[type=submit]\",\r\n\r\n SELECTOR_ERROR: \".error\",\r\n SELECTOR_VALUE_MISSING: \".error.value-missing\",\r\n SELECTOR_TYPE_MISMATCH: \".error.type-mismatch\",\r\n //SELECTOR_TOO_SHORT: '.error.too-short',\r\n SELECTOR_TOO_LONG: \".error.too-long\",\r\n SELECTOR_BAD_INPUT: \".error.bad-input\",\r\n //SELECTOR_STEP_MISMATCH: '.error.step-mismatch',\r\n SELECTOR_RANGE_UNDERFLOW: \".error.range-underflow\",\r\n SELECTOR_RANGE_OVERFLOW: \".error.range-overflow\",\r\n SELECTOR_PATTERN_MISMATCH: \".error.pattern-mismatch\",\r\n SELECTOR_GENERAL: \".error.general\",\r\n\r\n SELECTOR_EMAIL_VALIDATION_URL: \"input[name=EmailValidationUrl]\",\r\n\r\n CLASS_FAULT: \"fault\",\r\n CLASS_VALIDATE: \"validate\",\r\n\r\n ATTRIBUTE_DATA_LOADER_TARGET: \"data-loader-target\",\r\n\r\n hasError: function(element) {\r\n var $element = $(element);\r\n\r\n // Don't validate submits, buttons, file and reset inputs, and disabled fields\r\n if (\r\n element.disabled ||\r\n element.type === \"file\" ||\r\n element.type === \"reset\" ||\r\n element.type === \"submit\" ||\r\n element.type === \"button\"\r\n )\r\n return null;\r\n\r\n // If not visible, return null (do not do check this if it is a checkbox or a select)\r\n if (\r\n !$element.is(\":visible\") &&\r\n !$element.is(\":checkbox\") &&\r\n !$element.is(\"select\")\r\n )\r\n return null;\r\n\r\n // Get validity\r\n var validity = element.validity;\r\n\r\n if (\r\n $element[0].type === \"email\" &&\r\n $element.parents(_.SELECTOR_FORM_EMAIL_VALIDATION).length &&\r\n !_.isEmailValid($element.val())\r\n ) {\r\n return $element.nextAll(_.SELECTOR_BAD_INPUT);\r\n }\r\n\r\n if (!validity) {\r\n return null;\r\n }\r\n\r\n var $numeric = $element.parents(_.SELECTOR_NUMERIC_INPUT);\r\n if (\r\n $numeric.length > 0 &&\r\n typeof NumericInput !== typeof undefined &&\r\n !!$numeric[0].NumericInput\r\n ) {\r\n var numericInput = $numeric[0].NumericInput;\r\n var value = $.global.parseFloat($element.val());\r\n\r\n if (!element.required && !$element.val()) {\r\n return null;\r\n }\r\n\r\n if (\r\n !!numericInput.isLargerThanMinimumValue &&\r\n !numericInput.isLargerThanMinimumValue(value)\r\n ) {\r\n return $element.nextAll(_.SELECTOR_RANGE_UNDERFLOW);\r\n }\r\n\r\n if (\r\n !!numericInput.isSmallerThanMaximumValue &&\r\n !numericInput.isSmallerThanMaximumValue(value)\r\n ) {\r\n return $element.nextAll(_.SELECTOR_RANGE_OVERFLOW);\r\n }\r\n }\r\n\r\n var $dropdown = $element.parents(_.SELECTOR_DROPDOWN);\r\n if ($dropdown.length > 0 && $element.is(\"select\") && element.required) {\r\n var $selected = $element.find(\":selected\");\r\n\r\n if (!$selected.attr(\"value\")) {\r\n return $element.nextAll(_.SELECTOR_VALUE_MISSING);\r\n }\r\n }\r\n\r\n // If valid, return null\r\n if (validity.valid) return null;\r\n\r\n // If field is required and empty\r\n if (validity.valueMissing)\r\n return $element.nextAll(_.SELECTOR_VALUE_MISSING);\r\n\r\n // If not the right type\r\n if (validity.typeMismatch)\r\n return $element.nextAll(_.SELECTOR_TYPE_MISMATCH);\r\n\r\n // If too short\r\n //if (validity.tooShort) return 'Please lengthen this text.';\r\n\r\n // If too long\r\n if (validity.tooLong) return $element.nextAll(_.SELECTOR_TOO_LONG);\r\n\r\n // If number input isn't a number\r\n if (validity.badInput) return $element.nextAll(_.SELECTOR_BAD_INPUT);\r\n\r\n // If a number value doesn't match the step interval\r\n //if (validity.stepMismatch) return 'Please select a valid value.';\r\n\r\n // If a number field is over the max\r\n if (validity.rangeOverflow)\r\n return $element.nextAll(_.SELECTOR_RANGE_OVERFLOW);\r\n\r\n // If a number field is below the min\r\n if (validity.rangeUnderflow)\r\n return $element.nextAll(_.SELECTOR_RANGE_UNDERFLOW);\r\n\r\n // If pattern doesn't match\r\n if (validity.patternMismatch)\r\n return $element.nextAll(_.SELECTOR_PATTERN_MISMATCH);\r\n\r\n // If all else fails, return a generic catchall error\r\n return $element.nextAll(_.SELECTOR_GENERAL);\r\n },\r\n\r\n showError: function($element, $error) {\r\n var parentSelector = [\r\n _.SELECTOR_INPUT,\r\n _.SELECTOR_NUMERIC_INPUT,\r\n _.SELECTOR_CHECKBOX,\r\n _.SELECTOR_DROPDOWN\r\n ].join(\", \");\r\n\r\n $element.parents(parentSelector).addClass(_.CLASS_FAULT);\r\n $element.nextAll(_.SELECTOR_ERROR).hide();\r\n $error.show();\r\n },\r\n\r\n hideError: function($element) {\r\n var parentSelector = [\r\n _.SELECTOR_INPUT,\r\n _.SELECTOR_NUMERIC_INPUT,\r\n _.SELECTOR_CHECKBOX,\r\n _.SELECTOR_DROPDOWN\r\n ].join(\", \");\r\n\r\n $element.parents(parentSelector).removeClass(_.CLASS_FAULT);\r\n $element.nextAll(_.SELECTOR_ERROR).hide();\r\n },\r\n\r\n isFormValid: function(elements) {\r\n var $error,\r\n firstElementWithError = null,\r\n element,\r\n $element;\r\n\r\n for (var i = 0, c = elements.length; i < c; i++) {\r\n element = elements[i];\r\n $element = $(element);\r\n $error = _.hasError(element);\r\n\r\n if ($error) {\r\n _.showError($element, $error);\r\n } else {\r\n _.hideError($element);\r\n continue;\r\n }\r\n\r\n if (!firstElementWithError) {\r\n firstElementWithError = element;\r\n }\r\n }\r\n\r\n return firstElementWithError;\r\n },\r\n\r\n isEmailValid: function(email) {\r\n var url = $(_.SELECTOR_EMAIL_VALIDATION_URL).val();\r\n if (url.indexOf(\"?currentuserid\") > -1) {\r\n url += \"&\";\r\n } else {\r\n url += \"?\";\r\n }\r\n url += \"email=\" + email;\r\n var isValid = false;\r\n\r\n $.ajax({\r\n url: url,\r\n type: \"GET\",\r\n contentType: \"application/json; charset=utf-8\",\r\n async: false,\r\n timeout: 1000, // sets timeout to 1 second,\r\n error: function() {\r\n isValid = false;\r\n },\r\n success: function(data) {\r\n if (!data.alreadyUsed) {\r\n //email has not been found\r\n isValid = true;\r\n } else if (data.myEmail) {\r\n //found as my own email\r\n isValid = true;\r\n } else {\r\n isValid = false;\r\n }\r\n }\r\n });\r\n\r\n return isValid;\r\n },\r\n\r\n elementBlurred: function(evt) {\r\n var $element = $(evt.target);\r\n\r\n if (!$element.parents(_.SELECTOR_FORM).length) {\r\n return;\r\n }\r\n\r\n var $error = _.hasError(evt.target);\r\n\r\n if ($error) {\r\n _.showError($element, $error);\r\n } else {\r\n _.hideError($element);\r\n }\r\n },\r\n\r\n formSubmitted: function(evt) {\r\n var elements = evt.currentTarget.elements;\r\n var firstElementWithError = _.isFormValid(elements);\r\n\r\n if (firstElementWithError) {\r\n evt.preventDefault();\r\n firstElementWithError.focus();\r\n return false;\r\n }\r\n\r\n var $submit = $(_.SELECTOR_SUBMIT, evt.currentTarget);\r\n if ($submit.length) {\r\n $submit[0].disabled = true;\r\n }\r\n\r\n $(\".loader\").trigger(\"custom_show\");\r\n\r\n return true;\r\n }\r\n };\r\n\r\n function formValidator() {}\r\n\r\n formValidator.prototype = {\r\n init: function() {\r\n $(_.SELECTOR_FORM)\r\n .attr(\"novalidate\", true)\r\n .on(\"submit\", _.formSubmitted);\r\n document.addEventListener(\"blur\", _.elementBlurred, true);\r\n $(document).on(\"change\", _.elementBlurred);\r\n },\r\n\r\n initForm: function($form) {\r\n if (!$form.hasClass(_.CLASS_VALIDATE)) {\r\n return;\r\n }\r\n\r\n $form.attr(\"novalidate\", true).on(\"submit\", _.formSubmitted);\r\n },\r\n\r\n isEditValid: function($edit) {\r\n if (!$edit.hasClass(_.CLASS_VALIDATE)) {\r\n return true;\r\n }\r\n\r\n var $elements = $(\".numeric-input input, .input input\", $edit);\r\n var elements = [];\r\n\r\n for (var i = 0, c = $elements.length; i < c; i++) {\r\n elements.push($elements.eq(i)[0]);\r\n }\r\n\r\n var firstElementWithError = _.isFormValid(elements);\r\n\r\n if (firstElementWithError) {\r\n firstElementWithError.focus();\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n return formValidator;\r\n})();\r\n\r\n/// \r\n///\r\n\r\n$(document).ready(function () {\r\n new LoaderController().init();\r\n});\r\n\r\nvar LoaderController = function () { };\r\nLoaderController.prototype = {\r\n SELECTOR_ANCHOR: '[data-loader-target]:not(form):not(.save-mode-anchor)',\r\n SELECTOR_LOADER: '.content-loader',\r\n SELECTOR_POPUP_LOADER: '.loader-popup',\r\n\r\n ATTRIBUTE_DATA_LOADER_TARGET: 'data-loader-target',\r\n\r\n init: function($container) {\r\n var self = this;\r\n $(this.SELECTOR_ANCHOR, $container).each(function(i, anchor) {\r\n self.initLoaderFor($(anchor));\r\n });\r\n },\r\n\r\n initLoaderFor: function($anchor) {\r\n var loaderId = $anchor.attr(this.ATTRIBUTE_DATA_LOADER_TARGET);\r\n\r\n var $loader = $(this.SELECTOR_LOADER + '#' + loaderId);\r\n if (!$loader.length) {\r\n $loader = $(this.SELECTOR_POPUP_LOADER + '#' + loaderId);\r\n }\r\n\r\n function onAnchorClick() {\r\n new Loader().show($loader);\r\n }\r\n\r\n $anchor.on('click', onAnchorClick);\r\n },\r\n\r\n showLoaderFor: function($anchor) {\r\n var loaderId = $anchor.attr(this.ATTRIBUTE_DATA_LOADER_TARGET);\r\n\r\n var $loader = $(this.SELECTOR_LOADER + '#' + loaderId);\r\n if (!$loader.length) {\r\n $loader = $(this.SELECTOR_POPUP_LOADER + '#' + loaderId);\r\n }\r\n\r\n if (!$loader.length) {\r\n return;\r\n }\r\n\r\n new Loader().show($loader);\r\n },\r\n\r\n hideLoaderFor: function ($anchor) {\r\n var loaderId = $anchor.attr(this.ATTRIBUTE_DATA_LOADER_TARGET);\r\n\r\n var $loader = $(this.SELECTOR_LOADER + '#' + loaderId);\r\n if (!$loader.length) {\r\n $loader = $(this.SELECTOR_POPUP_LOADER + '#' + loaderId);\r\n }\r\n\r\n if (!$loader.length) {\r\n return;\r\n }\r\n\r\n new Loader().hide($loader);\r\n }\r\n}\r\n\r\nvar Loader = (function () {\r\n var _ = {\r\n class: {\r\n FADE_OUT: 'fade-out',\r\n POPUP:'popup'\r\n }\r\n };\r\n\r\n function loader() {}\r\n\r\n loader.prototype = {\r\n show: function ($loader) {\r\n if ($loader.hasClass(_.class.POPUP) && typeof Popup != 'undefined') {\r\n new Popup().show($loader);\r\n } else {\r\n $loader.removeClass(_.class.FADE_OUT);\r\n }\r\n },\r\n\r\n hide: function($loader) {\r\n if ($loader.hasClass(_.class.POPUP) && typeof Popup != 'undefined') {\r\n new Popup().hide($loader);\r\n } else {\r\n $loader.addClass(_.class.FADE_OUT);\r\n }\r\n }\r\n };\r\n return loader;\r\n}());\r\n/// \r\nvar PopoverController = function () { this.init(); };\r\n\r\nPopoverController.prototype = {\r\n ANCHOR_SELECTOR: '.popover-anchor',\r\n POPOVER_SELECTOR: '.popover',\r\n\r\n init: function ()\r\n {\r\n var $anchors = $(this.ANCHOR_SELECTOR);\r\n\r\n for (var i = 0, c = $anchors.length; i < c; i++) {\r\n var $popover = $anchors.eq(i).nextAll(this.POPOVER_SELECTOR).first();\r\n\r\n new Popover($anchors.eq(i), $popover);\r\n }\r\n }\r\n}\r\nvar Popup = function() {};\r\n\r\nPopup.SELECTOR_POPUP = '.popup';\r\nPopup.CLASS_SHOW = 'show';\r\nPopup.CLASS_DISABLE_SCROLL = 'disable-scroll';\r\n\r\nPopup.prototype = {\r\n show: function($popup) {\r\n $popup.addClass(Popup.CLASS_SHOW);\r\n $popup.parent().css('position', 'fixed');\r\n $('body').addClass(Popup.CLASS_DISABLE_SCROLL);\r\n },\r\n\r\n hide: function ($popup) {\r\n $popup.removeClass(Popup.CLASS_SHOW);\r\n $popup.parent().css('position', '');\r\n $('body').removeClass(Popup.CLASS_DISABLE_SCROLL);\r\n }\r\n}\r\n$(document).ready(function() {\r\n new ShowHideController().init();\r\n});\r\n\r\nvar ShowHideController = function() {};\r\nShowHideController.prototype.init = function($container) {\r\n $(\".show-hide-trigger\", $container).each(function(i, showHide) {\r\n new ShowHide().init($(showHide));\r\n });\r\n};\r\n\r\nvar ShowHide = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n SEGMENT_CONTROL: {\r\n input: \"input[type=radio]\"\r\n }\r\n },\r\n CLASS: {\r\n segmentGroup: \"segment-group\",\r\n hide: \"hide\"\r\n },\r\n ATTRIBUTE: {\r\n name: \"name\"\r\n },\r\n EVENT: {\r\n triggerChanged: function(evt) {\r\n var $trigger = $(evt.currentTarget);\r\n var triggerValue = $trigger.val();\r\n var triggerName = $trigger.attr(_.ATTRIBUTE.name);\r\n var triggerId = triggerName.replace(\"-group\", \"\") + \"-\" + triggerValue;\r\n\r\n _.hideListeners(triggerName + \"-listener\");\r\n _.showListeners(triggerId);\r\n }\r\n },\r\n\r\n isSegmentControl: function($el) {\r\n return $el.hasClass(_.CLASS.segmentGroup);\r\n },\r\n\r\n showListeners: function(listenerClass) {\r\n $(\".\" + listenerClass).removeClass(_.CLASS.hide);\r\n },\r\n\r\n hideListeners: function(listenerClass) {\r\n $(\".\" + listenerClass).addClass(_.CLASS.hide);\r\n }\r\n };\r\n\r\n function showHide() {}\r\n showHide.prototype = {\r\n init: function($el) {\r\n if (!$el || !$el.length) {\r\n return;\r\n }\r\n\r\n if (_.isSegmentControl($el)) {\r\n this.initSegmentControl($el);\r\n }\r\n },\r\n\r\n initSegmentControl: function($el) {\r\n $(_.SELECTOR.SEGMENT_CONTROL.input, $el).change(_.EVENT.triggerChanged);\r\n }\r\n };\r\n return showHide;\r\n})();\r\n\r\nvar CalculateCapacityController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n CALCULATE_CAPACITY: {\r\n segmentgroup: \".calculate-capacity.segment-group:not(.hide) input\",\r\n url: \"#source-calculate-fan-coil-capacity\"\r\n },\r\n FAN_COIL: {\r\n element: \".fan-coil\",\r\n capacityBars: \".capacity-bar\",\r\n specifications: \"#fancoil-specifications\"\r\n },\r\n ROOM: {\r\n id: \"#source-room-id\",\r\n capacityBars: \".footer .capacity-bar\"\r\n },\r\n SPECIFICATION: {\r\n capacity: \".source-capacity-specification div\",\r\n sensibleCapacity: \".source-sensible-capacity-specification div\",\r\n soundPressureLevel: \".source-sound-pressure-specification div\",\r\n soundPower: \".source-sound-power-specification div\",\r\n waterPressureDrop: \".source-water-pressure-drop-specification div\",\r\n waterFlowRate: \".source-water-flow-specification div\",\r\n airFlow: \".source-air-flow-specification div\",\r\n outletAirTemperature:\r\n \".source-outlet-air-temperature-specification div\",\r\n outletAirRelativeHumidity:\r\n \".source-outlet-air-relative-humidity-specification div\",\r\n dehumidication: \".source-dehumidification-specification div\"\r\n }\r\n },\r\n\r\n EVENT: {\r\n calculationParamChanged: function(evt) {\r\n var $param = $(evt.currentTarget);\r\n var $fanCoil = $param.parents(_.SELECTOR.FAN_COIL.element).first();\r\n\r\n _.update($fanCoil);\r\n }\r\n },\r\n ATTRIBUTE: {\r\n SEGMENT: {\r\n ajaxName: \"data-name\"\r\n },\r\n FAN_COIL: {\r\n id: \"data-id\"\r\n }\r\n },\r\n\r\n update: function($fanCoil) {\r\n var url = $(_.SELECTOR.CALCULATE_CAPACITY.url).val();\r\n var json = _.createJson($fanCoil);\r\n\r\n //Send breadcrumb to sentry to easily reproduce the request & response\r\n if (typeof Sentry !== \"undefined\") {\r\n Sentry.addBreadcrumb({\r\n category: \"calculate-capacity\",\r\n message: \"Calculate fan coil capacity\",\r\n level: Sentry.Severity.info,\r\n data: json\r\n });\r\n }\r\n\r\n var callback = function(resp) {\r\n if (!resp) {\r\n return;\r\n }\r\n\r\n if (typeof Sentry !== \"undefined\") {\r\n Sentry.addBreadcrumb({\r\n category: \"calculate-capacity\",\r\n message: \"Capacity fan coil is calculated\",\r\n level: Sentry.Severity.info,\r\n data: resp\r\n });\r\n }\r\n\r\n var coolingCapacityRaw =\r\n resp && resp.CoolingSpecification && resp.CoolingSpecification.CapacityRaw;\r\n var coolingCapacity =\r\n resp && resp.CoolingSpecification && resp.CoolingSpecification.Capacity;\r\n\r\n _.updateCapacityBarGroup(\r\n $fanCoil.find(_.SELECTOR.FAN_COIL.capacityBars),\r\n (resp && resp.HeatingSpecification ) ? resp.HeatingSpecification.CapacityRaw : null,\r\n (resp && resp.HeatingSpecification ) ? resp.HeatingSpecification.Capacity : null,\r\n coolingCapacityRaw,\r\n coolingCapacity\r\n );\r\n _.updateCapacityBarGroup(\r\n $(_.SELECTOR.ROOM.capacityBars),\r\n resp.RoomHeatingCapacity,\r\n resp.RoomHeatingCapacityFormatted,\r\n resp.RoomCoolingCapacity,\r\n resp.RoomCoolingCapacityFormatted\r\n );\r\n\r\n _.updateSpecifications($fanCoil, resp);\r\n };\r\n\r\n AjaxCall.send(url, json, callback);\r\n },\r\n\r\n updateCapacityBarGroup: function(\r\n $capacityBars,\r\n heatingCapacity,\r\n heatingCapacityFormatted,\r\n coolingCapacity,\r\n coolingCapacityFormatted\r\n ) {\r\n var $coolingCapacityBar, $heatingCapacityBar;\r\n if ($capacityBars.length == 2) {\r\n $coolingCapacityBar = $capacityBars.eq(0);\r\n $heatingCapacityBar = $capacityBars.eq(1);\r\n } else {\r\n $heatingCapacityBar = $capacityBars.eq(0);\r\n }\r\n\r\n $heatingCapacityBar[0].CapacityBar.refresh(\r\n heatingCapacity,\r\n heatingCapacityFormatted\r\n );\r\n if (!!$coolingCapacityBar) {\r\n $coolingCapacityBar[0].CapacityBar.refresh(\r\n coolingCapacity,\r\n coolingCapacityFormatted\r\n );\r\n }\r\n },\r\n\r\n updateSpecifications: function($fanCoil, resp) {\r\n var coolingCapacityIndex = !!resp.CoolingSpecification ? 1 : null;\r\n var heatingCapacityIndex = !!resp.CoolingSpecification ? 2 : 1;\r\n\r\n if (!!coolingCapacityIndex) {\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.capacity)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.Capacity);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.sensibleCapacity)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.SensibleCapacity);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.soundPressureLevel)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.SoundPressure);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.soundPower)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.SoundPower);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.waterPressureDrop)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.PressureDrop);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.waterFlowRate)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.WaterFlow);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.airFlow)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.AirFlow);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.outletAirTemperature)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.OutletDbAirTemperature);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.outletAirRelativeHumidity)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.OutletAirRelativeHumidity);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.dehumidication)\r\n .eq(coolingCapacityIndex)\r\n .text(resp.CoolingSpecification.DeHumidification);\r\n }\r\n\r\n if(resp && resp.HeatingSpecification) {\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.capacity)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.Capacity);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.soundPressureLevel)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.SoundPressure);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.soundPower)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.SoundPower);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.waterPressureDrop)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.PressureDrop);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.waterFlowRate)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.WaterFlow);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.airFlow)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.AirFlow);\r\n $fanCoil\r\n .find(_.SELECTOR.SPECIFICATION.outletAirTemperature)\r\n .eq(heatingCapacityIndex)\r\n .text(resp.HeatingSpecification.OutletDbAirTemperature);\r\n } \r\n },\r\n\r\n createJson: function($fanCoil) {\r\n var json = {\r\n Id: $fanCoil.attr(_.ATTRIBUTE.FAN_COIL.id),\r\n RoomId: $(_.SELECTOR.ROOM.id).val()\r\n };\r\n\r\n $fanCoil\r\n .find(_.SELECTOR.CALCULATE_CAPACITY.segmentgroup + \":checked\")\r\n .each(function(i, segment) {\r\n var $segment = $(segment);\r\n json[$segment.attr(_.ATTRIBUTE.SEGMENT.ajaxName)] = $segment.val();\r\n });\r\n\r\n return json;\r\n }\r\n };\r\n\r\n function calculateCapacityController() {}\r\n calculateCapacityController.prototype = {\r\n init: function() {\r\n $(document).on(\r\n \"change\",\r\n _.SELECTOR.CALCULATE_CAPACITY.segmentgroup,\r\n _.EVENT.calculationParamChanged\r\n );\r\n },\r\n\r\n recalculate: function() {\r\n var $lastFanCoil = $(_.SELECTOR.FAN_COIL.element).last();\r\n\r\n _.update($lastFanCoil);\r\n }\r\n };\r\n return calculateCapacityController;\r\n})();\r\n\r\nCalculateCapacityController.recalculate = function() {\r\n new CalculateCapacityController().recalculate();\r\n};\r\n\r\nvar EquipmentListController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n segment: '.segment-group .segment input',\r\n equipmentList: '.table'\r\n },\r\n CLASS: {\r\n hide: 'hide'\r\n },\r\n EVENT: {\r\n groupByChanged: function(evt) {\r\n var $groupBy = $(evt.currentTarget);\r\n var groupByClass = $groupBy.attr('id');\r\n _.hideEquipmentLists();\r\n _.showEquipmentList(groupByClass);\r\n }\r\n },\r\n showEquipmentList: function(groupByClass) {\r\n $(_.SELECTOR.equipmentList + '.' + groupByClass).removeClass(_.CLASS.hide);\r\n },\r\n hideEquipmentLists: function() {\r\n $(_.SELECTOR.equipmentList).addClass(_.CLASS.hide);\r\n }\r\n };\r\n\r\n function equipmentListController() {};\r\n equipmentListController.prototype = {\r\n init: function() {\r\n $(_.SELECTOR.segment).change(_.EVENT.groupByChanged);\r\n }\r\n };\r\n return equipmentListController;\r\n}());\r\nvar FanSelectionController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n roomProperties: \".room > .advanced-property-group\",\r\n ADD_FAN_COIL: {\r\n trigger: \"#source-add-new-fan-coil\",\r\n section: \".add-fan-coil\"\r\n },\r\n DELETE_FANCOIL: {\r\n anchor: \".delete-fancoil\",\r\n target: \".fan-coil\",\r\n popup: \".delete-fan-coil-popup\",\r\n idPlaceholder: \"#fan-coil-id-remove\",\r\n form: \"form\"\r\n },\r\n SOUND_PRESSURE: {\r\n triggerGroup: \".segment-group.sound-pressure-trigger\",\r\n trigger: \"input\",\r\n control: \".sound-pressure-group\"\r\n },\r\n ROOM_TYPE: {\r\n type: \".source-room-type select\",\r\n name: \".source-room-name input\",\r\n temperature: \".source-room-temperature select\",\r\n heatingTemperature: \".source-room-heating-temperature input\"\r\n },\r\n OPTION_DETAIL: {\r\n trigger: \".material-info\",\r\n anchor: \".material-information-anchor\",\r\n titlePlaceholder: \"#source-option-detail-popup-title\",\r\n imagePlaceholder: \"#source-option-detail-popup-image\",\r\n textPlaceholder: \"#source-option-detail-popup-text\",\r\n namePlaceholder: \"#source-option-detail-popup-name\",\r\n popup: \".option-detail-popup\"\r\n }\r\n },\r\n ATTRIBUTE: {\r\n ADD_FAN_COIL_TRIGGER: {\r\n href: \"data-href\"\r\n },\r\n FAN_COIL: {\r\n id: \"data-id\"\r\n },\r\n OPTION_DETAIL: {\r\n title: \"data-popuptitle\",\r\n image: \"data-popupimage\",\r\n text: \"data-popuptext\",\r\n name: \"data-popupname\"\r\n }\r\n },\r\n EVENT: {\r\n documentClicked: function(evt) {\r\n var $originalTarget = $(evt.target);\r\n\r\n if ($originalTarget.parents(_.SELECTOR.roomProperties).length > 0) {\r\n return;\r\n }\r\n\r\n new AdvancedProperty().closeElement();\r\n },\r\n addFanCoilClicked: function() {\r\n _.addNewFanCoil();\r\n },\r\n\r\n deleteFancoilClicked: function(evt) {\r\n var $anchor = $(evt.currentTarget);\r\n var $fanCoil = $anchor\r\n .parents(_.SELECTOR.DELETE_FANCOIL.target)\r\n .first();\r\n\r\n _.setDeletePopup($fanCoil);\r\n _.showDeletePopup();\r\n },\r\n\r\n deleteFanCoilConfirmed: function() {\r\n // NEVER stop the event, the submit is executed through ajax!\r\n\r\n _.deleteFanCoil();\r\n },\r\n\r\n soundPressureTriggerChanged: function(evt) {\r\n var $trigger = $(evt.currentTarget);\r\n var trigger = $trigger.val();\r\n var $group = $trigger\r\n .parents(_.SELECTOR.SOUND_PRESSURE.triggerGroup)\r\n .first();\r\n var $soundPressure = $group\r\n .nextAll(_.SELECTOR.SOUND_PRESSURE.control)\r\n .first();\r\n\r\n $soundPressure[0].SoundPressure.setByTrigger(trigger);\r\n },\r\n\r\n roomTypeChanged: function() {\r\n _.setControlsByRoomType();\r\n },\r\n\r\n optionInfoClicked: function(evt) {\r\n var $trigger = $(evt.currentTarget);\r\n var $anchor = $trigger.prevAll(_.SELECTOR.OPTION_DETAIL.anchor).first();\r\n\r\n _.setOptionDetailPopup($anchor);\r\n _.showOptionDetailPopup();\r\n }\r\n },\r\n\r\n addNewFanCoil: function() {\r\n function callback(html) {\r\n var $fanCoil = $(html);\r\n\r\n //01. add HTML\r\n $fanCoil.insertBefore(_.SELECTOR.ADD_FAN_COIL.section);\r\n\r\n //02. Update capacity\r\n new CalculateCapacityController().recalculate();\r\n\r\n //03. Init controls in new fan coil\r\n new ShowHideController().init($fanCoil);\r\n new CapacityBarController().init($fanCoil);\r\n new TabGroupController().init($fanCoil);\r\n new SoundPressureController().init($fanCoil);\r\n new ListController().init($fanCoil);\r\n }\r\n\r\n var path = $(_.SELECTOR.ADD_FAN_COIL.trigger).attr(\r\n _.ATTRIBUTE.ADD_FAN_COIL_TRIGGER.href\r\n );\r\n AjaxCall.getHtml(path, null, callback);\r\n },\r\n\r\n setDeletePopup: function($fanCoil) {\r\n var id = $fanCoil.attr(_.ATTRIBUTE.FAN_COIL.id);\r\n\r\n $(_.SELECTOR.DELETE_FANCOIL.idPlaceholder).val(id);\r\n },\r\n\r\n showDeletePopup: function() {\r\n new Popup().show($(_.SELECTOR.DELETE_FANCOIL.popup));\r\n },\r\n\r\n deleteFanCoil: function() {\r\n var id = $(_.SELECTOR.DELETE_FANCOIL.idPlaceholder).val();\r\n\r\n $(\r\n _.SELECTOR.DELETE_FANCOIL.target +\r\n \"[\" +\r\n _.ATTRIBUTE.FAN_COIL.id +\r\n \"=\" +\r\n id +\r\n \"]\"\r\n ).remove();\r\n new Popup().hide($(_.SELECTOR.DELETE_FANCOIL.popup));\r\n },\r\n\r\n setControlsByRoomType: function() {\r\n var $roomType = $(_.SELECTOR.ROOM_TYPE.type);\r\n var $roomName = $(_.SELECTOR.ROOM_TYPE.name);\r\n var $roomTemperature = $(_.SELECTOR.ROOM_TYPE.temperature);\r\n var $roomHeatingTemperature = $(_.SELECTOR.ROOM_TYPE.heatingTemperature);\r\n\r\n $roomTemperature.val($roomType.val());\r\n\r\n var roomType = $(\":selected\", $roomType)\r\n .text()\r\n .trim();\r\n var roomTemperature = $.global.parseFloat(\r\n $(\":selected\", $roomTemperature).text()\r\n );\r\n var roomName = $roomName.val();\r\n var roomTypesWithRoomName = $(\"option\", $roomType).filter(function() {\r\n return $(this)\r\n .text()\r\n .trim()\r\n .startsWith(roomName);\r\n });\r\n\r\n if (roomTypesWithRoomName.length > 0) {\r\n $roomName.val(roomType || \"\");\r\n }\r\n\r\n $roomHeatingTemperature.val(0);\r\n $roomHeatingTemperature\r\n .parents(\".numeric-input\")\r\n .first()[0]\r\n .NumericInput.setValue(roomTemperature);\r\n },\r\n\r\n setOptionDetailPopup: function($option) {\r\n var title = $option.attr(_.ATTRIBUTE.OPTION_DETAIL.title);\r\n var image = $option.attr(_.ATTRIBUTE.OPTION_DETAIL.image);\r\n var text = $option.attr(_.ATTRIBUTE.OPTION_DETAIL.text);\r\n var name = $option.attr(_.ATTRIBUTE.OPTION_DETAIL.name);\r\n\r\n $(_.SELECTOR.OPTION_DETAIL.titlePlaceholder).text(title);\r\n $(_.SELECTOR.OPTION_DETAIL.imagePlaceholder).attr(\"src\", image);\r\n $(_.SELECTOR.OPTION_DETAIL.textPlaceholder).text(text);\r\n $(_.SELECTOR.OPTION_DETAIL.namePlaceholder).text(name);\r\n\r\n if (!image) {\r\n $(_.SELECTOR.OPTION_DETAIL.imagePlaceholder).removeAttr(\"src\");\r\n }\r\n },\r\n\r\n showOptionDetailPopup: function() {\r\n new Popup().show($(_.SELECTOR.OPTION_DETAIL.popup));\r\n }\r\n };\r\n\r\n function fanSelectionController() {}\r\n fanSelectionController.prototype.init = function() {\r\n $(document).on(\"click\", _.EVENT.documentClicked);\r\n $(document).on(\r\n \"change\",\r\n _.SELECTOR.SOUND_PRESSURE.triggerGroup +\r\n \" \" +\r\n _.SELECTOR.SOUND_PRESSURE.trigger,\r\n _.EVENT.soundPressureTriggerChanged\r\n );\r\n $(document).on(\r\n \"click\",\r\n _.SELECTOR.DELETE_FANCOIL.anchor,\r\n _.EVENT.deleteFancoilClicked\r\n );\r\n $(document).on(\r\n \"click\",\r\n _.SELECTOR.OPTION_DETAIL.trigger,\r\n _.EVENT.optionInfoClicked\r\n );\r\n $(_.SELECTOR.ADD_FAN_COIL.trigger).click(_.EVENT.addFanCoilClicked);\r\n $(_.SELECTOR.ROOM_TYPE.type).change(_.EVENT.roomTypeChanged);\r\n $(_.SELECTOR.DELETE_FANCOIL.popup)\r\n .find(_.SELECTOR.DELETE_FANCOIL.form)\r\n .submit(_.EVENT.deleteFanCoilConfirmed);\r\n };\r\n\r\n return fanSelectionController;\r\n})();\r\n\r\nvar ProjectInfoController = (function() {\r\n\tvar _ = {};\r\n\tfunction projectInfoController() {}\r\n\tprojectInfoController.prototype = {\r\n\t\tinit: function() {}\r\n\t};\r\n\treturn projectInfoController;\r\n})();\r\n\r\nvar SaveFanCoilController = (function () {\r\n var _ = {\r\n SELECTOR: {\r\n ELEMENTS: {\r\n segment: '.save-fan-coil.segment-group:not(.hide) input',\r\n option: 'ul.save-fan-coil input'\r\n },\r\n FAN_COIL: {\r\n element: '.fan-coil'\r\n },\r\n ROOM: {\r\n id: '#source-room-id'\r\n },\r\n url: '#source-save-fan-coil'\r\n },\r\n\r\n ATTRIBUTE: {\r\n FAN_COIL: {\r\n id: 'data-id'\r\n },\r\n SEGMENT: {\r\n ajaxName: 'data-name'\r\n },\r\n OPTION: {\r\n ajaxName: 'data-name'\r\n }\r\n },\r\n\r\n EVENT: {\r\n saveParamChanged: function (evt) {\r\n var $param = $(evt.currentTarget);\r\n var $fanCoil = $param.parents(_.SELECTOR.FAN_COIL.element).first();\r\n\r\n _.save($fanCoil);\r\n }\r\n },\r\n\r\n save: function ($fanCoil) {\r\n var url = $(_.SELECTOR.url).val();\r\n var json = _.createJson($fanCoil);\r\n\r\n AjaxCall.send(url, json);\r\n },\r\n\r\n createJson: function ($fanCoil) {\r\n var json = {\r\n Id: $fanCoil.attr(_.ATTRIBUTE.FAN_COIL.id),\r\n RoomId: $(_.SELECTOR.ROOM.id).val()\r\n }\r\n\r\n $fanCoil.find(_.SELECTOR.ELEMENTS.segment + ':checked').each(function (i, segment) {\r\n var $segment = $(segment);\r\n json[$segment.attr(_.ATTRIBUTE.SEGMENT.ajaxName)] = $segment.val();\r\n });\r\n\r\n $fanCoil.find(_.SELECTOR.ELEMENTS.option + ':checked').each(function (i, option) {\r\n var $option = $(option);\r\n var $optionProperty = $option.attr(_.ATTRIBUTE.SEGMENT.ajaxName);\r\n\r\n if (!json[$optionProperty]) {\r\n json[$optionProperty] = [];\r\n }\r\n json[$optionProperty].push($option.val());\r\n });\r\n\r\n return json;\r\n }\r\n };\r\n\r\n function saveFanCoilController() {}\r\n saveFanCoilController.prototype = {\r\n init: function () {\r\n $(document).on('change', _.SELECTOR.ELEMENTS.segment, _.EVENT.saveParamChanged);\r\n $(document).on('change', _.SELECTOR.ELEMENTS.option, _.EVENT.saveParamChanged);\r\n\r\n }\r\n };\r\n return saveFanCoilController;\r\n}());\r\nvar SaveProjectController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n ELEMENTS: {\r\n slider: \".update-project.slider-group .slider\",\r\n dropdown: \".update-project.dropdown-group select\"\r\n },\r\n url: \"#source-save-project\"\r\n },\r\n\r\n ATTRIBUTE: {\r\n SLIDER: {\r\n ajaxName: \"data-name\"\r\n }\r\n },\r\n\r\n EVENT: {\r\n sliderSet: function(values, handle, unencoded, tap, positions) {\r\n _.save();\r\n }\r\n },\r\n\r\n save: function() {\r\n var url = $(_.SELECTOR.url).val();\r\n var json = _.createJson();\r\n\r\n AjaxCall.send(url, json);\r\n },\r\n\r\n createJson: function() {\r\n var json = {};\r\n\r\n $(_.SELECTOR.ELEMENTS.slider).each(function(i, slider) {\r\n var noUiSlider = slider.noUiSlider;\r\n var formattedValue = noUiSlider.get()[1];\r\n var stringValue = noUiSlider.options.format.from(formattedValue);\r\n var value = parseInt(stringValue);\r\n\r\n json[$(slider).attr(\"name\")] = value;\r\n });\r\n\r\n $(_.SELECTOR.ELEMENTS.dropdown).each(function(i, dropdown) {\r\n var $dropdown = $(dropdown);\r\n\r\n json[$dropdown.attr(\"name\")] = $dropdown.val();\r\n });\r\n\r\n return json;\r\n }\r\n };\r\n\r\n function saveProjectController() {}\r\n saveProjectController.prototype = {\r\n init: function() {\r\n $(_.SELECTOR.ELEMENTS.slider).each(function(i, slider) {\r\n slider.noUiSlider.on(\"set\", _.EVENT.sliderSet);\r\n });\r\n $(_.SELECTOR.ELEMENTS.dropdown).change(_.save);\r\n }\r\n };\r\n return saveProjectController;\r\n})();\r\n\r\nvar UpdateOptionsController = (function() {\r\n var _ = {\r\n SELECTOR: {\r\n segment: \".update-options.segment-group:not(.hide) input\",\r\n option: \"ul.update-options input\",\r\n fanCoil: \".fan-coil\",\r\n roomId: \"#source-room-id\",\r\n url: \"#source-update-options\",\r\n options: \"#fancoil-options .table\"\r\n },\r\n\r\n ATTRIBUTE: {\r\n FAN_COIL: {\r\n id: \"data-id\"\r\n },\r\n SEGMENT: {\r\n ajaxName: \"data-name\"\r\n }\r\n },\r\n\r\n EVENT: {\r\n triggerChanged: function(evt) {\r\n var $trigger = $(evt.currentTarget);\r\n var $fanCoil = $trigger.parents(_.SELECTOR.fanCoil).first();\r\n\r\n _.update($fanCoil);\r\n }\r\n },\r\n\r\n update: function($fanCoil) {\r\n var url = $(_.SELECTOR.url).val();\r\n var json = _.createJson($fanCoil);\r\n var callback = function(resp) {\r\n if (!resp) {\r\n return;\r\n }\r\n\r\n var $oldOptions = $fanCoil.find(_.SELECTOR.options);\r\n var $newOptions = $(resp);\r\n $newOptions.insertBefore($oldOptions.first());\r\n $oldOptions.remove();\r\n\r\n new ListController().init($fanCoil);\r\n };\r\n\r\n AjaxCall.send(url, json, callback);\r\n },\r\n\r\n createJson: function($fanCoil) {\r\n var json = {\r\n Id: $fanCoil.attr(_.ATTRIBUTE.FAN_COIL.id),\r\n RoomId: $(_.SELECTOR.roomId).val()\r\n };\r\n\r\n $fanCoil.find(_.SELECTOR.segment + \":checked\").each(function(i, segment) {\r\n var $segment = $(segment);\r\n json[$segment.attr(_.ATTRIBUTE.SEGMENT.ajaxName)] = $segment.val();\r\n });\r\n\r\n $fanCoil.find(_.SELECTOR.option + \":checked\").each(function(i, option) {\r\n var $option = $(option);\r\n var $optionProperty = $option.attr(_.ATTRIBUTE.SEGMENT.ajaxName);\r\n\r\n if (!json[$optionProperty]) {\r\n json[$optionProperty] = [];\r\n }\r\n json[$optionProperty].push($option.val());\r\n });\r\n\r\n return json;\r\n }\r\n };\r\n\r\n function updateOptionsController() {}\r\n updateOptionsController.prototype = {\r\n init: function() {\r\n $(document).on(\"change\", _.SELECTOR.segment, _.EVENT.triggerChanged);\r\n $(document).on(\"change\", _.SELECTOR.option, _.EVENT.triggerChanged);\r\n }\r\n };\r\n\r\n return updateOptionsController;\r\n})();\r\n\r\nvar UpdateSpeedController = (function() {\r\n\tvar _ = {\r\n\t\tSELECTOR: {\r\n\t\t\ttrigger: '.update-speed.segment-group:not(.hide) input',\r\n\t\t\tfanCoil: '.fan-coil',\r\n\t\t\troomId: '#source-room-id',\r\n\t\t\turl: '#source-update-speed',\r\n\t\t\tcontainer: '#fancoil-fanspeed'\r\n\t\t},\r\n\t\tATTRIBUTE: {\r\n\t\t\tFAN_COIL: {\r\n\t\t\t\tid: 'data-id'\r\n\t\t\t},\r\n\t\t\tSEGMENT: {\r\n\t\t\t\tajaxName: 'data-name'\r\n\t\t\t}\r\n\t\t},\r\n\t\tEVENT: {\r\n\t\t\ttriggerChanged: function(evt) {\r\n\t\t\t\tvar $trigger = $(evt.currentTarget);\r\n\t\t\t\tvar $fanCoil = $trigger.parents(_.SELECTOR.fanCoil);\r\n\r\n\t\t\t\t_.update($fanCoil);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdate: function($fanCoil) {\r\n\t\t\tvar url = $(_.SELECTOR.url).val();\r\n\t\t\tvar json = _.createJson($fanCoil);\r\n\t\t\tvar callback = function(resp) {\r\n\t\t\t\tif (!resp) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar $container = $fanCoil.find(_.SELECTOR.container);\r\n\t\t\t\t$container.html(resp);\r\n\r\n\t\t\t\tnew SoundPressureController().init($container);\r\n\t\t\t};\r\n\r\n\t\t\tAjaxCall.send(url, json, callback);\r\n\t\t},\r\n\r\n\t\tcreateJson: function($fanCoil) {\r\n\t\t\tvar json = {\r\n\t\t\t\tId: $fanCoil.attr(_.ATTRIBUTE.FAN_COIL.id),\r\n\t\t\t\tRoomId: $(_.SELECTOR.roomId).val()\r\n\t\t\t};\r\n\r\n\t\t\t$fanCoil.find(_.SELECTOR.trigger + ':checked').each(function(i, segment) {\r\n\t\t\t\tvar $segment = $(segment);\r\n\t\t\t\tjson[$segment.attr(_.ATTRIBUTE.SEGMENT.ajaxName)] = $segment.val();\r\n\t\t\t});\r\n\r\n\t\t\treturn json;\r\n\t\t}\r\n\t};\r\n\tfunction updateSpeedController() {}\r\n\tupdateSpeedController.prototype = {\r\n\t\tinit: function() {\r\n\t\t\t$(document).on('change', _.SELECTOR.trigger, _.EVENT.triggerChanged);\r\n\t\t}\r\n\t};\r\n\r\n\treturn updateSpeedController;\r\n})();\r\n\r\nvar ZoneOverviewController = (function () {\r\n var _ = {\r\n SELECTOR: {\r\n room: '.room-overview',\r\n roomMenu: '.popover-menu',\r\n DELETE_ROOM: {\r\n anchor: '.popover-menu-group .delete',\r\n popup: '.delete-room-popup',\r\n namePlaceholder: '#room-name-remove',\r\n idPlaceholder: '#room-id-remove'\r\n }\r\n },\r\n ATTRIBUTE: {\r\n ROOM: {\r\n id: 'data-id',\r\n name: 'data-name'\r\n }\r\n },\r\n EVENT: {\r\n roomBlurred: function (evt) {\r\n var $room = $(evt.currentTarget);\r\n var $menu = $(_.SELECTOR.roomMenu);\r\n\r\n _.hideRoomPopoverMenu($menu);\r\n },\r\n deleteRoomClicked: function (evt) {\r\n var $anchor = $(evt.currentTarget);\r\n var $room = $anchor.parents(_.SELECTOR.room);\r\n\r\n _.setDeletePopup($room);\r\n _.showDeletePopup();\r\n\r\n return false;\r\n }\r\n },\r\n\r\n setDeletePopup: function ($room) {\r\n var id = $room.attr(_.ATTRIBUTE.ROOM.id);\r\n var name = $room.attr(_.ATTRIBUTE.ROOM.name);\r\n\r\n $(_.SELECTOR.DELETE_ROOM.idPlaceholder).val(id);\r\n $(_.SELECTOR.DELETE_ROOM.namePlaceholder).text(name);\r\n },\r\n\r\n showDeletePopup: function () {\r\n new Popup().show($(_.SELECTOR.DELETE_ROOM.popup));\r\n },\r\n\r\n hideRoomPopoverMenu: function ($menu) {\r\n setTimeout(function () {\r\n new PopoverMenuGroup().hidePopoverMenu($menu);\r\n }, 400);\r\n }\r\n };\r\n\r\n function zoneOverviewController() {}\r\n zoneOverviewController.prototype = {\r\n init: function () {\r\n $(_.SELECTOR.DELETE_ROOM.anchor).click(_.EVENT.deleteRoomClicked);\r\n $(_.SELECTOR.room).mouseleave(_.EVENT.roomBlurred);\r\n }\r\n };\r\n return zoneOverviewController;\r\n}());"]}