function Botleagues(){} Botleagues.url = 'https://api.local.botleagues.camilstaps.nl'; $.cookie.json = true; Botleagues.cookie_login_email = 'botleagues_login_email'; Botleagues.cookie_login_user_id = 'botleagues_login_user_id'; Botleagues.cookie_login_token = 'botleagues_login_token'; Botleagues.cookie_login_valid_till = 'botleagues_login_valid_till'; Botleagues.request = function(user_options) { var callback = user_options.callback; var options = { endpoint: null, method: 'GET', dataType: 'json', complete: function(data) { callback(data.responseJSON); } }; var url = Botleagues.url + '/' + user_options['endpoint']; delete user_options['callback']; delete user_options['endpoint']; for (var name in user_options) { options[name] = user_options[name]; } jQuery.ajax(url, options); }; Botleagues.redirect = function(user_options) { window.location = Botleagues.url + '/' + user_options['endpoint']; }; Botleagues.login = function(email, password) { Botleagues.request({ endpoint: 'user_token', method: 'POST', callback: BotleaguesCallback.login, headers: { 'Authorization': 'Basic ' + btoa(email + ':' + password) } }); $.cookie(Botleagues.cookie_login_email, email); }; Botleagues.logout = function(){ Botleagues.clearLoginCookies(); window.location = '/'; }; Botleagues.clearLoginCookies = function() { $.removeCookie(Botleagues.cookie_login_email); $.removeCookie(Botleagues.cookie_login_user_id); $.removeCookie(Botleagues.cookie_login_token); $.removeCookie(Botleagues.cookie_login_valid_till); };