var BrowserDetect=function(){var t=function(n){for(var i,t=0;t<n.length;t++)if(i=n[t].string,this.versionSearchString=n[t].subString,i.indexOf(n[t].subString)!==-1)return n[t].identity},n=function(n){var i=n.indexOf(this.versionSearchString),t;if(i!==-1)return t=n.indexOf("rv:"),this.versionSearchString==="Trident"&&t!==-1?parseFloat(n.substring(t+3)):parseFloat(n.substring(i+this.versionSearchString.length+1))},i=[{string:navigator.userAgent,subString:"Edge",identity:"MS Edge"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer"},{string:navigator.userAgent,subString:"Trident",identity:"Explorer"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Opera",identity:"Opera"},{string:navigator.userAgent,subString:"OPR",identity:"Opera"},{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"Safari",identity:"Safari"}],r=function(){this.browser=t(i)||"Other";this.version=n(navigator.userAgent)||n(navigator.appVersion)||"Unknown"};return{init:r}}(jQuery,window,document);$.fn.serializeForm=function(){var n={};return $(this).find('input[type="hidden"], input[type="text"], input[type="password"], input[type="checkbox"]:checked, input[type="radio"]:checked, select, textarea').each(function(){var r,t,i;$(this).attr("type")==="hidden"&&(r=$(this).parent(),t=r.find('input[type="checkbox"][name="'+this.name.replace(/\[/g,"[").replace(/\]/g,"]")+'"]'),t!==null&&t.prop("checked"))||this.name!==null&&this.name!==undefined&&this.name!==""&&(i=$(this).is("select")?$(this).find("option:selected").val():this.value,n[this.name]!==undefined?(n[this.name].push||(n[this.name]=[n[this.name]]),n[this.name].push(i||"")):n[this.name]=i||"")}),n};String.prototype.singleSpace||(String.prototype.singleSpace=function(){return this.replace(/ +(?= )/g,"")});String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")});String.prototype.ltrim||(String.prototype.ltrim=function(){return this.replace(/^\s+/,"")});String.prototype.rtrim||(String.prototype.rtrim=function(){return this.replace(/\s+$/,"")});String.prototype.trimStart||(String.prototype.trimStart=function(n){if(this.length===0)return this;n=n?n:" ";for(var t=0;this.charAt(t)===n&&t<this.length;t++);return this.substring(t)});String.prototype.trimEnd||(String.prototype.trimEnd=function(n){n=n?n:" ";for(var t=this.length-1;t>=0&&this.charAt(t)===n;t--);return this.substring(0,t+1)});String.prototype.startsWith||(String.prototype.startsWith=function(n){return this.match("^"+n)===n});String.prototype.contains||(String.prototype.contains=function(n){return this.indexOf(n)!==-1});String.prototype.endsWith||(String.prototype.endsWith=function(n){return this.match(n+"$")===n});String.prototype.isNullOrWhitespace||(String.prototype.isNullOrWhitespace=function(n){return n===null||n.trim()===""});String.prototype.toBoolean||(String.prototype.toBoolean=function(n){switch(n.toLowerCase().trim()){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case null:return!1;default:return Boolean(n)}})