	Date.prototype.dateAdd = function(p_Interval, p_Number){
		var thing = new String();
		p_Interval = p_Interval.toLowerCase();
		if(isNaN(p_Number)){
			throw "The second parameter must be a number. \n You passed: " + p_Number;
			return false;
		}
		p_Number = new Number(p_Number);
		switch(p_Interval.toLowerCase()){
			case "yyyy": {
				this.setFullYear(this.getFullYear() + p_Number);
				break;
			}
			case "q": {
				this.setMonth(this.getMonth() + (p_Number*3));
				break;
			}
			case "m": {
				this.setMonth(this.getMonth() + p_Number);
				break;
			}
			case "y":
			case "d":
			case "w": {
				this.setDate(this.getDate() + p_Number);
				break;
			}
			case "ww": {
				this.setDate(this.getDate() + (p_Number*7));
				break;
			}
			case "h": {
				this.setHours(this.getHours() + p_Number);
				break;
			}
			case "n": {
				this.setMinutes(this.getMinutes() + p_Number);
				break;
			}
			case "s": {
				this.setSeconds(this.getSeconds() + p_Number);
				break;
			}
			case "ms": {
				this.setMilliseconds(this.getMilliseconds() + p_Number);
				break;
			}
			default: {
				throw "The first parameter must be a string from this list: \n" +
				"yyyy, q, m, y, d, w, ww, h, n, s, or ms. You passed: " + p_Interval;
				return false;
			}
		}
		return this;
	}
