ajaxMemoryFinder = {
ajaxForm: '',
manufObj: '',
familyObj: '',
modelObj: '',
submitBtn: '',
modelLoadingObj: '',
familyLoadingObj: '',
submitLoadingObj: '',
submitErrorObj: '',
familyErrorObj: '',
modelErrorObj: '',
familyLabelObj: '',
modelLabelObj: '',
xmlhttp: '',
manufSelectedIndex: '',
familySelectedIndex: '',
modelSelectedIndex: '',
stepTwo: '',
stepThree: '',
ajaxErrorObj: '',

init:function() {	
	if(!document.getElementById || !document.createTextNode) {return;}
	// create an xmlHTTP connection
	ajaxMemoryFinder.xmlhttp = false;
	// check to see if ie browser
	try {
		ajaxMemoryFinder.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			ajaxMemoryFinder.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(E) {
			ajaxMemoryFinder.xmlhttp = false;
		}
	}
	// if not ie then create javascript instance
	if(!ajaxMemoryFinder.xmlhttp && typeof XMLHttpRequest != 'undefined') {
		// create xmlhttp request object
		ajaxMemoryFinder.xmlhttp = new XMLHttpRequest();
	}

	// if javascript and it does support xmlhttp object then proceed
	if(ajaxMemoryFinder.xmlhttp) {
		// locate necessary objects 
		// user interface elements 
		if(document.getElementById('manufID')) {
			ajaxMemoryFinder.manufObj = document.getElementById('manufID');
		}
		if(document.getElementById('familyID')) {
			ajaxMemoryFinder.familyObj = document.getElementById('familyID');
		}
		if(document.getElementById('ajaxForm')) {
			ajaxMemoryFinder.ajaxForm = document.getElementById('ajaxForm');
		}
		if(document.getElementById('modelID')) {
			ajaxMemoryFinder.modelObj = document.getElementById('modelID');
		}
		if(document.getElementById('submitBtn')) {
			ajaxMemoryFinder.submitObj = document.getElementById('submitBtn');
		}
		// loading gifs 
		if(document.getElementById("familyLoading")) {
			ajaxMemoryFinder.familyLoadingObj = document.getElementById("familyLoading");
		}
		if(document.getElementById("modelLoading")) {
			ajaxMemoryFinder.modelLoadingObj = document.getElementById("modelLoading");
		}
		if(document.getElementById("submitLoading")) {
			ajaxMemoryFinder.submitLoadingObj = document.getElementById("submitLoading");
		}
		// error messages for user input 
		if(document.getElementById("noFamiliesError")) {
			ajaxMemoryFinder.familyErrorObj = document.getElementById("noFamiliesError");
		}
		if(document.getElementById("noModelsError")) {
			ajaxMemoryFinder.modelErrorObj = document.getElementById("noModelsError");
		}
		if(document.getElementById("noMemoryError")) {
			ajaxMemoryFinder.submitErrorObj = document.getElementById("noMemoryError");
		}
		// error handling for server request failure 
		if(document.getElementById("ajaxErrorMsg")) {
			ajaxMemoryFinder.ajaxErrorObj = document.getElementById("ajaxErrorMsg");
			if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
			}	
		}
		// labels for steps  
		if(document.getElementById("familyLabel")) {
			ajaxMemoryFinder.familyLabelObj = document.getElementById("familyLabel");
		}
		if(document.getElementById("modelLabel")) {
			ajaxMemoryFinder.modelLabelObj = document.getElementById("modelLabel");
		}
		// Handle events for user interface elements, user interaction 
		if(ajaxMemoryFinder.manufObj) {
			ajaxMemoryFinder.manufObj.selectedIndex = 0;
			DOMhelp.addEvent(ajaxMemoryFinder.manufObj, 'change', ajaxMemoryFinder.populateFamily, false);
		}
		if(ajaxMemoryFinder.familyObj) {
			ajaxMemoryFinder.familyObj.selectedIndex = 0;
			DOMhelp.addEvent(ajaxMemoryFinder.familyObj, 'change', ajaxMemoryFinder.populateModel, false);
		}
		if(ajaxMemoryFinder.modelObj) {
			ajaxMemoryFinder.modelObj.selectedIndex = 0;
			DOMhelp.addEvent(ajaxMemoryFinder.modelObj, 'change', ajaxMemoryFinder.checkForMemory, false);
		}
		if(ajaxMemoryFinder.ajaxForm) {
			DOMhelp.addEvent(ajaxMemoryFinder.ajaxForm, 'submit', ajaxMemoryFinder.submitForm, false);
		}

		// javascript is enabled so do some work to get things back to where we need them
		// disable submit button
		ajaxMemoryFinder.submitObj.disabled = true;
		if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
			DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'inactiveButton', 'activeButton');
		}	
		// show step 2 and step 3
		if(document.getElementById("stepTwo")) {
			ajaxMemoryFinder.stepTwo = document.getElementById("stepTwo");
			if(DOMhelp.cssjs('check',ajaxMemoryFinder.stepTwo, 'hideElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.stepTwo, 'showElementRelative', 'hideElement');
			}	
		}
		if(document.getElementById("stepThree")) {
			ajaxMemoryFinder.stepThree = document.getElementById("stepThree");
			if(DOMhelp.cssjs('check',ajaxMemoryFinder.stepThree, 'hideElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.stepThree, 'showElementRelative', 'hideElement');
			}	
		}
	}

}, 

