(function(){var _publics={isInt:_isInt};function _isInt(maybeInteger){let vGood=(typeof maybeInteger==='undefined'||!/^\d*$/.test(maybeInteger)||isNaN(maybeInteger)||maybeInteger.length===0)?false:!0;return(vGood)?parseInt(maybeInteger):!1;};window.utils=_publics;})();(function(){var _public={darn:_crashed};function _crashed(){if(document.readyState==='interactive'){_sub_wait_interactive();}else if(document.readyState==='ready'||document.readyState==='complete'){_sub_ready();}else{_sub_wait();}}function _sub_wait(){document.addEventListener("DOMContentLoaded",function(){_sub_ready();});}function _sub_wait_interactive(){document.onreadystatechange=function(){if(document.readyState==="complete"){_sub_ready();}};}function _sub_ready(){let errDiv=document.createElement('div');errDiv.style.cssText='position:absolute;top:0;left:0;width:100%;height:100%;z-order:150000;background-color:white; font-family:sans-serif;';var html="
"+"
"+"
Error Loading
";errDiv.innerHTML=html;document.body.innerHTML='';document.body.appendChild(errDiv);}window. crash_loading=_public;})();(function(){var _publics={g:_globals};_globals.vars={};function _globals(){if(arguments.length===0){return _globals.vars;}if(typeof arguments[0]==="object"){_globals.vars=$.extend({},_globals.vars,arguments[0]||{});}if(arguments.length===1){return _globals.vars[arguments[0]];}if(arguments.length>1){_globals.vars[arguments[0]]=arguments[1];}}function _run_ajax(in_obj){if(typeof in_obj.mod!=='string'||typeof in_obj.fcn!=='string'){sub_display_err_msg("FAIL ... ! Not called with module and function name !");return;}if(in_obj.spinner===true){_spinner_then_ajax(in_obj);}else{_do_ajax.spinner=!1;_do_ajax(in_obj);}}function _spinner_then_ajax(in_obj){let vHtml,vCss;_do_ajax.spinner=!0;if($('#ui_api_spinner').length===0){vCss="font-size:120%; text-align: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); "+" background-color: #FFFFFF; padding: 1.5em; border: 1px solid #959595; box-shadow: 3px 3px 5px #888888;"+" z-index:25000; display:none;";vHtml= "
"+"
"+"Please wait ... while server sends (and checks) communication"+"
";$('body').prepend(vHtml);}$('#ui_api_spinner').slideDown('fast');setTimeout(function(){_do_ajax(in_obj);},10);}function _do_ajax(in_obj){if(_do_ajax.usage&&_do_ajax.usage[in_obj.mod]&&_do_ajax.usage[in_obj.mod][in_obj.fcn]&&_do_ajax.usage[in_obj.mod][in_obj.fcn]===true){return;}in_obj.typ=in_obj.typ||'html';in_obj.data=in_obj.data||{};in_obj.data.action=in_obj.mod;in_obj.data.function=in_obj.fcn;in_obj.token_locn=(in_obj.crm)?'uitask_token_dvc2':'uitask_token';let gToken=localStorage.getItem(in_obj.token_locn)||'';$.ajax({type:"POST",url:'/includes/apis/Api.php',beforeSend:function(){_do_ajax.usage=_do_ajax.usage||{};_do_ajax.usage[in_obj.mod]=_do_ajax.usage[in_obj.mod]||{};_do_ajax.usage[in_obj.mod][in_obj.fcn]=!0;},headers:{'UITASKS-USE-TOKEN':gToken},data:in_obj.data,cache:false,error:function(jqXHR,errStr,errorThrown){console. log(jqXHR);debugger;if(_do_ajax.spinner){_do_ajax.spinner=!1;$('#ui_api_spinner').slideUp();}sub_save_token(jqXHR,false,in_obj.token_locn);let vStatus=jqXHR.status;let vErrorMsg='';if(vStatus>199&&vStatus<300){if(errStr==='parsererror'){console.log(jqXHR.responseText);vErrorMsg='Fatal Error ... Unexpected returned information. Not in the format expected ... which was '+in_obj.typ;}else{vErrorMsg='Fatal Error ... The only information available is: '+errStr+', status = '+vStatus;}}else if(vStatus===401){window.location.href='/Login/home.php';}else if(vStatus===500){vErrorMsg=jqXHR.responseText;}else{vErrorMsg='Internet Connectivity Problem. The changes you just made were not saved. '+'Please check (and potentially re-login) before continuing.';}if(typeof in_obj.bad==='function'){in_obj.bad(vErrorMsg);}else{sub_display_err_msg(vErrorMsg);}},success:function(data,textStatus,jqXHR){if(_do_ajax.spinner){_do_ajax.spinner=!1;$('#ui_api_spinner').slideUp() ;}sub_save_token(jqXHR,true,in_obj.token_locn);if(typeof in_obj.good==='function'){in_obj.good(data);}},complete:function(jqXHR,str){_do_ajax.usage[in_obj.mod][in_obj.fcn]=!1;if(_do_ajax.spinner){_do_ajax.spinner=!1;$('#ui_api_spinner').slideUp();}},dataType:in_obj.typ});}function sub_save_token(jqXHR,onErrFail,token_locn){let abc=jqXHR.getResponseHeader('UITASKS-TOKEN');if(abc==='x'){return;}if(typeof abc!=='string'||abc.length<1){if(onErrFail){sub_display_err_msg("Programming Error. No token received");console.log(jqXHR);throw"Programming Error. No token received";}}else{localStorage.setItem(token_locn,abc);}}function sub_display_err_msg(vMsg){var myWarn=$('#dlg_ajax_err');if(myWarn.length===0){let vCSS={'position':"absolute",'background-color':'white','border':'1px solid black','box-shadow':'3px 3px 5px #888888','top':"15%",'left':"50%",'transform':"translateX(-50%)",'padding':'1em','z-index':"20000"};myWarn=$('
'+vMsg+'
').css(vCSS);myWarn. appendTo('body');}myWarn.show();}window.ui_api=_run_ajax;Object.assign(window.ui_api,_publics);})(jQuery);(function($,ui_api,crash_loading){var _publics={show:_show};var gStaffLogin=!1;$(_init);function _init(){_setup_html();_set_clicks();_set_password_hiding();}function _setup_html(){let vMyCSS='';$('body').prepend(vMyCSS);dialog=$("
"+""+"
uiTasks Login
"+"
"+"
"+""+ ""+"
Log In
Continue
Cancel
"+"
"+"
");dialog.appendTo('body');}function _set_clicks(){$('#btnShabam').click(_login);$('#btnShabam2').click(_login_sms_code);$('#buhBow').click(_cancel);}function _set_password_hiding(){$(".password").each(function(i,el){$(el).data('val_real','');$(el).data('val_new','');$(el).data('tmr',null);$(el).keydown(function(e){let tmr=$(el).data('tmr');if(tmr!==null){clearTimeout(tmr);$(el).data('tmr',null);$(el).val($(el).data('val_new'));}});$(el).on('keyup',function(){_password_data_entered(el);});$(el).on('paste',function(){_password_data_entered(el);});});}function _password_data_entered(el ){var visiStr=$(el).val();var realStr=$(el).data('val_real');var newStr=visiStr.replace(/[^*]/g,function(match,pos){realStr=realStr.substr(0,pos)+match+realStr.substr(pos+1);return"*";});realStr=realStr.substr(0,visiStr.length);$(el).data('val_real',realStr);$(el).data('val_new',newStr);$(el).data('tmr',setTimeout(function(){$(el).val($(el).data('val_new'));},1200));}function _show(vStaffLogin){gStaffLogin=(vStaffLogin===true);let vName=gStaffLogin?"Staff Login":"Client Login";$('#login_title').html(vName);$('.login_code_boxes').hide();$('#login_code').val('');$('#btnShabam').show();$('#btnShabam2').hide();$('#login').show();}function _cancel(){$('#login').hide();}function _login(){let obj=_check_data();if(obj===false){return;}_try_login_start_ajax(obj);}function _login_sms_code(){let obj=_check_data();if(obj===false){return;}_try_login_sms_code_ajax(obj);}function _check_data(){let obj={userName:$('#usr').val(),password:$('#pss').data('val_real'),smsCode:$('#login_code').val()};let errMsg ="";if(obj.userName.length===0){errMsg+="
No username !
";}if(obj.password.length===0){errMsg+="
No password !
";}if(!gStaffLogin&&obj.userName.length<6){errMsg+="
NOTE: There is a new `Staff Login` button to the right of the Client Login button. Login with this button instead 😉
";}if(errMsg.length!==0){obj=!1;}$('#errs').html(errMsg);return obj;}function _try_login_start_ajax(obj){let vFcn=gStaffLogin?"login_staff":"login_client";ui_api({mod:'login',fcn:vFcn,data:obj,good:function(data){if(data.ok==-1){_on_too_many_attempts();}else if(data.ok==0){_on_not_logged_in(obj);}else{if(typeof data.href!=='undefined'){_on_logged_in(data.href);}else{_on_code_sent();}}},typ:'json'});}function _on_too_many_attempts(){$('#errs').html("
Too many failed attempts. Now blocked (for 10 minutes). After 10 minutes you can try again.
");}function _on_not_logged_in(obj){$('#errs').html("
Incorrect username / password
");}function _on_code_sent (){$('.login_code_boxes').show();$('#login_code').val('');$('#btnShabam').hide();$('#btnShabam2').show();}function _try_login_sms_code_ajax(obj){let vFcn=gStaffLogin?"login_staff_session":"login_client_session";ui_api({mod:'login',fcn:vFcn,data:obj,good:function(data){if(data.ok==-2){_on_start_again();}else if(data.ok!==0){_on_logged_in(data.href);}else{_on_code_wrong();}},typ:'json'});}function _on_start_again(){_show();$('#errs').html("
Wrong Username/Password. Start again.
");}function _on_code_wrong(){$('#errs').html("
Wrong Code. Try again (only 3 attempts allowed)
");}function _on_logged_in(href){window.location.href=href;}window.ui_login=_publics;})(jQuery,ui_api,crash_loading);