var globalInterface = { signup: function(userInfo, callback) { jQuery.ajax({type:'POST',data:userInfo, url:'/ajax/signup',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getTopLinks: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getTopLinks',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, customerExists: function(email, callback) { jQuery.ajax({type:'POST',data:{email: email}, url:'/ajax/customerExists',success:function(data,textStatus){globalInterface.callback(data, callback);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getLogin: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getLogin',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getSignup: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getSignup',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, login: function(email, password, remember, callback) { jQuery.ajax({type:'POST',data:{email: email, password: password, remember: remember}, url:'/ajax/login',success:function(data,textStatus){globalInterface.callback(data, callback);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, logout: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/logout',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, isLoggedIn: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/isLoggedIn',success:function(data,textStatus){globalInterface.callback(data, callback);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getMySearches: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getMySearches',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getMyFavorites: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getMyFavorites',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, recordListingView: function(mlsNumber, type) { jQuery.ajax({type:'POST',data:{mlsNumber: mlsNumber, type: type}, url:'/listing/recordListingViewAJAX',success:function(data,textStatus){},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, recordListingViews: function(mlsNumbers, type) { var params = { type: type }; for (var index in mlsNumbers) { params["mlsNumbers." + mlsNumbers[index]] = mlsNumbers[index]; } jQuery.ajax({type:'POST',data:params, url:'/listing/recordListingViewsAJAX',success:function(data,textStatus){},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, deleteSavedSearch: function(id, callback) { jQuery.ajax({type:'POST',data:{id: id}, url:'/ajax/deleteSavedSearch',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, deleteFavorite: function(mlsNumber, callback) { jQuery.ajax({type:'POST',data:{mlsNumber: mlsNumber}, url:'/ajax/deleteFavorite',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getAccountSetting: function(name, callback) { jQuery.ajax({type:'POST',data:{name: name}, url:'/ajax/getAccountSetting',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, saveAccountSetting: function(name, value, callback) { jQuery.ajax({type:'POST',data:{name: name, value: value}, url:'/ajax/saveAccountSetting',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, getMyAccount: function(callback) { jQuery.ajax({type:'POST', url:'/ajax/getMyAccount',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}}); }, callback: function(data, userCallback) { // eval json eval("var result = " + data + ";"); userCallback(result); } };