iasd-bootstrap-sass 1.7.8 → 1.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 164883635be8c2b9b8fbae4aae343c7864d9cb55fe6024984d26a2167b142b2c
4
- data.tar.gz: d6b6bdc11ac5a25027cae5fe9ad7d49768d79521cd29d14bf6970b19899779be
2
+ SHA1:
3
+ metadata.gz: 9ab04d8b8ee78121272ab04106e2cd7b362bc4c0
4
+ data.tar.gz: c0a470ee01c8a336c9f0d2023908538c6fd2b937
5
5
  SHA512:
6
- metadata.gz: 8c15e6d0a64e672b86a8d86b8250b3a735c73696c6da8c44ced51c5109f9b438b79100eb3f1124ea6b1f7a7fc0a6a9a9952acc66b5a788c71f8df0e0ade0f846
7
- data.tar.gz: '01299be3fd27972836d809e1e559c631cd217fc7a4bedb1b1a3b23284a86309f982a3b50e285841639b0cacd24df91bb945a63fb3c1548cb529ac15670bd3ecf'
6
+ metadata.gz: c314d4ef0ddfdc1ff949bcf8698e57c8ea40b13d2c703683f98421c1e328a4aa8267a46485c64b572dc4527809eaae01e4f76f361c35c4f7f63219b5b0406b77
7
+ data.tar.gz: af3e02ed069f415503133ead5cb94d264c2baf5db1881af6070fd709868643ffa1b47418db56a84c56c960b64fb6c543080c31e50cc3961f68c987890a50177b
@@ -1,5 +1,5 @@
1
1
  module Bootstrap
2
2
  module IASD
3
- VERSION = "1.7.8"
3
+ VERSION = "1.7.9"
4
4
  end
5
5
  end
@@ -766,59 +766,17 @@ aside.iasd-aside {
766
766
  margin: 0;
767
767
  &.facebook {
768
768
  position: relative;
769
- top: -4px;
769
+ top: -5px;
770
770
  }
771
771
  &.google {
772
772
  margin: 0 0 0 15px !important;
773
773
  }
774
774
  &.twitter {
775
775
  height: 25px;
776
- margin: 0 0 0 10px!important;
777
- top: 0px;
778
- position: relative;
779
- }
780
-
781
- &.whatsapp {
782
- background-color: #25D366;
783
- border-radius: 3px;
784
- margin: 0 0 0 10px !important;
785
- position: relative;
786
- top: -4px;
787
- height: 20px;
788
- padding: 3px 7px;
789
-
790
- &:hover {
791
- background-color: #23b359;
792
- }
793
-
794
- a {
795
- color: #fff;
796
- font-size: 11px;
797
-
798
- &:focus {
799
- border-bottom: none;
800
- }
801
-
802
- &:hover {
803
- border-bottom: none;
804
- }
805
-
806
- span {
807
- position: relative;
808
- top: -2px;
809
- }
810
- }
811
-
812
- .icon-whatsapp {
813
- width: 14px;
814
- color: #fff;
815
- margin-right: 3px;
816
- position: relative;
817
- top: 2px;
818
- }
776
+ //IE8 can't calculate by itseft :(
777
+ margin: 0 0 0 -15px !important;
778
+ width: 121px;
819
779
  }
820
-
821
-
822
780
  }
823
781
  }
