-
Notifications
You must be signed in to change notification settings - Fork 19
/
scriptcamlite.min.js
1 lines (1 loc) · 2.85 KB
/
scriptcamlite.min.js
1
(function(e){e.fn.scriptcamlite=function(t){var n=e.extend({},e.fn.scriptcamlite.defaults,t);return this.each(function(){data=n;data.path=decodeURIComponent(data.path);if(window.File&&window.FileReader&&window.FileList&&window.Blob){if(data.fileName!=""){if(data.fileName!=a(data.fileName)){data.onError(5,"Illegal filename specified");return}data.fileName=u()+"_"+data.fileName;data.country=data.country.toLowerCase();if(data.country!="europe"&&data.country!="usa"){data.country="europe"}if(data.maximumSize<10){data.maximumSize=10}if(data.maximumSize>500){data.maximumSize=500}e("body").append('<div style="width: 0; height: 0; overflow: hidden;"><form><input type="file" id="videoupload" accept="video/*" capture></form></div><div id="progressNumber"></div>');e("#videoupload").on("change",function(e){e.preventDefault();var n=document.getElementById("videoupload").files[0];if(n.size>1e6*data.maximumSize){data.onError(2,"File too large");return}var s=new FormData;s.append("video",n);var u=new XMLHttpRequest;u.upload.addEventListener("progress",t,false);u.addEventListener("load",r,false);u.addEventListener("error",i,false);u.addEventListener("abort",o,false);u.open("POST","http://"+data.country+".www.scriptcam.com/mobile/upload.cfm?filename="+data.fileName);u.send(s)});function t(e){if(e.lengthComputable){var t=Math.round(e.loaded*100/e.total);data.uploadProgress(t)}else{data.uploadProgress(0)}}function r(e){data.fileConversionStarted(e.target.response);f(data.country,e.target.response)}function i(e){data.onError(3,"Upload failed")}function o(e){data.onError(4,"Upload cancelled")}function u(){var e=1e6;var t=9999999;return Math.floor(Math.random()*(t-e))+e}function a(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_";var n=new Array;for(var r=0;r<e.length;r++){var i=e.charAt(r);if(t.indexOf(i)!=-1){n.push(i)}}return n.join("")}function f(t,n){e.ajax({type:"HEAD",cache:false,url:"http://"+t+".www.scriptcam.com/dwnld/"+n+".mp4",success:function(e){data.fileReady("http://"+t+".www.scriptcam.com/dwnld/"+n+".mp4")},error:function(e,r,i){setTimeout(function(){f(t,n)},2e3)}})}}else{e("body").append('<div style="width: 0; height: 0; overflow: hidden;"><form><input type="file" id="pictureupload" accept="image/*" capture></form></div>');e("#pictureupload").on("change",function(e){e.preventDefault();if(this.files&&this.files[0]){var t=new FileReader;t.onload=function(e){s=e.target.result;data.onPictureAsBase64(s)};t.readAsDataURL(this.files[0])}})}}else{data.onError(1,"HTML5 not fully supported")}})};e.scriptcamlite={};e.scriptcamlite.getFrameAsBase64=function(){e("#pictureupload").trigger("click")};e.scriptcamlite.version=function(){return"1.6.0"};e.scriptcamlite.startRecording=function(){e("#videoupload").trigger("click")};e.scriptcamlite.playMP3=function(e){alert("playMP3 called")};e.fn.scriptcamlite.defaults={maximumSize:500,fileName:"",country:"europe"}})(jQuery)