ips.templates.set('core.general.loading'," {{text}}");ips.templates.set('core.general.ajax',"
{{#lang}}loading{{/lang}}...
");ips.templates.set('core.general.flashMsg'," ");ips.templates.set('core.hovercard.loading'," ");ips.templates.set('core.posts.spoiler'," {{#lang}}spoilerClickToReveal{{/lang}}");ips.templates.set('core.posts.spoilerOpen'," {{#lang}}spoilerClickToHide{{/lang}}");ips.templates.set('core.posts.multiQuoteOff'," ");ips.templates.set('core.posts.multiQuoteOn'," ");ips.templates.set('core.posts.multiQuoter'," ");ips.templates.set('core.menus.menuItem'," ");ips.templates.set('core.menus.menuSep'," ");ips.templates.set('core.posts.quotedSpoiler'," {{#lang}}quotedSpoiler{{/lang}}
");ips.templates.set('core.postNotify.single',"
{{{text}}} {{#lang}}showReply{{/lang}} ");ips.templates.set('core.postNotify.multiple'," {{text}} {{#lang}}showReplies{{/lang}} ");ips.templates.set('core.postNotify.multipleSpillOver'," {{text}} {{#canLoadNew}} {{showFirstX}} {{#lang}}showRepliesOr{{/lang}} {{/canLoadNew}} {{#lang}}goToNewestPage{{/lang}} ");ips.templates.set('core.notification.flashSingle'," ");ips.templates.set('core.notification.flashMultiple'," ");ips.templates.set('core.alert.box'," {{{icon}}}
{{{text}}} {{{subtext}}}
");ips.templates.set('core.alert.subText'," {{text}}
");ips.templates.set('core.alert.icon'," ");ips.templates.set('core.alert.button'," ");ips.templates.set('core.alert.prompt',"
");ips.templates.set('core.lightbox.meta',"{{title}}");ips.templates.set('core.dialog.main'," {{#title}}
{{title}}
{{/title}} {{#close}}
× {{/close}}
{{content}}
")
ips.templates.set('core.tooltip'," {{content}}
");ips.templates.set('core.search.loadingPanel',"
");ips.templates.set('core.editor.panelWrapper'," {{content}}
");ips.templates.set('core.editor.emoticons'," ");ips.templates.set('core.editor.emoticonSection'," {{{content}}}
");ips.templates.set('core.editor.emoticonMenu'," ");ips.templates.set('core.editor.emoticonCategory'," {{title}}
{{{emoticons}}}
");ips.templates.set('core.editor.emoticonRow'," {{{emoticons}}}
");ips.templates.set('core.editor.emoticonItem'," {{{img}}}
");ips.templates.set('core.editor.emoticonBlank',"
");ips.templates.set('core.editor.emoticonNoResults'," {{#lang}}no_results{{/lang}}
");ips.templates.set('core.editor.quote',"{{citation}}
{{{contents}}}
");ips.templates.set('core.editor.legacyQuoteUpcast',"{{citation}}
{{{contents}}}
");ips.templates.set('core.editor.citation'," {{#contenturl}}
{{/contenturl}} {{{citation}}}
");ips.templates.set('core.editor.citationLink'," {{username}}");ips.templates.set('core.editor.spoiler',"");ips.templates.set('core.editor.legacySpoilerUpcast',"{{{contents}}}
");ips.templates.set('core.editor.spoilerHeader'," ");ips.templates.set('core.editor.previewLoading',"
");ips.templates.set('core.attachments.fileItemWrapper'," ");ips.templates.set('core.attachments.fileItem'," {{#thumb}} {{{thumb}}} {{/thumb}}
{{#status}}{{/status}} {{#statusText}}{{statusText}}{{/statusText}}
");ips.templates.set('core.attachments.imageItem'," {{#status}} {{{status}}} {{/status}} {{#thumb}} {{{thumb}}} {{/thumb}}
{{title}}
{{size}} {{#statusText}}· {{statusText}}{{/statusText}}
");ips.templates.set('core.attachments.imageItemWrapper'," {{{content}}}
");ips.templates.set('core.autocomplete.field'," ");ips.templates.set('core.autocomplete.addToken'," {{text}} ");ips.templates.set('core.autocomplete.resultWrapper'," ");ips.templates.set('core.autocomplete.resultItem'," ");ips.templates.set('core.autocomplete.token'," {{{title}}} × ");ips.templates.set('core.autocomplete.memberItem'," ");ips.templates.set('core.forms.toggle'," {{status}} ");ips.templates.set('core.forms.validationWrapper'," ");ips.templates.set('core.forms.validationItem'," {{message}}");ips.templates.set('core.forms.advicePopup'," {{#lang}}password_advice_title{{/lang}}
{{#min}} {{min}} {{/min}} {{{text}}}
");ips.templates.set('core.forms.validateOk'," ");ips.templates.set('core.forms.validateFail'," ");ips.templates.set('core.forms.validateFailText'," {{message}}
");ips.templates.set('core.truncate.expand'," {{text}} ");ips.templates.set('core.selectTree.token'," {{title}}");ips.templates.set('core.accessibility.border'," ");ips.templates.set('core.accessibility.arrow'," ");ips.templates.set('core.infScroll.loading'," {{#lang}}loading{{/lang}}... ");ips.templates.set('core.infScroll.pageBreak'," {{#lang}}page{{/lang}} {{page}} ");ips.templates.set('core.pageAction.actionMenuItem'," {{#icon}} {{/icon}} {{^icon}} {{title}} {{/icon}} ");ips.templates.set('core.pageAction.actionItem'," {{#icon}} {{/icon}} {{^icon}} {{title}} {{/icon}} ");ips.templates.set('core.pageAction.wrapper'," - {{{selectedLang}}}
{{{content}}}
");ips.templates.set('core.carousel.bulletWrapper'," ");ips.templates.set('core.carousel.bulletItem'," ");ips.templates.set('core.rating.wrapper'," {{status}}")
ips.templates.set('core.rating.star'," ");ips.templates.set('core.rating.halfStar'," ");ips.templates.set('core.rating.loading'," ");ips.templates.set('core.sidebar.managerWrapper'," ");ips.templates.set('core.sidebar.blockManage'," ");ips.templates.set('core.sidebar.blockManageNoConfig'," ");ips.templates.set('core.sidebar.blockIsEmpty'," {{text}}
");ips.templates.set('core.follow.loading'," ");ips.templates.set('core.statuses.loadingComments'," {{#lang}}loadingComments{{/lang}}");ips.templates.set('core.forms.stack'," × {{{field}}}
");ips.templates.set('core.pollEditor.question'," ");ips.templates.set('core.pollEditor.choice'," {{choiceID}}
{{#showCounts}}
{{/showCounts}} ");ips.templates.set('core.coverPhoto.controls'," ");ips.templates.set('core.patchwork.imageList'," {{#showThumb}} {{/showThumb}} {{^showThumb}} {{/showThumb}} {{#showThumb}}
{{/showThumb}}
{{image.caption}} {{#lang}}by{{/lang}} {{image.author.name}}
{{#image.unread}} -
{{/image.unread}} {{#image.hasState}} - {{#image.state.hidden}} {{/image.state.hidden}} {{#image.state.pending}} {{/image.state.pending}} {{#image.state.pinned}} {{/image.state.pinned}} {{#image.state.featured}} {{/image.state.featured}}
{{/image.hasState}} {{#image.allowComments}} - {{image.comments}}
{{/image.allowComments}}
{{#image.modActions}} {{/image.modActions}} ");ips.templates.set('core.editor.preferences'," {{#lang}}papt_warning{{/lang}}
");ips.templates.set('core.pagination'," ");ips.templates.set('core.selection.quote'," ");ips.templates.set('core.contentItem.resultItem'," ");ips.templates.set('core.contentItem.field'," ");ips.templates.set('core.contentItem.resultWrapper'," ");ips.templates.set('core.contentItem.item'," × {{{html}}} ");ips.templates.set('promote.imageUpload'," ");ips.templates.set('table.row.loading',"
");;
;(function($,_,undefined){"use strict";ips.createModule('ips.controller',function(){var _controllers={},_autoMixins={},_manualMixins={},_mixins={},_beingLoaded=[],_queue={},_prototypes={},instanceID=1,_controllerCaseMap={'core.front.core.autosizeiframe':'core.front.core.autoSizeIframe'};var register=function(id,definition){_controllers[id]=definition;_checkQueue(id);},isRegistered=function(id){return!_.isUndefined(_controllers[id]);},init=function(){$(document).on('contentChange',function(e,newNode){initializeControllers(newNode);});initializeControllers();},mixin=function(mixinName,controller,auto,mixinFunc){if(_.isFunction(auto)){mixinFunc=auto;auto=false;}
var obj=(auto)?_autoMixins:_manualMixins;if(_.isUndefined(obj[controller])){obj[controller]={};}
obj[controller][mixinName]=mixinFunc;},initializeControllers=function(node){var controllers=_findControllers(node);var needsLoading={};for(var controller in controllers){if(isRegistered(controller)){for(var i=0;i').addClass('ipsModal').hide().appendTo($('body')).identify();},init=function(){$(document).on('contentChange',function(e,newContent){if(newContent instanceof jQuery){newContent.each(function(){if(Debug.isEnabled){Debug.info("contentChange event, reinitializing widgets in "+$(this).identify().attr('id'));}
_initializeWidgets(this);});}else{if(Debug.isEnabled){Debug.info("contentChange event, reinitializing widgets in "+$(newContent).identify().attr('id'));}
_initializeWidgets(newContent);}
if(typeof PR!='undefined'){PR.prettyPrint();}});_initializeWidgets(document);};return{registerWidget:registerWidget,init:init,zIndex:zIndex,getModal:getModal,getAcceptedOptions:getAcceptedOptions,key:key,destructAllWidgets:destructAllWidgets};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.addressForm',function(){var defaults={minimize:false,country:"",requireFullAddress:true};var respond=function(elem,options,e){if(!_.isUndefined(elem.data('initialized'))){return;}
options=_.defaults(options,defaults);if(options.minimize){minimizeAddress(elem,options);}else{init(elem,options,e);}
elem.data('initialized',true);};var init=function(elem,options,e){elem.on('change','[data-role="countrySelect"]',_.bind(countryChange,e,elem,options));$(elem).find('[data-role="countrySelect"]').change();recalculateAddAddressLineButton(elem);};var googlePlacesCallback=function(){$(window).trigger('googlePlacesLoaded');};var minimizeAddress=function(elem,options){var tempInput=$('').attr('type','text').attr('data-role','minimizedVersion').attr('placeholder',ips.getString('specifyLocation')).on('focus',function(e){$(this).hide();if(options.country){$(elem).find('[data-role="countrySelect"]').val(options.country);}
init(elem,options,e);elem.show().find('input').first().focus();});var value=[];elem.find('input, select').each(function(addressPart){if($(this).val()){if($(this).is('select')){value.push($.trim($(this).find('option[value="'+$(this).val()+'"]').text()));}else{value.push($.trim($(this).val()));}}});if(value.length){tempInput.val(value.join(', '));}
elem.hide().after(tempInput);};var countryChange=function(elem,options,e){ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=core&module=system&controller=ajax&do=states&country='+$(e.target).val()).done(function(response){if(response.length){if(!$(elem).find('[data-role="regionSelect"]').length)
{var regionText=$(elem).find('[data-role="regionText"]');}
else
{var regionText=$(elem).find('[data-role="regionSelect"]');}
var regionSelect=$('');regionSelect.attr('name',regionText.attr('name'));if(!options.requireFullAddress){regionSelect.append($('').attr('value','').html($(elem).find('[data-role="regionText"]').attr('placeholder')));}
for(var i=0;i').attr('value',response[i]).html(response[i]));if(response[i].toLowerCase()==regionText.val().toLowerCase()){regionSelect.val(response[i]);}}
regionText.replaceWith(regionSelect);}else{if(!$(elem).find('[data-role="regionText"]').length){var regionSelect=$(elem).find('[data-role="regionSelect"]');var regionText=$('');regionText.attr('name',regionSelect.attr('name')).val("");regionSelect.replaceWith(regionText);}}});if(typeof elem.attr('data-ipsAddressForm-googlePlaces')!==typeof undefined&&elem.attr('data-ipsAddressForm-googlePlaces')!==false){if(elem.attr('data-ipsAddressForm-googlePlaces')==='loaded'){googlePlacesInit(elem);}else{ips.loader.get(['https://maps.googleapis.com/maps/api/js?key='+elem.attr('data-ipsAddressForm-googleApiKey')+'&libraries=places&sensor=false&callback=ips.ui.addressForm.googlePlacesCallback']);$(window).on('googlePlacesLoaded',function(){elem.attr('data-ipsAddressForm-googlePlaces','loaded');googlePlacesInit(elem);});}}};var addAddressLine=function(elem,value){var lastLine=elem.find('[data-role="addressLine"]').closest('li').last();var newLine=lastLine.clone();if(value){newLine.find('input').focus().val(value);}
lastLine.after(newLine);};var recalculateAddAddressLineButton=function(elem){elem.find('[data-role="addAddressLine"]').remove();var button=$('');button.click(function(){addAddressLine(elem,'');recalculateAddAddressLineButton(elem);});elem.find('[data-role="addressLine"]').last().after(button);};var googlePlacesInit=function(elem){var googlePlacesInput=$(elem).find('[data-role="addressLine"]').first();var options={types:['geocode'],componentRestrictions:{country:$(elem).find('[data-role="countrySelect"]').val()}};var autocomplete=new google.maps.places.Autocomplete(googlePlacesInput.get(0),options);googlePlacesInput.on('focus',function(){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(position){var geolocation=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);autocomplete.setBounds(new google.maps.LatLngBounds(geolocation,geolocation));});}});googlePlacesInput.on('keypress',function(e){if((e.which&&e.which==13)||(e.keyCode&&e.keyCode==13)){return false;}});google.maps.event.addListener(autocomplete,'place_changed',function(){var place=autocomplete.getPlace();var i;var streetNumber;var addressLines=[];for(i in place.address_components){switch(place.address_components[i].types[0]){case'street_number':streetNumber=place.address_components[i].long_name;break;case'street_address':case'route':case'sublocality':case'neighborhood':case'premise':case'subpremise':addressLines.push(place.address_components[i].long_name);break;case'administrative_area_level_1':case'administrative_area_level_2':elem.find('[data-role="regionSelect"]').val(place.address_components[i].long_name);elem.find('[data-role="regionText"]').focus().val(place.address_components[i].long_name);break;case'locality':case'postal_town':elem.find('[data-role="city"]').focus().val(place.address_components[i].long_name);break;case'postal_code':elem.find('[data-role="postalCode"]').focus().val(place.address_components[i].long_name);break;}}
for(var i=0;i<$(elem).find('[data-role="addressLine"]').length;i++){$(elem).find('[data-role="addressLine"]').val('');}
setTimeout(function(){var existingAddressLines=$(elem).find('[data-role="addressLine"]').length;if(streetNumber&&addressLines[0]){var splitFormatted=place.formatted_address.split(',');if(splitFormatted[0].indexOf(addressLines[0])!=-1){addressLines[0]=splitFormatted[0];}
else{addressLines[0]=streetNumber+' '+addressLines[0];}}
for(var i=0;i');}else if(count.length===0){elem.find('.cAutoCheckIcon').html('');}else{elem.find('.cAutoCheckIcon').html('');}
if(count.length){elem.find('[data-role="autoCheckCount"]').text(count.length).show();}else if(elem.find('[data-role="autoCheckCount"]').is(':visible')){ips.utils.anim.go('fadeOut',elem.find('[data-role="autoCheckCount"]'));}
return count.length;};init();return{destruct:destruct,refresh:refresh};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.autocomplete',function(){var defaults={multiValues:true,freeChoice:true,itemSep:{chr:',',keycode:188,charcode:44},disallowedCharacters:JSON.stringify(["<",">","'","\""]),unique:false,customValues:true,fieldTemplate:'core.autocomplete.field',resultsTemplate:'core.autocomplete.resultWrapper',resultItemTemplate:'core.autocomplete.resultItem',tokenTemplate:'core.autocomplete.token',addTokenTemplate:'core.autocomplete.addToken',addTokenText:ips.getString('add_tag'),queryParam:'q',forceLower:false,minLength:1,minAjaxLength:1,commaTrigger:true};var respond=function(elem,options){if(!$(elem).data('_autocomplete')){$(elem).data('_autocomplete',autocompleteObj(elem,_.defaults(options,defaults)));}},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){elem=$(elem);if(elem.data('_autocomplete')){return elem.data('_autocomplete');}else if($('[name="'+elem.attr('name')+'_original'+'"]').length&&$('[name="'+elem.attr('name')+'_original'+'"]').data('_autocomplete')){return $('[name="'+elem.attr('name')+'_original'+'"]').data('_autocomplete');}
return undefined;};ips.ui.registerWidget('autocomplete',ips.ui.autocomplete,['multiValues','freeChoice','dataSource','maxItems','itemSep','resultsElem','unique','commaTrigger','fieldTemplate','resultsTemplate','resultItemTemplate','tokenTemplate','addTokenTemplate','addTokenText','queryParam','minLength','maxLength','forceLower','disallowedCharacters','minAjaxLength']);return{respond:respond,destruct:destruct,getObj:getObj};});var autocompleteObj=function(elem,options,e){var timer,blurTimer,lastValue='',originalTextField,valueField,textField,dataSource,elemID=$(elem).identify().attr('id'),wrapper,inputItem,resultsElem,selectedToken,disabled=false,required=false,tooltip=null,tooltipTimer=null,mouseOverResults=false,hasError=false;var init=function(){if($(elem).is('textarea, input[type="text"], input[type="search"]')){originalTextField=$(elem);}else{originalTextField=$(elem).find('textarea, input[type="text"], input[type="search"]').first();}
try{options.disallowedCharacters=$.parseJSON(options.disallowedCharacters);}catch(err){Debug.error("Couldn't parse disallowed characters option");}
_buildWrapper();_getDataSource();originalTextField.removeAttr('list');if(dataSource.type!='none'){_buildResultsList();}
if(originalTextField.is(':disabled')){disabled=true;}
if(originalTextField.is('[required]')){required=true;originalTextField.removeProp('required').removeAttr('aria-required');}
textField.prop('autocomplete','off').prop('spellcheck',false).prop('disabled',disabled).attr('aria-autocomplete','list').attr('aria-haspopup','true').attr('tabindex',originalTextField.attr('tabindex')||'');if(options.maxLength){textField.attr('maxlength',options.maxLength+1);}
$(document).on('click',_documentClick);wrapper.click(function(e){e.stopPropagation();return false;});textField.on('focus',_focusField).on('blur',_blurField).on('keydown',_keydownField).on('keyup',_keyupField).on('keypress',_keypressField);wrapper.on('click',_clickWrapper).on('click','[data-action="addToken"]',_clickAddToken).on('keydown',_keydownWrapper).on('propChanged',_propChanged).toggleClass('ipsField_autocompleteDisabled',disabled);_buildInitialTokens();elem.on('blur',function(){if(textField!==elem){textField.trigger('blur');}}).trigger('autoCompleteReady',{elemID:elemID,elem:elem,currentValues:tokens.getValues()});},destruct=function(){$(document).off('click',_documentClick);},hasErrors=function(){return hasError;},_propChanged=function(e){disabled=originalTextField.is(':disabled');wrapper.toggleClass('ipsField_autocompleteDisabled',disabled);},_buildInitialTokens=function(){var value=_getOriginalValue();if(!value){return;}
var splitValues=_.without(value.split("\n"),'');var itemCount=0;itemCount=splitValues.length;originalTextField.val('');if(splitValues.length){for(var i=0;i').attr({type:'text',id:elemID+'_dummyInput'}).prop('autocomplete','off');textField=insertElem;}
var name=originalTextField.attr('name');originalTextField.attr('name',originalTextField.attr('name')+'_original');valueField=$('').attr('name',name).hide();originalTextField.hide();wrapper.addClass(existingClasses).append(elem).append(valueField).find('#'+elemID+'_inputItem').append(insertElem);wrapper.on('click','[data-value]',function(e){if(!disabled){tokens.select($(e.currentTarget));}}).on('click','[data-action="delete"]',function(e){_deleteToken($(e.currentTarget).parent('[data-value]'));});},_getDataSource=function(){if((options.dataSource&&options.dataSource.indexOf('#')===0&&$(options.dataSource).length)||originalTextField.is('[list]')){dataSource=localData(originalTextField.is('[list]')?$('#'+originalTextField.attr('list')):options.dataSource,options);}else if(ips.utils.validate.isUrl(options.dataSource)){dataSource=remoteData(options.dataSource,options);}else{dataSource=noData();}},_clickWrapper=function(e){if($(e.target).is('[data-token]')||$(e.target).parents('li[data-token]').length){var token=($(e.target));}else{if(!$(e.target).is(textField)&&(!resultsElem||!$.contains(resultsElem.get(0),e.target))){textField.focus();}}},_clickAddToken=function(e){e.preventDefault();if(resultsElem&&resultsElem.is(':visible')){_closeResults();}else{_loadResults('');}},_focusField=function(e){if(dataSource.type=='none'){return;}
timer=setInterval(_timerFocusField,400);},_blurField=function(e){if(mouseOverResults){return;}
clearInterval(timer);_.delay(_timerBlurField,300);},_timerBlurField=function(){if(textField.val()){_addTokenFromCurrentInput();}
_closeResults();},_timerFocusField=function(){if(dataSource.type=='none'){return;}
var currentValue=_getCurrentValue();if(currentValue==lastValue){return;}
lastValue=currentValue;_loadResults(currentValue);},_loadResults=function(value){_toggleLoading('show');resultsElem.attr('aria-busy','true');dataSource.getResults(value).done(function(results){_showResults(_processResults(results,value));}).fail(function(){}).always(function(){resultsElem.attr('aria-busy','false');_toggleLoading('hide');});},_toggleLoading=function(doWhat){if(doWhat=='show'){wrapper.addClass('ipsField_loading');}else{wrapper.removeClass('ipsField_loading');}},_closeResults=function(e){if(e){e.preventDefault();}
if(resultsElem&&resultsElem.length){resultsElem.hide().attr('aria-expanded','false');}
dataSource.stop();},_documentClick=function(){_closeResults();},_processResults=function(results,text){var existingTokens=tokens.getValues(),newResults={};if(options.unique){$.each(results,function(key,data){if(!data.value||_.indexOf(existingTokens,data.value)===-1){newResults[key]=data;}});return newResults;}
return results;},_showResults=function(results){var output='';$.each(results,function(idx,value){output+=ips.templates.render(options.resultItemTemplate,value);});if(resultsElem.attr('id')==(elemID+'_results')){_positionResults();}
resultsElem.show().html(output).attr('aria-expanded','true');},_positionResults=function(){resultsElem.css({width:wrapper.outerWidth()+'px'});var positionInfo={trigger:wrapper,targetContainer:wrapper,target:resultsElem,center:false};var resultsPosition=ips.utils.position.positionElem(positionInfo);$(resultsElem).css({left:'0px',top:resultsPosition.top+'px',position:(resultsPosition.fixed)?'fixed':'absolute',zIndex:ips.ui.zIndex()});},_getCurrentValue=function(){var value=textField.val();if(options.multiValues){if(value.indexOf(options.itemSep.chr)===-1||!options.commaTrigger){return $.trim(value);}else{var pieces=value.split(options.itemSep.chr);return $.trim(pieces[pieces.length-1]);}}else{return value;}},_keydownWrapper=function(e){if(e.which==ips.ui.key.ESCAPE){keyEvents.escape(e);}},_keydownField=function(e){_expandField();var ignoreKey=false;if(!_([ips.ui.key.UP,ips.ui.key.DOWN,ips.ui.key.LEFT,ips.ui.key.RIGHT,ips.ui.key.ENTER,ips.ui.key.TAB,ips.ui.key.BACKSPACE,ips.ui.key.ESCAPE]).contains(e.which)){ignoreKey=true;}
var value=$.trim(textField.val());if(!value.length){hasError=false;}
if(options.maxLength&&value.length==options.maxLength&&ignoreKey){e.preventDefault();return;}
if(_([ips.ui.key.ENTER,ips.ui.key.TAB]).contains(e.which)&&options.unique&&_duplicateValue(value)){e.preventDefault();_showTooltip(ips.getString('ac_dupes'));return;}
if(ignoreKey){return;}
switch(e.which){case ips.ui.key.BACKSPACE:keyEvents.backspace(e);break;case ips.ui.key.TAB:case ips.ui.key.ENTER:keyEvents.enter(e);break;case ips.ui.key.UP:keyEvents.up(e);break;case ips.ui.key.DOWN:keyEvents.down(e);break;case ips.ui.key.ESCAPE:keyEvents.escape(e);break;}},_keyupField=function(e){var i;for(i in options.disallowedCharacters){if(textField.val().indexOf(options.disallowedCharacters[i])!==-1){textField.val(textField.val().replace(options.disallowedCharacters[i],''));_showTooltip(ips.getString('ac_prohibit_special',{chars:options.disallowedCharacters.join(' ')}));e.preventDefault();return;}}
var lastCharIsComma=(textField.val().substr(textField.val().length-1)===',');if(e.which===229&&lastCharIsComma){_addTokenFromCurrentInput();e.preventDefault();}},_keypressField=function(e){if(!options.commaTrigger){return;}
textField.val(textField.val().replace(',',''));if(e.charCode==options.itemSep.charcode&&options.unique&&_duplicateValue(textField.val())){e.preventDefault();_showTooltip(ips.getString('ac_dupes'));return;}
if(e.charCode==options.itemSep.charcode){_addTokenFromCurrentInput();e.preventDefault();}},_addToken=function(value){tokens.add(value);textField.val('');lastValue='';_resetField();if(options.maxItems&&tokens.total()>=options.maxItems){inputItem.hide();}
if(options.unique&&options.freeChoice==false&&dataSource.totalItems()!==-1&&dataSource.totalItems()<=tokens.total()){wrapper.find('[data-action="addToken"]').hide();}
hasError=false;},_deleteToken=function(token){if(disabled){return;}
tokens.remove(token);},keyEvents={backspace:function(e){if(!textField.val()){if(tokens.selected){tokens.remove(tokens.selected);}else{if(inputItem.prev().length){tokens.select(inputItem.prev());}}}},enter:function(e){if(e.which==ips.ui.key.TAB&&textField.val()==''){return false;}
e.preventDefault();var currentResult=results.getCurrent();var value='';if(currentResult){value=currentResult.attr('data-value');}else{if(options.commaTrigger){value=_stripHTML(textField.val().replace(options.itemSep.chr,''));}else{value=_stripHTML(textField.val());}}
if(!value){return false;}
_addToken(value);},up:function(e){if(!resultsElem||!resultsElem.is(':visible')){return;}
e.preventDefault();var selected=results.getCurrent();if(!selected){results.selectLast();}else{var prev=results.getPrevious(selected);if(prev){results.select(prev);}else{results.selectLast();}}},down:function(e){if(!resultsElem||!resultsElem.is(':visible')){return;}
e.preventDefault();var selected=results.getCurrent();if(!selected){results.selectFirst();}else{var next=results.getNext(selected);if(next){results.select(next);}else{results.selectFirst();}}},escape:function(e){if(resultsElem&&resultsElem.is(':visible')){_closeResults();}}},results={deselectAll:function(){resultsElem.find('[data-selected]').removeAttr('data-selected');},getCurrent:function(){if(dataSource.type=='none'){return;}
var cur=resultsElem.find('[data-selected]');if(cur.length&&resultsElem.is(':visible')){return cur;}
return false;},getPrevious:function(result){var prev=$(result).prev('[data-value]');if(prev.length){return prev;}
return false;},getNext:function(result){var next=$(result).next('[data-value]');if(next.length){return next;}
return false;},selectFirst:function(){results.select(resultsElem.find('[data-value]').first());},selectLast:function(){results.select(resultsElem.find('[data-value]').last());},select:function(result){results.deselectAll();result.attr('data-selected',true);}},tokens={selected:null,add:function(value){var html='';value=$.trim(_.escape(value));if(options.minLength&&value.lengthoptions.maxLength){return false;}
if(options.forceLower){value=value.toLowerCase();}
tokens.deselectAll();inputItem.before(ips.templates.render(options.tokenTemplate,{id:elemID,value:value,title:value}));if(resultsElem){_closeResults();}
valueField.val(tokens.getValues().join("\n"));if(dataSource.type!='none'){html=resultsElem.find('[data-value="'+value.replace("\\","\\\\")+'"]').html();}else{html=value;}
elem.trigger('tokenAdded',{token:value,html:html,tokenList:tokens.getValues(),totalTokens:tokens.total()});return true;},remove:function(token){if(tokens.selected==token){tokens.selected=null;}
var value=$(token).attr('data-value');$(token).remove();if(options.maxItems&&tokens.total()tokens.total())){wrapper.find('[data-action="addToken"]').show();}
valueField.val(tokens.getValues().join("\n"));elem.trigger('tokenDeleted',{token:value,tokenList:tokens.getValues(),totalTokens:tokens.total()});},removeAll:function(){var allTokens=inputItem.siblings().filter('[data-value]');allTokens.each(function(){tokens.remove($(this));});},select:function(token){tokens.deselectAll();tokens.selected=$(token).addClass('cToken_selected');},total:function(){return inputItem.siblings().filter('[data-value]').length;},getValues:function(){var values=[];var allTokens=inputItem.siblings().filter('[data-value]');if(allTokens.length){values=_.map(allTokens,function(item){return $(item).attr('data-value');});}
return values;},getSelected:function(){return tokens.selected.attr('data-value');},deselectAll:function(){wrapper.find('[data-value]').removeClass('cToken_selected');tokens.selected=null;}},_addTokenFromCurrentInput=function(){var value='';if(options.commaTrigger){value=_stripHTML(textField.val().replace(options.itemSep.chr,''));}else{value=_stripHTML(textField.val());}
if(options.minLength&&value.lengthoptions.maxLength){if(options.commaTrigger){textField.val(textField.val().replace(options.itemSep.chr,''));}
return;}
if(options.unique&&_duplicateValue(value)){_showTooltip(ips.getString('ac_dupes'));return;}
_addToken(value);},_duplicateValue=function(value){var values=tokens.getValues();if(values.indexOf(value)!==-1){return true;}
return false;},_stripHTML=function(text){return text.replace(/<|>|"|'/g,'');},_showTooltip=function(msg){if(!tooltip){_buildTooltip();}
hasError=true;if(tooltipTimer){clearTimeout(tooltipTimer);}
tooltip.hide().text(msg);_positionTooltip();tooltipTimer=setTimeout(function(){_hideTooltip();},2500);},_hideTooltip=function(){if(tooltip&&tooltip.is(':visible')){ips.utils.anim.go('fadeOut',tooltip);}},_positionTooltip=function(){var positionInfo={trigger:wrapper,target:tooltip,center:true,above:true};var tooltipPosition=ips.utils.position.positionElem(positionInfo);$(tooltip).css({left:tooltipPosition.left+'px',top:tooltipPosition.top+'px',position:(tooltipPosition.fixed)?'fixed':'absolute',zIndex:ips.ui.zIndex()});if(tooltipPosition.location.vertical=='top'){tooltip.addClass('ipsTooltip_top');}else{tooltip.addClass('ipsTooltip_bottom');}
tooltip.show();},_buildTooltip=function(){var tooltipHTML=ips.templates.render('core.tooltip',{id:'elAutoCompleteTooltip'});ips.getContainer().append(tooltipHTML);tooltip=$('#elAutoCompleteTooltip');},_expandField=function(){var text=textField.val();var widthOfElem=wrapper.width();widthOfElem-=(parseInt(wrapper.css('padding-left'))+parseInt(wrapper.css('padding-right')));var span=$('').text(text).css({'font-size':textField.css('font-size'),'letter-spacing':textField.css('letter-spacing'),'position':'absolute','top':'-100px','left':'-300px','opacity':0.1});ips.getContainer().append(span);var width=span.width()+20;span.remove();textField.css({width:((width>=widthOfElem)?widthOfElem:width)+'px'});},_resetField=function(){textField.css({width:'15px'});};init();return{init:init,destruct:destruct,hasErrors:hasErrors,addToken:tokens.add,getTokens:tokens.getValues,removeToken:tokens.remove,removeAll:tokens.removeAll};};var localData=function(source){var items=$(source).find('option');var getResults=function(text){var deferred=$.Deferred(),output=[],text=text.toLowerCase();items.each(function(idx,item){if(item.innerHTML.toLowerCase().startsWith(text)){output.push({id:item.value,value:item.value,html:item.value});}});deferred.resolve(output);return deferred.promise();},totalItems=function(){return items.length;};return{type:'local',getResults:getResults,totalItems:totalItems,stop:$.noop};};var remoteData=function(source,options){var ajaxObj,loadedCache=false,cache={};var getResults=function(text){if(options.freeChoice){return _remoteSearch(text);}else{return _remoteFetch(text);}},totalItems=function(){if(!options.freeChoice&&loadedCache){return _.size(cache);}
return-1;},_remoteSearch=function(text){var deferred=$.Deferred();if(ajaxObj){ajaxObj.abort();}
if(options.minAjaxLength>text.length){deferred.reject();return deferred.promise();}
if(cache[text]){deferred.resolve(cache[text]);}else{ajaxObj=ips.getAjax()(source+'&'+options.queryParam+'='+encodeURI(text),{dataType:'json'}).done(function(response){deferred.resolve(response);cache[text]=response;}).fail(function(jqXHR,status,errorThrown){if(status!='abort'){Debug.log('aborting');}
deferred.reject();});}
return deferred.promise();},_remoteFetch=function(text){var deferred=$.Deferred();if(!loadedCache){if(ajaxObj){return;}
if(options.minAjaxLength>text.length){return;}
ajaxObj=ips.getAjax()(source,{dataType:'json'}).done(function(response){loadedCache=true;cache=response;_remoteFetch(text);}).fail(function(jqXHR,status,errorThrown){if(status!='abort'){Debug.log('aborting');}
deferred.reject();});}
cache.each(function(idx,item){if(item.value.toLowerCase().startsWith(text)){output.push(item);}});return deferred.promise();},stop=function(){if(ajaxObj){ajaxObj.abort();}};return{type:'remote',getResults:getResults,totalItems:totalItems,stop:stop};};var noData=function(){return{type:'none',getResults:$.noop,totalItems:-1,stop:$.noop};};}(jQuery,_));;
function recaptcha2Callback(){jQuery(window).trigger('recaptcha2Loaded');};;(function($,_,undefined){"use strict";ips.createModule('ips.ui.captcha',function(){var defaults={lang:'en-US',theme:'white'};var recaptchaLoaded=false;var respond=function(elem,options){options=_.defaults(options,defaults);if(options.service=='recaptcha'){_recaptcha(elem,options);}else if(options.service=='recaptcha2'){_recaptcha2(elem,options);}else if(options.service=='keycaptcha'){_keycaptcha(elem);}},_recaptcha=function(elem,options){ips.loader.get([document.location.protocol+'//www.google.com/recaptcha/api/js/recaptcha_ajax.js']).done(function(){var container=$('');var id=container.identify().attr('id');elem.append(container);Recaptcha.create(options.key,id,{theme:options.theme,lang:options.lang,callback:function(){Debug.log('done')}});});},_recaptcha2=function(elem,options){ips.loader.get(['https://www.google.com/recaptcha/api.js?hl='+$(elem).attr('data-ipsCaptcha-lang')+'&onload=recaptcha2Callback&render=explicit']);var initRecaptcha2=function(){elem.children('[data-captchaContainer]').remove();var container=$('');var id=container.identify().attr('id');elem.append(container);grecaptcha.render(id,{sitekey:$(elem).attr('data-ipsCaptcha-key'),theme:$(elem).attr('data-ipsCaptcha-theme')});};if(recaptchaLoaded){initRecaptcha2();}else{$(window).on('recaptcha2Loaded',function(){recaptchaLoaded=true;initRecaptcha2();});}},_keycaptcha=function(elem){ips.loader.get([document.location.protocol+'//backs.keycaptcha.com/swfs/cap.js']);};ips.ui.registerWidget('captcha',ips.ui.captcha,['service','key','lang','theme']);return{respond:respond};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.carousel',function(){var defaults={item:".ipsCarousel_item",shadows:true};var respond=function(elem,options){if(!$(elem).data('_carousel')){$(elem).data('_carousel',carouselObj(elem,_.defaults(options,defaults)));}},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){if($(elem).data('_carousel')){return $(elem).data('_carousel');}
return undefined;};var carouselObj=function(elem,options){var rtlMode=($('html').attr('dir')=='rtl');var currentItemCount=0;var currentLeftPos=0;var currentFirstItem=null;var ui={};var slideshowTimer=null;var slideshowTimeout=4000;var init=function(){currentItemCount=elem.find(options.item);ui={itemList:elem.find('[data-role="carouselItems"]'),next:elem.find('[data-action="next"]'),prev:elem.find('[data-action="prev"]'),nextShadow:elem.find('.ipsCarousel_shadowRight'),prevShadow:elem.find('.ipsCarousel_shadowLeft')};if(!options.shadows){ui.nextShadow.hide();ui.prevShadow.hide();}
var leftPos=parseInt(ui.itemList.css('left'));if(!_.isNaN(leftPos)){currentLeftPos=leftPos;}
_build();_checkNav();var images=$(elem).find('img').length;$(elem).find('img').load(function(){images--;if(!images){_build();}});elem.on('click',"[data-action='next']",_navNext);elem.on('click',"[data-action='prev']",_navPrev);elem.on('contentTruncated',_updateHeight);elem.on('gridRedraw.grid',_updateHeight);if(options.slideshow){slideshowTimer=setTimeout(_slideshowNext,slideshowTimeout);elem.on('mouseenter',function(){clearTimeout(slideshowTimer);}).on('mouseleave',function(){clearTimeout(slideshowTimer);slideshowTimer=setTimeout(_slideshowNext,slideshowTimeout);});}
$(window).on('resize',_resize);},destruct=function(){$(window).off('resize',_resize);},_build=function(){var maxHeight=_getMaxHeight();var elemWidth=0;elem.css({height:maxHeight+(parseInt(elem.css('padding-top'))+parseInt(elem.css('padding-bottom')))+'px'});if(options.fullSizeItems){elemWidth=$(elem).outerWidth(true);}
elem.find(options.item).each(function(item){var height=$(this).outerHeight();var diff=maxHeight-height;if(options.fullSizeItems){$(this).css({width:elemWidth+'px'});}});currentFirstItem=elem.find(options.item).first();_buildNav();},_updateHeight=function(){var maxHeight=_getMaxHeight();elem.css({height:maxHeight+'px'});},_slideshowNext=function(){if(ui.next.not('[data-disabled]').length){_navNext().done(function(){slideshowTimer=setTimeout(_slideshowNext,slideshowTimeout);});}else if(ui.prev.not('[data-disabled]').length){_navPrev(null,true).done(function(){slideshowTimer=setTimeout(_slideshowNext,slideshowTimeout);});}},_navNext=function(e){if(e){e.preventDefault();}
var items=elem.find(options.item);var wrapperWidth=elem.outerWidth();var listWidth=_getCurrentWidth();var stayOnScreen=currentLeftPos+wrapperWidth;var forceNext=false;var deferred=$.Deferred();var nextFirst=_.find(items,function(item,idx){var edge=$(item).position().left;var width=$(item).outerWidth();var margin=(rtlMode)?parseInt($(item).css('marginLeft')):parseInt($(item).css('marginRight'));if(rtlMode){edge=ui.itemList.outerWidth()-(edge+width)-margin;}
if(forceNext){return true;}
if(edge=otherEdge&&stayOnScreen<=(otherEdge+margin)){forceNext=true;return false;}
if(rtlMode){if(edge>stayOnScreen&&otherEdgestayOnScreen){return true;}
return false;});var nextFirst=$(nextFirst);if(!nextFirst.length){Debug.error("nextFirst didn't exist");deferred.resolve();return deferred.promise();}
var nextFirstPos=nextFirst.position().left;var nextFirstMargin=(rtlMode)?parseInt($(nextFirst).css('marginLeft')):parseInt($(nextFirst).css('marginRight'));if(rtlMode){nextFirstPos=ui.itemList.outerWidth()-(nextFirstPos+nextFirst.outerWidth())-nextFirstMargin;}
if((listWidth-nextFirstPos)=0||backToBeginning){currentLeftPos=0;ui.itemList.animate((rtlMode)?{right:'0px'}:{left:'0px'},'slow',function(){_checkNav();});deferred.resolve();return deferred.promise();}
items.reverse();idealLeft=(idealLeft*-1)+wrapperWidth;var prevFirst=_.find(items,function(item){var edge=$(item).position().left;var width=$(item).outerWidth();var otherEdge=edge+width;var margin=(rtlMode)?parseInt($(item).css('marginLeft')):parseInt($(item).css('marginRight'));if(rtlMode){edge=ui.itemList.outerWidth()-(otherEdge);}
if(forcePrev){return true;}
if(edge>idealLeft){return false;}
if(stayOnScreen>=otherEdge&&stayOnScreen<=(otherEdge+margin)){forcePrev=true;return false;}
if(otherEdge>idealLeft&&edge<=idealLeft){return true;}
return false;});Debug.log('prev');prevFirst=$(prevFirst);Debug.log(prevFirst);if(!ips.utils.responsive.currentIs('phone')&&!options.fullSizeItems){prevFirst=$(prevFirst).next(options.item);}
currentFirstItem=prevFirst;if(prevFirst.position()!=null){currentLeftPos=prevFirst.position().left+prevFirst.outerWidth()-wrapperWidth;if(rtlMode){var prevFirstMargin=(rtlMode)?parseInt($(prevFirst).css('marginLeft')):parseInt($(prevFirst).css('marginRight'));currentLeftPos=ui.itemList.outerWidth()-(prevFirst.position().left+prevFirst.outerWidth())-prevFirstMargin-wrapperWidth;}}else{currentLeftPos=prevFirst.outerWidth()+wrapperWidth;}
ui.itemList.animate((rtlMode)?{right:(currentLeftPos*-1)+'px'}:{left:(currentLeftPos*-1)+'px'},'slow',function(){_checkNav();deferred.resolve();});return deferred.promise();},_getMaxHeight=function(){var items=elem.find(options.item);if(!items.length){return 0;}
var max=_.max(items,function(item){var item=$(item);return item.outerHeight();});return $(max).outerHeight();},_checkNav=function(){var currentWidth=_getCurrentWidth();if((currentWidth-currentLeftPos)<=elem.outerWidth()){ui.next.hide().attr('data-disabled',true);if(ui.nextShadow.is(':visible')&&options.shadows){ips.utils.anim.go('fadeOut fast',ui.nextShadow);}}else{ui.next.show().removeAttr('data-disabled');if(!ui.nextShadow.is(':visible')&&options.shadows){ips.utils.anim.go('fadeIn fast',ui.nextShadow);}}
if(currentLeftPos<=0){ui.prev.hide().attr('data-disabled',true);if(ui.prevShadow.is(':visible')&&options.shadows){ips.utils.anim.go('fadeOut fast',ui.prevShadow);}}else{ui.prev.show().removeAttr('data-disabled');if(!ui.prevShadow.is(':visible')&&options.shadows){ips.utils.anim.go('fadeIn fast',ui.prevShadow);}}},_getCurrentWidth=function(){var items=elem.find(options.item);var width=0;items.each(function(item){width+=$(this).outerWidth();width+=parseInt($(this).css('margin-left'));width+=parseInt($(this).css('margin-right'));});return width;},_buildNav=function(){elem.find('.ipsCarousel_nav').removeClass('ipsHide');},_resize=function(){if(options.fullSizeItems){var elemWidth=$(elem).outerWidth(true);elem.find(options.item).each(function(item){$(this).css({width:elemWidth+'px'});});}};init();return{destruct:destruct};};ips.ui.registerWidget('carousel',ips.ui.carousel,['showDots','fullSizeItems','slideshow','shadows']);return{respond:respond,destruct:destruct};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.chart',function(){var defaults={};var respond=function(elem,options){var doInit=function(){if(!$(elem).data('_chart')){$(elem).data('_chart',chartObj(elem,_.defaults(options,defaults)));}};try{doInit();}catch(err){ips.loader.get(['https://www.google.com/jsapi']).then(function(){google.load('visualization','1.0',{'packages':['corechart','gauge','table'],'callback':doInit});});}},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){if($(elem).data('_chart')){return $(elem).data('_chart');}
return undefined;};var chartObj=function(elem,options){var data=new google.visualization.DataTable();var headerTypes={};var extraOptions={};var chartElem=$(elem).next();var chart=null;var init=function(){elem.find('thead th').each(function(idx){headerTypes[idx]=$(this).attr('data-colType');data.addColumn($(this).attr('data-colType'),$(this).text());});elem.find('tbody tr').each(function(){var row=[];$(this).find('td').each(function(idx){if(headerTypes[idx]=='number'){var val;if(val=$(this).text()){val=Number(val);}else{val=null;}}else if(headerTypes[idx]=='date'||headerTypes[idx]=='datetime'||headerTypes[idx]=='timeofday'){var val=new Date($(this).text());}else{var val=$(this).text();}
if(!_.isNaN(val)){row.push(val);}});data.addRow(row);});if(options.format){var formatter=new google.visualization.NumberFormat({pattern:'# '+options.format});formatter.format(data,1);}
extraOptions=$.parseJSON(options.extraOptions);if(!_.isUndefined(extraOptions.height)){chartElem.css({height:extraOptions.height+'px'});}else{chartElem.css({minHeight:'250px'});}
elem.hide().after(chartElem);$(window).on('resize',drawChart);drawChart();google.visualization.events.addListener(chart,'ready',function(){$(elem).trigger('chartInitialized');});$(document).on('tabShown',tabShown);},drawChart=function(e){chart=new google.visualization[options.type](chartElem.get(0));chart.draw(data,extraOptions);},destruct=function(){$(window).off('resize',drawChart);$(document).off('tabShown',tabShown);},tabShown=function(e,data){if($.contains(data.panel.get(0),elem.get(0))){drawChart();}};if(_.isUndefined(google.visualization)){google.setOnLoadCallback(init);}else{init();}
return{init:init,drawChart:drawChart};};ips.ui.registerWidget('chart',ips.ui.chart,['type','extraOptions','format']);return{respond:respond,destruct:destruct,getObj:getObj};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.contentItem',function(){var defaults={multiValues:true,unique:false,fieldTemplate:'core.contentItem.field',resultsTemplate:'core.contentItem.resultWrapper',resultItemTemplate:'core.contentItem.resultItem',itemTemplate:'core.contentItem.item',queryParam:'q',minAjaxLength:1};var respond=function(elem,options){if(!$(elem).data('_contentItem')){$(elem).data('_contentItem',contentItemObj(elem,_.defaults(options,defaults)));}},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){elem=$(elem);if(elem.data('_contentItem')){return elem.data('_contentItem');}else if($('[name="'+elem.attr('name')+'_original'+'"]').length&&$('[name="'+elem.attr('name')+'_original'+'"]').data('_contentItem')){return $('[name="'+elem.attr('name')+'_original'+'"]').data('_contentItem');}
return undefined;};ips.ui.registerWidget('contentItem',ips.ui.contentItem,['resultsTemplate','resultItemTemplate','itemTemplate','queryParam','dataSource','maxItems','minAjaxLength']);return{respond:respond,destruct:destruct,getObj:getObj};});var contentItemObj=function(elem,options,e){var timer,blurTimer,lastValue='',originalTextField,valueField,hiddenValueField,itemListWrapper,textField,dataSource,elemID=$(elem).identify().attr('id'),wrapper,inputItem,resultsElem,disabled=false,required=false,tooltip=null,tooltipTimer=null;var init=function(){if($(elem).is('input[type="text"], input[type="search"]')){originalTextField=$(elem);}else{originalTextField=$(elem).find('input[type="text"], input[type="search"]').first();}
_buildWrapper();_getDataSource();originalTextField.removeAttr('list');_buildResultsList();if(originalTextField.is(':disabled')){disabled=true;}
if(originalTextField.is('[required]')){required=true;originalTextField.removeProp('required').removeAttr('aria-required');}
textField.prop('autocomplete','off').prop('spellcheck',false).prop('disabled',disabled).attr('aria-autocomplete','list').attr('aria-haspopup','true').attr('tabindex',originalTextField.attr('tabindex')||'');$(document).on('click',_documentClick);wrapper.click(function(e){e.stopPropagation();return false;});textField.on('focus',_focusField).on('blur',_blurField).on('keydown',_keydownField)
wrapper.on('click',_clickWrapper).on('keydown',_keydownWrapper).on('propChanged',_propChanged).toggleClass('ipsField_autocompleteDisabled',disabled);elem.trigger('autoCompleteReady',{elemID:elemID,elem:elem,currentValues:contentItems.getValues()});},destruct=function(){$(document).off('click',_documentClick);},_propChanged=function(e){disabled=originalTextField.is(':disabled');wrapper.toggleClass('ipsField_autocompleteDisabled',disabled);},_buildResultsList=function(){if(options.resultsElem&&$(options.resultsElem).length){resultsElem=$(options.resultsElem);return;}
var resultsList=ips.templates.render(options.resultsTemplate,{id:elemID});wrapper.append(resultsList);resultsElem=$('#'+elemID+'_results');resultsElem.on('mouseover','[data-id]',function(e){results.select($(e.currentTarget));}).on('click','[data-id]',function(e){_addContentItem($(e.currentTarget));textField.focus();}).attr('aria-busy','false');},_buildWrapper=function(){var existingClasses=elem[0].className;$(elem).after(ips.templates.render(options.fieldTemplate,{id:elemID})).removeClass(existingClasses);wrapper=$('#'+elemID+'_wrapper');inputItem=$('#'+elemID+'_inputItem');var insertElem=$('').attr({type:'text',id:elemID+'_dummyInput'}).prop('autocomplete','off');textField=insertElem;var name=originalTextField.attr('name');originalTextField.attr('name',originalTextField.attr('name')+'_original');valueField=$('').attr('name',name).hide();hiddenValueField=$('input[name='+name+'_values]');itemListWrapper=$('[data-contentitem-results='+name+']');originalTextField.hide();wrapper.addClass(existingClasses).append(elem).append(valueField).find('#'+elemID+'_inputItem').append(insertElem);if(options.maxItems&&contentItems.total()>=options.maxItems)
{wrapper.hide();}
itemListWrapper.on('click','[data-action="delete"]',function(e){_deleteContentItem($(e.currentTarget).parent('[data-id]'));});},_getDataSource=function(){if(ips.utils.validate.isUrl(options.dataSource)){dataSource=remoteData(options.dataSource,options);}else{dataSource=noData();}},_clickWrapper=function(e){if(!$(e.target).is(textField)&&(!resultsElem||!$.contains(resultsElem.get(0),e.target))){textField.focus();}},_focusField=function(e){if(dataSource.type=='none'){return;}
timer=setInterval(_timerFocusField,400);},_blurField=function(e){clearInterval(timer);_.delay(_timerBlurField,300);},_timerBlurField=function(){_closeResults();},_timerFocusField=function(){if(dataSource.type=='none'){return;}
var currentValue=_getCurrentValue();if(currentValue==lastValue){return;}
lastValue=currentValue;_loadResults(currentValue);},_loadResults=function(value){_toggleLoading('show');resultsElem.attr('aria-busy','true');dataSource.getResults(value).done(function(results){_showResults(_processResults(results,value));}).fail(function(){}).always(function(){resultsElem.attr('aria-busy','false');_toggleLoading('hide');});},_toggleLoading=function(doWhat){if(doWhat=='show'){wrapper.addClass('ipsField_loading');}else{wrapper.removeClass('ipsField_loading');}},_closeResults=function(e){if(e){e.preventDefault();}
if(resultsElem&&resultsElem.length){resultsElem.hide().attr('aria-expanded','false');}
dataSource.stop();},_documentClick=function(){_closeResults();},_processResults=function(results,text){var existingItems=contentItems.getValues(),newResults={};$.each(results,function(key,data){if(!data.id||_.indexOf(existingItems,data.id)===-1){newResults[key]=data;}});return newResults;},_showResults=function(results){var output='';$.each(results,function(idx,value){output+=ips.templates.render(options.resultItemTemplate,value);});if(resultsElem.attr('id')==(elemID+'_results')){_positionResults();}
resultsElem.show().html(output).attr('aria-expanded','true');},_positionResults=function(){resultsElem.css({width:wrapper.outerWidth()+'px'});var positionInfo={trigger:wrapper,targetContainer:wrapper,target:resultsElem,center:false};var resultsPosition=ips.utils.position.positionElem(positionInfo);$(resultsElem).css({left:'0px',top:resultsPosition.top+'px',position:(resultsPosition.fixed)?'fixed':'absolute',zIndex:ips.ui.zIndex()});},_getCurrentValue=function(){var value=textField.val();return value;},_keydownWrapper=function(e){if(e.keyCode==ips.ui.key.ESCAPE){keyEvents.escape(e);}},_keydownField=function(e){_expandField();var ignoreKey=false;if(!_([ips.ui.key.UP,ips.ui.key.DOWN,ips.ui.key.ESCAPE,ips.ui.key.ENTER]).contains(e.keyCode)){ignoreKey=true;}
var value=$.trim(textField.val());if(ignoreKey){return;}
switch(e.keyCode){case ips.ui.key.UP:keyEvents.up(e);break;case ips.ui.key.DOWN:keyEvents.down(e);break;case ips.ui.key.ESCAPE:keyEvents.escape(e);break;case ips.ui.key.ENTER:keyEvents.enter(e);break;}},_addContentItem=function(elem){contentItems.add(elem);textField.val('');lastValue='';_resetField();if(options.maxItems&&contentItems.total()>=options.maxItems){wrapper.hide();}},_deleteContentItem=function(item){if(disabled){return;}
contentItems.remove(item);},keyEvents={up:function(e){if(!resultsElem||!resultsElem.is(':visible')){return;}
e.preventDefault();var selected=results.getCurrent();if(!selected){results.selectLast();}else{var prev=results.getPrevious(selected);if(prev){results.select(prev);}else{results.selectLast();}}},down:function(e){if(!resultsElem||!resultsElem.is(':visible')){return;}
e.preventDefault();var selected=results.getCurrent();if(!selected){results.selectFirst();}else{var next=results.getNext(selected);if(next){results.select(next);}else{results.selectFirst();}}},enter:function(e){e.preventDefault();var currentResult=results.getCurrent();var value='';if(currentResult){value=currentResult.attr('data-id');}
if(!value){return false;}
_addContentItem(currentResult);},escape:function(e){if(resultsElem&&resultsElem.is(':visible')){_closeResults();}}},results={deselectAll:function(){resultsElem.find('[data-selected]').removeAttr('data-selected');},getCurrent:function(){if(dataSource.type=='none'){return;}
var cur=resultsElem.find('[data-selected]');if(cur.length&&resultsElem.is(':visible')){return cur;}
return false;},getPrevious:function(result){var prev=$(result).prev('[data-id]');if(prev.length){return prev;}
return false;},getNext:function(result){var next=$(result).next('[data-id]');if(next.length){return next;}
return false;},selectFirst:function(){results.select(resultsElem.find('[data-id]').first());},selectLast:function(){results.select(resultsElem.find('[data-id]').last());},select:function(result){results.deselectAll();result.attr('data-selected',true);}},contentItems={selected:null,add:function(elem){var html='';var obj=$(elem).find('[data-role=contentItemRow]');html=obj.html();itemListWrapper.append(ips.templates.render(options.itemTemplate,{id:obj.attr('data-itemid'),html:html}));if(resultsElem){_closeResults();}
hiddenValueField.val(contentItems.getValues().join(','));if(options.maxItems&&contentItems.total()>=options.maxItems)
{wrapper.hide();}
elem.trigger('contentItemAdded',{html:html,itemList:contentItems.getValues(),totalItems:contentItems.total()});return true;},remove:function(item){if(contentItems.selected==item){contentItems.selected=null;}
var value=$(item).attr('data-value');$(item).remove();if(options.maxItems&&contentItems.total()').text(text).css({'font-size':textField.css('font-size'),'letter-spacing':textField.css('letter-spacing'),'position':'absolute','top':'-100px','left':'-300px','opacity':0.1});ips.getContainer().append(span);var width=span.width()+20;span.remove();textField.css({width:((width>=widthOfElem)?widthOfElem:width)+'px'});},_resetField=function(){textField.css({width:'15px'});};init();return{init:init,destruct:destruct,addContentItem:contentItems.add,getContentItem:contentItems.getValues,removeContentItem:contentItems.remove};};var remoteData=function(source,options){var ajaxObj,loadedCache=false,cache={};var getResults=function(text){return _remoteSearch(text);},totalItems=function(){return-1;},_remoteSearch=function(text){var deferred=$.Deferred();if(ajaxObj){ajaxObj.abort();}
if(options.minAjaxLength>text.length){deferred.reject();return deferred.promise();}
if(cache[text]){deferred.resolve(cache[text]);}else{ajaxObj=ips.getAjax()(source+'&'+options.queryParam+'='+encodeURI(text),{dataType:'json'}).done(function(response){deferred.resolve(response);cache[text]=response;}).fail(function(jqXHR,status,errorThrown){if(status!='abort'){Debug.log('aborting');}
deferred.reject();});}
return deferred.promise();},_remoteFetch=function(text){var deferred=$.Deferred();if(!loadedCache){if(ajaxObj){return;}
if(options.minAjaxLength>text.length){return;}
ajaxObj=ips.getAjax()(source,{dataType:'json'}).done(function(response){loadedCache=true;cache=response;_remoteFetch(text);}).fail(function(jqXHR,status,errorThrown){if(status!='abort'){Debug.log('aborting');}
deferred.reject();});}
cache.each(function(idx,item){if(item.value.toLowerCase().startsWith(text)){output.push(item);}});return deferred.promise();},stop=function(){if(ajaxObj){ajaxObj.abort();}};return{type:'remote',getResults:getResults,totalItems:totalItems,stop:stop};};var noData=function(){return{type:'none',getResults:$.noop,totalItems:-1,stop:$.noop};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.dialog',function(){var defaults={modal:true,draggable:false,className:'ipsDialog',close:true,fixed:false,narrow:false,callback:null,forceReload:false,flashMessage:'',flashMessageTimeout:2,remoteVerify:true,remoteSubmit:false,destructOnClose:false,ajax:{type:'get',data:{}}};var showStack=[];var respond=function(elem,options,e){e.preventDefault();if(!options.url&&!options.content&&$(elem).attr('href')){options.url=$(elem).attr('href');}
if(!$(elem).data('_dialog')){$(elem).data('_dialog',dialogObj(elem,_.defaults(options,defaults)));}
$(elem).data('_dialog').show();},getObj=function(elem){if($(elem).data('_dialog')){return $(elem).data('_dialog');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();$(elem).removeData('_dialog');}},create=function(options){return dialogObj(null,_.defaults(options,defaults));},_init=function(){$(document).on('keydown',function(e){if(e.keyCode==ips.ui.key.ESCAPE){$(document).trigger('closeDialog',{dialogID:showStack[showStack.length-1]});}}).on('openDialog',function(e,data){showStack.push(data.dialogID);}).on('hideDialog',function(e,data){showStack=_.without(showStack,data.dialogID);});};ips.ui.registerWidget('dialog',ips.ui.dialog,['url','modal','draggable','size','title','close','fixed','destructOnClose','callback','content','forceReload','flashMessage','flashMessageTimeout','showFrom','remoteVerify','remoteSubmit'],{lazyLoad:true,lazyEvents:'click'});_init();return{respond:respond,destruct:destruct,getObj:getObj,create:create};});var dialogObj=function(elem,options){var modal,dialog,ajaxObj,dialogID='',elemID='',dialogBuilt=false,contentLoaded=false,modalEvent={up:false,down:false};var init=function(){if(elem===null){elemID='elem_'+(Math.round(Math.random()*10000000));}else{elemID=$(elem).identify().attr('id');}
dialogID=elemID+'_dialog';if(options.size=='fullscreen'){options.fixed=true;}
$(document).on('closeDialog',closeDialog);},destruct=function(){$(document).off('closeDialog',closeDialog);if(modal){modal.remove();}
if(dialog){dialog.remove();}},closeDialog=function(e,data){if(data&&data.originalEvent){data.originalEvent.preventDefault();}
if(data&&data.dialogID==dialogID){hide();modalEvent={up:false,down:false};}},hide=function(){var deferred=$.Deferred();if(options.fixed){$('body').removeClass('ipsNoScroll');}
dialog.animationComplete(function(){if(options.forceReload||options.destructOnClose){ips.controller.cleanContentsOf(dialog);dialog.find('.'+options.className+'_content').html('');}
$(elem||document).trigger('hideDialog',{elemID:elemID,dialogID:dialogID,dialog:dialog});if(options.destructOnClose){ips.ui.dialog.destruct(elem);}
deferred.resolve();});ips.utils.anim.go('fadeOutDown fast',dialog);if(options.modal){ips.utils.anim.go('fadeOut fast',modal);}
return deferred.promise();},show=function(initOnly){if(options.url&&!contentLoaded){_remoteDialog(initOnly);}else if(!contentLoaded){_localDialog(initOnly);}else{if(initOnly){return;}
modal.css({zIndex:ips.ui.zIndex()});dialog.css({zIndex:ips.ui.zIndex()});_positionDialog();_showDialog();}},remove=function(hideFirst){var doRemove=function(){if(ajaxObj&&_.isFunction(ajaxObj.abort)){ajaxObj.abort();}
dialog.remove();modal.remove();dialog=null;modal=null;dialogBuilt=false;contentLoaded=false;ajaxObj=null;};if(hideFirst&&dialog.is(':visible')){hide().done(function(){doRemove();});}else{doRemove();}},setLoading=function(loading){if(loading){dialog.find('.'+options.className+'_loading').show().end().find('.'+options.className+'_content').hide();_positionDialog();}else{dialog.find('.'+options.className+'_loading').hide().end().find('.'+options.className+'_content').show();}},updateContent=function(newContent){dialog.find('.'+options.className+'_content').html(newContent);$(document).trigger('contentChange',[dialog]);},_showDialog=function(){if(options.fixed){$('body').addClass('ipsNoScroll');}
if(options.modal){ips.utils.anim.go('fadeIn',modal);}
if(options.showFrom&&$(options.showFrom).is(':visible')){_showFrom(options.showFrom);}else{ips.utils.anim.go('fadeInDown',dialog);}
$(elem||document).trigger('openDialog',{elemID:elemID,dialogID:dialogID,dialog:dialog,contentLoaded:contentLoaded});},_showFrom=function(showFrom){dialog.show();var dialogBit=dialog.find('>div');var dialogPosition=ips.utils.position.getElemPosition(dialogBit);var dialogHeight=dialogBit.outerHeight();var dialogWidth=dialogBit.outerWidth();dialog.hide();var fromPosition=ips.utils.position.getElemPosition($(options.showFrom));var docSize=$(document).outerWidth();var widthOffset=dialogPosition.viewportOffset.left+(fromPosition.viewportOffset.left-(dialogWidth / 2));var fromHalfpoint=(fromPosition.absPos.top+($(options.showForm).outerHeight()/ 2));var heightOffset=(fromHalfpoint-dialogPosition.absPos.top-(dialogHeight / 2));if(dialogPosition.viewportOffset.left>fromPosition.viewportOffset.left){widthOffset=widthOffset*-1;}
$(dialog).show();$(dialogBit).css({transform:'translateY('+heightOffset+'px) translateX('+widthOffset+'px) scale(0.1)',opacity:1}).animate({transform:'translateY(0px) translateX(0px) scale(1)',opacity:1},{easing:'swing'});},_remoteDialog=function(initOnly){if(!dialogBuilt){if(options.modal){_buildModal();}
_buildDialog();}
if(initOnly){_fetchContent();}else{setLoading(true);_showDialog();_fetchContent();}
if(!options.forceReload){contentLoaded=true;}},_localDialog=function(initOnly){if(!options.content&&!$(options.content).length){Debug.warn("'content' option not specified for dialog, or element doesn't exist");return;}
if(!dialogBuilt){if(options.modal){_buildModal();}
_buildDialog();}
if(initOnly){return;}
dialog.find('.'+options.className+'_content').html($(options.content).first().show());_showDialog();if(!options.forceReload){contentLoaded=true;}},_fetchContent=function(){var deferred=$.Deferred();setLoading(true);ajaxObj=ips.getAjax()(options.url,{type:options.ajax.type,data:options.ajax.data}).done(function(response){setLoading(false);updateContent(response);deferred.resolve();if(options.callback!==null){options.callback(dialog);}
$(elem||document).trigger('dialogContentLoaded',{elemID:elemID,dialogID:dialogID,dialog:dialog,contentLoaded:true});}).fail(function(jqXHR,status,errorThrown){if(jqXHR.responseJSON){ips.ui.alert.show({message:jqXHR.responseJSON,});setLoading(false);contentLoaded=false;hide();}else if(Debug.isEnabled()){Debug.error("Ajax request failed ("+status+"): "+errorThrown);}else if(elem){window.location=elem.href;}else{ips.ui.alert.show({message:ips.getString('errorLoadingContent'),});setLoading(false);contentLoaded=false;hide();}
deferred.reject();}).always(function(){});return deferred.promise();},_buildDialog=function(){if(dialogBuilt){return;}
var offset=0;$('body').append(ips.templates.render('core.dialog.main',{'class':options.className,title:options.title||'',id:dialogID,fixed:options.fixed,size:options.size,close:options.close}));dialog=$('#'+dialogID);dialog.css({zIndex:ips.ui.zIndex(),});_positionDialog();dialog.on('click','[data-action="dialogClose"]',function(e){$(dialog).trigger('closeDialog',{dialogID:dialogID,originalEvent:e});});$(dialog).on('closeDialog',function(e,data){hide();});if(options.close){dialog.on('mouseup',function(e){if(e.target==dialog.get(0)){modalEvent.up=true;}});dialog.on('mousedown',function(e){if(e.target==dialog.get(0)){modalEvent.down=true;}});dialog.on('click',function(e){Debug.log(e.target);if((!modalEvent.up||(dialog.get(0)==e.target&&modalEvent.down))&&dialog.find('> div').get(0)!=e.target&&!$.contains(dialog.find('> div').get(0),e.target)&&$.contains(document,e.target)){$(dialog).trigger('closeDialog',{dialogID:dialogID,originalEvent:e});}
modalEvent={up:false,down:false};});}
if(options.remoteVerify||options.remoteSubmit){dialog.find('.'+options.className+'_content').on('submit','form',function(e){_ajaxFormSubmit(e,$(this));});}
dialogBuilt=true;},_positionDialog=function(){if(dialog&&!options.fixed){var win=$(window);var offset=win.scrollTop();dialog.css({top:offset+'px'});}},_buildModal=function(){modal=ips.ui.getModal();modal.css({zIndex:ips.ui.zIndex()});},_ajaxFormSubmit=function(e,form){if(form.attr('data-bypassValidation')){return false;}
e.preventDefault();setLoading(true);try{if(!_.isUndefined(CKEDITOR)&&CKEDITOR!=null){for(var instance in CKEDITOR.instances){CKEDITOR.instances[instance].updateElement();}}}catch(err){}
var url=form.attr('action');var ajaxUrl=url;if(options.remoteVerify){var joinWith='?';if(ajaxUrl.indexOf('?')!=-1){joinWith='&';}
ajaxUrl=ajaxUrl+joinWith+'ajaxValidate=1';}
ips.getAjax()(ajaxUrl,{data:form.serialize(),type:'post'}).done(function(response,status,jqXHR){if(options.remoteVerify&&!form.attr('data-bypassValidation')){if(jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormError: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormNoSubmit: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formerror: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formnosubmit: true')!==-1){Debug.log('Validation failed');setLoading(false);updateContent(response);return;}}
if(options.remoteSubmit){var doneAfterSubmit=function(submitResponse){$(elem||document).trigger('submitDialog',{elemID:elemID,dialogID:dialogID,dialog:dialog,contentLoaded:contentLoaded,response:submitResponse});setLoading(false);contentLoaded=false;hide();if(options.flashMessage){ips.ui.flashMsg.show(options.flashMessage,{timeout:options.flashMessageTimeout});}};if(options.remoteVerify){ips.getAjax()(url,{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response,status,jqXHR){if(jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormError: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormNoSubmit: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formerror: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formnosubmit: true')!==-1){form.attr('data-bypassValidation',true).submit();}else{doneAfterSubmit(response);}}).fail(function(jqXHR,status,errorThrown){form.attr('data-bypassValidation',true).submit();});}else{doneAfterSubmit(response);}}else if(jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormNoSubmit: true')!==-1||jqXHR.getAllResponseHeaders().indexOf('x-ips-formnosubmit: true')!==-1){setLoading(false);updateContent(response);}else{form.attr('data-bypassValidation',true).submit();}}).fail(function(){form.attr('data-bypassValidation',true).submit();});};init();return{init:init,show:show,hide:hide,remove:remove,setLoading:setLoading,updateContent:updateContent,dialogID:dialogID,destruct:destruct};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.drawer',function(){var defaults={};var respond=function(elem,options,e){e.preventDefault();if(!$(elem).data('_drawer')){$(elem).data('_drawer',drawerObj(elem,_.defaults(options,defaults)));}
$(elem).data('_drawer').show();};ips.ui.registerWidget('drawer',ips.ui.drawer,['drawerElem'],{lazyLoad:true,lazyEvents:'click'});return{respond:respond};});var drawerObj=function(elem,options){var modal,drawerElem,drawerContent;var init=function(){modal=ips.ui.getModal().addClass('ipsDrawer_modal');drawerElem=$(options.drawerElem),drawerContent=drawerElem.find('.ipsDrawer_menu');drawerElem.on('click','[data-action="close"]',function(){hide();});drawerElem.on('click',function(e){if(!$.contains(drawerContent.get(0),e.target)){hide();}});drawerElem.on('click','.ipsDrawer_itemParent > h4',_showSubMenu).on('click','[data-action="back"]',_subMenuBack).find('.ipsDrawer_itemParent > ul').addClass('ipsDrawer_subMenu').hide();},_showSubMenu=function(e){e.preventDefault();var item=$(e.currentTarget);item.parents('.ipsDrawer_list').animate(($('html').attr('dir')==='rtl')?{marginRight:'-100%'}:{marginLeft:'-100%'}).end().siblings('.ipsDrawer_list').show();},_subMenuBack=function(e){e.preventDefault();var item=$(e.currentTarget),thisMenu=item.parent('.ipsDrawer_list');thisMenu.parents('.ipsDrawer_list').first().animate(($('html').attr('dir')==='rtl')?{marginRight:'0'}:{marginLeft:'0'},function(){thisMenu.hide();});},show=function(){window.scrollTo(0,-1);modal.css({zIndex:ips.ui.zIndex()});drawerElem.find('.ipsDrawer_close').hide();ips.utils.anim.go('fadeIn fast',modal);drawerElem.css({zIndex:ips.ui.zIndex()}).show();if($('html').attr('dir')==='rtl'){ips.utils.anim.go('slideRight fast',drawerElem);}else{ips.utils.anim.go('slideLeft fast',drawerElem);}
drawerElem.find('.ipsDrawer_close').delay(500).fadeIn();$('body').css({overflow:'hidden'});},hide=function(){ips.utils.anim.go('fadeOut fast',modal);drawerElem.hide();$('body').css({overflow:'auto'});};init();return{init:init,show:show,hide:hide};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.editor',function(){var defaults={allbuttons:false,postKey:'',toolbars:'',emoticons:'',extraPlugins:'',contentsCss:'',minimized:false,autoSaveKey:null,skin:'ips',autoGrow:true,pasteBehaviour:'rich',autoEmbed:true,controller:null,defaultIfNoAutoSave:false};var respond=function(elem,options){var loadTries=0;if(ips.getSetting('useCompiledFiles')!==true){ips.loader.get(['core/dev/ckeditor/ckeditor.js']).then(bootEditor);}else{ips.loader.get(['core/interface/ckeditor/ckeditor/ckeditor.js']).then(bootEditor);}
function bootEditor(){if((!CKEDITOR||_.isUndefined(CKEDITOR.on))&&loadTries<60){loadTries++;setTimeout(bootEditor,50);return;}
if(CKEDITOR.status=='loaded'){ckLoaded();}else{CKEDITOR.on('loaded',function(){ckLoaded();});}};function ckLoaded(){if(!$(elem).data('_editor')){var editor=editorObj(elem,_.defaults(options,defaults));$(elem).data('_editor',editor);editor.init();}};},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){if($(elem).data('_editor')){return $(elem).data('_editor');}
return undefined;};ips.ui.registerWidget('editor',ips.ui.editor,['allbuttons','postKey','toolbars','extraPlugins','autoGrow','contentsCss','minimized','autoSaveKey','skin','name','emoticons','pasteBehaviour','autoEmbed','controller','defaultIfNoAutoSave']);return{respond:respond,getObj:getObj,destruct:destruct};});var editorObj=function(elem,options){var instance=null;var hiddenAtStart=false;var minimized=options.minimized;var hiddenInterval=null;var size='phone';var name='';var previewIframe=null;var currentPreviewView='';var previewInitialHeight=0;var previewSizes={phone:375,tablet:780};var init=function(callback){var config={allowedContent:true,contentsLangDirection:$('html').attr('dir'),disableNativeSpellChecker:false,extraPlugins:'ipsautolink,ipsautosave,ipsctrlenter,ipscode,ipscontextmenu,ipsemoticon,ipsimage,ipslink,ipsmentions,ipspage,ipspaste,ipspreview,ipsquote,ipsspoiler,ipsautogrow,ipssource,removeformat',ipsAutoSaveKey:options.autoSaveKey,ipsDefaultIfNoAutoSave:options.defaultIfNoAutoSave,ipsEmoticons:$.parseJSON(options.emoticons),ipsPasteBehaviour:options.pasteBehaviour,ipsAutoEmbed:options.autoEmbed,removeButtons:'',skin:options.skin,height:'auto',title:window.navigator.platform=='MacIntel'?ips.getString('editorRightClickMac'):ips.getString('editorRightClick'),controller:options.controller};if(options.pasteBehaviour=='force'){config.pasteFilter='plain-text';}
else{if(CKEDITOR.env.webkit){var tags=[];for(var tag in CKEDITOR.dtd){if(tag.charAt(0)!='$'){tags.push(tag);}}
config.pasteFilter=tags.join(' ')+'[*]{background-color,border*,color,padding,text-align,vertical-align,font-size}';}
else{config.pasteFilter=null;}}
if(!/iPad|iPhone|iPod/.test(navigator.platform)){config.removePlugins='elementspath';}
if(ips.getSetting('ipb_url_filter_option')=='none'&&ips.getSetting('url_filter_any_action')=='moderate'&&ips.getSetting('bypass_profanity')==0){config.removePlugins='ipslink';}
name=$(elem).find('textarea').attr('name');$(elem).trigger('editorCompatibility',{compatible:CKEDITOR.env.isCompatible});if(options.minimized&&minimized){$(elem).find('.ipsComposeArea_dummy').show().on('focus click',function(e){unminimize(function(){focus();});}).end().find('[data-role="mainEditorArea"]').hide().end().closest('.ipsComposeArea').addClass('ipsComposeArea_minimized').find('[data-ipsEditor-toolList]').hide();$(document).on('initializeEditor',_initializeEditor);minimized=true;}
if(!elem.is(':visible')){hiddenAtStart=true;if(!options.minimized&&!minimized){clearInterval(hiddenInterval);hiddenInterval=setInterval(function(){if(elem.is(':visible')){clearInterval(hiddenInterval);resize(false);hiddenAtStart=false;}},400);}}
var language=$('html').attr('lang').toLowerCase();if(!CKEDITOR.lang.languages[language]){var language=language.substr(0,2);if(CKEDITOR.lang.languages[language]){config.language=language;}}else{config.language=language;}
if(!options.allbuttons){var toolbars=$.parseJSON(options.toolbars);var width=elem.width();if(width>700){size='desktop';}else if(width>400){size='tablet';}
config.toolbar=toolbars[size];}else{config.removePlugins='sourcearea';}
if(options.extraPlugins!==true){config.extraPlugins+=','+options.extraPlugins;}
instance=CKEDITOR.replace($(elem).find('textarea').get(0),config);instance.once('instanceReady',function(){elem.trigger('editorWidgetInitialized',{id:name});if(_.isFunction(callback)){callback();}});if(!options.allbuttons){$(window).on('resize',resize);}
$(document).on('fileDeleted',_deleteFile);$(document).on('insertEmoticon',_insertEmoticon);$(elem).on('togglePreview',_togglePreview);$(window).on('message',_previewMessage);};var destruct=function(){try{instance.removeAllListeners();CKEDITOR.remove(instance);_offEvents();Debug.log("Destroyed editor instance");}catch(err){Debug.error("Editor destruct error:");Debug.error(err);}};var _offEvents=function(){$(window).off('resize',resize);$(document).off('fileDeleted',_deleteFile);$(document).off('initializeEditor',_initializeEditor);$(document).off('insertEmoticon',_insertEmoticon);$(elem).off('togglePreview',_togglePreview);$(window).off('message',_previewMessage);};var resize=function(focus){var width=elem.width();var newSize='phone';if(width>700){newSize='desktop';}else if(width>400){newSize='tablet';}
if(newSize!=size){size=newSize;instance.destroy();_offEvents();init(function(){if(focus){instance.focus();}});}};var focus=function(){instance.focus();};var unminimize=function(callback){if(!_.isFunction(callback)){callback=$.noop;}
if(minimized){var _unminimize=function(){$(elem).find('.ipsComposeArea_dummy').hide().end().find('[data-role="mainEditorArea"]').show().end().closest('.ipsComposeArea').removeClass('ipsComposeArea_minimized').find('[data-ipsEditor-toolList]').show();if(instance.status=='ready'){minimized=false;callback();if(hiddenAtStart){resize(true);hiddenAtStart=false;}}else{instance.once('instanceReady',function(){minimized=false;callback();if(hiddenAtStart){resize(true);hiddenAtStart=false;}});}
var minimizedUploader=$(elem).find('[data-ipsEditor-toolListMinimized]');if(minimizedUploader.length){minimizedUploader.show();ips.getAjax()(elem.parentsUntil('','form').attr('action'),{'data':{'getUploader':minimizedUploader.attr('data-name')}}).done(function(response){minimizedUploader.replaceWith(response);elem.trigger('uploaderReady',{});$(document).trigger('contentChange',[elem]);});}};if(!/iPad|iPhone|iPod/.test(navigator.platform)){setTimeout(function(){_unminimize();},200);}else{_unminimize();}}else{callback();}};var insertQuotes=function(quotes){var _doInsert=function(){for(var i=0;i').append(quote).html());instance.setReadOnly(false);instance.insertElement(element);instance.widgets.initOn(element,'ipsquote');if(i+1').attr('href',url));}}else{if(selectedElement.parent().prop('tagName')==='A'){selectedElement.parent().replaceWith(selectedElement);}}
selectedElement.css({"width":width,"height":height});var alignClasses='ipsAttachLink_left ipsAttachLink_right';if(align){if(selectedElement.parent().prop('tagName')==='A'){selectedElement.parent().css('float',align).removeClass(alignClasses).addClass('ipsAttachLink ipsAttachLink_'+align);}else{selectedElement.css('float',align).removeClass(alignClasses).addClass('ipsAttachLink_image ipsAttachLink_'+align);}}else{selectedElement.css('float','').removeClass(alignClasses);if(selectedElement.parent().prop('tagName')==='A'){selectedElement.parent().css('float','').removeClass(alignClasses);}}
if(alt){selectedElement.attr('alt',alt);}else{selectedElement.removeAttr('alt');}};var checkDirty=function(){return instance.checkDirty();};var resetDirty=function(){return instance.resetDirty();};var insertHtml=function(html){instance.insertHtml(html);};var reset=function(){instance.setData('');_closePreview();elem.find('[data-ipsUploader]').trigger('resetUploader');};var saveAndClearAutosave=function(){instance.updateElement();ips.utils.db.remove('editorSave',options.autoSaveKey);};var _belongsToThisEditor=function(data){if(_.isUndefined(data.editorID)||data.editorID!==name){return false;}
return true;};var _initializeEditor=function(e,data){if(!_belongsToThisEditor(data)){return;}
unminimize(function(){_scrollToEditor();focus();});};var _deleteFile=function(e,data){var document=elem.find('.cke_contents');var links=document.find('a');$.each(links,function(){var link=$(this);if(link.attr('data-fileid')==data.fileElem.attr('data-fileid')||link.attr('href')==ips.getSetting('baseURL')+'applications/core/interface/file/attachment.php?id='+data.fileElem.attr('data-fileid')){link.remove();}});var images=document.find('img');var toRemove=[];$.each(images,function(){var image=$(this);if(image.attr('data-fileid')==data.fileElem.attr('data-fileid')){toRemove.push(image);}});for(var i=0;i(windowScroll+viewHeight)){$('html, body').animate({scrollTop:elemPosition.absPos.top+'px'});}};var _insertEmoticon=function(e,data){try{if(_belongsToThisEditor(data)){if($(''+instance.getData()+'
').find('img[data-emoticon]').length<75){var imgTag='
';insertHtml(imgTag);focus();}else{var emoMessage=$(elem).closest('[data-ipsEditor]').find('[data-role="emoticonMessage"]');emoMessage.slideDown();var hideEmoMessage=function(){emoMessage.slideUp();};setTimeout(function(){instance.once('key',function(){hideEmoMessage();});instance.once('setData',function(){hideEmoMessage();});},2500);}}}catch(err){Debug.error("CKEditor instance couldn't be fetched");return;}};var _togglePreview=function(){if(elem.find('[data-role="previewFrame"]').length){_showPreview();}else{_buildAndShowPreview();}};var _showPreview=function(){var currentHeight=elem.height();elem.find('[data-role="editorComposer"]').hide();elem.find('[data-role="editorPreview"]').show();var toolbarHeight=elem.find('[data-role="previewToolbar"]').height();elem.find('[data-role="previewFrame"]').css({height:(currentHeight-toolbarHeight)+'px'});_fetchPreview();};var _buildAndShowPreview=function(){var currentHeight=elem.height();var iframe=$('').addClass('ipsAreaBackground_reset').css({border:0,width:'100%'}).prop('seamless',true).attr('src',ips.getSetting('baseURL')+'index.php?app=core&module=system&controller=editor&do=preview&editor_id='+name).attr('data-role','previewFrame');currentPreviewView=ips.utils.responsive.getCurrentKey();_showPreviewButtons(currentPreviewView);elem.on('click','a[data-action="closePreview"]',_closePreview);elem.on('click','[data-action="resizePreview"] a',_resizePreview);elem.find('[data-role="editorComposer"]').hide();elem.find('[data-role="editorPreview"]').show();var toolbarHeight=elem.find('[data-role="previewToolbar"]').height();previewInitialHeight=currentHeight-toolbarHeight;elem.find('[data-role="previewContainer"]').append(iframe.css({height:previewInitialHeight+'px'}));previewIframe=iframe.get(0).contentWindow;};var _showPreviewButtons=function(currentView){var toolbar=elem.find('[data-role="previewToolbar"]');if(ips.utils.responsive.getCurrentKey()=='phone'||size=='phone'){toolbar.find('[data-size]').hide();return;}
toolbar.find('[data-size]').show().filter('[data-size="'+currentView+'"]').find('a').removeClass('ipsButton_light').addClass('ipsButton_primary');if(ips.utils.responsive.getCurrentKey()=='tablet'||size=='tablet'){toolbar.find('[data-size="desktop"]').hide();}};var _resizePreview=function(e){e.preventDefault();var newKey=$(e.target).closest('[data-size]').attr('data-size');if(newKey==currentPreviewView){return;}
var toolbar=elem.find('[data-role="previewToolbar"]');toolbar.find('[data-size] a').removeClass('ipsButton_primary').addClass('ipsButton_light');toolbar.find('[data-size="'+newKey+'"] a').addClass('ipsButton_primary').removeClass('ipsButton_light');currentPreviewView=newKey;elem.find('[data-role="previewFrame"]').css({height:previewInitialHeight+'px'});if(newKey==size){elem.find('[data-role="previewFrame"]').removeClass('ipsComposeArea_smallPreview').css({margin:'0px',maxWidth:'100%',width:'100%'});}else{elem.find('[data-role="previewFrame"]').addClass('ipsComposeArea_smallPreview').css({marginTop:'10px',marginBottom:'10px',maxWidth:previewSizes[newKey]+'px',width:'100%'});}};var _previewMessage=function(e,data){var oE=e.originalEvent;if(oE.origin!==ips.utils.url.getOrigin()||oE.source!==previewIframe){return;}
try{var json=$.parseJSON(oE.data);}catch(err){Debug.err("Error parsing JSON from preview frame");return;}
if(_.isUndefined(json.editorID)||json.editorID!==name||_.isUndefined(json.message)){return;}
switch(json.message){case'iframeReady':_fetchPreview();break;case'previewHeight':_setPreviewHeight(json);break;}};var _fetchPreview=function(){_sendMessage({message:'fetchPreview',editorContent:instance.getData(),url:elem.closest('form').attr('action')});};var _closePreview=function(e){if(e){e.preventDefault();}
elem.find('[data-role="editorPreview"]').hide();elem.find('[data-role="editorComposer"]').show();_sendMessage({message:'previewClosed'});};var _setPreviewHeight=function(data){if(data.height>previewInitialHeight){elem.find('[data-role="previewFrame"]').css({height:data.height+'px'});}};var _sendMessage=function(data){Debug.log('Sending message FROM parent');if(previewIframe!==null){previewIframe.postMessage(JSON.stringify(data),ips.utils.url.getOrigin());}};return{init:init,focus:focus,unminimize:unminimize,insertQuotes:insertQuotes,insertHtml:insertHtml,checkDirty:checkDirty,resetDirty:resetDirty,updateImage:updateImage,reset:reset,destruct:destruct,saveAndClearAutosave:saveAndClearAutosave};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.filterBar',function(){var defaults={on:'phone,tablet',viewDefault:'filterContent'};var respond=function(elem,options){if(!$(elem).data('_filterBar')){$(elem).data('_filterBar',filterBarObj(elem,_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_filterBar')){return $(elem).data('_filterBar');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};ips.ui.registerWidget('filterBar',ips.ui.filterBar,['on','viewDefault']);return{respond:respond,destruct:destruct,getObj:getObj};});var filterBarObj=function(elem,options){var filterBar=null;var filterContent=null;var workOn=[];var currentBreak;var currentlyShowing=null;var init=function(){if(!ips.utils.responsive.enabled()){return;}
filterBar=elem.find('[data-role="filterBar"]');filterContent=elem.find('[data-role="filterContent"]');workOn=options.on.split(',');currentBreak=ips.utils.responsive.getCurrentKey();$(document).on('breakpointChange',_breakpointChange);elem.on('switchTo.filterBar',function(e,data){if(_.indexOf(workOn,ips.utils.responsive.getCurrentKey())===-1){return;}
_switchView(data.switchTo);}).on('click','[data-action="filterBarSwitch"]',_switchToggle);if(_.indexOf(workOn,currentBreak)!==-1){_setUpBar();}},destruct=function(){$(document).off('breakpointChange',_breakpointChange);},_setUpBar=function(){if(options.viewDefault=='filterBar'){filterContent.addClass('ipsHide');currentlyShowing='filterBar';}else{filterBar.addClass('ipsHide');currentlyShowing='filterContent';}},_switchToggle=function(e){e.preventDefault();if(_.indexOf(workOn,ips.utils.responsive.getCurrentKey())===-1){return;}
_switchView($(e.currentTarget).attr('data-switchTo')=='filterBar'?'filterBar':'filterContent');},_switchView=function(switchTo){if(switchTo==currentlyShowing){return;}
elem.css({height:(currentlyShowing=='filterBar')?filterBar.outerHeight():filterContent.outerHeight()+'px'});filterBar.addClass('ipsFilter_layout');filterContent.addClass('ipsFilter_layout');var done=function(){filterBar.removeClass('ipsFilter_layout');filterContent.removeClass('ipsFilter_layout');elem.css({height:'auto'});currentlyShowing=switchTo;};if(switchTo=='filterBar'){filterBar.css({left:'-100%'}).removeClass('ipsHide').animate({left:'0%'},{duration:300});filterContent.css({left:'0%'}).animate({left:'100%'},{duration:300,complete:function(){$(this).addClass('ipsHide')
done();}});}else{filterBar.css({left:'0%'}).animate({left:'-100%'},{duration:300,complete:function(){$(this).addClass('ipsHide')
done();}});filterContent.css({left:'100%'}).removeClass('ipsHide').animate({left:'0%'},{duration:300});}},_cancel=function(){elem.find('[data-role="filterBar"], [data-role="filterContent"]').removeClass('ipsFilter_layout').css({left:'auto'}).removeClass('ipsHide');elem.css({height:'auto'});currentlyShowing=null;},_breakpointChange=function(e,data){currentBreak=data.curBreakName;if(_.indexOf(workOn,currentBreak)!==-1){_switchView(options.viewDefault);}else{_cancel();}};init();return{init:init,destruct:destruct};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.flashMsg',function(){var _queue=[],_doneInit=false,_box,_content,_isShowing=false,_currentDismissHandler=null;var defaults={timeout:2,extraClasses:'',location:'top',sticky:false};var respond=function(elem,options){if(options.text){show(options.text,options);}},init=function(){$(document).ready(function(){if($('body').attr('data-message')){show(_.escape($('body').attr('data-message')));}
if(ips.utils.url.getParam('flmsg')){show(_.escape(decodeURIComponent(ips.utils.url.getParam('flmsg'))));}
if(ips.utils.cookie.get('flmsg')){show(_.escape(ips.utils.cookie.get('flmsg')));ips.utils.cookie.unset('flmsg');}});$(document).on('closeFlashMsg.flashMsg',hide);},show=function(message,options,update){if(!_doneInit){_initElement();}
options=_.defaults(options||{},defaults);if(_isShowing&&!update){_queue.push([message,options]);return;}
if(update&&_isShowing){_content.html(message);ips.utils.anim.go('pulseOnce',_box);if(!options.sticky){setTimeout(hide,options.timeout*1000);}
return;}
_currentDismissHandler=null;_isShowing=true;_content.html(message);_box.css({zIndex:ips.ui.zIndex()}).attr('class','').addClass(options.extraClasses).addClass(options.dismissable?'ipsFlashMsg_dismissable':'').addClass(options.position=='bottom'?'ipsFlashMsg_bottom':'ipsFlashMsg_top').on('click','a:not( [data-action="dismissFlashMessage"] )',function(){hide();}).animationComplete(function(){if(!options.sticky){setTimeout(hide,options.timeout*1000);}});if(_.isFunction(options.dismissable)){_currentDismissHandler=options.dismissable;}
ips.utils.anim.go('fadeInDown',_box);},hide=function(){if(_queue.length){var next=_queue.shift();show(next[0],next[1],true);}else{_box.animationComplete(function(){_isShowing=false;_box.hide();if(_queue.length){var next=_queue.shift();show(next[0],next[1]);}});ips.utils.anim.go('fadeOutDown',_box);}},dismiss=function(e){e.preventDefault();hide();if(_.isFunction(_currentDismissHandler)){_currentDismissHandler();_currentDismissHandler=null;}},_initElement=function(){$('body').append(ips.templates.render("core.general.flashMsg"));_box=$('#elFlashMessage').hide();_content=(_box.is('[data-role="flashMessage"]'))?_box:_box.find('[data-role="flashMessage"]');_box.on('click','a[data-action="dismissFlashMessage"]',dismiss);_doneInit=true;};ips.ui.registerWidget('flashMsg',ips.ui.flashMsg,['text','extraClasses','timeout','position','sticky','dismissable']);init();return{respond:respond,show:show};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.form',function(){var _cmInstances={};var _support={};var formTypes={'unlimited':'[data-control~="unlimited"]','selectDisable':'[data-control~="selectDisable"]','date':'input[type="date"], [data-control~="date"]','range':'input[type="range"], [data-control~="range"]','color':'input[type="color"], [data-control~="color"]','dimensions':'[data-control~="dimensions"]','dimensionsUnlimited':'[data-control~="dimensionsUnlimited"]','jsDisable':'input[data-control~="jsdisable"]','toggle':'[data-control~="toggle"]','codemirror':'[data-control~="codemirror"]','granularCheckboxset':'[data-control~="granularCheckboxset"]','diallingCode':'[data-control="diallingCode"]'};var init=function(){$(document).on('contentChange',function(e,data){if($(data[0]).closest('[data-ipsForm]').length){respond($(data[0]));}});$(document).on('codeMirrorInsert',function(e,data){if(!_.isUndefined(_cmInstances[data.elemID])){_cmInstances[data.elemID].replaceRange(data.tag,_cmInstances[data.elemID].getCursor("end"));}});$(document).on('tabChanged',function(e,data){var form=$('#'+data['barID']).closest('[data-ipsForm]');if($('input[name='+form.attr('data-formId')+'_activeTab]').length){$('input[name='+form.attr('data-formId')+'_activeTab]').val(data['tabID'].replace(form.attr('data-formId')+'_tab_',''));}});},respond=function(elem,options){var runControlMethod=function(i){_controlMethods[type]($(this),elem)||$.noop;};for(var type in formTypes){$(elem).find(formTypes[type]).each(runControlMethod);}
$(elem).find('select[data-sort]').each(function(){var value=$(this).val();$(this).children('optgroup').each(function(){$(this).append($(this).children('option').remove().sort(localeSort));});$(this).append($(this).children('optgroup').remove().sort(localeSort));$(this).append($(this).children('option').remove().sort(localeSort));$(this).val(value);});};var localeSort=function(a,b){if($(a).prop("tagName")=='OPTGROUP'){var aValue=$(a).attr('label');}else{if(!a.value){return-1;}
var aValue=a.innerHTML;}
if($(b).prop("tagName")=='OPTGROUP'){var bValue=$(b).attr('label');}else{if(!b.value){return 1;}
var bValue=b.innerHTML;}
try{return aValue.localeCompare(bValue);}catch(err){return(aValue>bValue)?1:-1;}};var _controlMethods={codemirror:function(elem){ips.loader.get(['core/interface/codemirror/diff_match_patch.js','core/interface/codemirror/codemirror.js']).then(function(){var elemId=$(elem).attr('id');if(!_.isUndefined(_cmInstances[elemId])){_cmInstances[elemId].save();$(_cmInstances[elemId].getWrapperElement()).remove();delete _cmInstances[elemId];}
_cmInstances[elemId]=CodeMirror.fromTextArea(document.getElementById(elemId),{mode:$(elem).attr('data-mode'),lineWrapping:true,lineNumbers:false,leaveSubmitMethodAlone:true});if($(elem).attr('data-height')){_cmInstances[elemId].setSize(null,$(elem).attr('data-height'));$('div[data-codemirrorid='+elemId+'] ul[data-role=tagsList]').css('max-height',$(elem).attr('data-height'));}
$('#'+elemId).data('CodeMirrorInstance',_cmInstances[elemId]);$('[data-codemirrorcustomtag]').on('click',function(e){_cmInstances[elemId].replaceRange($(e.currentTarget).attr('data-codemirrorcustomtag'),_cmInstances[elemId].getCursor("end"));});});},range:function(elem){if(_.isUndefined(_support['range'])){var i=document.createElement("input");i.setAttribute("type","range");_support['range']=!(i.type==='text');}
if(!_support['range']){elem.siblings('[data-role="rangeBoundary"]').hide();}else{var valueElem=$('#'+elem.attr('name')+'_rangeValue');valueElem.text(elem.val());elem.on('change',function(){valueElem.text(elem.val());});}},unlimited:function(elem){elem.on('change',function(){_unlimitedCheck(elem);});_unlimitedCheck(elem);},selectDisable:function(elem){elem.on('change',function(){_selectDisable(elem);});_selectDisable(elem);},date:function(elem){if(_.isUndefined(_support['date'])){var i=document.createElement("input");i.setAttribute("type","date");_support['date']=!(i.type==='text');}
if(!_support['date']){if($(elem).attr('data-preferredFormat'))
{$(elem).val($(elem).attr('data-preferredFormat'));}
ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){var _buildDatepicker=function(){$.datepicker.regional['xx']={closeText:ips.getString('date_picker_done'),prevText:ips.getString('date_picker_prev'),nextText:ips.getString('date_picker_next'),currentText:ips.getString('date_picker_next'),monthNames:[ips.getString('month_0'),ips.getString('month_1'),ips.getString('month_2'),ips.getString('month_3'),ips.getString('month_4'),ips.getString('month_5'),ips.getString('month_6'),ips.getString('month_7'),ips.getString('month_8'),ips.getString('month_9'),ips.getString('month_10'),ips.getString('month_11')],monthNamesShort:[ips.getString('month_0'),ips.getString('month_1'),ips.getString('month_2'),ips.getString('month_3'),ips.getString('month_4'),ips.getString('month_5'),ips.getString('month_6'),ips.getString('month_7'),ips.getString('month_8'),ips.getString('month_9'),ips.getString('month_10'),ips.getString('month_11')],dayNames:[ips.getString('day_0'),ips.getString('day_1'),ips.getString('day_2'),ips.getString('day_3'),ips.getString('day_4'),ips.getString('day_5'),ips.getString('day_6')],dayNamesShort:[ips.getString('day_0_short'),ips.getString('day_1_short'),ips.getString('day_2_short'),ips.getString('day_3_short'),ips.getString('day_4_short'),ips.getString('day_5_short'),ips.getString('day_6_short')],dayNamesMin:[ips.getString('day_0_short'),ips.getString('day_1_short'),ips.getString('day_2_short'),ips.getString('day_3_short'),ips.getString('day_4_short'),ips.getString('day_5_short'),ips.getString('day_6_short')],weekHeader:ips.getString('date_picker_week'),dateFormat:ips.getSetting('date_format'),firstDay:ips.getSetting('date_first_day'),isRTL:$('html').attr('dir')=='rtl',showMonthAfterYear:false,yearSuffix:"",shortYearCutoff:10};$.datepicker.setDefaults($.datepicker.regional['xx']);elem.datepicker({changeMonth:true,changeYear:true,yearRange:"-120:+10",dateFormat:ips.getSetting('date_format'),firstDay:ips.getSetting('date_first_day'),});elem.datepicker('show');};elem.on('focus',function(){_buildDatepicker();});});}},color:function(elem){if(elem.hasClass('color'))
{return;}
elem.addClass('color');ips.loader.get(['core/interface/jscolor/jscolor.js']).then(function(){jscolor.dir=ips.getSetting('baseURL')+'applications/core/interface/jscolor/';new jscolor.color(elem.get(0),{required:false});});},toggle:function(elem,form){var togglesOn=(elem.attr('data-togglesOn')||elem.attr('data-toggles')||'').split(',');var togglesOff=(elem.attr('data-togglesOff')||'').split(',');if(togglesOn.length){_toggler(elem,form,togglesOn,true);}
if(togglesOff.length){_toggler(elem,form,togglesOff,false);}},dimensions:function(elem){var container=elem.closest('.ipsWidthHeight_container');elem.resizable({resize:function(event,ui){container.find('input.ipsWidthHeight_width').val(elem.width());container.find('input.ipsWidthHeight_height').val(elem.height());}});container.find('input.ipsWidthHeight_width').on('change',function(){elem.width($(this).val());});container.find('input.ipsWidthHeight_height').on('change',function(){elem.height($(this).val());});},dimensionsUnlimited:function(elem){elem.on('change',function(){_dimensionsUnlimitedCheck(elem);});_dimensionsUnlimitedCheck(elem);},jsDisable:function(elem){elem.prop('disabled',true);},granularCheckboxset:function(elem){elem.find('[data-role="checkboxsetUnlimitedToggle"]').on('change',function(){if($(this).is(':checked'))
{elem.find('[data-role="checkboxsetGranular"] input:enabled[type="checkbox"]').prop('checked',$(this).is(':checked'));}
else
{elem.find('[data-role="checkboxsetGranular"] input[type="checkbox"]').prop('checked',$(this).is(':checked'));}});elem.find('[data-action="checkboxsetCustomize"]').on('click',function(){elem.find('[data-role="checkboxsetUnlimited"]').hide();elem.find('[data-role="checkboxsetUnlimitedToggle"]').prop('checked',false);elem.find('[data-role="checkboxsetGranular"]').slideDown();});elem.find('[data-action="checkboxsetAll"]').on('click',function(){elem.find('[data-role="checkboxsetGranular"] input:enabled[type="checkbox"]').prop('checked',true);elem.find('[data-role="checkboxsetUnlimited"]').slideDown();elem.find('[data-role="checkboxsetGranular"]').slideUp();elem.find('[data-role="checkboxsetUnlimitedToggle"]').prop('checked',true).change();});elem.find('[data-action="checkboxsetNone"]').on('click',function(){elem.find('[data-role="checkboxsetGranular"] input[type="checkbox"]').prop('checked',false);elem.find('[data-role="checkboxsetUnlimited"]').slideDown();elem.find('[data-role="checkboxsetGranular"]').slideUp();elem.find('[data-role="checkboxsetUnlimitedToggle"]').prop('checked',false).change();});},diallingCode:function(elem){var selected=elem.find('option:selected');if(selected.length){selected.html(selected.attr('data-code'));}
elem.on('change mouseleave',function(){elem.find('option').each(function(){$(this).html($(this).attr('data-text'));});elem.find('option:selected').html(elem.find('option:selected').attr('data-code'));$(this).blur();});elem.on('focus',function(){elem.find('option').each(function(){$(this).html($(this).attr('data-text'));});});}},_toggler=function(elem,form,toggleList,toggleOn){var toCall;var triggerElem;var eventType='change';var selectorList=ips.utils.getIDsFromList(toggleList);if(!selectorList){return;}
if(elem.is('option')){toCall=_toggleSelect;triggerElem=elem.closest('select');}else if(elem.is('input[type="checkbox"]')){toCall=_toggleCheckbox;triggerElem=elem;}else if(elem.is('input[type="radio"]')){toCall=_toggleRadio;triggerElem=form.find('input[name="'+elem.attr('name')+'"]');}else if(elem.is('.ipsSelectTree_item')){toCall=_toggleNode;triggerElem=elem.closest('.ipsSelectTree');eventType='nodeSelectedChanged';}else{toCall=_toggleGeneric;triggerElem=elem;}
var reverse=!toggleOn;triggerElem.on(eventType,function(){toCall.call(this,triggerElem,selectorList,elem,form,reverse);});if(triggerElem.is(':visible')||(triggerElem.attr('data-toggle-visibleCheck')&&$(triggerElem.attr('data-toggle-visibleCheck')).is(':visible'))){toCall.call(this,triggerElem,selectorList,elem,form,reverse);}},_dimensionsUnlimitedCheck=function(elem){var container=elem.closest('.ipsWidthHeight_container');if(elem.is(':checked')){container.find('[data-control="dimensions"]').hide().end().find('input.ipsWidthHeight_width, input.ipsWidthHeight_height').val('').prop('disabled',true);}else{container.find('[data-control="dimensions"]').show().end().find('input.ipsWidthHeight_width, input.ipsWidthHeight_height').change().prop('disabled',false);}},_toggleRadio=function(radioList,toggleList,thisElem,form){radioList.each(function(){var thisToggles=ips.utils.getIDsFromList($(this).attr('data-toggles'));if(thisToggles){_hideFormRows(thisToggles,form);}});radioList.each(function(){if($(this).is(':checked')){var thisToggles=ips.utils.getIDsFromList($(this).attr('data-toggles'));if(thisToggles){_showFormRows(thisToggles,form);}}});},_toggleSelect=function(selectElem,toggleList,thisElem,form){selectElem.find('option').each(function(idx,elem){if($(this).attr('data-toggles')){_hideFormRows(ips.utils.getIDsFromList($(this).attr('data-toggles')),form);}});selectElem.find('option:selected').each(function(i,elem){if($(elem).attr('data-toggles')){_showFormRows(ips.utils.getIDsFromList($(this).attr('data-toggles')),form);}});},_toggleCheckbox=function(elem,toggleList,thisElem,form,reverse){var show=elem.is(':checked');if(reverse){show=!show;}
if(show){_showFormRows(toggleList,form);}else{_hideFormRows(toggleList,form);}},_toggleNode=function(nodeElem,toggleList,thisElem,form){nodeElem.find('[data-action="nodeSelect"][data-toggles]').each(function(idx,elem){_hideFormRows(ips.utils.getIDsFromList($(this).attr('data-toggles')),form);});nodeElem.find('[data-action="nodeSelect"][data-toggles].ipsSelectTree_selected').each(function(idx,elem){_showFormRows(ips.utils.getIDsFromList($(this).attr('data-toggles')),form);});},_toggleGeneric=function(elem,toggleList,thisElem,form){var show=elem.val()==0?false:true;if(!_.isUndefined(elem.attr('data-togglereverse'))){show=!show;}
if(show){_showFormRows(toggleList,form);}else{_hideFormRows(toggleList,form);}},_hideFormRows=function(hide,form){if(_.isArray(hide)){hide=hide.join(',');}
$(form||document).find(hide).hide().addClass('ipsHide').find('[data-toggles],[data-togglesOn],[data-togglesOff]').each(function(i,elem){_hideFormRows(ips.utils.getIDsFromList($(elem).attr('data-toggles')),form);_hideFormRows(ips.utils.getIDsFromList($(elem).attr('data-togglesOn')),form);_hideFormRows(ips.utils.getIDsFromList($(elem).attr('data-togglesOff')),form);});},_showFormRows=function(show,form){if(_.isArray(show)){show=show.join(',');}
$(form||document).find(show).not('[data-ipsToggle]').show().end().removeClass('ipsHide').find('[data-toggles],[data-togglesOn]').each(function(i,elem){_controlMethods.toggle($(elem),form);});},_selectDisable=function(elem){var option=elem.find('[data-disable]');if(!option.length){return;}
var disable=option.attr('data-disable');if(!option.is(':selected')){$(disable).prop('disabled',false);}else{$(disable).prop('disabled',true);}},_unlimitedCheck=function(checkbox){if(!checkbox.is(':disabled')){if(checkbox.is(':checked')){checkbox.closest('.ipsFieldRow_content,[data-role="unlimitedCatch"]').find('input:not([type="checkbox"],[type="hidden"]),select,textarea').each(function(){var thisInput=$(this);var val=thisInput.val();thisInput.attr('data-previousvalue',val);setTimeout(function(){thisInput.val('');},10);thisInput.prop('disabled',true);}).find('[data-role="rangeBoundary"]').css({opacity:0.5});}else{checkbox.closest('.ipsFieldRow_content,[data-role="unlimitedCatch"]').find('input:not([type="checkbox"],[type="hidden"]),select,textarea').each(function(){var thisInput=$(this);thisInput.prop('disabled',false);if(thisInput.attr('data-previousvalue')){thisInput.val(thisInput.attr('data-previousvalue'));}}).find('[data-role="rangeBoundary"]').css({opacity:1});}}
var toggles=checkbox.closest('.ipsFieldRow_content').find('[data-control="toggle"]');var form=checkbox.closest('[data-ipsForm]');if(toggles.length){toggles.each(function(){_controlMethods.toggle($(this),form);});}},_validationError=function(field,error){field.closest('.ipsFieldRow').find('.ipsFieldRow_title').addClass('error').end().find('.ipsType_warning').html(error);};ips.ui.registerWidget('form',ips.ui.form);return{respond:respond,init:init};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.grid',function(){var defaults={patchwork:false,items:'[data-role="gridItem"]',equalHeights:false};var respond=function(elem,options){if(!$(elem).data('_grid')){$(elem).data('_grid',gridObj(elem,_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_grid')){return $(elem).data('_grid');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};var gridObj=function(elem,options){var originalSpan=3;var currentSpan=3;var possibleSizes=[1,2,3,4,6,12];var deferInit=false;var init=function(){if(!elem.is(':visible')){deferInit=true;Debug.log('ui.ipsGrid is not visible; deferring init...');}
if(!deferInit){_initWhenVisible();}
elem.imagesLoaded(function(){redrawGrid();});$(window).on('resize',redrawGrid);$(document).on('tabShown',_tabShown);$(elem).on('newItem',function(e,data){data=$(data);_removeSpans(data);_addSpan(data,currentSpan);_checkDeferredInit();if(!deferInit){_scaleProportions(data);_equalHeights();}});},destruct=function(){$(window).off('resize',redrawGrid);$(document).off('tabShown',_tabShown);},redrawGrid=function(){_checkDeferredInit();if(!deferInit){if(options.minItemSize||options.maxItemSize){_checkItemWidth(0);}
_scaleProportions(_getAll());_equalHeights();elem.trigger('gridRedraw.grid');}},_tabShown=function(e,data){if($.contains(data.panel.get(0),elem.get(0))){redrawGrid();}},_initWhenVisible=function(){var firstItem=_getFirst();var allItems=_getAll();if(!options.defaultSpan){for(var i=1;i<=12;i++){if(firstItem.hasClass('ipsGrid_span'+i)){originalSpan=currentSpan=i;break;}}}else{originalSpan=currentSpan=options.defaultSpan;}
_changeSpan(currentSpan);_scaleProportions(_getAll());_equalHeights();elem.trigger('gridRedraw.grid');},_checkDeferredInit=function(){if(deferInit&&elem.is(':visible')){Debug.log('ui.ipsGrid is visible; now running init...');deferInit=false;_initWhenVisible();}},_scaleProportions=function(item){var width=_getFirst().outerWidth();item.addBack().find('[data-grid-ratio]').each(function(){var item=$(this);var newHeight=(width / 100)*parseInt(item.attr('data-grid-ratio'));item.css({height:Math.ceil(newHeight)+'px'});});},_equalHeights=function(){if(!options.equalHeights){return;}
var items=_getAll();if(options.equalHeights=='row'){var numPerRow=12 / currentSpan;var loops=Math.ceil(items.length / numPerRow);var idx=0;if(elem.hasClass('ipsGrid_collapsePhone')&&ips.utils.responsive.currentIs('phone')){items.css({height:'auto'});return;}
for(var i=0;i0;i--){_removeSpans(firstItem);_addSpan(firstItem,possibleSizes[i]);var size=firstItem.outerWidth();if(options.minItemSize&&sizeparseInt(options.maxItemSize)){continue;}
bestFit=possibleSizes[i];}
_changeSpan(bestFit);},_getFirst=function(){return elem.find('> [class*="ipsGrid_span"]').first()},_getAll=function(){return elem.find('> [class*="ipsGrid_span"]');},_removeSpans=function(items){for(var i=1;i<=12;i++){items.removeClass('ipsGrid_span'+i);}},_addSpan=function(items,size){items.addClass('ipsGrid_span'+size);},_changeSpan=function(newSize){if(newSize<=1){return;}
var items=_getAll();_removeSpans(items);_addSpan(items,newSize);currentSpan=newSize;};init();return{init:init,destruct:destruct};};ips.ui.registerWidget('grid',ips.ui.grid,['minItemSize','maxItemSize','items','equalHeights']);return{respond:respond,getObj:getObj,destruct:destruct};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.hovercard',function(){var defaults={timeout:0.75,showLoading:true,width:450,className:'ipsHovercard',onClick:false,target:null,cache:true};var cache={};var respond=function(elem,options){if(!$(elem).data('_hover')){$(elem).data('_hover',hoverCardObj(elem,_.defaults(options,defaults)));}
if(options.onClick){$(elem).off('.hovercard').on('click.hovercard',function(e){e.preventDefault();$(elem).data('_hover').start();});}else{if(ips.utils.events.isTouchDevice()&&(ips.utils.responsive.currentIs('phone')||ips.utils.responsive.currentIs('tablet'))){return;}
$(elem).data('_hover').start();}},getObj=function(elem){if($(elem).data('_hover')){return $(elem).data('_hover');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},setCache=function(url,content){cache[url]=content;},unCache=function(url){delete cache[url];},getCache=function(url){return cache[url];};ips.ui.registerWidget('hover',ips.ui.hovercard,['timeout','attach','content','width','onClick','target','cache'],{lazyLoad:true,lazyEvents:'mouseover'});return{respond:respond,destruct:destruct,setCache:setCache,getCache:getCache};});var hoverCardObj=function(elem,options){var onTimeout=null,offTimeout=null,ajaxObj,content,target,loading,card,working=false,elemID='';var init=function(){elemID=$(elem).identify().attr('id');},destruct=function(){clearTimeout(offTimeout);$(document).off('click.'+elemID);_removeLoadingWidget();if(card){card.remove();}},start=function(){if(working!==false&&options.onClick){return;}
working=true;target=($(options.attach).length)?$(options.attach):$(elem);clearTimeout(offTimeout);if(!options.onClick){onTimeout=setTimeout(_startShow,(options.timeout*1000));$(elem).off('mouseout.hovercard',_mouseOut).on('mouseout.hovercard',_mouseOut);$(elem).off('mousedown.hovercard',_elemClick).on('mousedown.hovercard',_elemClick);}else{$(document).off('click.'+elemID).on('click.'+elemID,_documentClick);_startShow();}},_elemClick=function(e){if(onTimeout){clearTimeout(onTimeout);}
if(offTimeout){clearTimeout(offTimeout);}
if(ajaxObj&&_.isFunction(ajaxObj.abort)){ajaxObj.abort();}
_removeLoadingWidget();_hideCard();},_documentClick=function(e){if(!$(card).is(':visible')){return;}
if(e.target!=elem&&!$.contains(elem,e.target)&&e.target!=card.get(0)&&!$.contains(card.get(0),e.target)){_hideCard();$(document).off('click.'+elemID);}},_startShow=function(){if(card&&card.length&&_.isElement(card.get(0))){_positionCard();working=false;return;}
if(options.content&&$(options.content).length){_buildLocalContent();_buildCard();_positionCard();working=false;}else{_buildRemoteContent().done(function(){_buildCard();_positionCard(true);}).fail(function(){}).always(function(){working=false;});}},_hideCard=function(){ips.utils.anim.go('fadeOut',card);},_positionCard=function(showImmediate){if(!card.length){Debug.warn("_positionCard called before a card element exists");return;}
if(!target.is(':visible')){Debug.info("Can't show hovercard when target isn't visible");return;}
card.css({left:'auto',top:'auto',position:'static'});if(card.attr('data-originalWidth')){card.css({width:card.attr('data-originalWidth')+'px'});}
var elemPos=ips.utils.position.getElemPosition(target);var tooWide=false;var elemHeight=$(target).height();var elemWidth=$(target).width();var actualWidth=$(card).width();var actualHeight=$(card).height();var win=$(window);var positionInfo={trigger:elem,target:card,above:true,stemOffset:{left:20,top:0}};var location=ips.utils.position.positionElem(positionInfo);card.css({left:location.left+'px',top:location.top+'px',position:(location.fixed)?'fixed':'absolute',zIndex:ips.ui.zIndex()});var newElemPosition=ips.utils.position.getElemPosition(card);if((actualWidth>$(document).width())||newElemPosition.viewportOffset.left<0){options.noStem=true;card.attr('data-originalWidth',actualWidth).css({left:'10px',width:($(document).width()-20)+'px'});var newLocation=ips.utils.position.positionElem(positionInfo);card.css({top:newLocation.top+'px'});}
card.find('.ipsHovercard_stem').remove();_.each(['Top','Bottom','Left','Right'],function(type){card.removeClass('ipsHovercard_stem'+type);});var stem=$('').addClass('ipsHovercard_stem');card.append(stem).addClass(options.className+'_stem'+(location.location.vertical.charAt(0).toUpperCase()+location.location.vertical.slice(1)));if(tooWide){stem.css({left:(elemPos.viewportOffset.left-10)+'px'});}else{card.addClass(options.className+'_stem'+(location.location.horizontal.charAt(0).toUpperCase()+location.location.horizontal.slice(1)));}
if(showImmediate){card.show();}else{ips.utils.anim.go('fadeIn',card);}},_buildCard=function(){var cardId=$(elem).identify().attr('id')+'_hovercard',actualWidth=options.width||300;card=$('');card.attr({id:cardId}).addClass(options.className).css({width:actualWidth+'px',zIndex:ips.ui.zIndex()});if(_.isString(content)){card.append($('').html(content));}else{card.append(content.show());}
ips.getContainer().append(card);if(!options.onClick){card.on('mouseenter',_cardMouseOver).on('mouseleave',_cardMouseOut);}
$(document).trigger('contentChange',[card]);},_buildLocalContent=function(){content=$(options.content);},_buildRemoteContent=function(){var deferred=$.Deferred();if(!elem.href){deferred.reject();return deferred.promise();}
if(options.cache&&ips.ui.hovercard.getCache(elem.href)){content=ips.ui.hovercard.getCache(elem.href);deferred.resolve();return deferred.promise();}
_buildLoadingWidget();if(options.target){var target=options.target;}else{var target=elem.href;}
ajaxObj=ips.getAjax()(target).done(function(response){content=response;deferred.resolve();if(options.cache){ips.ui.hovercard.setCache(target,content);}}).fail(function(jqXHR,status,errorThrown){if(Debug.isEnabled()){if(status!='abort'){Debug.error("Ajax request failed ("+status+"): "+errorThrown);}else{Debug.warn("Ajax request aborted");}
_removeLoadingWidget();deferred.reject();}else{if(status!='abort'){content=$('').addClass('ipsPad_half ipsType_light').html(ips.getString('errorLoadingContent'));deferred.resolve();}else{deferred.reject();}}}).always(function(){_removeLoadingWidget();});return deferred.promise();},_buildLoadingWidget=function(){if(!options.showLoading){return;}
loading=$('').addClass('ipsHovercard_loading').html(ips.templates.render('core.hovercard.loading'));ips.getContainer().append(loading);var loadingDims={width:loading.width(),height:loading.height()};loading.hide();var elemPos=ips.utils.position.getElemPosition(target),dimsToUse=(elemPos.fixed)?'fixedPos':'absPos';loading.css({left:elemPos[dimsToUse].left+'px',top:(elemPos[dimsToUse].top-loadingDims.height-10)+'px',position:(elemPos.fixed)?'fixed':'absolute',zIndex:50000});ips.utils.anim.go('fadeIn',loading);},_removeLoadingWidget=function(){if(loading&&loading.length){loading.remove();}},_mouseOut=function(){clearTimeout(onTimeout);if(ajaxObj){ajaxObj.abort();}
_removeLoadingWidget();if(card&&card.is(':visible')){offTimeout=setTimeout(_hideCard,options.timeout*1000);}
$(elem).off('.hovercard',_mouseOut);},_cardMouseOver=function(){clearTimeout(offTimeout);},_cardMouseOut=function(){clearTimeout(offTimeout);offTimeout=setTimeout(_hideCard,options.timeout*1000);};init();return{init:init,destruct:destruct,start:start};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.infiniteScroll',function(){var defaults={distance:50,loadingTpl:'core.infScroll.loading',scrollScope:'body',pageParam:'page',pageBreakTpl:'core.infScroll.pageBreak',totalPages:null,disableIn:'phone'};var respond=function(elem,options){if(!$(elem).data('_infinite')){$(elem).data('_infinite',infiniteScrollObj(elem,_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_infinite')){return $(elem).data('_infinite');}
return undefined;};ips.ui.registerWidget('infScroll',ips.ui.infiniteScroll,['container','scrollScope','distance','url','pageParam','loadingTpl','pageBreakTpl','disableIn']);var infiniteScrollObj=function(elem,options){var state='ready',scrollScope=null,container=null,ajaxObj=null,currentPage=1;var init=function(){container=$(options.container);scrollScope=$(options.scrollScope);scrollScope.on('scroll',_scrollEvent);options.disableIn=options.disableIn.split(',');if(_.isString(options.distance)&&options.distance.indexOf('%')!==-1){var percent=parseInt(options.distance);options.distance=(scrollScope.height()/ 100)*percent;}
if(options.totalPages==null){options.totalPages=_getTotalPages();}
currentPage=_getStartPage();elem.on('refresh.infScroll',_refresh);},_refresh=function(){options.totalPages=_getTotalPages();currentPage=_getStartPage();try{ajaxObj.abort();}catch(err){}},_scrollEvent=function(e){if(ips.utils.responsive.enabled()&&_.indexOf(options.disableIn,ips.utils.responsive.getCurrentKey())!==-1){return;}
if(state=='loading'||state=='done'){return;}
if(currentPage>=_getTotalPages()){return;}
var distanceFromBottom=_getDistance();if(distanceFromBottom<=options.distance){state='loading';_loadMoreResults();}},_loadMoreResults=function(){_showLoadingElem();if(ajaxObj&&ajaxObj.abort){ajaxObj.abort();}
ajaxObj=ips.getAjax()(_getPageURL(currentPage+1)).done(function(response){currentPage++;_insertNewResults(response);state='ready';$(elem).trigger('infScrollPageLoaded',{page:currentPage});}).fail(function(){}).always(function(){_removeLoadingElem();});},_insertNewResults=function(response){var output='';if(options.pageBreakTpl){output+=ips.templates.render(options.pageBreakTpl,{page:currentPage});}
output+=response;var oldChildLength=container.children().length;container.append(output);container.children().slice(oldChildLength).each(function(child){$(document).trigger('contentChange',[$(this)]);});},_showLoadingElem=function(){container.append(ips.templates.render(options.loadingTpl));},_removeLoadingElem=function(){container.find('[data-role="infScroll_loading"]').remove();},_getDistance=function(){if(options.scrollScope=='body'){var scrollHeight=$(document).height();var distanceFromBottom=scrollHeight-$(window).height()-$(window).scrollTop();}else{var scrollHeight=scrollScope[0].scrollHeight;var distanceFromBottom=scrollHeight-scrollScope.height()-scrollScope.scrollTop();}
return distanceFromBottom;},_getPageURL=function(pageNo){return elem.attr('data-ipsInfScroll-url')+'&'+options.pageParam+'='+parseInt(pageNo);},_getStartPage=function(){var paginationElem=elem.find('.ipsPagination').first();if(!paginationElem.length){return 1;}
var activePage=paginationElem.find('.ipsPagination_active').attr('data-page');if(!activePage){return 1;}else{return parseInt(activePage);}},_getTotalPages=function(){var paginationElem=elem.find('.ipsPagination').first();if(!paginationElem.length){return 1;}
var totalPages=paginationElem.attr('data-pages');if(!totalPages){return 1;}else{return parseInt(totalPages);}};init();return{init:init};};return{respond:respond};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.lightbox',function(){var defaults={className:'ipsLightbox',useEvents:false};var currentLightbox;var respond=function(elem,options,e){options=_.defaults(options,defaults);currentLightbox=new lightboxObj(elem,options,e);},destruct=function(elem){if(currentLightbox){currentLightbox.destruct();currentLightbox=null;}};ips.ui.registerWidget('lightbox',ips.ui.lightbox,['group','commentsURL','className','preload','useEvents'],{lazyLoad:true,lazyEvents:'click'});return{respond:respond,destruct:destruct};});var lightboxObj=function(elem,options,e){if(e){e.preventDefault();}
var imageCollection=[],commentsAjax,modal,pieces,currentImage,phoneBreakpoint=false;var init=function(){elem.blur();_getAllImages();_buildModal();_buildWrapper();_setUpEvents();_show();_loadFirstImage();},destruct=function(){$(window).off('resize',_resize);$(document).off('keydown',_keyPress);modal.off('click',close);},_setUpEvents=function(){pieces.lightbox.on('click','.'+options.className+'_next',nextImage).on('click','.'+options.className+'_prev',prevImage).on('click','.'+options.className+'_close',close).on('click',clickedLightbox);modal.on('click',close);$(window).on('resize',_resize);$(document).on('keydown',_keyPress);$(document).on('imageUpdated',_updateImage);$(document).on('imageLoading',_mainImageLoading);if(options.useEvents){$(document).on('lightboxDisable_next',function(){$('.'+options.className+'_next').hide();});$(document).on('lightboxDisable_prev',function(){$('.'+options.className+'_prev').hide();});$(document).on('lightboxEnable_next',function(){$('.'+options.className+'_next').show();});$(document).on('lightboxEnable_prev',function(){$('.'+options.className+'_prev').show();});}},_mainImageLoading=function(e){_setLoading(true);pieces.imagePanel.find('.'+options.className+'_image ').hide();},_updateImage=function(e,data){if(data.closeLightbox===true)
{close(e);}
else if(data.updateImage)
{_showImage(data.updateImage);}},_resize=function(e){if(pieces.lightbox&&pieces.imagePanel){if(pieces.imagePanel.find('.'+options.className+'_image').length){_positionCenter(pieces.imagePanel.find('.'+options.className+'_image:visible'));}}},_keyPress=function(e){if(!pieces.lightbox.is(':visible')){return;}
switch(e.keyCode){case ips.ui.key.ESCAPE:close(e);break;case ips.ui.key.RIGHT:nextImage(e);break;case ips.ui.key.LEFT:prevImage(e);break;}},_loadFirstImage=function(){var firstImage=function(){for(var i=0;i').attr('src',image.largeImage).addClass(options.className+'_image').css({opacity:0}).imagesLoaded(function(imagesLoaded){try{_imageLoaded($(imagesLoaded.images[0].img));}catch(err){Debug.error("Error loading image");}});pieces.imagePanel.find('.'+options.className+'_image ').hide().end().append(thisImage);}
pieces.fullSize.attr('href',image.largeImage);if(image.commentsURL){_loadComments(image);}else{_hideCommentsPanel();}
if(image.meta){pieces.metaPanel.show().html(ips.templates.render('core.lightbox.meta',{title:image.largeImage}));}else{pieces.metaPanel.hide();}
$(elem).trigger('lightboxImageShown',{image:image,triggerElem:elem});},_loadComments=function(image){if(commentsAjax){Debug.warn("Aborting comment load");commentsAjax.abort();}
pieces.commentsPanel.html('').show().addClass('ipsLoading');pieces.imagePanel.addClass(options.className+'_withComments');commentsAjax=ips.getAjax()(image.commentsURL).done(function(response){pieces.commentsPanel.html(response).removeClass('ipsLoading');$(document).trigger('contentChange',[pieces.commentsPanel]);$(elem).trigger('lightboxCommentsLoaded',{image:image,triggerElem:elem,commentsArea:pieces.commentsPanel});});},_hideCommentsPanel=function(){pieces.commentsPanel.hide();pieces.imagePanel.removeClass(options.className+'_withComments');},_setLoading=function(status){if(status===true){pieces.imagePanel.addClass('ipsLoading ipsLoading_dark');}else{pieces.imagePanel.removeClass('ipsLoading ipsLoading_dark');$('.'+options.className+'_imagePanel > img, .'+options.className+'_fullSize').on('mouseover',function(){$('.'+options.className+'_fullSize').show();}).on('mouseout',function(){$('.'+options.className+'_fullSize').hide();});}},_imageLoaded=function(image){image.css({opacity:1});_positionCenter(image);_setLoading(false);if(options.useEvents){return;}
if(imageCollection.length<2){pieces.next.hide();pieces.prev.hide();}else{var curPos=_.indexOf(imageCollection,currentImage);pieces.next.show();pieces.prev.show();if(curPos==0){pieces.prev.hide();}
if(curPos==(imageCollection.length-1)){pieces.next.hide();}}},_positionCenter=function(image){var imageSize={width:image.width(),height:image.height()},panelSize={width:pieces.imagePanel.width(),height:pieces.imagePanel.height()};Debug.log("Dimensions: "+imageSize.width+" x "+imageSize.height);image.css({left:'50%',marginLeft:'-'+Math.max((imageSize.width / 2),0)+'px',top:'50%',marginTop:'-'+Math.max((imageSize.height / 2),0)+'px'});if(pieces.fullSize)
{pieces.fullSize.css({left:'50%',marginLeft:'-'+Math.max((imageSize.width / 2),0)+'px',width:(imageSize.width+2)+'px',top:'50%',height:(imageSize.height+2)+'px',marginTop:'-'+Math.max((imageSize.height / 2),0)+'px',paddingTop:Math.max((imageSize.height / 2)-(imageSize.height / 2 / 2)+50,0)+'px'});}},clickedLightbox=function(e){if($(e.target).closest('a').length){return;}
var width=$(document).width();var halfPos=width / 2;if(e.pageX>=halfPos&&pieces.next.is(':visible')){pieces.next.click();}else if(e.pageX').addClass(options.className).css({zIndex:ips.ui.zIndex()}),imagePanel:$('').addClass(options.className+'_imagePanel'),commentsPanel:$('').addClass(options.className+'_commentsPanel').html('').hide(),next:$('').addClass(options.className+'_next').html(""),prev:$('').addClass(options.className+'_prev').html(""),close:$('').addClass(options.className+'_close').html("×"),fullSize:$('').attr('href','#').attr('target','_blank').addClass(options.className+'_fullSize'),metaPanel:$('').addClass(options.className+'_meta').hide()};pieces.lightbox.append(pieces.imagePanel.append(pieces.next).append(pieces.prev).append(pieces.fullSize)).append(pieces.metaPanel).append(pieces.commentsPanel).append(pieces.close);$('body').append(pieces.lightbox);},_getAllImages=function(){if(options.group){var images=$('[data-ipslightbox-group="'+options.group+'"]');}else{var images=$(elem);}
$.each(images,function(i,thisElem){imageCollection.push(_returnImageData(thisElem));});},_returnImageData=function(thisElem){var origImage,largeImage;if(thisElem.tagName!='IMG'){origImage=$(thisElem).find('img').attr('src');}else{origImage=$(thisElem).attr('src');}
if($(thisElem).attr('data-fullURL')){largeImage=$(thisElem).attr('data-fullURL');}else if(thisElem.tagName=='A'&&$(thisElem).attr('href')){largeImage=$(thisElem).attr('href');}
return{elem:thisElem,originalImage:origImage,largeImage:largeImage||origImage,meta:$(thisElem).attr('data-ipsLightbox-meta'),commentsURL:$(thisElem).attr('data-ipsLightbox-commentURL')};},_buildModal=function(){modal=ips.ui.getModal();modal.css({zIndex:ips.ui.zIndex()});};init();return{destruct:destruct};};}(jQuery,_));;
;(function($,_,undefined){ips.createModule('ips.ui.map',function(){var defaults={apiKey:null,zoom:2,markers:'[]',contentUrl:null};var respond=function(elem,options,e){options=_.defaults(options,defaults);ips.loader.get(['https://maps.googleapis.com/maps/api/js?key='+options.apiKey+'&callback=ips.ui.map.googleCallback']);$(window).on('googleApiLoaded',function(){var map=new google.maps.Map(elem.get(0),{zoom:options.zoom,center:{lat:45,lng:0},scrollwheel:false});var infowindow=new google.maps.InfoWindow({content:ips.getString('loading')});var markers=$.parseJSON(options.markers);for(var id in markers){var marker=new google.maps.Marker({position:{lat:markers[id].lat,lng:markers[id].long},map:map,title:markers[id].title,icon:{fillColor:'blue'},id:id});if(options.contentUrl){marker.addListener('click',function(){infowindow.setContent(ips.getString('loading'))
infowindow.open(map,this);ips.getAjax()(options.contentUrl+this.id).done(function(response){infowindow.setContent(response);});});}}});};var googleCallback=function(){$(window).trigger('googleApiLoaded');};ips.ui.registerWidget('map',ips.ui.map,['apiKey','zoom','markers','contentUrl']);return{respond:respond,googleCallback:googleCallback};});}(jQuery,_));;
;(function($,_,undefined){ips.createModule('ips.ui.menu',function(){var defaults={className:'ipsMenu',activeClass:'',closeOnClick:true,closeOnBlur:true,selectable:false,withStem:true,stemOffset:25,stopLinks:false,above:'auto'};var stems=['topLeft','topRight','topCenter','bottomLeft','bottomRight','bottomCenter'];if(!defaults.withStem){defaults.stemOffset=0;}
var _menuRegistry={};var respond=function(elem,options,e){e.preventDefault();var elemID=$(elem).identify().attr('id'),options=_.defaults(options,defaults);if($(elem).attr('data-disabled')||$(elem).is(':disabled')){return;}
if(!$(elem).data('_menuBody')){var menu=_getMenu(elem,elemID,options);$(elem).data('_menuBody',menu);}else{var menu=$(elem).data('_menuBody');}
if(!menu.length){Debug.warn("Couldn't find or build a menu for "+elemID);return;}
$(window).on('resize',function(e){if(menu.is(':visible')){menu.hide();_positionMenu(elem,elemID,options,menu,true);menu.show();}});if(!menu.is(':visible')){_showMenu(elem,elemID,options,menu,e);}else{_hideMenu(elem,elemID,options,menu,false);}},_showMenu=function(elem,elemID,options,menu,e){Debug.log(options);if(options.closeOnBlur){$(document).on('click.'+elemID,_.partial(_closeOnBlur,elem,menu));}
$(menu).on('closeMenu',_.partial(_hideMenu,elem,elemID,options,menu,false)).on('mouseenter','.ipsMenu_subItems',_.bind(_showSubMenu,this,elem,elemID,options,menu));$(elem).on('closeMenu',_.partial(_hideMenu,elem,elemID,options,menu,false));_positionMenu(elem,elemID,options,menu);menu.show();$(elem).addClass(options.activeClass);$(elem).trigger('menuOpened',{elemID:elemID,originalEvent:e,menu:menu});},_showSubMenu=function(elem,elemID,options,menu,e){var menuItem=$(e.currentTarget).find('> a');var subMenu=menuItem.next('.ipsMenu');$(e.currentTarget).on('mouseleave',_.bind(_hideSubMenu,this,elem,elemID,options,menu));var itemPosition=ips.utils.position.getElemPosition(menuItem);var itemSize=ips.utils.position.getElemDims(menuItem);var subMenuSize=ips.utils.position.getElemDims(subMenu);if($('html').attr('dir')=='rtl'){var right=(itemSize.outerWidth-5);if((itemPosition.viewportOffset.right+itemSize.outerWidth+subMenuSize.outerWidth-5)>$(window).width()){if((itemPosition.viewportOffset.right+5-subMenuSize.outerWidth)>=0){right=((subMenuSize.outerWidth*-1)+5);}}
subMenu.css({left:right+'px',top:(menuItem.position()['top']-5)+'px'}).show();}else{var left=(itemSize.outerWidth-5);if((itemPosition.viewportOffset.left+itemSize.outerWidth+subMenuSize.outerWidth-5)>$(window).width()){if((itemPosition.viewportOffset.left+5-subMenuSize.outerWidth)>=0){left=((subMenuSize.outerWidth*-1)+5);}}
subMenu.css({left:left+'px',top:(menuItem.position()['top']-5)+'px'}).show();}},_hideSubMenu=function(elem,elemID,options,menu,e){var subMenus=$(e.currentTarget).closest('.ipsMenu_item').find('.ipsMenu');subMenus.hide();},_hideMenu=function(elem,elemID,options,menu,immediate){if(options.closeOnBlur){$(document).off('click.'+elemID);}
$(elem).off('closeMenu');$(menu).off('closeMenu');$(elem).removeClass(options.activeClass);if(!immediate){ips.utils.anim.go('fadeOut fast',menu);}else{menu.hide();}
$(elem).trigger('menuClosed',{elemID:elemID});},_positionMenu=function(elem,elemID,options,menu,repositioning){var above=options.above;if(above=='auto'){above=false;if(($(elem).offset().top+menu.height())>$(window).height()){above=true;}}
var positionInfo={trigger:elem,target:menu,center:true,above:above,stemOffset:{left:options.stemOffset,top:0}};menu.css({left:'auto',top:'auto',position:'static'});if(menu.attr('data-originalWidth')){menu.css({width:menu.attr('data-originalWidth')+'px'});}
if(options.appendTo){var appendTo=_getAppendContainer(elem,options.appendTo);if(appendTo.length){_.extend(positionInfo,{targetContainer:appendTo});}}
var menuPosition=ips.utils.position.positionElem(positionInfo);var menuDims=ips.utils.position.getElemDims(menu);var triggerPosition=ips.utils.position.getElemPosition($(elem));menu.css({left:menuPosition.left+'px',top:menuPosition.top+'px',position:(menuPosition.fixed)?'fixed':'absolute',});if(!repositioning){menu.css({zIndex:ips.ui.zIndex()});}
var newMenuPosition=ips.utils.position.getElemPosition(menu);if((menuDims.width>$(document).width())||newMenuPosition.viewportOffset.left<0){options.noStem=true;menu.attr('data-originalWidth',menuDims.width).css({left:'10px',width:($(document).width()-20)+'px'});}
_removeExistingStems(menu,options);if(!menu.hasClass(options.className+'_noStem')&&!options.noStem){var stemClass='';stemClass+=menuPosition.location.vertical;stemClass+=menuPosition.location.horizontal.charAt(0).toUpperCase();stemClass+=menuPosition.location.horizontal.slice(1);menu.addClass(options.className+'_'+stemClass);}},_removeExistingStems=function(menu,options){var stemClasses=[];$.each(stems,function(idx,value){stemClasses[idx]=options.className+'_'+value;});menu.removeClass(stemClasses.join(' '));},_getMenu=function(elem,elemID,options){if($('#'+options.menuID).length){var menu=$('#'+options.menuID);}else if($('#'+elemID+'_menu').length){var menu=$('#'+elemID+'_menu');}else if(options.menuContent){var menu=buildMenuFromJSON(elem,elemID,options.menuContent);}else{return false;}
if(options.appendTo){var appendTo=_getAppendContainer(elem,options.appendTo);if(appendTo.length){appendTo.append(menu);}}else{ips.getContainer().append(menu);}
$(menu).on('click.'+elemID,_.partial(_menuClicked,elem,elemID,options,menu));$(menu).data('_owner',elem);_menuRegistry[elemID]={elem:elem,options:options,menu:menu};return $(menu);},_closeOnBlur=function(elem,menu,e){var clickedOnTrigger=function(){if($(e.target).is('[data-ipsMenu]')){Debug.log(e.target);return e.target;}else if($(e.target).parent('[data-ipsMenu]')){return $(e.target).parent('[data-ipsMenu]').get(0);}}();$.each(_menuRegistry,function(key,value){var clickInMenu=_clickIsChildOfMenu(e.target,value.elem,value.menu.get(0));if(value.elem){if(clickInMenu||value.elem==clickedOnTrigger||$.contains(value.elem,e.target)){return;}}
if(value.menu.is(':visible')){_hideMenu(value.elem,key,value.options,value.menu,!!clickedOnTrigger);}});},_clickIsChildOfMenu=function(clickTarget,triggerElem,menuElem){if($(clickTarget).get(0).className.startsWith('ui-datepicker')||$(clickTarget).closest('#ui-datepicker-div').length){return true;}
if(clickTarget==menuElem||$.contains(menuElem,clickTarget)){return true;}
return false;},_menuClicked=function(elem,elemID,options,menu,e){if($(e.target).hasClass(options.className+'_item')){var itemClicked=$(e.target);}else{var itemClicked=$(e.target).parents('.'+options.className+'_item');}
if(itemClicked.length===0){return;}
if(options.stopLinks){e.preventDefault();}
if(itemClicked.hasClass(options.className+'_itemDisabled')||itemClicked.is(':disabled')){return;}
if(options.closeOnClick){if(itemClicked.find('[data-action="ipsMenu_ping"]').length){e.preventDefault();itemClicked.find('[data-action="ipsMenu_ping"]').each(function(){ips.getAjax()($(this).attr('href')).done(function(){$(elem).trigger('menuPingSuccessful',{});});});}
var addItemClicked=function(){itemClicked.addClass(options.className+'_itemClicked');};var removeItemClicked=function(){itemClicked.removeClass(options.className+'_itemClicked');};if(e.button!==1){_.delay(addItemClicked,100);_.delay(removeItemClicked,200);_.delay(_hideMenu,300,elem,elemID,options,menu,false);}}
if(itemClicked.find('[data-role="ipsMenu_selectedText"]').length){$(elem).find('[data-role="ipsMenu_selectedText"]').html(itemClicked.find('[data-role="ipsMenu_selectedText"]').html());}
if(itemClicked.find('[data-role="ipsMenu_selectedIcon"]').length){$(elem).find('[data-role="ipsMenu_selectedIcon"]').replaceWith(itemClicked.find('[data-role="ipsMenu_selectedIcon"]').clone());}
var data={triggerElem:elem,triggerID:elemID,menuElem:$(menu[0]),originalEvent:e};if(options.selectable){_.extend(data,_handleSelectableClick(elem,elemID,options,menu,e));}
if(!_.isUndefined(itemClicked.attr('data-ipsmenuvalue'))){_.extend(data,{selectedItemID:itemClicked.attr('data-ipsmenuvalue')});}
$(elem).trigger('menuItemSelected',data);},_handleSelectableClick=function(elem,elemID,options,menu,e){var thisItem=$(e.target).parent('.'+options.className+'_item');if(!thisItem.length){return;}
if(thisItem.attr('data-noselect')){return;}
if(options.selectable=='radio'){menu.find('.'+options.className+'_itemChecked').removeClass(options.className+'_itemChecked');thisItem.addClass(options.className+'_itemChecked').find('input[type="radio"]').prop('checked',true).change();}else{if(thisItem.hasClass(options.className+'_itemChecked')){thisItem.removeClass(options.className+'_itemChecked').find('input[type="checkbox"]').prop('checked',false).change();}else{thisItem.addClass(options.className+'_itemChecked').find('input[type="checkbox"]').prop('checked',true).change();}}
var selectedItems=menu.find('.'+options.className+'_itemChecked'),selected={};$.each(selectedItems,function(idx,item){selected[$(item).identify().attr('id')]=item;});return{selectedItems:selected};},_getAppendContainer=function(elem,appendTo){var appends=appendTo.split(',');var elem=$(elem);for(var i=0;i').attr('type','hidden').attr('name',key).attr('data-role',"moderation").val(1));}});var page=ips.utils.url.getParam('page');if(!_.isUndefined(page)){var pageNumber=$('').attr('type','hidden').attr('name','page').attr('value',ips.utils.url.getParam('page'));tools.find('[type="submit"]').before(pageNumber);tools.closest('form').attr('action',tools.closest('form').attr('action')+'&page='+ips.utils.url.getParam('page'));}
tools.find('[type="submit"]').click();},_buildActionBar=function(){var content='';var select=elem.find('[data-role="pageActionOptions"] select');id=select.identify().attr('id');select.children().each(function(){if($(this).is('optgroup')){content+=_buildOptGroup($(this),id);}else{content+=_buildOption($(this),id);}});var bar=ips.templates.render('core.pageAction.wrapper',{content:content,id:id,selectedLang:ips.getString('pageActionText')});elem.after(bar);wrapper=elem.next();wrapper.on('click','[data-role="actionButton"]',_selectItem).on('menuItemSelected','[data-role="actionMenu"]',_selectMenuItem);$(document).trigger('contentChange',[wrapper]);},_buildOptGroup=function(optgroup,id){var content='';var options=optgroup.find('option');options.each(function(){content+=ips.templates.render('core.menus.menuItem',{value:$(this).attr('value'),title:$(this).html(),link:'#',});});return ips.templates.render('core.pageAction.actionMenuItem',{icon:optgroup.attr('data-icon'),title:optgroup.attr('label'),id:id,action:optgroup.attr('data-action'),menucontent:content});},_buildOption=function(option,id){return ips.templates.render('core.pageAction.actionItem',{icon:option.attr('data-icon'),id:id,title:option.html(),action:option.attr('value')});},_getActionValues=function(){var values=[];_.each(_checkedItems,function(val,key){var splitValues=val.split(' ');values=_.union(values,splitValues);});return values;},_getCheckedBoxes=function(){return elem.find('input[type="checkbox"][data-actions]:checked');};init();return{refresh:refresh,destruct:destruct,bar:wrapper,reset:reset};};ips.ui.registerWidget('pageAction',ips.ui.pageAction,[]);return{respond:respond,destruct:destruct,getObj:getObj};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.pagination',function(){var defaults={ajaxEnabled:true,perPage:25,pageParam:'page'};var respond=function(elem,options){options=_.defaults(options,defaults);if(!$(elem).data('_pagination')){$(elem).data('_pagination',paginationObj(elem,_.defaults(options,defaults)));}};ips.ui.registerWidget('pagination',ips.ui.pagination,['ajaxEnabled','perPage','pages','pageParam']);return{respond:respond};});var paginationObj=function(elem,options){var init=function(){if(!options.ajaxEnabled){return;}
elem.on('click','[data-page]',function(e){var targetElem=$(e.currentTarget);$(elem).trigger('paginationClicked',{href:targetElem.attr('href')||'#',hrefTitle:targetElem.attr('title')||'',paginationElem:$(elem),pageElem:targetElem,perPage:options.perPage,pageParam:options.pageParam,pageNo:targetElem.attr('data-page'),lastPage:(parseInt(targetElem.attr('data-page'))===parseInt(options.pages)),originalEvent:e||null});});elem.on('menuOpened',function(e,data){$(elem).find('input[type="number"]').focus();});elem.on('submit','[data-role="pageJump"]',function(e){var value=parseInt($(e.currentTarget).find('input[type="number"]').val());var href=$(e.currentTarget).closest('[data-baseURL]').attr('data-baseurl');if(value<1||value>options.pages){ips.ui.alert.show({type:'alert',icon:'warning',message:ips.getString('not_valid_page',[options.pages]),callbacks:{}});return;}
$(elem).trigger('paginationJump',{originalEvent:e||null,href:href||'#',paginationElem:$(elem),pageNo:value,perPage:options.perPage,pageParam:options.pageParam,lastPage:(parseInt(value)===parseInt(options.pages))});});};init();return{init:init};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.passwordStrength',function(){var defaults={};var respond=function(elem,options){if(!$(elem).data('_passwordStrength')){$(elem).data('__passwordStrength',passwordStrengthObj(elem,_.defaults(options,defaults)));}},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}},getObj=function(elem){if($(elem).data('_passwordStrength')){return $(elem).data('_passwordStrength');}
return undefined;};ips.ui.registerWidget('passwordStrength',ips.ui.passwordStrength,['enforced','enforcedStrength']);return{respond:respond,getObj:getObj,destruct:destruct};});var passwordStrengthObj=function(elem,options){var _popup=null,_passwordBlurred=false,_field=null,_dirty=false,_timer=null,_ajax=ips.getAjax();var init=function(){elem.on('focus','input[type="password"]',_passwordFocus);elem.on('blur','input[type="password"]',_passwordBlur);elem.on('keyup blur','input[type="password"]',_passwordKeyEvent);_field=elem.find('input[type="password"]');_field.after($('').attr('data-role','validationCheck'));if(_field.val()!==''){_changePassword();}},destruct=function(){if(_timer){clearTimeout(_timer);}
if(_ajax&&_ajax.abort){_ajax.abort();}
elem.off('focus','input[type="password"]',_passwordFocus);elem.off('blur','input[type="password"]',_passwordBlur);elem.off('keyup blur','input[type="password"]',_passwordKeyEvent);},_passwordFocus=function(){if(_.isNull(_popup)){_buildAdvicePopup();}
_popup.show();_positionAdvicePopup();_passwordBlurred=false;},_passwordBlur=function(){if(_popup){_popup.hide();}
_passwordBlurred=true;},_clearResult=function(){_field.removeClass('ipsField_error').removeClass('ipsField_success').next('[data-role="validationCheck"]').html('');},_passwordKeyEvent=function(e){if(_timer){clearTimeout(_timer);}
if(_field.val().length>2||e.type!="keyup"){_timer=setTimeout(_changePassword,750);}else{_clearResult();}},_changePassword=function(){var value=_field.val();var resultElem=_field.next('[data-role="validationCheck"]');var wrapper=elem.find('[data-role="strengthInfo"]');var meter=elem.find('[data-role="strengthMeter"]');var text=elem.find('[data-role="strengthText"]');if(_ajax&&_ajax.abort){_ajax.abort();}
if(value.length){_dirty=true;}else{if(!_dirty){return;}}
if(!meter.is(':visible')){ips.utils.anim.go('fadeInDown fast',wrapper);}
_field.addClass('ipsField_loading');_ajax(ips.getSetting('baseURL')+'?app=core&module=system&controller=ajax&do=passwordStrength',{dataType:'json',data:{input:value},method:'post'}).done(function(response){if(response.result=='ok'){meter.val(response.granular);meter.attr('data-adviceValue',response.score);text.html(ips.getString('strength_'+response.score));if(options.enforced){_clearResult();if(response.score>=parseInt(options.enforcedStrength)){resultElem.hide().html('');_field.addClass('ipsField_success');_field.closest('.ipsFieldRow').removeClass('ipsFieldRow_error').find('.ipsType_warning').hide();}else{if(_passwordBlurred){resultElem.show().html(ips.templates.render('core.forms.validateFailText',{message:ips.getString('err_password_strength',{strength:ips.getString('strength_'+options.enforcedStrength)})}));_field.addClass('ipsField_error');}}}}else{resultElem.show().html(ips.templates.render('core.forms.validateFailText',{message:response.message}));_field.removeClass('ipsField_success').addClass('ipsField_error');}}).fail(function(){}).always(function(){_field.removeClass('ipsField_loading');});},_buildAdvicePopup=function(){var text=ips.getString('password_advice');var min=false;if(!_.isNull(_popup)){return;}
if(options.enforced){min=ips.getString('err_password_strength',{strength:ips.getString('strength_'+options.enforcedStrength)});}
var tmpPopup=ips.templates.render('core.forms.advicePopup',{id:elem.identify().attr('id'),min:min,text:text});$('body').append(tmpPopup);_popup=$('body').find('#elPasswordAdvice_'+elem.identify().attr('id'));_popup.css({position:'absolute'});},_positionAdvicePopup=function(){var isRTL=$('html').attr('dir')=='rtl';var position=ips.utils.position.getElemPosition(_field);var fieldWidth=_field.width();var fieldHeight=_field.height();var adviceWidth=_popup.width();var adviceHeight=_popup.height();var windowWidth=$(window).width();var stemOffset=30;_popup.removeClass('cStem_rtl cStem_ltr cStem_above').css({zIndex:ips.ui.zIndex()});if(isRTL&&(position.absPos.left-adviceWidth-stemOffset)>0){_popup.addClass('cStem_rtl').css({top:(position.absPos.top-(stemOffset / 2))+'px',left:(position.absPos.left-stemOffset-adviceWidth)+'px'});}else if(!isRTL&&(position.absPos.left+fieldWidth+adviceWidth+stemOffset) [class*="ipsGrid_span"]').hide();var elemSize=elem.outerWidth();var columns=Math.ceil(elemSize / options.maxColSize);if(possibleSizes.indexOf(columns)===-1){columns=_getCorrectColumnCount(columns);}
if(currentColCount===columns&&force!==true){columnElems.show();return;}
items.css({'opacity':0.001});var spanClass=_getSpanFromCount(columns);for(var i=0;i').addClass('ipsGrid_span'+spanClass).attr('data-working',true));}
currentColCount=columns;var currentItems=_.sortBy(items,function(item){return parseInt($(item).attr('data-position'));});_distributeItems(currentItems);containerList.find('> [class*="ipsGrid_span"]:not( [data-working] )').remove();containerList.find('> [data-working]').removeAttr('data-working');setTimeout(function(){items.animate({opacity:1});},250);},_distributeItems=function(currentItems){var columns=containerList.find('> [class*="ipsGrid_span"][data-working]');var itemCount=currentItems.length;var heights=[];var isLastRow=false;columns.each(function(){heights.push({column:$(this),height:0});});_.each(currentItems,function(item,idx){if(((itemCount-(idx+1))%columns.length===0)&&(idx>=itemCount-columns.length)){isLastRow=true;}
var shortest=_.min(heights,function(value){return value.height;});if(shortest){shortest.column.append($(item));shortest.height+=$(item).outerHeight();}});},_buildList=function(){var elemSize=elem.outerWidth();containerList=$('').addClass('ipsGrid ipsGrid_collapsePhone ipsPatchwork');itemList.after(containerList);_redrawLayout(true);},_getSpanFromCount=function(columns){return possibleSizes[(possibleSizes.length-1)-possibleSizes.indexOf(columns)];},_getCorrectColumnCount=function(columns){if(columns>12){return 12;}
for(var i=0;i<=possibleSizes.length;i++){if(columns==possibleSizes[i]){return possibleSizes[i];}
if(columns>i&&columns<=possibleSizes[i+1]){var diffA=columns-i;var diffB=possibleSizes[i+1]-columns;if(diffA>diffB){return possibleSizes[i+1];}else{return possibleSizes[i];}}}},_getFirst=function(){return elem.find('.ipsPatchwork > [class*="ipsGrid_span"]').first();},_checkItemWidth=function(){var firstItem=_getFirst();if(options.minColSize&&firstItem.outerWidth()=parseInt(options.maxItemSize)){_redrawLayout();}};init();return{init:init,destruct:destruct};};ips.ui.registerWidget('patchwork',ips.ui.patchwork,['minColSize','maxColSize','items']);return{respond:respond,destruct:destruct,getObj:getObj};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.photoLayout',function(){var defaults={minHeight:250,maxItems:5,gap:4,itemTemplate:'core.patchwork.imageList'};var respond=function(elem,options,e){options=_.defaults(options,defaults);if(!$(elem).data('_photoLayout')){$(elem).data('_photoLayout',photoLayoutObj(elem,_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_photoLayout')){return $(elem).data('_photoLayout');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};ips.ui.registerWidget('photoLayout',ips.ui.photoLayout,['minHeight','maxItems','maxRows','gap','data','itemTemplate']);return{respond:respond,destruct:destruct,getObj:getObj};});var photoLayoutObj=function(elem,options){var currentWidth=0;var imageData;var noOfPhotos=0;var dataStore=$('');var windowWidth=0;var checkboxes=[];var init=function(){windowWidth=$(window).width();currentWidth=Math.floor(elem.width());imageData=_getData();noOfPhotos=imageData.length;elem.empty();run(imageData);setInterval(function(){_checkCurrentWidth();},300);$(window).on('resize',_resizeWindow);$(document).trigger('contentChange',[elem]);},_checkCurrentWidth=function(){var newWidth=Math.floor(elem.width());if(currentWidth!==newWidth){currentWidth=newWidth;_resizeWindow(true);}},destruct=function(){$(window).off('resize',_resizeWindow);},refresh=function(){imageData=_getData();noOfPhotos=imageData.length;elem.empty();run(imageData);},run=function(data){var initialHeight=Math.max(options.minHeight,Math.floor(currentWidth / options.maxItems));var currentWidthForCalc=(currentWidth-options.gap);var relativeSizes=[];_.each(data,function(image){var w=0;var h=0;if(!_.isString(image.filenames.small[0])){w=options.minHeight;h=options.minHeight;}else{w=parseInt(image.filenames.small[1],10);h=parseInt(image.filenames.small[2],10);}
if(!w){w=options.minWidth;}
if(!h){w=options.minHeight;}
if(h!=initialHeight){w=Math.floor(w*(initialHeight / h));}
relativeSizes.push(w);});var imagesSoFar=0;var rowNum=0;while(imagesSoFaroptions.maxRows){break;}
var imagesInRow=0;var widthOfRow=0;while((widthOfRow*1.10)?thisImage.filenames.small[1]:options.minWidth;var thisHeight=(!_.isNull(thisImage.filenames.small[2])&&thisImage.filenames.small[2]>0)?thisImage.filenames.small[2]:options.minHeight;if(imagesSoFar+imagesInRow>=noOfPhotos&&rowHeight>=initialHeight){rowHeight=initialHeight;row.height(rowHeight+(options.gap*2));newWidth=Math.floor(thisWidth*(initialHeight / thisHeight));lastRowNotFit=true;}
widthOfRow+=newWidth+(options.gap*2);var item=_buildItem(thisImage,{width:newWidth,height:rowHeight,margin:options.gap,marginLeft:(i===0)?0:options.gap,marginRight:(i+1===imagesInRow)?0:options.gap});row.append(item);i++;}
widthOfRow-=(options.gap*2);imagesSoFar+=imagesInRow;if(!lastRowNotFit){var smWidth=0;while(widthOfRowcurrentWidthForCalc){var item=row.find('.cGalleryPatchwork_item:nth-child('+(bigWidth+1)+")");item.css({width:(item.width()-1)+'px'});bigWidth=(bigWidth+1)%imagesInRow;widthOfRow--;}}}
if(checkboxes.length){_.each(checkboxes,function(val){elem.find('input[type="checkbox"][name="'+val+'"]').prop('checked',true);});checkboxes=[];}
elem.find('.cGalleryPatchwork_row').css({width:'100%'});},_buildItem=function(imageData,extra){var multipliedWidth=extra.width*window.devicePixelRatio;var multipliedHeight=extra.height*window.devicePixelRatio;var showThumb=true;if(!_.isString(imageData.filenames.small[0])){showThumb=false}else{if(multipliedWidth<=imageData.filenames.small[1]&&multipliedHeight<=imageData.filenames.small[2]){imageData.src=imageData.filenames.small[0];}else{imageData.src=imageData.filenames.medium[0];}}
if(!_.isUndefined(imageData.container)){imageData.container=imageData.container.replace(/'/ig,"'");}
return ips.templates.render(options.itemTemplate,{showThumb:showThumb,image:imageData,dims:extra});},_getRow=function(){var row=$('').addClass('cGalleryPatchwork_row ipsClearfix');elem.append(row);return row;},_getData=function(){if(options.data){return $.parseJSON(options.data);}
var data=[];elem.find('[data-role="patchworkImage"][data-json]').each(function(){try{var _data=$.parseJSON($(this).attr('data-json'));}catch(err){return;}
data.push(_data);});return data;},_resizeWindow=function(force){checkboxes=_getCheckedImages();if(force||$(window).width()!==windowWidth){elem.empty();noOfPhotos=imageData.length;run(imageData);}
windowWidth=$(window).width();},_getCheckedImages=function(){var names=[];var checks=elem.find('input[type="checkbox"]:checked');if(checks.length){checks.each(function(){names.push($(this).attr('name'));});}
return names;};init();return{init:init,destruct:destruct,refresh:refresh};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.productZoom',function(){var defaults={};var respond=function(elem,options){if(!$(elem).data('_productZoom')){$(elem).data('_productZoom',productZoomObj(elem,_.defaults(options,defaults)));}};ips.ui.registerWidget('productZoom',ips.ui.productZoom,['largeURL']);return{respond:respond};});var productZoomObj=function(elem,options){var initialized=false,wrapper=null,imageElem=null,zoomArea=null,currentlyOver=false,ratio=0,zoomerSize=0,thumbW=0,thumbH=0,wrapperW=0,wrapperH=0,fullW=0,fullH=0,triggerBuffer=25,disabled=false;var init=function(){elem.on('mouseenter',_enterElem);elem.on('mouseleave',_leaveElem);elem.on('mousemove',_moveElem);},_enterElem=function(e){if(disabled){return;}
currentlyOver=true;if(!initialized){_setUpZoomer();return;}
if(_checkAcceptableSize()){disabled=true;return;}
_showZoomer();},_leaveElem=function(e){if(disabled){return;}
currentlyOver=false;wrapper.fadeOut('fast');zoomArea.hide();},_moveElem=function(e){if(!initialized||!currentlyOver||disabled){return;}
var cursorPos=_cursorPos(e);var halfZoomer=(zoomerSize / 2);var halfWrapper=wrapper.width()/ 2;var tLeft=0;var tTop=0;var fLeft=0;var fTop=0;if(cursorPos.left-halfZoomer<0){tLeft=0;}else if(cursorPos.left+halfZoomer>thumbW){tLeft=thumbW-zoomerSize;}else{tLeft=cursorPos.left-halfZoomer;}
if(cursorPos.top-halfZoomer<0){tTop=0;}else if(cursorPos.top+halfZoomer>thumbH){tTop=thumbH-zoomerSize;}else{tTop=cursorPos.top-halfZoomer;}
zoomArea.css({left:tLeft+'px',top:tTop+'px'});var reciprocal=1 / ratio;var cursorPosLarge={left:cursorPos.left*reciprocal,top:cursorPos.top*reciprocal};if(cursorPosLarge.left-halfWrapper<0){fLeft=0;}else if(cursorPosLarge.left+halfWrapper>fullW){fLeft=fullW-wrapperW;}else{fLeft=cursorPosLarge.left-halfWrapper;}
if(cursorPosLarge.top-halfWrapper<0){fTop=0;}else if(cursorPosLarge.top+halfWrapper>fullH){fTop=fullH-wrapperH;}else{fTop=cursorPosLarge.top-halfWrapper;}
imageElem.css({left:(fLeft*-1)+'px',top:(fTop*-1)+'px',});},_imageLoaded=function(){wrapper.removeClass('ipsLoading');if(currentlyOver){_showZoomer();}},_showZoomer=function(){wrapper.show();zoomArea.show();thumbW=elem.width();thumbH=elem.height();wrapperW=wrapper.width();wrapperH=wrapper.height();fullW=imageElem.width();fullH=imageElem.height();if(!_checkAcceptableSize()){disabled=true;wrapper.hide();zoomArea.hide();return;}
ratio=thumbW / fullW;wrapper.css({opacity:1});zoomArea.css({width:(thumbW*ratio)+'px',height:(thumbW*ratio)+'px',});zoomerSize=zoomArea.width();},_setUpZoomer=function(){$('#ipsZoomer, #ipsZoomer_area').remove();var elemPosition=ips.utils.position.getElemPosition(elem);var elemSize=ips.utils.position.getElemDims(elem);var imgURL=(options.largeURL)?options.largeURL:elem.find('img').attr('src');wrapper=$('').attr('id','ipsZoomer');zoomArea=$('').attr('id','ipsZoomer_area').hide();imageElem=$('
').attr('src',imgURL).css({position:'absolute'});$('body').append(wrapper.append(imageElem));elem.append(zoomArea).css({position:'relative'});wrapper.css({opacity:0.0001,width:elemSize.outerHeight+'px',height:elemSize.outerHeight+'px',left:elemPosition.absPos.left+elemSize.outerWidth+20+'px',top:elemPosition.absPos.top+'px',zIndex:ips.ui.zIndex()}).addClass('ipsLoading');imageElem.imagesLoaded(_imageLoaded);initialized=true;},_checkAcceptableSize=function(){if((fullW-triggerBuffer)<=wrapper.width()||(fullH-triggerBuffer)<=wrapper.height()){return false;}
return true;},_cursorPos=function(e){var offset=elem.offset();return{left:e.pageX-offset.left,top:e.pageY-offset.top};};init();return{};};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.quote',function(){var defaults={timestamp:'',userid:0,username:'',contenttype:'',contentclass:'',contentid:0};var respond=function(elem,options){if(elem.data('quoteBuilt')||elem.parents('.cke_wysiwyg_div').length){return;}
var existingCitation=elem.children('.ipsQuote_citation');var citation=ips.utils.getCitation(options,true,existingCitation.length?existingCitation.text():ips.getString('editorQuote'));var data={citation:citation,contenturl:options.contentid&&options.contentcommentid?ips.getSetting('baseURL')+"?app=core&module=system&controller=content&do=find&content_class="+options.contentclass+"&content_id="+options.contentid+"&content_commentid="+options.contentcommentid:''};var citation=ips.templates.render('core.editor.citation',data);if(existingCitation.length){existingCitation.replaceWith(citation);}else{elem.prepend(citation);}
elem.find('> .ipsQuote_citation').on('click',_toggleQuote);elem.find('.ipsQuote_contents').addClass('ipsClearfix');if(elem.is('blockquote.ipsQuote > blockquote.ipsQuote')){elem.find('> *:not( .ipsQuote_citation )').hide().end().find('> .ipsQuote_citation').removeClass('ipsQuote_open').addClass('ipsQuote_closed');}
elem.trigger('quoteBuilt.quote');elem.data('quoteBuilt',true);},_toggleQuote=function(e){var cite=$(e.currentTarget);var target=$(e.target);if(target.is('a:not( [data-action="toggleQuote"] )')||(target.closest('a').length&&!target.closest('a').is('[data-action="toggleQuote"]'))){return;}
e.preventDefault();if(cite.hasClass('ipsQuote_closed')){ips.utils.anim.go('fadeIn',cite.siblings());cite.removeClass('ipsQuote_closed').addClass('ipsQuote_open');}else{cite.siblings().hide();cite.removeClass('ipsQuote_open').addClass('ipsQuote_closed');}
e.stopPropagation();};ips.ui.registerWidget('quote',ips.ui.quote,['timestamp','userid','username','contentapp','contenttype','contentclass','contentid','contentcommentid']);return{respond:respond};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.rating',function(){var defaults={changeRate:true,canRate:true};var respond=function(elem,options){if(!$(elem).data('_rating')){$(elem).data('_rating',ratingObj(elem,_.defaults(options,defaults)));}};ips.ui.registerWidget('rating',ips.ui.rating,['url','changeRate','canRate','size','value','userRated']);var ratingObj=function(elem,options){var selected=null,max=0,ratingElem=null,userRated=false,loading=false;var init=function(){elem.children().hide();if(options.value){selected=options.value;}else{selected=elem.find('input[type="radio"]:checked').val();}
var maxElem=_.max(elem.find('input[type="radio"]'),function(value){return parseInt($(value).attr('value'));});max=$(maxElem).attr('value');_buildRatingElem();ratingElem.on('mouseenter','li',_enterStar);ratingElem.on('mouseleave','li',_leaveStar);ratingElem.on('click','li',_clickStar);},_buildRatingElem=function(){var content='';for(var i=1;i<=max;i++){if(i<=selected){content+=ips.templates.render('core.rating.star',{value:i,className:'ipsRating_on'});}else if((i-0.5)<=selected){content+=ips.templates.render('core.rating.halfStar',{value:i});}else{content+=ips.templates.render('core.rating.star',{value:i,className:'ipsRating_off'});}}
content=ips.templates.render('core.rating.wrapper',{content:content,status:(options.userRated)?ips.pluralize(ips.getString('youRatedThis'),[options.userRated]):''});elem.append(content);ratingElem=elem.find('.ipsRating');if(options.size){ratingElem.addClass('ipsRating_'+options.size);}},_enterStar=function(e){if((selected!=null&&!options.changeRate)||!options.canRate||loading){return;}
_starActive($(e.currentTarget).attr('data-ratingValue'),true);},_leaveStar=function(e){if((selected!=null&&!options.changeRate)||!options.canRate||loading){return;}
_starActive(selected,false);},_clickStar=function(e){e.preventDefault();if((selected!=null&&!options.changeRate)||!options.canRate||loading){return;}
var value=$(e.currentTarget).attr('data-ratingValue');selected=value;userRated=true;_starActive(value);ips.utils.anim.go('pulseOnce',$(e.currentTarget));elem.find('[data-role="ratingStatus"]').text(ips.pluralize(ips.getString('youRatedThis'),[value]));if(options.url){_remoteRating(value);return;}
elem.find('input[type="radio"]').prop('checked',false).filter('input[type="radio"][value="'+value+'"]').prop('checked',true);elem.trigger('ratingSaved',{value:value});},_starActive=function(value,hover){ratingElem.find('> ul[data-role="ratingList"]').toggleClass('ipsRating_mine',(hover||userRated)).end().find('.ipsRating_half').each(function(){$(this).replaceWith(ips.templates.render('core.rating.star',{value:$(this).attr('data-ratingValue'),className:'ipsRating_off'}));}).end().find('li').removeClass('ipsRating_on').removeClass('ipsRating_hover').addClass('ipsRating_off').end().find('li[data-ratingValue="'+value+'"]').prevAll('li').andSelf().removeClass('ipsRating_off').addClass('ipsRating_on');},_remoteRating=function(value){_setLoading(true);var statusElem=elem.find('[data-role="ratingStatus"]');statusElem.html(ips.templates.render('core.rating.loading'));ips.getAjax()(options.url,{data:{rating:parseInt(value)}}).done(function(response){statusElem.text(ips.getString('rating_saved'));elem.trigger('ratingSaved',{value:value});}).fail(function(jqXHR){statusElem.text(ips.getString('rating_failed'));elem.trigger('ratingFailed',{value:value});}).always(function(){});},_setLoading=function(isLoading){loading=isLoading;ratingElem.toggleClass('ipsRating_loading',isLoading);};init();return{};};return{respond:respond};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.selectTree',function(){var defaults={multiple:false,selected:false,searchable:true,placeholder:ips.getString('select')};var respond=function(elem,options){if(!$(elem).data('_selecttree')){$(elem).data('_selecttree',selectTreeObj($(elem),_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_selecttree')){return $(elem).data('_selecttree');}
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};var selectTreeObj=function(elem,options){var results=null,elemID=null,selectedItems=[],name='';var init=function(){elemID=elem.identify().attr('id');results=elem.find('.ipsSelectTree_nodes');name=elem.attr('data-name');elem.on('click',_toggleResults);elem.on('click','[data-action="getChildren"]',_toggleChildren);elem.on('click','[data-action="nodeSelect"]',_toggleNodeSelection);if($('input[name="'+name+'-zeroVal"]')){$('input[name="'+name+'-zeroVal"]').on('change',_zeroValChange);}
if(options.selected){try{var preSelected=$.parseJSON(options.selected);}catch(err){}
if(preSelected&&_.isObject(preSelected)&&_.size(preSelected)){_buildPreSelected(preSelected);return;}}
elem.find('.ipsSelectTree_value').addClass('ipsSelectTree_placeholder').text((options.placeholder)?options.placeholder:ips.getString('select'));_zeroValChange();},destruct=function(){$(document).off('click.'+elemID);},_buildPreSelected=function(preSelected){if(_.size(preSelected)){_.each(preSelected,function(val,key){selectedItems.push(key);if(options.multiple){var id=key;if(val.id){id=val.id;}
_addToken(val.title,id);}else{_setValue(val.title);}
if(results.find('[data-id="'+key+'"]').length){results.find('[data-id="'+key+'"]').addClass('ipsSelectTree_selected');}});_updateSelectedValues();elem.trigger('nodeInitialValues',{selectedItems:selectedItems});}},_zeroValChange=function(e){elem.toggleClass('ipsSelectTree_disabled',$('input[name="'+name+'-zeroVal"]').is(':checked'));if(!$('input[name="'+name+'-zeroVal"]').is(':checked')&&results.is(':visible')){_closeResults();}},_toggleChildren=function(e,ignoreClosed){e.preventDefault();e.stopPropagation();var item=$(e.currentTarget).closest('.ipsSelectTree_item');var listItem=item.closest('li');var id=item.attr('data-id');var url=options.url+'&_nodeSelect=children&_nodeId='+id;if(!item.hasClass('ipsSelectTree_withChildren')){return;}
if(item.hasClass('ipsSelectTree_itemOpen')){if(ignoreClosed!==true){item.removeClass('ipsSelectTree_itemOpen')
listItem.find('> [data-role="childWrapper"]').hide();_positionResults();}}else{item.addClass('ipsSelectTree_itemOpen');if(item.attr('data-childrenLoaded')){ips.utils.anim.go('fadeIn fast',listItem.find('> [data-role="childWrapper"]'));_positionResults();}else{listItem.append($('').attr('data-role','childWrapper').html(ips.templates.render('core.general.loading',{text:ips.getString('loading')})));_positionResults();ips.getAjax()(url).done(function(response){item.attr('data-childrenLoaded',true);listItem.find('[data-role="childWrapper"]').html(response.output);listItem.find('[data-role="childWrapper"] .ipsSelectTree_item').each(function(){if($(this).attr('data-id')&&selectedItems.indexOf($(this).attr('data-id'))!=-1){$(this).addClass('ipsSelectTree_selected');}});_positionResults();});}}},_toggleNodeSelection=function(e){var node=$(e.currentTarget);if(node.hasClass('ipsSelectTree_selected')){_unselectNode(node,e);}else{_selectNode(node,e);}
_updateSelectedValues();},_selectNode=function(node,e){if(!options.multiple){elem.find('.ipsSelectTree_selected').removeClass('ipsSelectTree_selected');}
node.addClass('ipsSelectTree_selected');var title=node.find('[data-role="nodeTitle"]').text();var id=node.attr('data-id');if(!options.multiple){_setValue(title);}else{_addToken(title,id);}
if(options.multiple){selectedItems.push(node.attr('data-id'));}else{selectedItems=[node.attr('data-id')];}
if(e){_toggleChildren(e,true);}
elem.trigger('nodeItemSelected',{title:title,id:id});if(!options.multiple&&!node.hasClass('ipsSelectTree_withChildren')){setTimeout(function(){_closeResults();},200);}},_unselectNode=function(node,e){node.removeClass('ipsSelectTree_selected');selectedItems=_.without(selectedItems,node.attr('data-id'));elem.trigger('nodeItemUnselected',{title:node.find('[data-role="nodeTitle"]').text(),id:node.attr('data-id')});if(!options.multiple){_setValue();}else{_removeToken(node);}},_addToken=function(title,id){var valueElem=elem.find('.ipsSelectTree_value');var elemHeight=elem.outerHeight();if(!elem.find('[data-role="tokenList"]').length){valueElem.html($('').addClass('ipsList_inline').attr('data-role','tokenList'));}
elem.find('[data-role="tokenList"]').append(ips.templates.render('core.selectTree.token',{title:title,id:id}));if(elemHeight!=elem.outerHeight()){_positionResults();}},_removeToken=function(node){var id=node.attr('data-id');var tokenList=elem.find('[data-role="tokenList"]');var elemHeight=elem.outerHeight();var token=tokenList.find('[data-nodeId="'+id+'"]').closest('li').remove();if(!tokenList.find('[data-nodeId]').length){tokenList.remove();_setValue();}
if(elemHeight!=elem.outerHeight()){_positionResults();}},_updateSelectedValues=function(){elem.find('[data-role="nodeValue"]').val(_.uniq(selectedItems).join(','));elem.trigger('nodeSelectedChanged',{selectedItems:selectedItems});},_setValue=function(value){if(value){elem.find('.ipsSelectTree_value').text(value).removeClass('ipsSelectTree_placeholder');}else{elem.find('.ipsSelectTree_value').text((options.placeholder)?options.placeholder:ips.getString('select')).addClass('ipsSelectTree_placeholder');}},_toggleResults=function(e){if(results.is(':visible')){_maybeHideResults(e);}else{_showResults(e);}},_maybeHideResults=function(e){var rawResults=results.get(0);if((!$.contains(rawResults,e.target)&&rawResults!=e.target)){_closeResults();}},_closeResults=function(){ips.utils.anim.go('fadeOut fast',results);$(document).off('click.'+elemID);elem.removeClass('ipsSelectTree_active');elem.trigger('nodeSelectionClosed');},_showResults=function(){$(document).on('click.'+elemID,_closeResultsOnBlur);_positionResults();results.show();elem.addClass('ipsSelectTree_active');if(elem.find('[data-role="nodeSearch"]')){elem.find('[data-role="nodeSearch"]').focus();}},_positionResults=function(){var above=false;var selectWidth=elem.outerWidth();if(($(elem).offset().top+results.height())>$(window).height()){above=true;}
var positionInfo={trigger:elem,target:results,targetContainer:elem,above:above};var resultsPosition=ips.utils.position.positionElem(positionInfo);results.css({left:-parseFloat(results.css('borderLeftWidth'))-parseFloat(results.css('marginLeft')),top:resultsPosition.top+'px',position:'absolute',zIndex:ips.ui.zIndex(),minWidth:selectWidth+'px'});if(resultsPosition.location.vertical=='top'){results.removeClass('ipsSelectTree_bottom').addClass('ipsSelectTree_top');elem.removeClass('ipsSelectTree_bottom').addClass('ipsSelectTree_top');}else{results.removeClass('ipsSelectTree_top').addClass('ipsSelectTree_bottom');elem.removeClass('ipsSelectTree_top').addClass('ipsSelectTree_bottom');}},_closeResultsOnBlur=function(e){if(!_clickIsInElem(e.target)){_closeResults();}},_clickIsInElem=function(target){var rawElem=elem.get(0);var rawResults=results.get(0);if(target==rawElem||target==rawResults||$.contains(rawResults,target)||$.contains(rawElem,target)){return true;}
return false;};init();return{destruct:destruct};};ips.ui.registerWidget('selectTree',ips.ui.selectTree,['placeholder','multiple','selected','url','searchable']);return{respond:respond,destruct:destruct};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.sideMenu',function(){var defaults={type:'radio',responsive:true,group:false};var respond=function(elem,options){if(!$(elem).data('_sidemenu')){$(elem).data('_sidemenu',sideMenuObj(elem,_.defaults(options,defaults)));}};ips.ui.registerWidget('sideMenu',ips.ui.sideMenu,['responsive','type','group']);var sideMenuObj=function(elem,options){var init=function(){if(options.responsive&&ips.utils.responsive.enabled()){$(elem).on('click','[data-action="openSideMenu"]',_toggleSideMenu);$(elem).find('.ipsSideMenu_mainTitle').after($('')).end().find('.ipsSideMenu_mainTitle + div').append($(elem).find('.ipsSideMenu_title, .ipsSideMenu_subTitle, .ipsSideMenu_list'));}
$(elem).on('click','.ipsSideMenu_item',_clickEvent);$(elem).on('selectItem.sideMenu',_selectItem);},_clickEvent=function(e){_doSelectItem($(e.currentTarget),e);_toggleSideMenu();},_selectItem=function(e,data){_doSelectItem(elem.find('[data-ipsMenuValue="'+data.value+'"]'),e);},_doSelectItem=function(item,e){if((_.isUndefined(item.attr('data-ipsMenuValue'))&&!item.find('input[type="radio"], input[type="checkbox"]').length)||!item.length){return;}
if(e){e.preventDefault();}
if(item.hasClass('ipsSideMenu_itemDisabled')){return;}
var workingItems;if(!options.group){workingItems=$(elem).find('.ipsSideMenu_item');}else{workingItems=item.closest('.ipsSideMenu_list').find('.ipsSideMenu_item');}
if(options.type=='check'){item.toggleClass('ipsSideMenu_itemActive').find('input[type="radio"], input[type="checkbox"]').prop("checked",function(i,val){return!val;}).change();}else{workingItems.removeClass('ipsSideMenu_itemActive').find('input[type="radio"], input[type="checkbox"]').prop("checked",false);item.addClass('ipsSideMenu_itemActive').find('input[type="radio"], input[type="checkbox"]').prop("checked",true).change();}
var selectedItems=[];workingItems.filter('.ipsSideMenu_itemActive').each(function(){selectedItems.push($(this).attr('data-ipsMenuValue'));});$(elem).trigger('itemClicked.sideMenu',{id:$(elem).identify().attr('id'),menuElem:$(elem),selectedElem:item,selectedItemID:item.attr('data-ipsMenuValue'),selectedItems:selectedItems});},_toggleSideMenu=function(e){if(e){e.preventDefault();}
var menuContainer=$(elem).find('.ipsSideMenu_mainTitle + div');if($(elem).hasClass('ipsSideMenu_open')){$(elem).removeClass('ipsSideMenu_open');}else{$(elem).addClass('ipsSideMenu_open');ips.utils.anim.go('fadeIn',menuContainer);}};init();return{};};return{respond:respond};});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.spoiler',function(){var respond=function(elem,options,e){if(elem.parents('.cke_wysiwyg_div').length){return;}
elem.contents().hide();var existingHeader=elem.children('.ipsSpoiler_header');var header=ips.templates.render('core.editor.spoilerHeader');if(existingHeader.length){existingHeader.replaceWith(header);}else{elem.prepend(header);}
elem.find('> .ipsSpoiler_header').on('click',_toggleSpoiler);},_toggleSpoiler=function(e){var header=$(e.currentTarget);var target=$(e.target);var spoiler=$(e.target).closest('[data-ipsSpoiler]');if(target.is('a:not( [data-action="toggleSpoiler"] )')||(target.closest('a').length&&!target.closest('a').is('[data-action="toggleSpoiler"]'))){return;}
e.preventDefault();if(header.hasClass('ipsSpoiler_closed')){ips.utils.anim.go('fadeIn',header.siblings());header.removeClass('ipsSpoiler_closed').addClass('ipsSpoiler_open').find('span').text(ips.getString('spoilerClickToHide'));$(document).trigger('contentChange',[spoiler]);var iframes=spoiler.find('iframe[data-embedcontent]');if(iframes.length){$.each(iframes,function(){this.src=this.src;});}}else{header.siblings().hide();header.removeClass('ipsSpoiler_open').addClass('ipsSpoiler_closed').find('span').text(ips.getString('spoilerClickToReveal'));}
e.stopPropagation();};ips.ui.registerWidget('spoiler',ips.ui.spoiler);return{respond:respond}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.stack',function(){var defaults={sortable:true,itemTemplate:'core.forms.stack'};var respond=function(elem,options){if(!$(elem).data('_stack')){$(elem).data('_stack',stackObj(elem,_.defaults(options,defaults)));}};ips.ui.registerWidget('stack',ips.ui.stack,['sortable','maxItems','itemTemplate']);return{respond:respond};});var stackObj=function(elem,options){var stack=null;var init=function(){if(!elem.attr('data-initiated')){stack=elem.find('[data-role="stack"]');elem.on('click','[data-action="stackAdd"]',_addItem);elem.on('click','[data-action="stackDelete"]',_deleteItem);elem.on('keydown','[data-role="stackItem"] input[type="text"]',_keyDown);if(options.sortable){ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){stack.sortable({handle:'[data-action="stackDrag"]'});});}
elem.attr('data-initiated','true');$(elem).trigger('stackInitialized',{count:_getItemCount()});}},_keyDown=function(e){if(e.keyCode==ips.ui.key.ENTER){e.preventDefault();_addItem(null,$(e.currentTarget).closest('[data-role="stackItem"]'));}},_addItem=function(e,after){if(e){e.preventDefault();}
if(options.maxItems&&_getItemCount()>=options.maxItems){return;}
var field=stack.find('[data-ipsStack-wrapper]').first().html().replace(/(name=['"][a-zA-Z0-9\-_]+?)\[([^\]]+?)?\]/g,'$1['+_getItemCount()+']').replace(/id=['"](.+?)['"]/g,'id="$1_'+_getItemCount()+'"').replace(/data-toggles=['"](.+?)['"]/g,function(match,p1){var pieces=p1.split(',');var newPieces=[];_.each(pieces,function(val){if(val.match(/_[0-9]+$/g)){newPieces.push(val+'_'+_getItemCount());}else{newPieces.push(val);}});return'data-toggles="'+newPieces.join(',')+'"';});field=field.replace(/\/g,'');if(stack.find('select').length){field=field.replace(/\