populateFamily:function(e) {
	var si = ajaxMemoryFinder.manufObj.selectedIndex;
	var manufId = ajaxMemoryFinder.manufObj.options[si].value;
	var serverPage = "/Assets/Scripts/xmlQuery1.asp?cid=" + manufId;

	// reset family and model
	ajaxMemoryFinder.updateFamilyAndModel();

	// populate families based on manufacturer id
	if (manufId !== 0) { 
		ajaxMemoryFinder.xmlhttp.open("GET", serverPage);
		ajaxMemoryFinder.xmlhttp.onreadystatechange = function() {
			if(ajaxMemoryFinder.xmlhttp.readyState == 1 || ajaxMemoryFinder.xmlhttp.readyState == 2 || ajaxMemoryFinder.xmlhttp.readyState == 3) {
				// show family loading
				if(DOMhelp.cssjs('check', ajaxMemoryFinder.familyLoadingObj, 'hideElement')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLoadingObj, 'showElement', 'hideElement');
				}
				// hide rest
				if(DOMhelp.cssjs('check', ajaxMemoryFinder.submitLoadingObj, 'showElement')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.submitLoadingObj, 'hideElement', 'showElement');
				}
				if(DOMhelp.cssjs('check', ajaxMemoryFinder.modelLoadingObj, 'showElement')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLoadingObj, 'hideElement', 'showElement');
				}
			}
			if(ajaxMemoryFinder.xmlhttp.readyState == 4) {
				// hide family loading
				if(DOMhelp.cssjs('check',ajaxMemoryFinder.familyLoadingObj, 'showElement')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLoadingObj, 'hideElement', 'showElement');
				}
				if (ajaxMemoryFinder.xmlhttp.status == 200) {
					// if there was a failed request before, hide the error now
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
					}

					// Take xml and turn it into html via dom
					var os = ajaxMemoryFinder.xmlhttp.responseXML;

					m = os.documentElement;
					// create options for the family drop down and plug these in
					ajaxMemoryFinder.familyObj.options.length = 1;
					ajaxMemoryFinder.familyObj.selectedIndex = 0;
					if(m.childNodes.length > 0) {
						for(i=0; i<m.childNodes.length;i++) {
							// create new option object
							j = i + 1;
							if (m.childNodes[i].nodeType == 1){ // ignore all nodes except for elements
							ajaxMemoryFinder.familyObj.options[j] = new Option(m.childNodes[i].firstChild.nodeValue,0);
								for(var z=0;z<m.childNodes[i].attributes.length;z++) {
									var atrib = m.childNodes[i].attributes[z];
									ajaxMemoryFinder.familyObj.options[j].value = atrib.nodeValue;
								}
							}
						}
						if(ajaxMemoryFinder.familyObj) {
							ajaxMemoryFinder.familyObj.selectedIndex = 0;
							ajaxMemoryFinder.familyObj.disabled = false;

						}
						// show product family step as active
						if(DOMhelp.cssjs('check',ajaxMemoryFinder.familyLabelObj, 'inactiveLabel')) {
							DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLabelObj, 'inactiveLabel', 'activeLabel');
						}	
					}
					else {
						// there are no product families. show error no product families.
						if(DOMhelp.cssjs('check',ajaxMemoryFinder.familyErrorObj, 'hideElement')) {
							DOMhelp.cssjs('swap', ajaxMemoryFinder.familyErrorObj, 'showElementRelative', 'hideElement');
						}	
						// disable family drop down
						ajaxMemoryFinder.familyObj.selectedIndex = 0;
						ajaxMemoryFinder.familyObj.disabled = true;
						// disable models drop down
						ajaxMemoryFinder.modelObj.selectedIndex = 0;
						ajaxMemoryFinder.modelObj.disabled = true;
						// disable submit button
						ajaxMemoryFinder.submitObj.disabled = true;
						if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
							DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
						}	
					} // end if there are no nodes returned

				} // end status ok
				else {
					// status is not ok report the error to the user
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'hideElement')) {
						//ajaxMemoryFinder.ajaxErrorObj.innerHTML = "HTTP "+ ajaxMemoryFinder.xmlhttp.status+".  An error was » encountered: "+ ajaxMemoryFinder.xmlhttp.statusText;
						ajaxMemoryFinder.ajaxErrorObj.innerHTML = "We apologize. An error occurred trying to process this information. Please try again.";
						DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative', 'hideElement');
					}
				} // end status NOT ok

			} // end ready state 4

		} // end on ready state function

		ajaxMemoryFinder.xmlhttp.send(null);
	}
	else {
		// if manuf id is zero
	}
},
populateModel:function(e) {
	var si = ajaxMemoryFinder.familyObj.selectedIndex;
	//var mosi = ajaxMemoryFinder.modelObj.selectedIndex;
	var familyId = ajaxMemoryFinder.familyObj.options[si].value;
	var serverPage = "/Assets/Scripts/xmlQuery1.asp?cid=" + familyId;

	// reset models shown
	ajaxMemoryFinder.updateModel();

	if (familyId !== 0) { 
	ajaxMemoryFinder.xmlhttp.open("GET", serverPage);
	ajaxMemoryFinder.xmlhttp.onreadystatechange = function() {
		if(ajaxMemoryFinder.xmlhttp.readyState == 1 || ajaxMemoryFinder.xmlhttp.readyState == 2 || ajaxMemoryFinder.xmlhttp.readyState == 3) {
			// show models are loading
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.modelLoadingObj, 'hideElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLoadingObj, 'showElement', 'hideElement');
			}
			// hide rest
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.submitLoadingObj, 'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.submitLoadingObj, 'hideElement', 'showElement');
			}
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.familyLoadingObj, 'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLoadingObj, 'hideElement', 'showElement');
			}
		}
		if(ajaxMemoryFinder.xmlhttp.readyState == 4) {
			if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelLoadingObj,'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLoadingObj, 'hideElement', 'showElement');
			}
			if(ajaxMemoryFinder.xmlhttp.status == 200) {
				// if there was a failed request before, hide the error now
				if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
				}
				// Take xml and turn it into html via dom
				var os = ajaxMemoryFinder.xmlhttp.responseXML;
				m = os.documentElement;
				// create options for the family drop down and plug these in
				ajaxMemoryFinder.modelObj.options.length = 1;
				ajaxMemoryFinder.modelObj.selectedIndex = 0;
				if(m.childNodes.length > 0) {
					for(i=0; i<m.childNodes.length;i++) {
						j = i + 1;
						if (m.childNodes[i].nodeType == 1){ // ignore all nodes except for elements
							ajaxMemoryFinder.modelObj.options[j] = new Option(m.childNodes[i].firstChild.nodeValue,0);
							for(var z=0;z<m.childNodes[i].attributes.length;z++) {
								var atrib = m.childNodes[i].attributes[z];
								ajaxMemoryFinder.modelObj.options[j].value = atrib.nodeValue;
							}
						}
					}
					// activate and show models
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelLabelObj, 'inactiveLabel')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLabelObj, 'inactiveLabel', 'activeLabel');
					}	
					ajaxMemoryFinder.modelObj.disabled = false;
				}
				else {
					// Show error - No Models Exist
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelErrorObj, 'hideElement')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.modelErrorObj, 'showElementRelative', 'hideElement');
					}
					// reset models and disable
					ajaxMemoryFinder.modelObj.selectedIndex = 0;
					ajaxMemoryFinder.modelObj.disabled = true;
					// disable submit 
					ajaxMemoryFinder.submitObj.disabled = true;
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
					}	
				}
			} // end status ok
			else {
				// status is not ok report the error to the user
				if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'hideElement')) {
					ajaxMemoryFinder.ajaxErrorObj.innerHTML = "We apologize. An error occurred trying to process this information. Please try again.";
					DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative', 'hideElement');
				}
			} // end ready not ok
		} // end ready 4
	} // end handle ready
	ajaxMemoryFinder.xmlhttp.send(null);
	} 
	else {
		// if familyId is zero
	}
},

