(function asyncFillFunctions() {

    (function() {
      function abineDispatch(el, opts, cb) {
        opts = opts || {};
        var doc = (el.ownerDocument || el);
        var evt = doc.createEvent ? doc.createEvent('CustomEvent') : 
doc.createEventObject();
        evt.initCustomEvent && evt.initCustomEvent(opts.type, !!opts.bubbles, 
!!opts.cancelable, opts.detail);
        for (var key in opts) {
          evt[key] = opts[key];
        }
        setTimeout(function () {
          try {
            el.dispatchEvent ? el.dispatchEvent(evt) : el.fireEvent("on" + 
opts.type, doc.createEventObject());
          } catch (e) {
            var listeners = el['listen' + opts.type];
            if (listeners) {
              for (var i = 0; i < listeners.length; ++i) {
                try {
                  listeners[i].call(el, evt);
                } catch(e){}
              }
            }
          }
          cb();
        }, 0);
        return this;
      }

      function abineTriggerDropdownChange(el, val, callback) {
        var dispatchNonJQuery = true;
        var fancified = el.className && el.className.indexOf('fancified') != -1;
        if (window.jQuery) {
          var el$ = window.jQuery(el);
          try {
            if (el$.selectBoxIt) {
              el$.selectBoxIt("selectOption", el$.val());
            } else if (el$.data("chosen") || el$.chosen) {
              // trigger event for old and new version of chosen
              el$.trigger("chosen:updated").trigger("liszt:updated");
            } else if (el$.data("chooserElement")) {
              el$.trigger("change");
            } else if (el$.fancySelect) {
              el$.get('fancySelect').select('value', el$.val());
            } else if (el$.selectBox) {
              el$.selectBox('value', el$.val());
            } else if (el$.selectric) {
              el$.selectric('refresh')
            } else if (el$.coreUISelect) {
              var coreUiSelect = el$.data('coreUISelect');
              coreUiSelect.isSelectShow = true;
              coreUiSelect.changeDropdownData();
              coreUiSelect.isSelectShow = false;
            } else if (el$.data('myJSPulldownObject')) {
              var jsPullDown = el$.data('myJSPulldownObject');
              jsPullDown.setToValue(el$.val());
            } else if (el$.fancyfields) {
              el$.setVal(el$.val());
            } else if (el$.data("select2")) {
              // nothing
            } else if (el$.data("selectize")) {
              dispatchNonJQuery = false;
              el$.data("selectize").setValue(el$.val());
            } else if (el$.hasClass("fancified")) {
              // update for other libraries will clear dropdown
              el$.trigger("update");
            } else if (el$.selectmenu) {
              var newVal = el$.val();
              try{el$.selectmenu("value", el$[0].options[0].value);}catch(e){}
              el$.selectmenu("value", newVal);
            }
            // send change event for all libraries
            el$.trigger("change");
          } catch(e){}
        }
        if (dispatchNonJQuery) {
          function fireEvent(element, event) {
            try {
              var doc = element.ownerDocument;
              if (doc.createEventObject) {
                var evt = doc.createEventObject();
                element.fireEvent('on' + event, evt);
              } else {
                evt = doc.createEvent("HTMLEvents");
                evt.initEvent(event, true, true);
                element.dispatchEvent(evt);
              }
            } catch (e) {
            }
          }

          if (fancified) {
            fireEvent(el, "update");
          }
          fireEvent(el, "change");
          fireEvent(el, "blur");
        }
        callback();
      }

      function abineTypeKey(el, charCode, newVal, cb) {
        var valBeforeType = el.value;
        abineDispatch(el, {
          type: 'keydown',
          keyCode: charCode,
          which: charCode,
          charCode: charCode,
          bubbles: true
        }, function () {
          abineDispatch(el, {
            type: 'keypress',
            keyCode: charCode,
            which: charCode,
            charCode: charCode,
            bubbles: true
          }, function () {
            setTimeout(function () {
              var valAfterType = el.value;
              if (valBeforeType == valAfterType) {
                el.value = newVal;
              }
              abineDispatch(el, {
                type: 'input',
                keyCode: charCode,
                which: charCode,
                charCode: charCode,
                bubbles: true
              }, function () {
                abineDispatch(el, {
                  type: 'keyup',
                  keyCode: charCode,
                  which: charCode,
                  charCode: charCode,
                  bubbles: true
                }, function () {
                  cb();
                });
              });
            }, 1);
          });
        });
      }

      function abineTypeString(el, str, typedSoFar, cb) {
        if (!str || str == "") {
          cb();
          return;
        }

        var charCode = str.charCodeAt(0);
        typedSoFar += str.charAt(0);
        abineTypeKey(el, charCode, typedSoFar, function () {
          abineTypeString(el, str.substring(1), typedSoFar, cb);
        });
      }

      function abineTriggerTextChange(el, val, cb) {
        if (window.abineTriggerChangeInProgress) {
          setTimeout(function(){abineTriggerTextChange(el, val, cb);}, 100);
          return;
        }
        window.abineTriggerChangeInProgress = true;
        try {
          // jquery masked input creates problem for standard fill or slow 
typing.
          if (window.jQuery) {
            var el$ = window.jQuery(el);
            if (el$.data('rawMaskFn') || el$.mask // jquery-maskedinput
              || el$.CardPhoneFormatting // jquery-maskedinput copied by 
neimanmarcus.com
            ) {
              el$.focus().val(val).trigger("input").trigger("paste");
            }
          }
        } catch(e){}
        abineDispatch(el, {type: 'change'}, function () {
          abineDispatch(el, {type: 'blur'}, function () {
            window.abineTriggerChangeInProgress = false;
            cb();
          });
        });
      }

      function abineFillTextField(el, str, cb) {
        abineDispatch(el, {type: 'focus'}, function () {
          abineDispatch(el, {type: 'click'}, function () {
            abineTypeString(el, str, "", function () {
              abineTriggerTextChange(el, str, function(){
                abineDispatch(document, {type: 'abineFilled'}, function () {
                  cb();
                });
              });
            });
          });
        });
      }

      function abineFillSelectField(el, val, skipPartial, cb) {
        var lowerVal = (val || "").toLowerCase();
        var wrapCB = function () {
          abineDispatch(document, {type: 'abineFilled'}, function () {
            cb();
          });
        };
        var changed = false, success = false;
        var opts = el.getElementsByTagName("option");

        if (opts && opts.length > 0) {
          var partialMatchIndex = -1;
          for (var i = 0; i < opts.length; i++) {
            var optText = (opts[i].text || '').toLowerCase();
            var optVal = (opts[i].getAttribute("value")||'').toLowerCase();
            if (optVal == lowerVal || optText == lowerVal) {
              if (!opts[i].selected) {
                changed = true;
              }
              success = true;
              opts[i].selected = true;
              break;
            } else if (partialMatchIndex == -1 && optText.indexOf(lowerVal) != 
-1) {
              partialMatchIndex = i;
            }
          }
          if (!success && partialMatchIndex != -1 && !skipPartial) {
            if (!opts[partialMatchIndex].selected) {
              changed = true;
              opts[partialMatchIndex].selected = true;
              success = true;
            }
          }
        }

        el.setAttribute('abineFillResponse', success);

        if (changed) {
          abineTriggerDropdownChange(el, val, wrapCB);
        } else {
          wrapCB();
        }
      }

      function getTargetElement() {
        var elements = document.getElementsByClassName("abineFillTarget");
        if (elements.length > 0) {
          return elements[0];
        }
        for (var i=0;i 0) {
              return elements[0];
            }
          } catch(e) {}
        }
        return null;
      }

      function createAbineFillElement() {
        var div = document.createElement('div');
        div.id = 'abineFillElement';
        if (typeof(paypal) != 'undefined') {
          div.setAttribute("data-paypal", "1");
        }
        if (typeof(OffAmazonPayments) != 'undefined') {
          div.setAttribute("data-amazon", "1");
        }
        if (typeof(MasterPass) != 'undefined') {
          div.setAttribute("data-masterpass", "1");
        }
        document.documentElement.appendChild(div);
        div.addEventListener('fill', function () {
          var el = getTargetElement();
          if (el) {
            var val = div.getAttribute('value');
            abineFillTextField(el, val, function () {
            });
          } else {
            abineDispatch(document, {type: 'abineFilled'}, function () {
            });
          }
        }, false);

        div.addEventListener('fillSelect', function () {
          var el = getTargetElement();
          if (el) {
            var val = div.getAttribute('value');
            var skipPartial = !!div.getAttribute('skipPartial');
            abineFillSelectField(el, val, skipPartial, function () {
            });
          } else {
            abineDispatch(document, {type: 'abineFilled'}, function () {
            });
          }
        });

        div.addEventListener('triggerChange', function () {
          var el = getTargetElement();
          var val = div.getAttribute('value');
          if (el) {
            if (el.nodeName.match(/select/i)) {
              abineTriggerDropdownChange(el, val, function () {});
            } else {
              abineTriggerTextChange(el, val, function(){});
            }
          }
        });
      }

      createAbineFillElement();
    })();
  })()
        (function asyncFillFunctions() {

    (function() {
      function abineDispatch(el, opts, cb) {
        opts = opts || {};
        var doc = (el.ownerDocument || el);
        var evt = doc.createEvent ? doc.createEvent('CustomEvent') : 
doc.createEventObject();
        evt.initCustomEvent && evt.initCustomEvent(opts.type, !!opts.bubbles, 
!!opts.cancelable, opts.detail);
        for (var key in opts) {
          evt[key] = opts[key];
        }
        setTimeout(function () {
          try {
            el.dispatchEvent ? el.dispatchEvent(evt) : el.fireEvent("on" + 
opts.type, doc.createEventObject());
          } catch (e) {
            var listeners = el['listen' + opts.type];
            if (listeners) {
              for (var i = 0; i < listeners.length; ++i) {
                try {
                  listeners[i].call(el, evt);
                } catch(e){}
              }
            }
          }
          cb();
        }, 0);
        return this;
      }

      function abineTriggerDropdownChange(el, val, callback) {
        var dispatchNonJQuery = true;
        var fancified = el.className && el.className.indexOf('fancified') != -1;
        if (window.jQuery) {
          var el$ = window.jQuery(el);
          try {
            if (el$.selectBoxIt) {
              el$.selectBoxIt("selectOption", el$.val());
            } else if (el$.data("chosen") || el$.chosen) {
              // trigger event for old and new version of chosen
              el$.trigger("chosen:updated").trigger("liszt:updated");
            } else if (el$.data("chooserElement")) {
              el$.trigger("change");
            } else if (el$.fancySelect) {
              el$.get('fancySelect').select('value', el$.val());
            } else if (el$.selectBox) {
              el$.selectBox('value', el$.val());
            } else if (el$.selectric) {
              el$.selectric('refresh')
            } else if (el$.coreUISelect) {
              var coreUiSelect = el$.data('coreUISelect');
              coreUiSelect.isSelectShow = true;
              coreUiSelect.changeDropdownData();
              coreUiSelect.isSelectShow = false;
            } else if (el$.data('myJSPulldownObject')) {
              var jsPullDown = el$.data('myJSPulldownObject');
              jsPullDown.setToValue(el$.val());
            } else if (el$.fancyfields) {
              el$.setVal(el$.val());
            } else if (el$.data("select2")) {
              // nothing
            } else if (el$.data("selectize")) {
              dispatchNonJQuery = false;
              el$.data("selectize").setValue(el$.val());
            } else if (el$.hasClass("fancified")) {
              // update for other libraries will clear dropdown
              el$.trigger("update");
            } else if (el$.selectmenu) {
              var newVal = el$.val();
              try{el$.selectmenu("value", el$[0].options[0].value);}catch(e){}
              el$.selectmenu("value", newVal);
            }
            // send change event for all libraries
            el$.trigger("change");
          } catch(e){}
        }
        if (dispatchNonJQuery) {
          function fireEvent(element, event) {
            try {
              var doc = element.ownerDocument;
              if (doc.createEventObject) {
                var evt = doc.createEventObject();
                element.fireEvent('on' + event, evt);
              } else {
                evt = doc.createEvent("HTMLEvents");
                evt.initEvent(event, true, true);
                element.dispatchEvent(evt);
              }
            } catch (e) {
            }
          }

          if (fancified) {
            fireEvent(el, "update");
          }
          fireEvent(el, "change");
          fireEvent(el, "blur");
        }
        callback();
      }

      function abineTypeKey(el, charCode, newVal, cb) {
        var valBeforeType = el.value;
        abineDispatch(el, {
          type: 'keydown',
          keyCode: charCode,
          which: charCode,
          charCode: charCode,
          bubbles: true
        }, function () {
          abineDispatch(el, {
            type: 'keypress',
            keyCode: charCode,
            which: charCode,
            charCode: charCode,
            bubbles: true
          }, function () {
            setTimeout(function () {
              var valAfterType = el.value;
              if (valBeforeType == valAfterType) {
                el.value = newVal;
              }
              abineDispatch(el, {
                type: 'input',
                keyCode: charCode,
                which: charCode,
                charCode: charCode,
                bubbles: true
              }, function () {
                abineDispatch(el, {
                  type: 'keyup',
                  keyCode: charCode,
                  which: charCode,
                  charCode: charCode,
                  bubbles: true
                }, function () {
                  cb();
                });
              });
            }, 1);
          });
        });
      }

      function abineTypeString(el, str, typedSoFar, cb) {
        if (!str || str == "") {
          cb();
          return;
        }

        var charCode = str.charCodeAt(0);
        typedSoFar += str.charAt(0);
        abineTypeKey(el, charCode, typedSoFar, function () {
          abineTypeString(el, str.substring(1), typedSoFar, cb);
        });
      }

      function abineTriggerTextChange(el, val, cb) {
        if (window.abineTriggerChangeInProgress) {
          setTimeout(function(){abineTriggerTextChange(el, val, cb);}, 100);
          return;
        }
        window.abineTriggerChangeInProgress = true;
        try {
          // jquery masked input creates problem for standard fill or slow 
typing.
          if (window.jQuery) {
            var el$ = window.jQuery(el);
            if (el$.data('rawMaskFn') || el$.mask // jquery-maskedinput
              || el$.CardPhoneFormatting // jquery-maskedinput copied by 
neimanmarcus.com
            ) {
              el$.focus().val(val).trigger("input").trigger("paste");
            }
          }
        } catch(e){}
        abineDispatch(el, {type: 'change'}, function () {
          abineDispatch(el, {type: 'blur'}, function () {
            window.abineTriggerChangeInProgress = false;
            cb();
          });
        });
      }

      function abineFillTextField(el, str, cb) {
        abineDispatch(el, {type: 'focus'}, function () {
          abineDispatch(el, {type: 'click'}, function () {
            abineTypeString(el, str, "", function () {
              abineTriggerTextChange(el, str, function(){
                abineDispatch(document, {type: 'abineFilled'}, function () {
                  cb();
                });
              });
            });
          });
        });
      }

      function abineFillSelectField(el, val, skipPartial, cb) {
        var lowerVal = (val || "").toLowerCase();
        var wrapCB = function () {
          abineDispatch(document, {type: 'abineFilled'}, function () {
            cb();
          });
        };
        var changed = false, success = false;
        var opts = el.getElementsByTagName("option");

        if (opts && opts.length > 0) {
          var partialMatchIndex = -1;
          for (var i = 0; i < opts.length; i++) {
            var optText = (opts[i].text || '').toLowerCase();
            var optVal = (opts[i].getAttribute("value")||'').toLowerCase();
            if (optVal == lowerVal || optText == lowerVal) {
              if (!opts[i].selected) {
                changed = true;
              }
              success = true;
              opts[i].selected = true;
              break;
            } else if (partialMatchIndex == -1 && optText.indexOf(lowerVal) != 
-1) {
              partialMatchIndex = i;
            }
          }
          if (!success && partialMatchIndex != -1 && !skipPartial) {
            if (!opts[partialMatchIndex].selected) {
              changed = true;
              opts[partialMatchIndex].selected = true;
              success = true;
            }
          }
        }

        el.setAttribute('abineFillResponse', success);

        if (changed) {
          abineTriggerDropdownChange(el, val, wrapCB);
        } else {
          wrapCB();
        }
      }

      function getTargetElement() {
        var elements = document.getElementsByClassName("abineFillTarget");
        if (elements.length > 0) {
          return elements[0];
        }
        for (var i=0;i 0) {
              return elements[0];
            }
          } catch(e) {}
        }
        return null;
      }

      function createAbineFillElement() {
        var div = document.createElement('div');
        div.id = 'abineFillElement';
        if (typeof(paypal) != 'undefined') {
          div.setAttribute("data-paypal", "1");
        }
        if (typeof(OffAmazonPayments) != 'undefined') {
          div.setAttribute("data-amazon", "1");
        }
        if (typeof(MasterPass) != 'undefined') {
          div.setAttribute("data-masterpass", "1");
        }
        document.documentElement.appendChild(div);
        div.addEventListener('fill', function () {
          var el = getTargetElement();
          if (el) {
            var val = div.getAttribute('value');
            abineFillTextField(el, val, function () {
            });
          } else {
            abineDispatch(document, {type: 'abineFilled'}, function () {
            });
          }
        }, false);

        div.addEventListener('fillSelect', function () {
          var el = getTargetElement();
          if (el) {
            var val = div.getAttribute('value');
            var skipPartial = !!div.getAttribute('skipPartial');
            abineFillSelectField(el, val, skipPartial, function () {
            });
          } else {
            abineDispatch(document, {type: 'abineFilled'}, function () {
            });
          }
        });

        div.addEventListener('triggerChange', function () {
          var el = getTargetElement();
          var val = div.getAttribute('value');
          if (el) {
            if (el.nodeName.match(/select/i)) {
              abineTriggerDropdownChange(el, val, function () {});
            } else {
              abineTriggerTextChange(el, val, function(){});
            }
          }
        });
      }

      createAbineFillElement();
    })();
  })()




