+
+ /** Add resize-event */
+ $(window).resize(function() {
+ clearTimeout(resize_timer);
+ resize_timer = setTimeout(recalculate_visible , settings.resize_timeout);
+ });
+
+ /** Fetch the JavaScript for Flash and schedule the initial fetch */
+ $.getScript(domain + settings.delivery + '/' + settings.fl, recalculate_visible);
+
+ }
+
+ function recalculate_visible() {
+
+ width = $(document).width();
+ if (!rendering)
+ fetch_ads();
+
+ }
+
+ function fetch_ads() {
+
+ /** Guide rendering-process for early restarts */
+ rendering = true;
+
+ var name, src = domain + settings.delivery + '/spc.php';
+
+ /** Order banners for all zones that were found on the page */
+ src += '?zones=';
+ for(id in slots) {
+ visible[id] = width >= min_width[id] && width <= max_width[id];
+ if (visible[id]) {
+ if (!rendered[id]) {
+ queue.push(id);
+ src += escape(id + '=' + OA_zones[slots[id].id] + "|");
+ rendered[id] = true;
+ }
+ else {
+ /** Unhide already fetched visible banners */
+ $(slots[id]).slideDown();
+ }
+ }
+ else {
+ /** Hide unvisible banners */
+ $(slots[id]).hide();
+ }
+ }