(function(){var i=document,m=window;function b(d){if(typeof d=="string"){d=i.getElementById(d)}return d}function e(r,q,d){if(m.addEventListener){r.addEventListener(q,d,false)}else{if(m.attachEvent){var s=function(){d.call(r,m.event)};r.attachEvent("on"+q,s)}}}var c=function(){var d=i.createElement("div");return function(q){d.innerHTML=q;var r=d.childNodes[0];d.removeChild(r);return r}}();function f(q,d){return q.className.match(new RegExp("(\\s|^)"+d+"(\\s|$)"))}function h(q,d){if(!f(q,d)){q.className+=" "+d}}function n(r,d){var q=new RegExp("(\\s|^)"+d+"(\\s|$)");r.className=r.className.replace(q," ")}if(document.documentElement.getBoundingClientRect){var o=function(d){var u=d.getBoundingClientRect(),y=d.ownerDocument,v=y.body,q=y.documentElement,t=q.clientTop||v.clientTop||0,w=q.clientLeft||v.clientLeft||0,z=1;if(v.getBoundingClientRect){var s=v.getBoundingClientRect();z=(s.right-s.left)/v.clientWidth}if(z>1){t=0;w=0}var x=u.top/z+(window.pageYOffset||q&&q.scrollTop/z||v.scrollTop/z)-t,r=u.left/z+(window.pageXOffset||q&&q.scrollLeft/z||v.scrollLeft/z)-w;return{top:x,left:r}}}else{var o=function(d){if(m.jQuery){return jQuery(d).offset()}var r=0,q=0;do{r+=d.offsetTop||0;q+=d.offsetLeft||0}while(d=d.offsetParent);return{left:q,top:r}}}function a(r){var t,q,s,d;var u=o(r);t=u.left;s=u.top;q=t+r.offsetWidth;d=s+r.offsetHeight;return{left:t,right:q,top:s,bottom:d}}function k(s){if(!s.pageX&&s.clientX){var r=1;var d=document.body;if(d.getBoundingClientRect){var q=d.getBoundingClientRect();r=(q.right-q.left)/d.clientWidth}return{x:s.clientX/r+i.body.scrollLeft+i.documentElement.scrollLeft,y:s.clientY/r+i.body.scrollTop+i.documentElement.scrollTop}}return{x:s.pageX,y:s.pageY}}var j=function(){var d=0;return function(){return"ValumsAjaxUpload"+d++}}();function p(d){return d.replace(/.*(\/|\\)/,"")}function l(d){return(/[.]/.exec(d))?/[^.]+$/.exec(d.toLowerCase()):""}var g=function(){var d;return function(){if(d){return d}if(typeof XMLHttpRequest!=="undefined"){d=new XMLHttpRequest()}else{var q=["Microsoft.XmlHttp","MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0"];for(var r=0;r<q.length;r++){try{d=new ActiveXObject(q[r]);break}catch(s){}}}return d}}();Ajax_upload=AjaxUpload=function(r,d){if(r.jquery){r=r[0]}else{if(typeof r=="string"&&/^#.*/.test(r)){r=r.slice(1)}}r=b(r);this._input=null;this._button=r;this._disabled=false;this._submitting=false;this._justClicked=false;this._parentDialog=i.body;if(window.jQuery&&jQuery.ui&&jQuery.ui.dialog){var s=jQuery(this._button).parents(".ui-dialog");if(s.length){this._parentDialog=s[0]}}this._settings={action:"upload.php",name:"userfile",data:{},autoSubmit:true,responseType:false,closeConnection:"",hoverClass:"hover",onChange:function(t,u){},onSubmit:function(t,u){},onComplete:function(u,t){}};for(var q in d){this._settings[q]=d[q]}this._createInput();this._rerouteClicks()};AjaxUpload.prototype={setData:function(d){this._settings.data=d},disable:function(){this._disabled=true},enable:function(){this._disabled=false},destroy:function(){if(this._input){if(this._input.parentNode){this._input.parentNode.removeChild(this._input)}this._input=null}},_createInput:function(){var q=this;var d=i.createElement("input");d.setAttribute("type","file");d.setAttribute("name",this._settings.name);var s={position:"absolute",margin:"-5px 0 0 -175px",padding:0,width:"220px",height:"30px",fontSize:"14px",opacity:0,cursor:"pointer",display:"none",zIndex:2147483583};for(var r in s){d.style[r]=s[r]}if(!(d.style.opacity==="0")){d.style.filter="alpha(opacity=0)"}this._parentDialog.appendChild(d);e(d,"change",function(){var t=p(this.value);if(q._settings.onChange.call(q,t,l(t))==false){return}if(q._settings.autoSubmit){q.submit()}});e(d,"click",function(){q._justClicked=true;setTimeout(function(){q._justClicked=false},2500)});this._input=d},_rerouteClicks:function(){var q=this;var r,d={top:0,left:0},s=false;e(q._button,"mouseover",function(t){if(!q._input||s){return}s=true;r=a(q._button);if(q._parentDialog!=i.body){d=o(q._parentDialog)}});e(document,"mousemove",function(v){var u=q._input;if(!u||!s){return}if(q._disabled){n(q._button,q._settings.hoverClass);u.style.display="none";return}var w=k(v);if((w.x>=r.left)&&(w.x<=r.right)&&(w.y>=r.top)&&(w.y<=r.bottom)){u.style.top=w.y-d.top+"px";u.style.left=w.x-d.left+"px";u.style.display="block";h(q._button,q._settings.hoverClass)}else{s=false;var t=setInterval(function(){if(q._justClicked){return}if(!s){u.style.display="none"}clearInterval(t)},25);n(q._button,q._settings.hoverClass)}})},_createIframe:function(){var q=j();var d=c('<iframe src="javascript:false;" name="'+q+'" />');d.id=q;d.style.display="none";i.body.appendChild(d);return d},submit:function(){var d=this,s=this._settings;if(this._input.value===""){return}var q=p(this._input.value);if(!(s.onSubmit.call(this,q,l(q))==false)){var r=this._createIframe();var u=this._createForm(r);u.appendChild(this._input);if(s.closeConnection&&/AppleWebKit|MSIE/.test(navigator.userAgent)){var v=g();v.open("GET",s.closeConnection,false);v.send("")}u.submit();i.body.removeChild(u);u=null;this._input=null;this._createInput();var t=false;e(r,"load",function(y){if(r.src=="javascript:'%3Chtml%3E%3C/html%3E';"||r.src=="javascript:'<html></html>';"){if(t){setTimeout(function(){i.body.removeChild(r)},0)}return}var x=r.contentDocument?r.contentDocument:frames[r.id].document;if(x.readyState&&x.readyState!="complete"){return}if(x.body&&x.body.innerHTML=="false"){return}var w;if(x.XMLDocument){w=x.XMLDocument}else{if(x.body){w=x.body.innerHTML;if(s.responseType&&s.responseType.toLowerCase()=="json"){if(x.body.firstChild&&x.body.firstChild.nodeName.toUpperCase()=="PRE"){w=x.body.firstChild.firstChild.nodeValue}if(w){w=window["eval"]("("+w+")")}else{w={}}}}else{var w=x}}s.onComplete.call(d,q,w);t=true;r.src="javascript:'<html></html>';"})}else{i.body.removeChild(this._input);this._input=null;this._createInput()}},_createForm:function(r){var q=this._settings;var s=c('<form method="post" enctype="multipart/form-data"></form>');s.style.display="none";s.action=q.action;s.target=r.name;i.body.appendChild(s);for(var t in q.data){var d=i.createElement("input");d.type="hidden";d.name=t;d.value=q.data[t];s.appendChild(d)}return s}}})();