Fellow Frameworkers,&nbsp;
&nbsp;

Early submission deadline for the 21st&nbsp;Antimatter [Media Art] is coming up 
in a couple weeks (April 27). Entry info on the website and Film Freeway.

&nbsp;

&nbsp;

Antimatter [Media Art]

&nbsp;

October 11 to 21, 2018 | Victoria BC Canada

&nbsp;

Early Deadline: April 27, 2018 | Final Deadline: June 22, 2018

&nbsp;

Dedicated to the exhibition and nurturing of diverse forms of media art, 
Antimatter is one of the premier showcases of experimentation in film, video, 
audio and emerging timebased forms. Encompassing screenings, installations, 
performances and media hybrids, Antimatter provides a noncompetitive setting in 
Victoria, British Columbia, free from commercial and industry agendas.

&nbsp;

Since 1998, the quality and creativity of its programming, commitment to 
audience development, and respect for artists and their work have made 
Antimatter one of the most important media arts events in Canada, and the world.

&nbsp;

In addition to single channel works for screening programs we invite proposals 
for media-based performance and installation projects, as well as curated 
programs.&nbsp;

&nbsp;

Complete submission guidelines and forms at&nbsp;http://antimatter.ca and also 
at Film Freeway: https://filmfreeway.com/festival/AntimatterMediaArt

&nbsp;

Connect with Antimatter on Facebook for updates and event info: 
https://www.facebook.com/AntimatterMediaArt

&nbsp;

Antimatter [Media Art]

636 Yates St, Victoria, BC, Canada V8W 1L3

250 385 3327 www.antimatter.ca



&nbsp;

&nbsp;

&nbsp;

_______________________________________________
FrameWorks mailing list
[email protected]
https://mailman-mail5.webfaction.com/listinfo/frameworks

Reply via email to