/*
 * DEXTUploadX5 - polyfill library for the Internet Explorer browser
 * http://www.dextsolution.com
 *
 * Using MDN content
 * https://developer.mozilla.org/en-US/docs/MDN/About#Copyrights_and_licenses
 * http://creativecommons.org/licenses/by-sa/2.5/deed.ko
 *
 * "About MDN by Mozilla Contributors is licensed under CC-BY-SA 2.5."
 *
 * Includes MDN(Mozillar Deveolper Network) polyfill libraries
 *   - https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
 *   - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
 *
 * Copyright ⓒ DEXTSolution Inc.
 */
;;(function () {   var methods = ["assert", "cd", "clear", "count", "countReset", "debug", "dir", "dirxml", "error", "exception", "group", "groupCollapsed", "groupEnd", "info", "log", "markTimeline", "profile", "profileEnd", "select", "table", "time", "timeEnd", "timeStamp", "timeline", "timelineEnd", "trace", "warn"]; var length = methods.length; var console = (window.console = window.console || {}); var methodName; var noop = function () { }; while (length--) { methodName = methods[length]; if (!console[methodName]) console[methodName] = noop; }
  if (!window.Event) {   console.log("DX5: Not available browser environment."); return; }   if (!Event.prototype.preventDefault) { Event.prototype.preventDefault = function () { this.returnValue = false; }; } if (!Event.prototype.stopPropagation) { Event.prototype.stopPropagation = function () { this.cancelBubble = true; }; } if (!Element.prototype.addEventListener) { var eventListeners = []; var addEventListener = function (type, listener ) { var self = this; var wrapper = function (e) { e.target = e.srcElement; e.currentTarget = self;
if (typeof listener === "function") { if (typeof listener.handleEvent != "undefined") listener.handleEvent(e); else listener.call(self, e); } }; if (type == "DOMContentLoaded") { var wrapper2 = function (e) { if (doc.readyState == "complete") { wrapper(e); } }; doc.attachEvent("onreadystatechange", wrapper2); eventListeners.push({ object: this, type: type, listener: listener, wrapper: wrapper2 }); if (doc.readyState == "complete") { var e = new Event(); e.srcElement = window; wrapper2(e); } } else { this.attachEvent("on" + type, wrapper);
eventListeners.push({ object: this, type: type, listener: listener, wrapper: wrapper }); } };  var removeEventListener = function (type, listener ) { var counter = 0; while (counter < eventListeners.length) { var eventListener = eventListeners[counter]; if (eventListener.object == this && eventListener.type == type && eventListener.listener == listener) { if (type == "DOMContentLoaded") { this.detachEvent("onreadystatechange", eventListener.wrapper); } else { this.detachEvent("on" + type, eventListener.wrapper); }
eventListeners.splice(counter, 1); break; } ++counter; } };  Element.prototype.addEventListener = addEventListener; Element.prototype.removeEventListener = removeEventListener; if (HTMLDocument) { HTMLDocument.prototype.addEventListener = addEventListener; HTMLDocument.prototype.removeEventListener = removeEventListener; } if (Window) { Window.prototype.addEventListener = addEventListener; Window.prototype.removeEventListener = removeEventListener; } }     if (typeof Array.isArray === "undefined") { Array.isArray = function (arg) {
return Object.prototype.toString.call(arg) === "[object Array]"; }; }   if (!Array.prototype.map) { Array.prototype.map = function (callback, thisArg) { var T, A, k; if (this == null) { throw new TypeError(' this is null or not defined'); }   var O = Object(this);     var len = O.length >>> 0;     if (typeof callback !== 'function') { throw new TypeError(callback + ' is not a function'); }   if (arguments.length > 1) { T = thisArg; }   A = new Array(len);   k = 0;   while (k < len) { var kValue, mappedValue;  
    if (k in O) {   kValue = O[k];   mappedValue = callback.call(T, kValue, k, O);         A[k] = mappedValue; }   k++; }   return A; }; }     if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k;     if (this == null) { throw new TypeError('"this" is null or not defined'); } var o = Object(this);       var len = o.length >>> 0;   if (len === 0) { return -1; }     var n = fromIndex | 0;   if (n >= len) { return -1; }       k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);  
while (k < len) {                         if (k in o && o[k] === searchElement) { return k; } k++; } return -1; }; } })(); 