var FunctionSpace = {
	
	tableMeters : null,
	tableFeet : null,
	fieldAttendees : null,
	fieldSetUp : null,
	CoremetricsElementId : "Unknown",
	CoremetricsElementCategory : "Unknown",

	// Init the Dom Object & Events
	init : function() {

		this.tableMeters = document.getElementById("measurements-meters");
		this.tableFeet = document.getElementById("measurements-feet");
		this.fieldAttendees = document.getElementById("MeetingRoomAttendees");
		this.fieldSetUp = document.getElementById("MeetingRoomSetUp");
		
		this.setEvent(this.tableMeters.getElementsByTagName("tbody")[0]);
		this.setEvent(this.tableFeet.getElementsByTagName("tbody")[0]);
		
		if(this.fieldAttendees) this.fieldAttendees.onkeyup = this.setFiltre;
		if(this.fieldSetUp) this.fieldSetUp.onchange = this.setDropDownFiltre;
		},

	// Set Hover & Click Events
	setEvent : function(tbody) {
		var tr = tbody.getElementsByTagName("tr");
		for(x=0; x < tr.length; x++) {
			if(tr[x].className.indexOf('header') == -1) {
				tr[x].onmouseover 	= function() { this.className = "hover"; };
				tr[x].onmouseout 	= function() { this.className = ""; };		

				var a = tr[x].getElementsByTagName("a")[0];
				if(a) {
					tr[x].href = a.href;
					tr[x].style.cursor = "pointer";
					tr[x].onclick = function() { document.location = this.href; };					
					}
				}	
			}	
		},

	setFiltre : function() {
		FunctionSpace.renderFilter(FunctionSpace.tableMeters.getElementsByTagName("tbody")[0]);
		FunctionSpace.renderFilter(FunctionSpace.tableFeet.getElementsByTagName("tbody")[0]);
		},
	
	setDropDownFiltre : function() {
		var attendees = parseInt(FunctionSpace.fieldAttendees.value);
		var filter = FunctionSpace.fieldSetUp.value;
		COREMETRICS.utils.cmCreatePageElementTag(FunctionSpace.CoremetricsElementId + ' - Function Space Finder',FunctionSpace.CoremetricsElementCategory,COREMETRICS.tagging.pageName,COREMETRICS.tagging.categoryID,null);
		FunctionSpace.renderFilter(FunctionSpace.tableMeters.getElementsByTagName("tbody")[0]);
		FunctionSpace.renderFilter(FunctionSpace.tableFeet.getElementsByTagName("tbody")[0]);
		},
		
	renderFilter : function(tbody) {
		var attendees = parseInt(FunctionSpace.fieldAttendees.value);
		var filter = FunctionSpace.fieldSetUp.value;
		var tr = tbody.getElementsByTagName("tr");
		
		findSetupCol = function(row,filter) {
			var td = row.getElementsByTagName("td");
			var find = false;
			for(y=0; y < td.length; y++) {
				if(td[y].className.indexOf(filter) != -1) find = td[y];
				}
			return find;			
			}

		if((filter != 'null') && attendees){
			for(x=0; x < tr.length; x++) {
				if(tr[x].className.indexOf('header') == -1)  {
					var isFixed = (tr[x].getElementsByTagName("td")[4].className.indexOf('fixed') != -1);
					
					if(filter == 'fixed') {
						if(isFixed && (parseInt(tr[x].getElementsByTagName("td")[4].getElementsByTagName("span")[0].innerHTML) >= attendees)) {
							tr[x].style.display = '';
						} else {
							tr[x].style.display = 'none';
							}
					} else {
						var td = findSetupCol(tr[x],filter);
						
						if(!isFixed && (parseInt(td.innerHTML) >= attendees)) {
							tr[x].style.display = '';
						} else {
							tr[x].style.display = 'none';
							}
						}
					}	
				}	
		} else {
			for(x=0; x < tr.length; x++) {
				tr[x].style.display = '';
				}
			}		


		}
	

	}
	
YAHOO.util.Event.addListener(window, "load", FunctionSpace.init, FunctionSpace, true);