function MenuClass() {
	var column;
	var parent;
	var thumbnails;
	var thumbnail_list;
	
	var pagination;
	var xmlHttp;
	
	var loading;
	this.groupId;
	
	this.order;
	this.selected;
	
	this.construct();
	return (this);
}

MenuClass.prototype.construct = function () {
	this.column = objId('column1');
	this.parent = objId('thumbnails');
	this.thumbnails = document.createElement('ul');
	this.parent.appendChild(this.thumbnails);
	
	this.thumbnail_list = new Array(8);
	for (var i=0;i<10;i++) {
		this.thumbnail_list[i] = document.createElement('li');
	}
	this.groupId = "";
	this.order = "chrono"
	this.loading = new LoadingClass();	
	this.getList(0);
}

MenuClass.prototype.getList = function (sn) {
	var this_ = this;
	this.xmlHttp = GetXmlHttpObject();
	var url = urlm;
	url += "&order="+this.order;
	url += "&startIndex="+sn;
	url += "&collectionId="+this.groupId;

	this.xmlHttp.open("GET",url,true);
	this.xmlHttp.onreadystatechange = function () { this_.displayingList(); };
	this.xmlHttp.send(null);
	
	//this.loading.set();
	this.column.appendChild(this.loading.element);
}

MenuClass.prototype.displayingList = function () {
	if (this.xmlHttp.readyState == 4) {
		//alert(this.xmlHttp.responseText);
		//this.loading.remove();  // remove the Loading message
		this.column.removeChild(this.loading.element);
		
		//alert(this.xmlHttp.responseText);
		var xmlDoc = this.xmlHttp.responseXML;

		var root_ = get_firstchild(xmlDoc);
		// get root of form
		var startNumber = root_.getAttribute('startNumber');
		var endNumber = root_.getAttribute('endNumber');
		var totalNumber = root_.getAttribute('totalNumber');
		var nextIndex = root_.getAttribute('nextIndex');
		var previousIndex = root_.getAttribute('previousIndex');
		
		this.fillPagination(previousIndex,nextIndex,startNumber,endNumber,totalNumber)
		var pageElement = objId('pagination1');
		//pageElement.appendChild(fillPagination(previousIndex,nextIndex,startNumber,endNumber,totalNumber));
		pageElement.innerHTML = this.pagination;
		pageElement = objId('pagination2');
		//pageElement.appendChild(fillPagination(previousIndex,nextIndex,startNumber,endNumber,totalNumber));
		pageElement.innerHTML = this.pagination;
		this.fillThumbs(xmlDoc);
	}
}

MenuClass.prototype.fillPagination = function (previ,nexti,startn,endn,totn) {
	this.pagination = "<";
	if (previ){
		this.pagination += "<a href=\"#\" onclick=\"getList('"+previ+"'); return false;\">"+pr+"</a>";
	}
	this.pagination += " " + startn +"-"+ endn + ' ' + of + ' ' + totn+ " ";
	
	if (nexti) {
		this.pagination += "<a href=\"#\" onclick=\"getList('"+nexti+"'); return false;\">"+ne+"</a>";
	}
	this.pagination += ">";
}

MenuClass.prototype.fillThumbs = function (xmlDoc) {
	this.clearThumbs();
	var scene_id = xmlDoc.getElementsByTagName('id');
	var scene_thumbnailId = xmlDoc.getElementsByTagName('thumbnailId');
	var scene_type = xmlDoc.getElementsByTagName('type');
	var scene_title = xmlDoc.getElementsByTagName('title');
	
	for (i=0;i<scene_id.length;i++) {
		this.thumbnail_list[i].id = "cs"+scene_id[i].childNodes[0].nodeValue;
		try { 
			if (scene_thumbnailId[i].childNodes[0].nodeValue) {	
				this.thumbnail_list[i].innerHTML = "<a class=\""+scene_type[i].childNodes[0].nodeValue+" icon\" href=\"#\" onclick=\"openCurrent("+scene_id[i].childNodes[0].nodeValue+"); return false;\"><img src=\""+mediapath+"?id="+scene_thumbnailId[i].childNodes[0].nodeValue+"&absImgHeight=70&absImgWidth=89\" title=\""+scene_title[i].childNodes[0].nodeValue+"\" alt=\""+scene_title[i].childNodes[0].nodeValue+"\" /><span></span></a>";
				//thumbnail_list[i].innerHTML = "<a class=\""+scene_type[i].childNodes[0].nodeValue+"\" href=\"?id="+scene_id[i].childNodes[0].nodeValue+"\"><img src=\"/fyi/file.do?id="+scene_thumbnailId[i].childNodes[0].nodeValue+"&maxImgHeight=70&maxImgWidth=89\" alt=\"stuff\" /><span></span></a>";
			}
		}
		catch(err) {
			if (scene_type[i].childNodes[0].nodeValue == "video") {
				this.thumbnail_list[i].innerHTML = "<a class=\""+scene_type[i].childNodes[0].nodeValue+" icon\" href=\"#\" onclick=\"openCurrent("+scene_id[i].childNodes[0].nodeValue+"); return false;\"><img src=\""+imagepath+"video_placeholder_thumb.gif\" title=\""+scene_title[i].childNodes[0].nodeValue+"\"  alt=\""+scene_title[i].childNodes[0].nodeValue+"\" /><span></span></a>";			
			}
			else {
				this.thumbnail_list[i].innerHTML = "<a class=\""+scene_type[i].childNodes[0].nodeValue+" icon\" href=\"#\" onclick=\"openCurrent("+scene_id[i].childNodes[0].nodeValue+"); return false;\"><img src=\""+imagepath+"image_placeholder_thumb.gif\" title=\""+scene_title[i].childNodes[0].nodeValue+"\" alt=\""+scene_title[i].childNodes[0].nodeValue+"\" /><span></span></a>";
			}
		}

		this.thumbnails.appendChild(this.thumbnail_list[i]);
	}
	this.selectItem(this.selected);
}

MenuClass.prototype.selectItem = function (id) {
	this.selected = id;
	for (var i=0;i<this.thumbnail_list.length;i++) {
		if ('cs'+this.selected == this.thumbnail_list[i].id) {
			this.thumbnail_list[i].className = "current";
		}
		else {
			this.thumbnail_list[i].className = "";
		}
	}
}

MenuClass.prototype.clearThumbs = function () {
	while (this.thumbnails.firstChild != null) {
		this.thumbnails.removeChild(this.thumbnails.firstChild);
	}
}