var Variable = {

	isEmpty: function(variable, type) {
		if (type === undefined) {
			type = typeof(variable);
		}
		if (List.inArray(type, ['number', 'int', 'float'])) {
			return variable !== 0;
		}
		else if(type === 'string') {
			return variable !== '';
		}
		else if(List.inArray(type, ['object', 'array', 'list'])) {
			return variable.length !== undefined && variable.length > 0;
		}
		return false;
	},

	isArray: function(variable) {
		if (typeof(variable.isArray) === 'function') {
			return variable.isArray();
		}
		return Object.prototype.toString.call(variable) === '[object Array]';
	},

	toArray: function(variable) {
		var arr = [];
		if (typeof(variable) === 'object') {
			var l = variable.length;
			for (var i = 0; i < l; i++) {
				arr.push(variable[i]);
			}
		}
		else {
			arr.push(variable);
		}
		return arr;
	},
	
	mergeObjects: function(objA, objB) {
		var merged = {};
		for (var i in objA) {
			merged[i] = objB[i] !== undefined ? objB[i] : objA[i];
		}				
		return merged;
	}
	
}

