function sack(file) {
	this.requestFile = file;
	this.URLString = '';

	this.setVar = function(name, value) {
		string = encodeURIComponent(name) + '=' + encodeURIComponent(value);
		
		if (this.URLString.length < 3) {
			this.URLString = string;
		} else {
			this.URLString += '&' + string;
		}
	}

	this.runAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e) {
				try {
					this.xmlhttp = new XMLHttpRequest();
				} catch (e) {}
			}
		}

		if (!this.xmlhttp) {
			alert('Your browser does not support the enhanced functionality of this website. Upgrade your browser, or disable javascript entirely.');
			return;
		}

		var self = this;

		this.xmlhttp.open('POST', this.requestFile, true);

		try {
			this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		} catch (e) {}

		this.xmlhttp.send(this.URLString);

		this.xmlhttp.onreadystatechange = function() {
			if (self.xmlhttp.readyState == 4) {
				eval(self.xmlhttp.responseText);
			}
		};
	};
}