var Core = {

	sendRemoteRequest: function(uri, vars, successCallback, failureCallback)
	{
		var postObj = { obj: Object.toJSON(vars) };
		
		new Ajax.Request(uri, {
			method: 'post',
			postBody: Object.toQueryString(postObj),
			onSuccess: function(t) {
				var response = null;
				
				try { response = t.responseText.evalJSON(); }
				catch(err) {}
				
				successCallback(response);
			},
			onFailure: failureCallback
		});
	},
	
	
	Browser: {
	
		supportsElement: function(elementName) {
			var element = document.createElement(elementName);
			return Object.prototype.toString.call(element) != '[object HTMLElement]';
		},
		
		elementSupportsAttribute: function(elementName, attributeName) {
			return attributeName in document.createElement(elementName);
		},
		
		inputSupportsType: function(typeName) {
			var input = document.createElement('input');
			input.setAttribute('type', typeName);
			return input.type == typeName;
		}
	}
	
}
