(function($){function JUP(form,settings){var defaults={url:null,validate:null,beforeUpload:null,onComplete:null,json:true};var result=null;var settings=$.extend({},defaults,settings);if(settings.url!=null){form.attr('action',settings.url);}
form.attr("enctype","multipart/form-data");form.submit(function(e){if($.isFunction(settings.validate)){var fields=getFields(form);if(!settings.validate(fields)){e.preventDefault();return false;}}
if($.isFunction(settings.beforeUpload)){settings.beforeUpload(fields);}
var t=new Date().getTime();var iframeId=iframeId="JUPiFrame"+t;var iFrame=$('<iframe id="'+iframeId+'" name="'+iframeId+'" src="javascript:;" style="display:none" />').appendTo(document.body);form.attr("target",iframeId);form.find("input[type=submit]").attr("disabled",true);$("#"+iframeId).load(function(){form.find("input[type=submit]").attr("disabled",false);var response=iFrame.contents().find("body").html();if($.isFunction(settings.onComplete)){if(settings.json){try{response=eval('('+response+')');}catch(e){response=false;}}
settings.onComplete(response,form.attr('id'));}
setTimeout(iFrame.remove,100);});});function getFields(form){var fields={};form.find("input,select,textarea").each(function(){var input=$(this);var inputName=input.attr("name");if(inputName.length>1&&inputName.substr(inputName.length-2,inputName.length)=="[]"){inputName=inputName.substr(0,inputName.length-2);if(!fields.hasOwnProperty(inputName)){fields[inputName]=[];}
fields[inputName].push(input.val());}
else if(inputName.length>0){fields[inputName]=input.val();}});return fields;};};$.fn.jup=function(settings){return this.each(function(){var jup=JUP($(this),settings);});};})(jQuery);