checkForMemory:function(e) {
	var si = ajaxMemoryFinder.modelObj.selectedIndex;
	var cid = ajaxMemoryFinder.modelObj.options[si].value;
	var serverPage = "/Assets/Scripts/xmlQuery2.asp?cid=" + cid;

	// reset submit
	ajaxMemoryFinder.updateSubmit();

	if (cid !== 0) { 
	ajaxMemoryFinder.xmlhttp.open("GET", serverPage);
	ajaxMemoryFinder.xmlhttp.onreadystatechange = function() {
	
		if(ajaxMemoryFinder.xmlhttp.readyState == 1 || ajaxMemoryFinder.xmlhttp.readyState == 2 || ajaxMemoryFinder.xmlhttp.readyState == 3) {
			// show submit button loading 
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.submitLoadingObj, 'hideElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.submitLoadingObj, 'showElement', 'hideElement');
			}
			// hide rest
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.familyLoadingObj, 'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLoadingObj, 'hideElement', 'showElement');
			}
			if(DOMhelp.cssjs('check', ajaxMemoryFinder.modelLoadingObj, 'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLoadingObj, 'hideElement', 'showElement');
			}
		}
		if(ajaxMemoryFinder.xmlhttp.readyState == 4) {

			// submit button loading
			if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitLoadingObj,'showElement')) {
				DOMhelp.cssjs('swap', ajaxMemoryFinder.submitLoadingObj, 'hideElement', 'showElement');
			}

			if(ajaxMemoryFinder.xmlhttp.status == 200) {

				// if there was a failed request before, hide the error now
				if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
					DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
				}

				// Take xml and turn it into html via dom
				var m = ajaxMemoryFinder.xmlhttp.responseText;
				// create options for the family drop down and plug these in
				if(m=="true") {
					// there are memory modules for this model id. enable submit
					ajaxMemoryFinder.submitObj.disabled = false;
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'inactiveButton')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'inactiveButton', 'activeButton');
					}	
				}
				else {
					// there are no memory modules for this model. error no models.
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitErrorObj, 'hideElement')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.submitErrorObj, 'showElementRelative', 'hideElement');
					}
					ajaxMemoryFinder.submitObj.disabled = true;
					if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
						DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
					}	
				}
			}
			else {
				// status is not ok report the error to the user
				if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'hideElement')) {
					ajaxMemoryFinder.ajaxErrorObj.innerHTML = "We apologize. An error occurred trying to process this information. Please try again.";
					DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative', 'hideElement');
				}

			}
		}
	}
	ajaxMemoryFinder.xmlhttp.send(null);
	} 
	else {
		// cid is zero
	}
},
submitForm:function(e) {
	var msi = ajaxMemoryFinder.manufObj.selectedIndex;
	var fsi = ajaxMemoryFinder.familyObj.selectedIndex;
	var mosi = ajaxMemoryFinder.modelObj.selectedIndex;
	DOMhelp.cancelClick(e);
	// if any of the ids are zero then a selection is missing
	if(msi === 0 || fsi === 0 || mosi === 0) {
		alertMsg = "Please select the Manufacturer, Product Family, and Model to continue.";
		alert(alertMsg);
		return false;
	}
	else {
		// pathname relative to host
		window.location.href = ajaxMemoryFinder.ajaxForm.action + ajaxMemoryFinder.modelObj.value;
		return false;
	}
},
updateSubmit:function() {
	// reset error
	if(ajaxMemoryFinder.submitErrorObj && DOMhelp.cssjs('check',ajaxMemoryFinder.submitErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitErrorObj, 'hideElement', 'showElementRelative');
	}
	// disable submit button
	ajaxMemoryFinder.submitObj.disabled = true;
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
	}	
},
updateModel:function() {
	ajaxMemoryFinder.modelObj.options.length = 1;
	ajaxMemoryFinder.modelObj.selectedIndex = 0;
	ajaxMemoryFinder.modelObj.disabled = true;
	// Reset errors
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.modelErrorObj, 'hideElement', 'showElementRelative');
	}
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitErrorObj, 'hideElement', 'showElementRelative');
	}
	// ajax error
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
	}
	// model label
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelLabelObj, 'activeLabel')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLabelObj, 'inactiveLabel', 'activeLabel');
	}	
	// Disable submit button
	ajaxMemoryFinder.submitObj.disabled = true;
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
	}	
},
updateFamilyAndModel:function() {
	// reset select boxes
	ajaxMemoryFinder.familyObj.options.length = 1;
	ajaxMemoryFinder.familyObj.selectedIndex = 0;
	ajaxMemoryFinder.familyObj.disabled = true;
	ajaxMemoryFinder.modelObj.options.length = 1;
	ajaxMemoryFinder.modelObj.selectedIndex = 0;
	ajaxMemoryFinder.modelObj.disabled = true;
	// reset errors
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.modelErrorObj, 'hideElement', 'showElementRelative');
	}
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitErrorObj, 'hideElement', 'showElementRelative');
	}
	// ajax error
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.ajaxErrorObj, 'showElementRelative')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.ajaxErrorObj, 'hideElement', 'showElementRelative');
	}
	// deactivate model label
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.modelLabelObj, 'activeLabel')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.modelLabelObj, 'inactiveLabel', 'activeLabel');
	}	
	// deactivate family label
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.familyLabelObj, 'activeLabel')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.familyLabelObj, 'inactiveLabel', 'activeLabel');
	}	
	// disable submit button
	ajaxMemoryFinder.submitObj.disabled = true;
	if(DOMhelp.cssjs('check',ajaxMemoryFinder.submitObj, 'activeButton')) {
		DOMhelp.cssjs('swap', ajaxMemoryFinder.submitObj, 'activeButton', 'inactiveButton');
	}	
},
cleanup:function() {
	if(ajaxMemoryFinder.xmlhttp) {
		ajaxMemoryFinder.xmlhttp.abort();
	}
}
} // end ajaxMemoryFinder
DOMhelp.addEvent(window,'load', ajaxMemoryFinder.init, false);
DOMhelp.addEvent(window,'unload',ajaxMemoryFinder.cleanup, false);

