

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){}});
	},
	
	getFeaturedListings: function(callback) {
		jQuery.ajax({type:'POST', url:'/ajax/getFeaturedListings',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}});
	},
	
	getBankOwnedListings: function(callback) {
		jQuery.ajax({type:'POST', url:'/ajax/getBankOwnedListings',success:function(data,textStatus){callback(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}});
	},
	
	callback: function(data, userCallback) {
		// eval json
		eval("var result = " + data + ";");
		
		userCallback(result);
	}
};