function link(n){if(history.pushState){if((lastSelected==null||n.id!==lastSelected.id)&&!navigating){navigating=!0;var t=new XMLHttpRequest;t.addEventListener("load",function(){if(t.readyState==4){var r=JSON.parse(t.responseText),i={href:n.href,title:r.title,hrefid:n.id,content:r.content,header:r.header,key:r.key};for(p in n.dataset)i[p]=n.dataset[p];history.pushState(i,i.title,i.href);OutputState(i,n);window.scrollTo(0,0);navigating=!1}});t.addEventListener("error",function(){},!1);t.open("GET","/json/"+n.dataset.page);t.send(null)}return!1}return!0}function OutputState(n){n&&(OutputContent(n.content,n.title,n.header),nav.dataset.key=n.key)}function OutputContent(n,t){t&&(document.title=t);var i=document.getElementById("content");i.innerHTML=n}function a(n,t){var s,l,i,f,r,o;t.disabled=!0;var h=!0,u=util.get(n),r=u.querySelectorAll("input, select, div[contenteditable], textarea"),c=!0,e=new FormData;for(s=0,l=r.length;s<l;s++)i=r[s],i.dataset.required&&i.value===""?(c=!1,i.classList.add("error"),i.onkeyup==null&&(i.onkeyup=function(){this.value!==""&&(this.classList.remove("error"),h&&(t.disabled=!1,h=!1))})):i.classList.remove("error"),i.type==="email"&&(i.value===""||v.email(i.value)||(i.classList.add("error"),c=!1)),f=i.dataset.key,f!=null&&(i.type?i.type==="checkbox"?e.append(f,i.checked):i.type==="radio"?i.checked&&e.append(f,i.value):e.append(f,i.value):i.value?e.append(f,i.value):i.contentEditable&&e.append(f,i.innerHTML));r=util.get(n+"_error");c?(r.classList.add("hide"),o=new XMLHttpRequest,o.addEventListener("load",function(){var n,f,e,o,i;try{n=JSON.parse(this.responseText);n.ok?n.message?(r.innerHTML=n.message,r.classList.remove("hide"),n.reenable&&(t.disabled=!1)):n.form?(f=util.create("div"),f.innerHTML=n.form,u.parentNode.replaceChild(f.firstChild,u)):n.script?(u.innerHTML="",e=document.createElement("script"),e.text=n.script,u.appendChild(e)):n.substitute?(o=util.get(n.substitute.id),o&&(o.innerHTML=n.substitute.value),n.reenable&&(t.disabled=!1)):n.push?(i=n.push.state,history.pushState(i,i.title,i.href),OutputState(i,null)):u.innerHTML="OK":(r.innerHTML=n.message?n.message:"Unknown Error...",n.reenable&&(t.disabled=!1),r.classList.remove("hide"))}catch(s){r.innerHTML="Unknown Server Error...";r.classList.remove("hide");console.log(s.message)}},!1),o.addEventListener("error",function(){r.innerHTML="Error....";r.classList.remove("hide")},!1),o.open("POST","/"+u.dataset.action),o.send(e)):(r.innerHTML="Please fill required fields.",t.disabled=!1,h=!1,r.classList.remove("hide"))}var key,nav;window.onpopstate=function(n){OutputState(n.state)};key={ctrl:!1,shift:!1};key.change=function(n,t){n.keyCode===17?key.ctrl=t:n.keyCode===16&&(key.shift=t)};window.onkeydown=function(n){key.change(n,!0)};window.onkeyup=function(n){key.change(n,!1)};var v=function(n){return n.email=function(n){return/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test(n)},n}(v?v:{}),util=function(n){return n.hide=function(t){var r,u,i;if(Array.isArray(t))for(r=0,u=t.length;r<u;r++)i=n.get(t[r]),i&&i.classList.add("hide");else i=n.get(t),i&&i.classList.add("hide")},n.unhide=function(t){var r,u,i;if(Array.isArray(t))for(r=0,u=t.length;r<u;r++)i=n.get(t[r]),i&&i.classList.remove("hide");else i=n.get(t),i&&i.classList.remove("hide")},n.create=function(n,t){var i=document.createElement(n);return t!=null&&i.setAttribute("class",t),i},n.get=function(n){return document.getElementById(n)},n.callback=function(){var n=[],t=null;this.add=function(t){n[n.length]=t};this.complete=function(i){var u,r;if(t!=null&&t(),u=n.length,u>0)for(r=0;r<u;r++)n[r]!=null&&n[r]();i&&typeof i=="function"&&i()};this.first=function(n){t=n}},n}(util?util:{}),f=function(){return this.cc=function(n,t){var f=function(t){var i;t=t.split(" ").join("");t.indexOf("34")===0||t.indexOf("37")===0?(i=t.length>15?15:t.length,i>10?t=t.substring(0,4)+"  "+t.substring(4,10)+"  "+t.substring(10,i):i>4&&(t=t.substring(0,4)+"  "+t.substring(4,i))):(i=t.length>16?16:t.length,i>12?t=t.substring(0,4)+"  "+t.substring(4,8)+"  "+t.substring(8,12)+"  "+t.substring(12,i):i>8?t=t.substring(0,4)+"  "+t.substring(4,8)+"  "+t.substring(8,i):t.length>4&&(t=t.substring(0,4)+"  "+t.substring(4,i)));n.value=t},i,e,r,u;if(key.ctrl){if(t.keyCode===88){var i=n.value,r=n.selectionStart,u=n.selectionEnd;return i=i.substring(0,r)+i.substring(u,i.length),f(i),n.selectionStart=r,n.selectionEnd=r,!1}return t.keyCode===86?!0:!0}if(i=n.value,t.keyCode===8||t.keyCode===46){if(n.selectionEnd>0||t.keyCode===46){var r=n.selectionStart,u=n.selectionEnd,o=u-r;o>0?(i=i.substring(0,r)+i.substring(u,i.length),f(i),n.selectionStart=r,n.selectionEnd=r):t.keyCode===8?(i=i.substring(0,r-1)+i.substring(u,i.length),f(i),n.selectionStart=r-1,n.selectionEnd=r-1):(i=i.substring(0,r)+i.substring(u+1,i.length),f(i),n.selectionStart=r,n.selectionEnd=r)}return!1}if(t.keyCode>=37&&t.keyCode<=40||t.keyCode===9||t.keyCode===36||t.keyCode===35)return!0;if(t.keyCode>=48&&t.keyCode<=57){if(e=n.value.length,e>=22)return r=n.selectionStart,u=n.selectionEnd,u>r?(i=n.value,f(i.substring(0,r)+String.fromCharCode(t.keyCode)+i.substring(u,e)),n.selectionStart=r+1,n.selectionEnd=n.selectionStart,!1):!1;if(n.selectionStart===e)return f(n.value+String.fromCharCode(t.keyCode)),!1;var i=n.value,r=n.selectionStart,u=n.selectionEnd;return i=i.substring(0,r)+String.fromCharCode(t.keyCode)+i.substring(u,e),f(i),r++,n.value[r]===" "&&r++,n.value[r-1]===" "&&r++,n.value[r]===" "&&r++,n.selectionStart=r,n.selectionEnd=r,!1}return!1},this.cc_paste=function(n,t){var h=function(t){var i;t=t.split(" ").join("");t.indexOf("34")===0||t.indexOf("37")===0?(i=t.length>15?15:t.length,i>10?t=t.substring(0,4)+"  "+t.substring(4,10)+"  "+t.substring(10,i):i>4&&(t=t.substring(0,4)+"  "+t.substring(4,i))):(i=t.length>16?16:t.length,i>12?t=t.substring(0,4)+"  "+t.substring(4,8)+"  "+t.substring(8,12)+"  "+t.substring(12,i):i>8?t=t.substring(0,4)+"  "+t.substring(4,8)+"  "+t.substring(8,i):t.length>4&&(t=t.substring(0,4)+"  "+t.substring(4,i)),n.value=t)},e=t.clipboardData.getData("text/plain"),o=e.length,u,i,f;if(o>0){for(u="",i=0;i<o;i++)f=e.charAt(i),"0123456789".indexOf(f)>-1&&(u+=f);var r=n.value,c=n.value.length,s=n.selectionStart,l=n.selectionEnd;return r=r.substring(0,s)+u+r.substring(l,c),h(r),n.selectionStart=s,n.selectionEnd=n.selectionStart,!1}return!1},this.mask=function(){return!0},this.maxlength=function(n,t){if(key.ctrl||t.keyCode===8||t.keyCode===46||t.keyCode>=37&&t.keyCode<=40||t.keyCode===9||t.keyCode===36||t.keyCode===35)return!0;var i=n.dataset.maxlength,r=n.contentEditable?n.textContent.length:n.value.length;if(r>=i)return!1},this.maxlength_up=function(n){var t=n.contentEditable?n.textContent.length:n.value.length;n.dataset.displayChars=parseInt(n.dataset.maxlength)-t},this.maxlength_paste=function(n,t){var i=n.contentEditable?n.textContent:n.value,r=n.contentEditable?n.textContent.length:i.length,u=parseInt(n.dataset.maxlength),f,e,o;return r>=u||(f=t.clipboardData.getData("text/plain"),r+f.length<=u&&(e=n.selectionStart,o=n.selectionEnd,i=i.substring(0,e)+f+i.substring(o,r),n.dataset.displayChars=u-i.length,n.contentEditable?n.innerHTML=i:n.value=i,n.selectionStart=e,n.selectionEnd=n.selectionStart)),!1},this}(),lastSelected,navigating=!1;nav=document.getElementById("n");