1/* Created by Artisteer v4.0.0.58475 */ 2/*jshint forin:true, noarg:true, noempty:true, eqeqeq:true, bitwise:true, strict:true, undef:true, curly:false, browser:true, jquery:false */ 3/*global jQuery */ 4 5var responsiveDesign = { 6 isResponsive: false, 7 isDesktop: false, 8 isTablet: false, 9 isPhone: false, 10 windowWidth: 0, 11 responsive: function () { 12 'use strict'; 13 var html = jQuery("html"); 14 this.windowWidth = jQuery(window).width(); 15 var triggerEvent = false; 16 17 var isRespVisible = jQuery("#art-resp").is(":visible"); 18 if (isRespVisible && !this.isResponsive) { 19 html.addClass("responsive").removeClass("desktop"); 20 this.isResponsive = true; 21 this.isDesktop = false; 22 triggerEvent = true; 23 } else if (!isRespVisible && !this.isDesktop) { 24 html.addClass("desktop").removeClass("responsive responsive-tablet responsive-phone"); 25 this.isResponsive = this.isTablet = this.isPhone = false; 26 this.isDesktop = true; 27 triggerEvent = true; 28 } 29 30 if (this.isResponsive) { 31 if (jQuery("#art-resp-t").is(":visible") && !this.isTablet) { 32 html.addClass("responsive-tablet").removeClass("responsive-phone"); 33 this.isTablet = true; 34 this.isPhone = false; 35 triggerEvent = true; 36 } else if (jQuery("#art-resp-m").is(":visible") && !this.isPhone) { 37 html.addClass("responsive-phone").removeClass("responsive-tablet"); 38 this.isTablet = false; 39 this.isPhone = true; 40 triggerEvent = true; 41 } 42 } 43 44 if (triggerEvent) { 45 jQuery(window).trigger("responsive", this); 46 } 47 48 jQuery(window).trigger("responsiveResize", this); 49 }, 50 initialize: function () { 51 "use strict"; 52 jQuery("<div id=\"art-resp\"><div id=\"art-resp-m\"></div><div id=\"art-resp-t\"></div></div>").appendTo("body"); 53 jQuery(window).resize(function () { 54 responsiveDesign.responsive(); 55 }); 56 jQuery(window).trigger("resize"); 57 } 58}; 59 60function responsiveAbsBg(responsiveDesign, el, bg) { 61 "use strict"; 62 if (bg.length === 0) 63 return; 64 65 var desktopBgTop = bg.attr("data-bg-top"); 66 var desktopBgHeight = bg.attr("data-bg-height"); 67 68 if (responsiveDesign.isResponsive) { 69 if (typeof desktopBgTop === "undefined" || desktopBgTop === false) { 70 bg.attr("data-bg-top", bg.css("top")); 71 bg.attr("data-bg-height", bg.css("height")); 72 } 73 74 var elTop = el.offset().top; 75 var elHeight = el.outerHeight(); 76 bg.css("top", elTop + "px"); 77 bg.css("height", elHeight + "px"); 78 } else if (typeof desktopBgTop !== "undefined" && desktopBgTop !== false) { 79 bg.css("top", desktopBgTop); 80 bg.css("height", desktopBgHeight); 81 bg.removeAttr("data-bg-top"); 82 bg.removeAttr("data-bg-height"); 83 } 84} 85 86jQuery(window).bind("responsive", function (event, responsiveDesign) { 87 'use strict'; 88 responsiveCollages(responsiveDesign); 89 responsiveImages(responsiveDesign); 90 responsiveVideos(responsiveDesign); 91}); 92 93function responsiveImages(responsiveDesign) { 94 'use strict'; 95 jQuery("img[width]").each(function () { 96 var img = jQuery(this), newWidth = "", newMaxWidth = "", newHeight = ""; 97 if (responsiveDesign.isResponsive) { 98 newWidth = "auto"; 99 newHeight = "auto"; 100 newMaxWidth = "100%"; 101 102 var widthAttr = img.attr("width"); 103 if (widthAttr !== null && typeof(widthAttr) === "string" && widthAttr.indexOf("%") === -1) { 104 newWidth = "100%"; 105 newMaxWidth = parseInt(jQuery.trim(widthAttr), 10) + "px"; 106 } 107 } 108 img.css("width", newWidth).css("max-width", newMaxWidth).css("height", newHeight); 109 }); 110} 111 112function responsiveCollages(responsiveDesign) { 113 'use strict'; 114 if (jQuery.browser.msie && jQuery.browser.version <= 8) return; 115 jQuery(".art-collage").each(function () { 116 var collage = jQuery(this); 117 var sliderObject = collage.find(".art-slider").data("slider"); 118 var responsiveImage = jQuery("img#" + collage.attr("id")); 119 120 if (responsiveDesign.isResponsive) { 121 if (responsiveImage.length) { return true; } 122 if (jQuery.support.transition) { 123 collage.find(".art-slider").trigger(jQuery.support.transition.event); 124 } 125 if (sliderObject) { 126 sliderObject.stop(); 127 } 128 var activeSlide = collage.find(".art-slide-item.active"); 129 if (!activeSlide.length) { 130 var slides = collage.find(".art-slide-item"); 131 if (slides.length) { 132 activeSlide = jQuery(slides.get(0)); 133 } 134 } 135 activeSlide.css("background-image", ""); 136 var bg = activeSlide.css("background-image").replace(/url\(['"]?(.+?)['"]?\)/i, "$1"); 137 jQuery("<img>").attr({ 138 "src": bg, 139 "id": collage.attr("id") 140 }).insertBefore(collage); 141 } else if (responsiveImage.length) { 142 responsiveImage.remove(); 143 if (sliderObject) { 144 if (sliderObject.settings.animation !== "fade") { 145 collage.find(".art-slide-item").css("background-image", "none"); 146 } 147 sliderObject.start(); 148 } 149 } 150 });
151} 152 153function responsiveVideos(responsiveDesign) { 154 "use strict"; 155 jQuery("iframe,object,embed").each(function () { 156 var obj = jQuery(this); 157 var container = obj.parent(".art-responsive-embed"); 158 if (responsiveDesign.isResponsive) { 159 if (container.length !== 0) 160 return; 161 container = jQuery("<div class=\"art-responsive-embed\">").insertBefore(obj); 162 obj.appendTo(container); 163 } else if (container.length > 0) { 164 obj.insertBefore(container); 165 container.remove(); 166 } 167 }); 168} 169 170jQuery(window).bind("responsiveResize", function (event, responsiveDesign) { 171 "use strict"; 172 responsiveAbsBg(responsiveDesign, jQuery("nav.art-nav"), jQuery("#art-hmenu-bg")); 173 responsiveNavFit(responsiveDesign); 174}); 175 176function responsiveNavFit(responsiveDesign) { 177 'use strict'; 178 var nav = jQuery("nav.art-nav"); 179 var isDesktopNav = true; 180 var isResponsiveNav = false; 181 if (responsiveDesign.isResponsive) { 182 if (!nav.hasClass("responsive-nav")) { 183 var itemsWidth = 0; 184 var menu = nav.find(".art-hmenu"); 185 menu.children("li").each(function() { 186 itemsWidth += jQuery(this).outerWidth(true); 187 }); 188 189 if (menu.width() < itemsWidth || responsiveDesign.isPhone) { 190 nav.attr("data-restore-width", responsiveDesign.windowWidth).addClass("responsive-nav").removeClass("desktop-nav"); 191 isResponsiveNav = true; 192 isDesktopNav = false; 193 } 194 } else { 195 var desktopRestoreWidth = parseInt(nav.attr("data-restore-width"), 10) || 0; 196 if (desktopRestoreWidth !== 0 && responsiveDesign.windowWidth <= desktopRestoreWidth) { 197 isResponsiveNav = true; 198 isDesktopNav = false; 199 } 200 } 201 } 202 203 if (isDesktopNav) { 204 nav.removeClass("responsive-nav").addClass("desktop-nav").removeAttr("data-restore-width"); 205 } 206 207 jQuery(window).trigger("responsiveNav", {isDesktopNav: isDesktopNav, isResponsiveNav: isResponsiveNav}); 208} 209 210 211 212jQuery(window).bind("responsive", function (event, responsiveDesign) { 213 "use strict"; 214 responsiveLayoutCell(responsiveDesign); 215}); 216 217function responsiveLayoutCell(responsiveDesign) { 218 "use strict"; 219 jQuery(".art-content .art-content-layout-row,.art-footer .art-content-layout-row").each(function () { 220 var row = jQuery(this); 221 var rowChildren = row.children(".art-layout-cell"); 222 if (rowChildren.length > 1) { 223 if (responsiveDesign.isTablet) { 224 rowChildren.addClass("responsive-tablet-layout-cell").each(function (i) { 225 if ((i + 1) % 2 === 0) { 226 jQuery(this).after("<div class=\"cleared responsive-cleared\">"); 227 } 228 }); 229 } else { 230 rowChildren.removeClass("responsive-tablet-layout-cell"); 231 row.children(".responsive-cleared").remove(); 232 } 233 } 234 }); 235} 236 237jQuery(window).bind("responsive", function (event, responsiveDesign) { 238 "use strict"; 239 responsiveLayoutCell(responsiveDesign); 240}); 241 242function responsiveLayoutCell(responsiveDesign) { 243 "use strict"; 244 jQuery(".art-content .art-content-layout-row,.art-footer .art-content-layout-row").each(function () { 245 var row = jQuery(this); 246 var rowChildren = row.children(".art-layout-cell"); 247 if (rowChildren.length > 1) { 248 if (responsiveDesign.isTablet) { 249 rowChildren.addClass("responsive-tablet-layout-cell").each(function (i) { 250 if ((i + 1) % 2 === 0) { 251 jQuery(this).after("<div class=\"cleared responsive-cleared\">"); 252 } 253 }); 254 } else { 255 rowChildren.removeClass("responsive-tablet-layout-cell"); 256 row.children(".responsive-cleared").remove(); 257 } 258 } 259 });
260} 261 262jQuery(window).bind("responsive", function (event, responsiveDesign) { 263 "use strict"; 264 responsiveLayoutCell(responsiveDesign); 265}); 266 267function responsiveLayoutCell(responsiveDesign) { 268 "use strict"; 269 jQuery(".art-content .art-content-layout-row,.art-footer .art-content-layout-row").each(function () { 270 var row = jQuery(this); 271 var rowChildren = row.children(".art-layout-cell"); 272 if (rowChildren.length > 1) { 273 if (responsiveDesign.isTablet) { 274 rowChildren.addClass("responsive-tablet-layout-cell").each(function (i) { 275 if ((i + 1) % 2 === 0) { 276 jQuery(this).after("<div class=\"cleared responsive-cleared\">"); 277 } 278 }); 279 } else { 280 rowChildren.removeClass("responsive-tablet-layout-cell"); 281 row.children(".responsive-cleared").remove(); 282 } 283 } 284 }); 285} 286 287 288 289jQuery(responsiveDesign.initialize);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.