if (typeof Tran == 'undefined') {
Tran = new Object();
}

Tran.Directory = function (url) {
	var _this = this;
	this.extension = ['jpg', 'html', 'gif', 'png', 'mp3', 'avi'];
	this.extensionRegexp = [];
	for (var j = 0; j < _this.extension.length; j++) {
		// valid files.
		this.extensionRegexp.push(eval('/.*'+_this.extension[j]+'$/i'));
	}

	var ifrm = document.createElement("IFRAME");
	ifrm.src = url;
	ifrm.name = "directorysrc";
	ifrm.id = "directorysrc";
	ifrm.style.width = '0px';
	ifrm.style.height = '0px';
	ifrm.style.border = '0px';
	this.loadEvt = new YAHOO.util.CustomEvent("listLoaded", this);
	YAHOO.util.Event.on(window, 'load', function() {
		document.body.appendChild(ifrm);
		YAHOO.util.Event.on(ifrm, 'load',  function() {
			_this.populateFileList();
		})
	});

}

Tran.Directory.prototype.populateFileList = function() {
	var links = frames['directorysrc'].document.links;
	this.files = [];
	for (var i = 0; i < links.length; i++) {
		for (var j = 0; j < this.extensionRegexp.length; j++) {
			if (links[i].href.match(this.extensionRegexp[j])) {
				this.files.push(links[i].href);
			}
		}
	}
	this.loadEvt.fire();
}

Tran.Directory.prototype.getFiles = function(ext) {
	var resp = [];
	for (var i = 0; i < this.files.length; i++) {
		if (this.files[i].match(eval('/.*'+ext+'$/i'))) {
			resp.push(this.files[i]);
		}
	}
	return resp;
}

