Site = Class.create();

Site.ElementNotFoundException = Class.create(
	{
		initialize : function(id) {
			this.elementId = id;
			this.message = 'DOM Element not found (id = ' + id + ')';
		}
	}
);

Site.IllegalArgumentException = Class.create(
	{
		initialize : function(argumentName) {
			this.argumentName = argumentName;
			this.message = 'Invalid argument: ' + argumentName;
		}
	}
);

Site.Range = Class.create(
	{
		initialize: function(minimum, maximum) {
			this.minimum = Number(minimum);
			if (isNaN(this.minimum)) {
				throw new Site.IllegalArgumentException('minimum');
			}
			this.maximum = Number(maximum);
			if (isNaN(this.minimum)) {
				throw new Site.IllegalArgumentException('maximum');
			}
		},
		
		isWithin : function(number) {
			return number >= this.minimum && number <= this.maximum;
		},
		
		getSpread : function() {
			return this.maximum - this.minimum;
		}
	}
);
