Your IP : 216.73.216.45


Current Path : /home/azimutno/www/plugins/system/jsnframework/assets/joomlashine/js/libs/common/
Upload File :
Current File : /home/azimutno/www/plugins/system/jsnframework/assets/joomlashine/js/libs/common/ajax.js

define([],function(){var JSNAjax={requesting:{},loadedStylesheets:{},loadedScripts:{},urls:{babel:'https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js'},toQueryString:function(obj,prefix){if(typeof obj!='object'){return obj;}var str=[];for(var p in obj){if(obj.hasOwnProperty(p)){var k=prefix?prefix+'['+p+']':p,v=obj[p];str.push(typeof v=='object'?this.toQueryString(v,k):encodeURIComponent(k)+'='+encodeURIComponent(v));}}return str.join('&');},request:function(url,callback,postData){var XMLHttpFactories=[function(){return new XMLHttpRequest();},function(){return new ActiveXObject('Msxml2.XMLHTTP');},function(){return new ActiveXObject('Msxml3.XMLHTTP');},function(){return new ActiveXObject('Microsoft.XMLHTTP');}];function createXMLHTTPObject(){var xmlhttp=false;for(var i=0;i<XMLHttpFactories.length;i++){try{xmlhttp=XMLHttpFactories[i]();}catch(e){continue;}break;}return xmlhttp;}if(this.requesting[url]){return this.requesting[url].push(callback);}var req=createXMLHTTPObject();if(!req){if(typeof callback=='function'){callback(req);}return;}var method=postData?'POST':'GET';req.open(method,url,true);if(postData){req.setRequestHeader('Content-type','application/x-www-form-urlencoded');}req.onreadystatechange=function(){if(req.readyState!=4){return;}if(parseInt(req.status.toString().substr(0,1))!=2&&req.status!=304){var res={};for(var p in req){res[p]=req[p];}res.response=res.responseText=req.status+' '+req.statusText;req=res;}try{req.responseJSON=JSON.parse(req.responseText);}catch(e){var res=req.responseText.match(/\{"|\[([\{\[\d"]|true|false)/);if(res){res=res[0]+req.responseText.split(res[0]).slice(1).join(res[0]);try{req.responseJSON=JSON.parse(res);}catch(e){}}}for(var i=0,n=this.requesting[url].length;i<n;i++){if(typeof this.requesting[url][i]=='function'){this.requesting[url][i](req);}}delete this.requesting[url];}.bind(this);req.send(this.toQueryString(postData));this.requesting[url]=this.requesting[url]||[];this.requesting[url].push(callback);return req;},loadStylesheet:function(file,callback){if(this.loadedStylesheets[file]){if(this.loadedStylesheets[file]===true){if(typeof callback=='function'){callback();}}else{this.loadedStylesheets[file].push(callback);}return;}var stylesheet=document.createElement('link');stylesheet.rel='stylesheet';stylesheet.href=file;stylesheet.type='text/css';stylesheet.async=1;stylesheet.onload=function(event){for(var i=0,n=this.loadedStylesheets[file].length;i<n;i++){if(typeof this.loadedStylesheets[file][i]=='function'){this.loadedStylesheets[file][i]();}}this.loadedStylesheets[file]=true;}.bind(this);stylesheet.onreadystatechange=function(){if(this.readyState=='complete'||this.readyState=='loaded'){stylesheet.onload();}};stylesheet.onerror=function(event){console.log('Failed to load stylesheet file '+file,event);};this.loadedStylesheets[file]=this.loadedStylesheets[file]||[];this.loadedStylesheets[file].push(callback);document.body.appendChild(stylesheet);},loadScript:function(file,callback,type){if(file.indexOf('/')<0&&this.urls[file]){file=this.urls[file];}if(this.loadedScripts[file]){if(this.loadedScripts[file]===true){if(typeof callback=='function'){callback();}}else{this.loadedScripts[file].push(callback);}return;}var onload=function(){for(var i=0,n=this.loadedScripts[file].length;i<n;i++){if(typeof this.loadedScripts[file][i]=='function'){this.loadedScripts[file][i]();}}this.loadedScripts[file]=true;}.bind(this);this.loadedScripts[file]=this.loadedScripts[file]||[];this.loadedScripts[file].push(callback);if(type!='babel'){var script=document.createElement('script');script.src=file;script.async=1;script.onload=onload;script.onreadystatechange=function(){if(this.readyState=='complete'||this.readyState=='loaded'){script.onload();}};script.onerror=function(event){console.log('Failed to load script file '+file,event);};document.head.appendChild(script);}else{this.request(file,function(req){if(window.babel===undefined){this.loadScript(this.urls.babel,function(script,callback){babel.run(script);callback();}.bind(this,req.responseText,onload));}else{babel.run(req.responseText);onload();}}.bind(this));}}};return JSNAjax;});