jQuery.extend({createUploadIframe:function(d,c){var b="jUploadFrame"+d;if(window.ActiveXObject){var a=document.createElement('<iframe id="'+b+'" name="'+b+'" />');if(typeof c=="boolean")a.src="javascript:false";else if(typeof c=="string")a.src=c}else{var a=document.createElement("iframe");a.id=b;a.name=b}a.style.position="absolute";a.style.top="-1000px";a.style.left="-1000px";document.body.appendChild(a);return a},createUploadForm:function(d,e){var c="jUploadForm"+d,g="jUploadFile"+d,a=$('<form action="" method="POST" name="'+c+'" id="'+c+'" enctype="multipart/form-data"></form>'),b=$("#"+e),f=$(b).clone();$(b).attr("id",g);$(b).before(f);$(b).appendTo(a);$(a).css("position","absolute");$(a).css("top","-1200px");$(a).css("left","-1200px");$(a).appendTo("body");return a},ajaxFileUpload:function(a){a=jQuery.extend({},jQuery.ajaxSettings,a);var e=(new Date).getTime(),c=jQuery.createUploadForm(e,a.fileElementId),i=jQuery.createUploadIframe(e,a.secureuri),d="jUploadFrame"+e,h="jUploadForm"+e;a.global&&!jQuery.active++&&jQuery.event.trigger("ajaxStart");var g=false,b={};a.global&&jQuery.event.trigger("ajaxSend",[b,a]);var f=function(h){var e=document.getElementById(d);try{if(e.contentWindow){b.responseText=e.contentWindow.document.body?e.contentWindow.document.body.innerHTML:null;b.responseXML=e.contentWindow.document.XMLDocument?e.contentWindow.document.XMLDocument:e.contentWindow.document}else if(e.contentDocument){b.responseText=e.contentDocument.document.body?e.contentDocument.document.body.innerHTML:null;b.responseXML=e.contentDocument.document.XMLDocument?e.contentDocument.document.XMLDocument:e.contentDocument.document}}catch(j){jQuery.handleError(a,b,null,j)}if(b||h=="timeout"){g=true;var f;try{f=h!="timeout"?"success":"error";if(f!="error"){var i=jQuery.uploadHttpData(b,a.dataType);a.success&&a.success(i,f);a.global&&jQuery.event.trigger("ajaxSuccess",[b,a])}else jQuery.handleError(a,b,f)}catch(j){f="error";jQuery.handleError(a,b,f,j)}a.global&&jQuery.event.trigger("ajaxComplete",[b,a]);a.global&&!--jQuery.active&&jQuery.event.trigger("ajaxStop");a.complete&&a.complete(b,f);jQuery(e).unbind();setTimeout(function(){try{$(e).remove();$(c).remove()}catch(d){jQuery.handleError(a,b,null,d)}},100);b=null}};a.timeout>0&&setTimeout(function(){!g&&f("timeout")},a.timeout);try{var c=$("#"+h);$(c).attr("action",a.url);$(c).attr("method","POST");$(c).attr("target",d);if(c.encoding)c.encoding="multipart/form-data";else c.enctype="multipart/form-data";$(c).submit()}catch(j){jQuery.handleError(a,b,null,j)}if(window.attachEvent)document.getElementById(d).attachEvent("onload",f);else document.getElementById(d).addEventListener("load",f,false);return{abort:function(){}}},uploadHttpData:function(c,b){var a=!b;a=b=="xml"||a?c.responseXML:c.responseText;b=="script"&&jQuery.globalEval(a);if(b=="json")eval("data = "+a);b=="html"&&jQuery("<div>").html(a);return a}});
