
function interiorInit() {
	// base init:
	NameLab.init();
	// Extend the NameLab "object" for the auto-complete search box:
	var el = document.getElementById( "searchinput" );
	if ( el && YAHOO && YAHOO.widget && YAHOO.widget.AutoComplete ) {
		
		// create results container:
		var cont = document.createElement( "div" );
		cont.id = "searchautocomp";
		el.parentNode.insertBefore( cont, el.nextSibling );
		
		// create data source:
		NameLab.oACDS = new YAHOO.widget.DS_XHR( "/servlet2/autocomplete", ["names", "n"] );
		NameLab.oACDS.responseType = YAHOO.widget.DS_XHR.TYPE_JSON;
		
		// set up onchange functions to send the gender with the query:
		NameLab.onUpdateSearchGender = function() {
			if ( document.forms.search_f.rm.checked && !document.forms.search_f.rf.checked ) {
				NameLab.oACDS.scriptQueryAppend = "r=M";
				document.cookie = "searchgender=M";
			}
			else if ( !document.forms.search_f.rm.checked && document.forms.search_f.rf.checked ) {
				NameLab.oACDS.scriptQueryAppend = "r=F";
				document.cookie = "searchgender=F";
			}
			else
				NameLab.oACDS.scriptQueryAppend = null;
		}
		document.forms.search_f.rm.onchange = NameLab.onUpdateSearchGender;
		document.forms.search_f.rf.onchange = NameLab.onUpdateSearchGender;
		
		// set up auto complete object:
		NameLab.oAutoComp = new YAHOO.widget.AutoComplete("searchinput","searchautocomp", NameLab.oACDS);
		NameLab.oAutoComp.minQueryLength = 2;
		NameLab.oAutoComp.queryDelay = 0;
		NameLab.oAutoComp.useShadow = true;
		
		// hook up select / unselect notifications to properly route the "submit" action:
		//	(actual names go to the name details, all others go to the name finder)
		NameLab.onAutoCompleteItemSelect = function( oSelf, elItem, oData ) {
                        location.href=NameLab.babyNameSite+'/name-meaning/'+document.forms.search_f.searchinput.value;
		}
		NameLab.onAutoCompleteNoItemSelect = function( oSelf, elItem, oData ) {
                        location.href=NameLab.babyNameSite+'/name-meaning/'+document.forms.search_f.searchinput.value;
		}
		NameLab.oAutoComp.itemSelectEvent.subscribe( NameLab.onAutoCompleteItemSelect );
		NameLab.oAutoComp.unmatchedItemSelectEvent.subscribe( NameLab.onAutoCompleteNoItemSelect );
		
	}
    
    // pre-load some images:
	NameLab.preloadImages( '/img/namelab/bgb_history_over.jpg', '/img/namelab/bgb_latest_over.jpg',
			'/img/namelab/bgb_lists_over.jpg', '/img/namelab/bgb_celebs_over.jpg',
			'/img/namelab/bgb_finder_over.jpg', '/img/namelab/bgb_renamer_over.jpg' );
}

YAHOO.util.Event.addListener(window, "load", interiorInit, window, false);