824
782
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * IASD Bootstrap v1.7.8 (http://styleguide.adventistas.org)
3
- * Copyright 2014-2018 Igreja Adventista do Sétimo Dia
2
+ * IASD Bootstrap v1.7.9 (http://styleguide.adventistas.org)
3
+ * Copyright 2014-2020 Igreja Adventista do Sétimo Dia
4
4
  * Licensed under MIT (https://github.com/igrejaadventista/styleguide/blob/master/LICENSE)
5
5
  */
6
6
 
@@ -39,7 +39,500 @@ if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict
39
39
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
40
40
  // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41
41
 
42
- (function($){var methods={init:function(options){var all=this;var instanceOptions=$.extend(true,{},$.fn.badonkatrunc.defaultOptions,options);if(instanceOptions.fitDirection!="horizontal"&&instanceOptions.fitDirection!="vertical"){$.error("'"+instanceOptions.fitDirection+"' is not a valid fit direction. Use 'horizontal' or 'vertical.'");return this}if(instanceOptions.truncateLocation!="start"&&instanceOptions.truncateLocation!="middle"&&instanceOptions.truncateLocation!="end"){$.error("'"+instanceOptions.truncateLocation+"' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");return this}if(instanceOptions.minimumFontSize>instanceOptions.maximumFontSize){$.error("Minimum font size can not exceed the maximum font size.");return this}if(instanceOptions.minimumLetterSpacing>instanceOptions.maximumLetterSpacing){$.error("Minimum letter spacing can not exceed the maximum letter spacing.");return this}return this.each(function(){var $this=$(this);var data=$(this).data("badonkatrunc");if(data){$this.badonkatrunc("destroy")}var instance=pluginInstance($this,instanceOptions,all);$(this).data("badonkatrunc",instance);instance.init();if(instance.options.automaticSizeTracking){resizeMonitor.add(instance)}})},destroy:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");data.destroy();resizeMonitor.remove(data);dirtyMonitor.remove(data);$(window).unbind(".badonkatrunc");$this.removeData("badonkatrunc")})},refresh:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");dirtyMonitor.remove(data);data.refresh()})},changeContents:function(newContents){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");if(typeof newContents=="string"){data.contentHtml=$("<span></span>").text(newContents).html()}else{data.contentHtml=$(newContents).html()}dirtyMonitor.add(data)})}};$.fn.badonkatrunc=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof method==="object"||!method){return methods.init.apply(this,arguments)}else{$.error("Method "+method+" does not exist on jQuery.badonkatrunc")}};$.fn.badonkatrunc.settings={sizeTrackingTimeout:1e3/60};$.fn.badonkatrunc.defaultOptions={automaticSizeTracking:false,fitDirection:"horizontal",minimumFontSize:1,maximumFontSize:1,fontSizeSynced:false,minimumLetterSpacing:0,maximumLetterSpacing:0,letterSpacingSynced:false,truncate:true,truncateString:"&hellip;",truncateLocation:"end",truncateOnlyWholeWords:false,extraOptimizeLimit:8};$.fn.btrunc=$.fn.badonkatrunc;var pluginInstance=function($target,options,$targetGroup){var createRenderState=function(content,fontSize,letterSpacing){return{content:content,fontSize:fontSize,letterSpacing:letterSpacing}};var instance={target:$target,options:options,refresh:function(){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;var fontSize=this.options.maximumFontSize;var letterSpacing=this.options.maximumLetterSpacing;var renderFunc=function(){var state=createRenderState(text,fontSize,letterSpacing);self.renderState(state)};var overflowFunc=function(){return self.getCurrentOverflow()};if(this.options.maximumFontSize-this.options.minimumFontSize>0){optimize(self.options.minimumFontSize,self.options.maximumFontSize,function(value){fontSize=value;renderFunc()},overflowFunc)}if(this.options.maximumLetterSpacing-this.options.minimumLetterSpacing>0){var truncationLevel=1;if(this.options.truncate){optimize(0,1,function(value){truncationLevel=value;text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,true);optimize(self.options.minimumLetterSpacing,0,function(value){letterSpacing=value;renderFunc()},overflowFunc);renderFunc()},overflowFunc)}if(truncationLevel==1){optimize(self.options.minimumLetterSpacing,self.options.maximumLetterSpacing,function(value){letterSpacing=value;renderFunc()},overflowFunc)}}if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc()},overflowFunc,this.options.extraOptimizeLimit)}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);this.currentOptimalState=this.currentRenderedState;this.syncFonts()},syncFonts:function(){if($targetGroup.length>1&&(this.options.fontSizeSynced||this.options.letterSpacingSynced)){var lowestFontSize=this.currentOptimalState.fontSize;var lowestLetterSpacing=this.currentOptimalState.letterSpacing;for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null&&groupInstance.currentOptimalState!=null){if(groupInstance.currentOptimalState.fontSize<lowestFontSize){lowestFontSize=groupInstance.currentOptimalState.fontSize}if(groupInstance.currentOptimalState.letterSpacing<lowestLetterSpacing){lowestLetterSpacing=groupInstance.currentOptimalState.letterSpacing}}}for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null){groupInstance.acceptFontSync(lowestFontSize,lowestLetterSpacing)}}}},acceptFontSync:function(fontSize,letterSpacing){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;if(this.currentOptimalState!=null){if(!this.options.fontSizeSynced){fontSize=this.currentOptimalState.fontSize}if(!this.options.letterSpacingSynced){letterSpacing=this.currentOptimalState.letterSpacing}}var renderFunc=function(){self.renderState(createRenderState(text,fontSize,letterSpacing))};var overflowFunc=function(){return self.getCurrentOverflow()};if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc()},overflowFunc)}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate)},init:function(){this.contentHtml=this.target.html();this.settingsWrapper=$('<span style="display: block; margin: 0px; padding: 0px; border: 0px;"></span>');this.settingsWrapper.addClass("badonkatrunc-wrapper");this.target.empty();this.target.append(this.settingsWrapper);this.refresh()},destroy:function(){this.target.empty();this.target.append(this.contentHtml)},renderState:function(state,forceAllowWrap){this.settingsWrapper.css("font-size",state.fontSize+"em");this.settingsWrapper.css("letter-spacing",state.letterSpacing+"em");var whiteSpace=!forceAllowWrap&&this.options.fitDirection=="horizontal"?"nowrap":"normal";this.settingsWrapper.css("white-space",whiteSpace);this.settingsWrapper.empty();this.settingsWrapper.append(state.content);this.currentRenderedState=state},getCurrentOverflow:function(){var wrapper=this.settingsWrapper[0];var overflow=this.options.fitDirection=="horizontal"?wrapper.scrollWidth-$target.width():wrapper.offsetHeight-$target.height();return overflow}};return instance};var createDispatcher=function(updateFunc,addFunc,removeFunc,updateTimeout){var dispatcherInstance={_instances:[],_updateLoop:function(){if($.isFunction(updateFunc)){for(var i=0;i<dispatcherInstance._instances.length;i++){updateFunc(dispatcherInstance._instances[i])}}if(updateTimeout!=null){if(dispatcherInstance._instances.length>0){setTimeout(dispatcherInstance._updateLoop,updateTimeout)}}else{dispatcherInstance._instances=[]}},add:function(instance){if($.inArray(instance,this._instances)!=-1){return}if($.isFunction(addFunc)){addFunc(instance)}this._instances.push(instance);if(this._instances.length==1){if(updateTimeout==null){setTimeout(this._updateLoop)}else{this._updateLoop()}}},remove:function(instance){var index=$.inArray(instance,this._instances);if(index!=-1){this._instances.splice(index,1);if($.isFunction(removeFunc)){removeFunc(instance)}}}};return dispatcherInstance};var resizeMonitor=createDispatcher(function(instance){instance.elementSizeCache.update()},function(instance){instance.elementSizeCache={width:null,height:null,update:function(){var newWidth=instance.target.width();var newHeight=instance.target.height();var hasChanged=this.width!=null&&newWidth!=this.width||this.height!=null&&newHeight!=this.height;this.width=newWidth;this.height=newHeight;if(hasChanged){this.changed()}},changed:function(){dirtyMonitor.add(instance)}}},function(instance){instance.elementSizeCache=undefined},$.fn.badonkatrunc.settings.sizeTrackingTimeout);var dirtyMonitor=createDispatcher(function(instance){instance.refresh.apply(instance)},null,null,null);var getTruncatedHtml=function(htmlTextView,truncateString,truncateLocation,amount,wordRounded){var text=htmlTextView.text;if(amount>1){amount=1}if(amount<0){amount=0}if(amount==1){return htmlTextView.html}var getTruncatedRange=function(begin,length){var words=text.split(" ");var totalEntities=wordRounded?words.length:text.length;var entityBegin=totalEntities*begin;var entityLength=totalEntities*length;if(wordRounded){var getCharacterPosition=function(wordIndex){var characterCount=0;for(var i=0;i<wordIndex;i++){characterCount+=words[i].length+1}return characterCount};var endWord=entityBegin+entityLength;entityBegin=getCharacterPosition(entityBegin);entityLength=getCharacterPosition(endWord)-entityBegin}return htmlTextView.getHtmlSubstring(entityBegin,entityLength)};switch(truncateLocation){case"middle":var amountPerSide=amount/2;var left=getTruncatedRange(0,amountPerSide);var right=getTruncatedRange(1-amountPerSide,amountPerSide);return $.trim(left)+" "+truncateString+" "+$.trim(right);case"start":var truncated=getTruncatedRange(1-amount,amount);return truncateString+$.trim(truncated);case"end":var truncated=getTruncatedRange(0,amount);return $.trim(truncated)+truncateString}};var createHtmlTextView=function(contentHtml){var $content=$("<span></span>");$content.html(contentHtml);var view={html:contentHtml,text:$content.text(),getHtmlSubstring:function(index,length){var element=$content.clone()[0];var totalProcessedLength=0;var totalOutputLength=0;var nodesWithinRange=[];var withinRange=false;var stripOutOfRangeTextInElement=function(node){if(node.nodeType==3){var dataLength=node.data.length;var newData="";var wasWithinRange=false;for(var i=0;i<dataLength;i++){totalProcessedLength++;if(totalProcessedLength>=index&&totalOutputLength<length){withinRange=true;wasWithinRange=true;newData+=node.data.substr(i,1);totalOutputLength++}else{if(withinRange==true){withinRange=false}}}node.data=newData;if(wasWithinRange){nodesWithinRange.push(node)}}else if(node.nodeType==1){if(withinRange){nodesWithinRange.push(node)}var childCount=node.childNodes.length;for(var i=0;i<childCount;i++){stripOutOfRangeTextInElement(node.childNodes[i])}}};stripOutOfRangeTextInElement(element);var parentNodesToKeep=[];var markParentNodesToKeep=function(element){var keepNode=function(node){parentNodesToKeep.push(node);if(node.parentNode!=null){keepNode(node.parentNode)}};keepNode(element)};var nodesWithinRangeCount=nodesWithinRange.length;for(var t=0;t<nodesWithinRangeCount;t++){markParentNodesToKeep(nodesWithinRange[t])}var removeUnusedNodes=function(node){var nodesToRemove=[];var childNodeCount=node.childNodes.length;for(var i=0;i<childNodeCount;i++){var childNode=node.childNodes[i];if(childNode.nodeType!=3){if($.inArray(childNode,parentNodesToKeep)==-1){nodesToRemove.push(childNode)}else{removeUnusedNodes(childNode)}}}for(var i=0;i<nodesToRemove.length;i++){var node=nodesToRemove[i];node.parentNode.removeChild(node)}};removeUnusedNodes(element);return $(element).html()}};return view};var optimize=function(min,max,actionFunc,overflowFunc,extraOptimizeLimit){var currentMax=max;var currentMin=min;var currentValue=max;var lastResult=null;var mostOptimalResult=null;var mostOptimalValue=null;var sameResultCount=0;while(true){actionFunc(currentValue);var result=overflowFunc();if(result<=0){var moreOptimal=true;if(mostOptimalResult!=null){if(mostOptimalResult>result){moreOptimal=false}else if(result==mostOptimalResult){if(currentValue<=mostOptimalValue){moreOptimal=false}}}if(moreOptimal){mostOptimalResult=result;mostOptimalValue=currentValue}}if(result==lastResult){sameResultCount++;if(extraOptimizeLimit==undefined||sameResultCount==extraOptimizeLimit){if(mostOptimalValue!=null){actionFunc(mostOptimalValue)}return}}if(result>0){currentMax=currentValue;var difference=currentValue-currentMin;currentValue-=difference/2}else if(result<=0){currentMin=currentValue;currentValue=currentMax}lastResult=result}}})(jQuery);
42
+ //(function($){var methods={init:function(options){var all=this;var instanceOptions=$.extend(true,{},$.fn.badonkatrunc.defaultOptions,options);if(instanceOptions.fitDirection!="horizontal"&&instanceOptions.fitDirection!="vertical"){$.error("'"+instanceOptions.fitDirection+"' is not a valid fit direction. Use 'horizontal' or 'vertical.'");return this;}if(instanceOptions.truncateLocation!="start"&&instanceOptions.truncateLocation!="middle"&&instanceOptions.truncateLocation!="end"){$.error("'"+instanceOptions.truncateLocation+"' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");return this;}if(instanceOptions.minimumFontSize>instanceOptions.maximumFontSize){$.error("Minimum font size can not exceed the maximum font size.");return this;}if(instanceOptions.minimumLetterSpacing>instanceOptions.maximumLetterSpacing){$.error("Minimum letter spacing can not exceed the maximum letter spacing.");return this;}return this.each(function(){var $this=$(this);var data=$(this).data("badonkatrunc");if(data){$this.badonkatrunc("destroy");}var instance=pluginInstance($this,instanceOptions,all);$(this).data("badonkatrunc",instance);instance.init();if(instance.options.automaticSizeTracking){resizeMonitor.add(instance);}});},destroy:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");data.destroy();resizeMonitor.remove(data);dirtyMonitor.remove(data);$(window).unbind(".badonkatrunc");$this.removeData("badonkatrunc");});},refresh:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");dirtyMonitor.remove(data);data.refresh();});},changeContents:function(newContents){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");if(typeof(newContents)=="string"){data.contentHtml=$("<span></span>").text(newContents).html();}else{data.contentHtml=$(newContents).html();}dirtyMonitor.add(data);});}};$.fn.badonkatrunc=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1));}else{if(typeof method==="object"||!method){return methods.init.apply(this,arguments);}else{$.error("Method "+method+" does not exist on jQuery.badonkatrunc");}}};$.fn.badonkatrunc.settings={sizeTrackingTimeout:1000/60};$.fn.badonkatrunc.defaultOptions={automaticSizeTracking:false,fitDirection:"horizontal",minimumFontSize:1,maximumFontSize:1,fontSizeSynced:false,minimumLetterSpacing:0,maximumLetterSpacing:0,letterSpacingSynced:false,truncate:true,truncateString:"&hellip;",truncateLocation:"end",truncateOnlyWholeWords:false,extraOptimizeLimit:8};$.fn.btrunc=$.fn.badonkatrunc;var pluginInstance=function($target,options,$targetGroup){var createRenderState=function(content,fontSize,letterSpacing){return{content:content,fontSize:fontSize,letterSpacing:letterSpacing};};var instance={target:$target,options:options,refresh:function(){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;var fontSize=this.options.maximumFontSize;var letterSpacing=this.options.maximumLetterSpacing;var renderFunc=function(){var state=createRenderState(text,fontSize,letterSpacing);self.renderState(state);};var overflowFunc=function(){return self.getCurrentOverflow();};if(this.options.maximumFontSize-this.options.minimumFontSize>0){optimize(self.options.minimumFontSize,self.options.maximumFontSize,function(value){fontSize=value;renderFunc();},overflowFunc);}if(this.options.maximumLetterSpacing-this.options.minimumLetterSpacing>0){var truncationLevel=1;if(this.options.truncate){optimize(0,1,function(value){truncationLevel=value;text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,true);optimize(self.options.minimumLetterSpacing,0,function(value){letterSpacing=value;renderFunc();},overflowFunc);renderFunc();},overflowFunc);}if(truncationLevel==1){optimize(self.options.minimumLetterSpacing,self.options.maximumLetterSpacing,function(value){letterSpacing=value;renderFunc();},overflowFunc);}}if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc();},overflowFunc,this.options.extraOptimizeLimit);}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);this.currentOptimalState=this.currentRenderedState;this.syncFonts();},syncFonts:function(){if($targetGroup.length>1&&(this.options.fontSizeSynced||this.options.letterSpacingSynced)){var lowestFontSize=this.currentOptimalState.fontSize;var lowestLetterSpacing=this.currentOptimalState.letterSpacing;for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null&&groupInstance.currentOptimalState!=null){if(groupInstance.currentOptimalState.fontSize<lowestFontSize){lowestFontSize=groupInstance.currentOptimalState.fontSize;}if(groupInstance.currentOptimalState.letterSpacing<lowestLetterSpacing){lowestLetterSpacing=groupInstance.currentOptimalState.letterSpacing;}}}for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null){groupInstance.acceptFontSync(lowestFontSize,lowestLetterSpacing);}}}},acceptFontSync:function(fontSize,letterSpacing){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;if(this.currentOptimalState!=null){if(!this.options.fontSizeSynced){fontSize=this.currentOptimalState.fontSize;}if(!this.options.letterSpacingSynced){letterSpacing=this.currentOptimalState.letterSpacing;}}var renderFunc=function(){self.renderState(createRenderState(text,fontSize,letterSpacing));};var overflowFunc=function(){return self.getCurrentOverflow();};if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc();},overflowFunc);}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);},init:function(){this.contentHtml=this.target.html();this.settingsWrapper=$('<span style="margin: 0px; padding: 0px; border: 0px;"></span>');this.settingsWrapper.addClass("badonkatrunc-wrapper");if(!$.browser.mozilla&&!$.browser.opera&&!($.browser.msie&&$.browser.version=="7.0")){this.settingsWrapper.css("display","block");}this.target.empty();this.target.append(this.settingsWrapper);this.refresh();},destroy:function(){this.target.empty();this.target.append(this.contentHtml);},renderState:function(state,forceAllowWrap){this.settingsWrapper.css("font-size",state.fontSize+"em");this.settingsWrapper.css("letter-spacing",state.letterSpacing+"em");var whiteSpace=(!forceAllowWrap&&this.options.fitDirection=="horizontal")?"nowrap":"normal";this.settingsWrapper.css("white-space",whiteSpace);this.settingsWrapper.empty();this.settingsWrapper.append(state.content);this.currentRenderedState=state;},getCurrentOverflow:function(){var wrapper=this.settingsWrapper[0];var overflow=(this.options.fitDirection=="horizontal")?wrapper.scrollWidth-$target.width():wrapper.offsetHeight-$target.height();return overflow;}};return instance;};var createDispatcher=function(updateFunc,addFunc,removeFunc,updateTimeout){var dispatcherInstance={_instances:[],_updateLoop:function(){if($.isFunction(updateFunc)){for(var i=0;i<dispatcherInstance._instances.length;i++){updateFunc(dispatcherInstance._instances[i]);}}if(updateTimeout!=null){if(dispatcherInstance._instances.length>0){setTimeout(dispatcherInstance._updateLoop,updateTimeout);}}else{dispatcherInstance._instances=[];}},add:function(instance){if($.inArray(instance,this._instances)!=-1){return;}if($.isFunction(addFunc)){addFunc(instance);}this._instances.push(instance);if(this._instances.length==1){if(updateTimeout==null){setTimeout(this._updateLoop);}else{this._updateLoop();}}},remove:function(instance){var index=$.inArray(instance,this._instances);if(index!=-1){this._instances.splice(index,1);if($.isFunction(removeFunc)){removeFunc(instance);}}}};return dispatcherInstance;};var resizeMonitor=createDispatcher(function(instance){instance.elementSizeCache.update();},function(instance){instance.elementSizeCache={width:null,height:null,update:function(){var newWidth=instance.target.width();var newHeight=instance.target.height();var hasChanged=((this.width!=null&&newWidth!=this.width)||(this.height!=null&&newHeight!=this.height));this.width=newWidth;this.height=newHeight;if(hasChanged){this.changed();}},changed:function(){dirtyMonitor.add(instance);}};},function(instance){instance.elementSizeCache=undefined;},$.fn.badonkatrunc.settings.sizeTrackingTimeout);var dirtyMonitor=createDispatcher(function(instance){instance.refresh.apply(instance);},null,null,null);var getTruncatedHtml=function(htmlTextView,truncateString,truncateLocation,amount,wordRounded){var text=htmlTextView.text;if(amount>1){amount=1;}if(amount<0){amount=0;}if(amount==1){return htmlTextView.html;}var getTruncatedRange=function(begin,length){var words=text.split(" ");var totalEntities=(wordRounded)?words.length:text.length;var entityBegin=totalEntities*begin;var entityLength=totalEntities*length;if(wordRounded){var getCharacterPosition=function(wordIndex){var characterCount=0;for(var i=0;i<wordIndex;i++){characterCount+=words[i].length+1;}return characterCount;};var endWord=entityBegin+entityLength;entityBegin=getCharacterPosition(entityBegin);entityLength=getCharacterPosition(endWord)-entityBegin;}return htmlTextView.getHtmlSubstring(entityBegin,entityLength);};switch(truncateLocation){case"middle":var amountPerSide=amount/2;var left=getTruncatedRange(0,amountPerSide);var right=getTruncatedRange(1-amountPerSide,amountPerSide);return $.trim(left)+" "+truncateString+" "+$.trim(right);case"start":var truncated=getTruncatedRange(1-amount,amount);return truncateString+$.trim(truncated);case"end":var truncated=getTruncatedRange(0,amount);return $.trim(truncated)+truncateString;}};var createHtmlTextView=function(contentHtml){var $content=$("<span></span>");$content.html(contentHtml);var view={html:contentHtml,text:$content.text(),getHtmlSubstring:function(index,length){var element=$content.clone()[0];var totalProcessedLength=0;var totalOutputLength=0;var nodesWithinRange=[];var withinRange=false;var stripOutOfRangeTextInElement=function(node){if(node.nodeType==3){var dataLength=node.data.length;var newData="";var wasWithinRange=false;for(var i=0;i<dataLength;i++){totalProcessedLength++;if(totalProcessedLength>=index&&totalOutputLength<length){withinRange=true;wasWithinRange=true;newData+=node.data.substr(i,1);totalOutputLength++;}else{if(withinRange==true){withinRange=false;}}}node.data=newData;if(wasWithinRange){nodesWithinRange.push(node);}}else{if(node.nodeType==1){if(withinRange){nodesWithinRange.push(node);}var childCount=node.childNodes.length;for(var i=0;i<childCount;i++){stripOutOfRangeTextInElement(node.childNodes[i]);}}}};stripOutOfRangeTextInElement(element);var parentNodesToKeep=[];var markParentNodesToKeep=function(element){var keepNode=function(node){parentNodesToKeep.push(node);if(node.parentNode!=null){keepNode(node.parentNode);}};keepNode(element);};var nodesWithinRangeCount=nodesWithinRange.length;for(var t=0;t<nodesWithinRangeCount;t++){markParentNodesToKeep(nodesWithinRange[t]);}var removeUnusedNodes=function(node){var nodesToRemove=[];var childNodeCount=node.childNodes.length;for(var i=0;i<childNodeCount;i++){var childNode=node.childNodes[i];if(childNode.nodeType!=3){if($.inArray(childNode,parentNodesToKeep)==-1){nodesToRemove.push(childNode);}else{removeUnusedNodes(childNode);}}}for(var i=0;i<nodesToRemove.length;i++){var node=nodesToRemove[i];node.parentNode.removeChild(node);}};removeUnusedNodes(element);return $(element).html();}};return view;};var optimize=function(min,max,actionFunc,overflowFunc,extraOptimizeLimit){var currentMax=max;var currentMin=min;var currentValue=max;var lastResult=null;var mostOptimalResult=null;var mostOptimalValue=null;var sameResultCount=0;while(true){actionFunc(currentValue);var result=overflowFunc();if(result<=0){var moreOptimal=true;if(mostOptimalResult!=null){if(mostOptimalResult>result){moreOptimal=false;}else{if(result==mostOptimalResult){if(currentValue<=mostOptimalValue){moreOptimal=false;}}}}if(moreOptimal){mostOptimalResult=result;mostOptimalValue=currentValue;}}if(result==lastResult){sameResultCount++;if(extraOptimizeLimit==undefined||sameResultCount==extraOptimizeLimit){if(mostOptimalValue!=null){actionFunc(mostOptimalValue);}return;}}if(result>0){currentMax=currentValue;var difference=(currentValue-currentMin);currentValue-=(difference/2);}else{if(result<=0){currentMin=currentValue;currentValue=currentMax;}}lastResult=result;}};})(jQuery);
43
+
44
+
45
+ (function ($) {
46
+ var methods = {
47
+ init: function (options) {
48
+ var all = this;
49
+ var instanceOptions = $.extend(true, {}, $.fn.badonkatrunc.defaultOptions, options);
50
+ if (instanceOptions.fitDirection != "horizontal" && instanceOptions.fitDirection != "vertical") {
51
+ $.error("'" + instanceOptions.fitDirection + "' is not a valid fit direction. Use 'horizontal' or 'vertical.'");
52
+ return this;
53
+ }
54
+ if (instanceOptions.truncateLocation != "start" && instanceOptions.truncateLocation != "middle" && instanceOptions.truncateLocation != "end") {
55
+ $.error("'" + instanceOptions.truncateLocation + "' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");
56
+ return this;
57
+ }
58
+ if (instanceOptions.minimumFontSize > instanceOptions.maximumFontSize) {
59
+ $.error("Minimum font size can not exceed the maximum font size.");
60
+ return this;
61
+ }
62
+ if (instanceOptions.minimumLetterSpacing > instanceOptions.maximumLetterSpacing) {
63
+ $.error("Minimum letter spacing can not exceed the maximum letter spacing.");
64
+ return this;
65
+ }
66
+ return this.each(function () {
67
+ var $this = $(this);
68
+ var data = $(this).data("badonkatrunc");
69
+ if (data) {
70
+ $this.badonkatrunc("destroy");
71
+ }
72
+ var instance = pluginInstance($this, instanceOptions, all);
73
+ $(this).data("badonkatrunc", instance);
74
+ instance.init();
75
+ if (instance.options.automaticSizeTracking) {
76
+ resizeMonitor.add(instance);
77
+ }
78
+ });
79
+ },
80
+ destroy: function () {
81
+ return this.each(function () {
82
+ var $this = $(this);
83
+ var data = $this.data("badonkatrunc");
84
+ data.destroy();
85
+ resizeMonitor.remove(data);
86
+ dirtyMonitor.remove(data);
87
+ $(window).unbind(".badonkatrunc");
88
+ $this.removeData("badonkatrunc");
89
+ });
90
+ },
91
+ refresh: function () {
92
+ return this.each(function () {
93
+ var $this = $(this);
94
+ var data = $this.data("badonkatrunc");
95
+ dirtyMonitor.remove(data);
96
+ data.refresh();
97
+ });
98
+ },
99
+ changeContents: function (newContents) {
100
+ return this.each(function () {
101
+ var $this = $(this);
102
+ var data = $this.data("badonkatrunc");
103
+ if (typeof (newContents) == "string") {
104
+ data.contentHtml = $("<span></span>").text(newContents).html();
105
+ } else {
106
+ data.contentHtml = $(newContents).html();
107
+ }
108
+ dirtyMonitor.add(data);
109
+ });
110
+ }
111
+ };
112
+ $.fn.badonkatrunc = function (method) {
113
+ if (methods[method]) {
114
+ return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
115
+ } else {
116
+ if (typeof method === "object" || !method) {
117
+ return methods.init.apply(this, arguments);
118
+ } else {
119
+ $.error("Method " + method + " does not exist on jQuery.badonkatrunc");
120
+ }
121
+ }
122
+ };
123
+ $.fn.badonkatrunc.settings = {
124
+ sizeTrackingTimeout: 1000 / 60
125
+ };
126
+ $.fn.badonkatrunc.defaultOptions = {
127
+ automaticSizeTracking: false,
128
+ fitDirection: "horizontal",
129
+ minimumFontSize: 1,
130
+ maximumFontSize: 1,
131
+ fontSizeSynced: false,
132
+ minimumLetterSpacing: 0,
133
+ maximumLetterSpacing: 0,
134
+ letterSpacingSynced: false,
135
+ truncate: true,
136
+ truncateString: "&hellip;",
137
+ truncateLocation: "end",
138
+ truncateOnlyWholeWords: false,
139
+ extraOptimizeLimit: 8
140
+ };
141
+ $.fn.btrunc = $.fn.badonkatrunc;
142
+ var pluginInstance = function ($target, options, $targetGroup) {
143
+ var createRenderState = function (content, fontSize, letterSpacing) {
144
+ return {
145
+ content: content,
146
+ fontSize: fontSize,
147
+ letterSpacing: letterSpacing
148
+ };
149
+ };
150
+ var instance = {
151
+ target: $target,
152
+ options: options,
153
+ refresh: function () {
154
+ var self = this;
155
+ var view = createHtmlTextView(this.contentHtml);
156
+ var text = this.contentHtml;
157
+ var fontSize = this.options.maximumFontSize;
158
+ var letterSpacing = this.options.maximumLetterSpacing;
159
+ var renderFunc = function () {
160
+ var state = createRenderState(text, fontSize, letterSpacing);
161
+ self.renderState(state);
162
+ };
163
+ var overflowFunc = function () {
164
+ return self.getCurrentOverflow();
165
+ };
166
+ if (this.options.maximumFontSize - this.options.minimumFontSize > 0) {
167
+ optimize(self.options.minimumFontSize, self.options.maximumFontSize, function (value) {
168
+ fontSize = value;
169
+ renderFunc();
170
+ }, overflowFunc);
171
+ }
172
+ if (this.options.maximumLetterSpacing - this.options.minimumLetterSpacing > 0) {
173
+ var truncationLevel = 1;
174
+ if (this.options.truncate) {
175
+ optimize(0, 1, function (value) {
176
+ truncationLevel = value;
177
+ text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, true);
178
+ optimize(self.options.minimumLetterSpacing, 0, function (value) {
179
+ letterSpacing = value;
180
+ renderFunc();
181
+ }, overflowFunc);
182
+ renderFunc();
183
+ }, overflowFunc);
184
+ }
185
+ if (truncationLevel == 1) {
186
+ optimize(self.options.minimumLetterSpacing, self.options.maximumLetterSpacing, function (value) {
187
+ letterSpacing = value;
188
+ renderFunc();
189
+ }, overflowFunc);
190
+ }
191
+ }
192
+ if (this.options.truncate) {
193
+ optimize(0, 1, function (value) {
194
+ text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, self.options.truncateOnlyWholeWords);
195
+ renderFunc();
196
+ }, overflowFunc, this.options.extraOptimizeLimit);
197
+ }
198
+ this.renderState(createRenderState(text, fontSize, letterSpacing), !this.options.truncate);
199
+ this.currentOptimalState = this.currentRenderedState;
200
+ this.syncFonts();
201
+ },
202
+ syncFonts: function () {
203
+ if ($targetGroup.length > 1 && (this.options.fontSizeSynced || this.options.letterSpacingSynced)) {
204
+ var lowestFontSize = this.currentOptimalState.fontSize;
205
+ var lowestLetterSpacing = this.currentOptimalState.letterSpacing;
206
+ for (var i = 0; i < $targetGroup.length; i++) {
207
+ var groupInstance = $($targetGroup[i]).data("badonkatrunc");
208
+ if (groupInstance != null && groupInstance.currentOptimalState != null) {
209
+ if (groupInstance.currentOptimalState.fontSize < lowestFontSize) {
210
+ lowestFontSize = groupInstance.currentOptimalState.fontSize;
211
+ }
212
+ if (groupInstance.currentOptimalState.letterSpacing < lowestLetterSpacing) {
213
+ lowestLetterSpacing = groupInstance.currentOptimalState.letterSpacing;
214
+ }
215
+ }
216
+ }
217
+ for (var i = 0; i < $targetGroup.length; i++) {
218
+ var groupInstance = $($targetGroup[i]).data("badonkatrunc");
219
+ if (groupInstance != null) {
220
+ groupInstance.acceptFontSync(lowestFontSize, lowestLetterSpacing);
221
+ }
222
+ }
223
+ }
224
+ },
225
+ acceptFontSync: function (fontSize, letterSpacing) {
226
+ var self = this;
227
+ var view = createHtmlTextView(this.contentHtml);
228
+ var text = this.contentHtml;
229
+ if (this.currentOptimalState != null) {
230
+ if (!this.options.fontSizeSynced) {
231
+ fontSize = this.currentOptimalState.fontSize;
232
+ }
233
+ if (!this.options.letterSpacingSynced) {
234
+ letterSpacing = this.currentOptimalState.letterSpacing;
235
+ }
236
+ }
237
+ var renderFunc = function () {
238
+ self.renderState(createRenderState(text, fontSize, letterSpacing));
239
+ };
240
+ var overflowFunc = function () {
241
+ return self.getCurrentOverflow();
242
+ };
243
+ if (this.options.truncate) {
244
+ optimize(0, 1, function (value) {
245
+ text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, self.options.truncateOnlyWholeWords);
246
+ renderFunc();
247
+ }, overflowFunc);
248
+ }
249
+ this.renderState(createRenderState(text, fontSize, letterSpacing), !this.options.truncate);
250
+ },
251
+ init: function () {
252
+
253
+ if (!$.browser.mozilla && !$.browser.opera && !($.browser.msie && $.browser.version == "7.0")) {
254
+ this.contentHtml = this.target.html();
255
+ this.settingsWrapper = $('<span style="margin: 0px; padding: 0px; border: 0px;"></span>');
256
+ this.settingsWrapper.addClass("badonkatrunc-wrapper");
257
+ this.settingsWrapper.css("display", "block");
258
+ }
259
+ //this.target.empty();
260
+ this.target.append(this.settingsWrapper);
261
+ this.refresh();
262
+ },
263
+ destroy: function () {
264
+ this.target.empty();
265
+ this.target.append(this.contentHtml);
266
+ },
267
+ renderState: function (state, forceAllowWrap) {
268
+ this.settingsWrapper.css("font-size", state.fontSize + "em");
269
+ this.settingsWrapper.css("letter-spacing", state.letterSpacing + "em");
270
+ var whiteSpace = (!forceAllowWrap && this.options.fitDirection == "horizontal") ? "nowrap" : "normal";
271
+ this.settingsWrapper.css("white-space", whiteSpace);
272
+ this.settingsWrapper.empty();
273
+ this.settingsWrapper.append(state.content);
274
+ this.currentRenderedState = state;
275
+ },
276
+ getCurrentOverflow: function () {
277
+ var wrapper = this.settingsWrapper[0];
278
+ var overflow = (this.options.fitDirection == "horizontal") ? wrapper.scrollWidth - $target.width() : wrapper.offsetHeight - $target.height();
279
+ return overflow;
280
+ }
281
+ };
282
+ return instance;
283
+ };
284
+ var createDispatcher = function (updateFunc, addFunc, removeFunc, updateTimeout) {
285
+ var dispatcherInstance = {
286
+ _instances: [],
287
+ _updateLoop: function () {
288
+ if ($.isFunction(updateFunc)) {
289
+ for (var i = 0; i < dispatcherInstance._instances.length; i++) {
290
+ updateFunc(dispatcherInstance._instances[i]);
291
+ }
292
+ }
293
+ if (updateTimeout != null) {
294
+ if (dispatcherInstance._instances.length > 0) {
295
+ setTimeout(dispatcherInstance._updateLoop, updateTimeout);
296
+ }
297
+ } else {
298
+ dispatcherInstance._instances = [];
299
+ }
300
+ },
301
+ add: function (instance) {
302
+ if ($.inArray(instance, this._instances) != -1) {
303
+ return;
304
+ }
305
+ if ($.isFunction(addFunc)) {
306
+ addFunc(instance);
307
+ }
308
+ this._instances.push(instance);
309
+ if (this._instances.length == 1) {
310
+ if (updateTimeout == null) {
311
+ setTimeout(this._updateLoop);
312
+ } else {
313
+ this._updateLoop();
314
+ }
315
+ }
316
+ },
317
+ remove: function (instance) {
318
+ var index = $.inArray(instance, this._instances);
319
+ if (index != -1) {
320
+ this._instances.splice(index, 1);
321
+ if ($.isFunction(removeFunc)) {
322
+ removeFunc(instance);
323
+ }
324
+ }
325
+ }
326
+ };
327
+ return dispatcherInstance;
328
+ };
329
+ var resizeMonitor = createDispatcher(function (instance) {
330
+ instance.elementSizeCache.update();
331
+ }, function (instance) {
332
+ instance.elementSizeCache = {
333
+ width: null,
334
+ height: null,
335
+ update: function () {
336
+ var newWidth = instance.target.width();
337
+ var newHeight = instance.target.height();
338
+ var hasChanged = ((this.width != null && newWidth != this.width) || (this.height != null && newHeight != this.height));
339
+ this.width = newWidth;
340
+ this.height = newHeight;
341
+ if (hasChanged) {
342
+ this.changed();
343
+ }
344
+ },
345
+ changed: function () {
346
+ dirtyMonitor.add(instance);
347
+ }
348
+ };
349
+ }, function (instance) {
350
+ instance.elementSizeCache = undefined;
351
+ }, $.fn.badonkatrunc.settings.sizeTrackingTimeout);
352
+ var dirtyMonitor = createDispatcher(function (instance) {
353
+ instance.refresh.apply(instance);
354
+ }, null, null, null);
355
+ var getTruncatedHtml = function (htmlTextView, truncateString, truncateLocation, amount, wordRounded) {
356
+ var text = htmlTextView.text;
357
+ if (amount > 1) {
358
+ amount = 1;
359
+ }
360
+ if (amount < 0) {
361
+ amount = 0;
362
+ }
363
+ if (amount == 1) {
364
+ return htmlTextView.html;
365
+ }
366
+ var getTruncatedRange = function (begin, length) {
367
+ var words = text.split(" ");
368
+ var totalEntities = (wordRounded) ? words.length : text.length;
369
+ var entityBegin = totalEntities * begin;
370
+ var entityLength = totalEntities * length;
371
+ if (wordRounded) {
372
+ var getCharacterPosition = function (wordIndex) {
373
+ var characterCount = 0;
374
+ for (var i = 0; i < wordIndex; i++) {
375
+ characterCount += words[i].length + 1;
376
+ }
377
+ return characterCount;
378
+ };
379
+ var endWord = entityBegin + entityLength;
380
+ entityBegin = getCharacterPosition(entityBegin);
381
+ entityLength = getCharacterPosition(endWord) - entityBegin;
382
+ }
383
+ return htmlTextView.getHtmlSubstring(entityBegin, entityLength);
384
+ };
385
+ switch (truncateLocation) {
386
+ case "middle":
387
+ var amountPerSide = amount / 2;
388
+ var left = getTruncatedRange(0, amountPerSide);
389
+ var right = getTruncatedRange(1 - amountPerSide, amountPerSide);
390
+ return $.trim(left) + " " + truncateString + " " + $.trim(right);
391
+ case "start":
392
+ var truncated = getTruncatedRange(1 - amount, amount);
393
+ return truncateString + $.trim(truncated);
394
+ case "end":
395
+ var truncated = getTruncatedRange(0, amount);
396
+ return $.trim(truncated) + truncateString;
397
+ }
398
+ };
399
+ var createHtmlTextView = function (contentHtml) {
400
+ var $content = $("<span></span>");
401
+ $content.html(contentHtml);
402
+ var view = {
403
+ html: contentHtml,
404
+ text: $content.text(),
405
+ getHtmlSubstring: function (index, length) {
406
+ var element = $content.clone()[0];
407
+ var totalProcessedLength = 0;
408
+ var totalOutputLength = 0;
409
+ var nodesWithinRange = [];
410
+ var withinRange = false;
411
+ var stripOutOfRangeTextInElement = function (node) {
412
+ if (node.nodeType == 3) {
413
+ var dataLength = node.data.length;
414
+ var newData = "";
415
+ var wasWithinRange = false;
416
+ for (var i = 0; i < dataLength; i++) {
417
+ totalProcessedLength++;
418
+ if (totalProcessedLength >= index && totalOutputLength < length) {
419
+ withinRange = true;
420
+ wasWithinRange = true;
421
+ newData += node.data.substr(i, 1);
422
+ totalOutputLength++;
423
+ } else {
424
+ if (withinRange == true) {
425
+ withinRange = false;
426
+ }
427
+ }
428
+ }
429
+ node.data = newData;
430
+ if (wasWithinRange) {
431
+ nodesWithinRange.push(node);
432
+ }
433
+ } else {
434
+ if (node.nodeType == 1) {
435
+ if (withinRange) {
436
+ nodesWithinRange.push(node);
437
+ }
438
+ var childCount = node.childNodes.length;
439
+ for (var i = 0; i < childCount; i++) {
440
+ stripOutOfRangeTextInElement(node.childNodes[i]);
441
+ }
442
+ }
443
+ }
444
+ };
445
+ stripOutOfRangeTextInElement(element);
446
+ var parentNodesToKeep = [];
447
+ var markParentNodesToKeep = function (element) {
448
+ var keepNode = function (node) {
449
+ parentNodesToKeep.push(node);
450
+ if (node.parentNode != null) {
451
+ keepNode(node.parentNode);
452
+ }
453
+ };
454
+ keepNode(element);
455
+ };
456
+ var nodesWithinRangeCount = nodesWithinRange.length;
457
+ for (var t = 0; t < nodesWithinRangeCount; t++) {
458
+ markParentNodesToKeep(nodesWithinRange[t]);
459
+ }
460
+ var removeUnusedNodes = function (node) {
461
+ var nodesToRemove = [];
462
+ var childNodeCount = node.childNodes.length;
463
+ for (var i = 0; i < childNodeCount; i++) {
464
+ var childNode = node.childNodes[i];
465
+ if (childNode.nodeType != 3) {
466
+ if ($.inArray(childNode, parentNodesToKeep) == -1) {
467
+ nodesToRemove.push(childNode);
468
+ } else {
469
+ removeUnusedNodes(childNode);
470
+ }
471
+ }
472
+ }
473
+ for (var i = 0; i < nodesToRemove.length; i++) {
474
+ var node = nodesToRemove[i];
475
+ node.parentNode.removeChild(node);
476
+ }
477
+ };
478
+ removeUnusedNodes(element);
479
+ return $(element).html();
480
+ }
481
+ };
482
+ return view;
483
+ };
484
+ var optimize = function (min, max, actionFunc, overflowFunc, extraOptimizeLimit) {
485
+ var currentMax = max;
486
+ var currentMin = min;
487
+ var currentValue = max;
488
+ var lastResult = null;
489
+ var mostOptimalResult = null;
490
+ var mostOptimalValue = null;
491
+ var sameResultCount = 0;
492
+ while (true) {
493
+ actionFunc(currentValue);
494
+ var result = overflowFunc();
495
+ if (result <= 0) {
496
+ var moreOptimal = true;
497
+ if (mostOptimalResult != null) {
498
+ if (mostOptimalResult > result) {
499
+ moreOptimal = false;
500
+ } else {
501
+ if (result == mostOptimalResult) {
502
+ if (currentValue <= mostOptimalValue) {
503
+ moreOptimal = false;
504
+ }
505
+ }
506
+ }
507
+ }
508
+ if (moreOptimal) {
509
+ mostOptimalResult = result;
510
+ mostOptimalValue = currentValue;
511
+ }
512
+ }
513
+ if (result == lastResult) {
514
+ sameResultCount++;
515
+ if (extraOptimizeLimit == undefined || sameResultCount == extraOptimizeLimit) {
516
+ if (mostOptimalValue != null) {
517
+ actionFunc(mostOptimalValue);
518
+ }
519
+ return;
520
+ }
521
+ }
522
+ if (result > 0) {
523
+ currentMax = currentValue;
524
+ var difference = (currentValue - currentMin);
525
+ currentValue -= (difference / 2);
526
+ } else {
527
+ if (result <= 0) {
528
+ currentMin = currentValue;
529
+ currentValue = currentMax;
530
+ }
531
+ }
532
+ lastResult = result;
533
+ }
534
+ };
535
+ })(jQuery);
43
536
  /*
44
537
  * jQuery OwlCarousel v1.3.2
45
538
  *
@@ -1892,6 +2385,7 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
1892
2385
  $(document).ready(function (){
1893
2386
  widgets.handleEvents();
1894
2387
  owlPlugin.initPostCarousel();
2388
+ owlPlugin.initServiceCarouselFull;
1895
2389
  owlPlugin.initServiceCarouselLarge();
1896
2390
  owlPlugin.initServiceCarouselSmall();
1897
2391
  owlPlugin.initGalleriesCarousel();
@@ -1948,6 +2442,23 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
1948
2442
  }
1949
2443
  },
1950
2444
 
2445
+ initServiceCarouselFull : function(){
2446
+ var element = $(".iasd-widget-slider > .services.full");
2447
+ if(element.length > 0) {
2448
+ owlCarousels.push(element.owlCarousel({
2449
+ items : 7,
2450
+ itemsDesktop : [1200,7],
2451
+ itemsDesktopSmall : [991,7],
2452
+ itemsTablet : [768,5],
2453
+ itemsMobile: [479,3],
2454
+ slideSpeed : 500,
2455
+ paginationSpeed : 1000,
2456
+ autoPlay: false,
2457
+ stopOnHover: true
2458
+ }).data('owlCarousel'));
2459
+ }
2460
+ },
2461
+
1951
2462
  initServiceCarouselLarge : function(){
1952
2463
  var element = $(".iasd-widget-slider > .services.large");
1953
2464
  if(element.length > 0) {
@@ -2298,14 +2809,6 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
2298
2809
  };
2299
2810
 
2300
2811
  })(jQuery);
2301
- (function($){
2302
- var checkWhastapp = function() {
2303
- if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
2304
- $(".social-media .whatsapp").css({ visibility: "visible" });
2305
- }
2306
- }
2307
- $('document').ready(checkWhastapp);
2308
- })(jQuery);
2309
2812
  (function($){
2310
2813
 
2311
2814
  $(window).load(function (){