dojo.addOnLoad(function(){
	init();
});

	/********************************** Initialize *****************************************/
	
	/* awb9 4.14.20009
	   added center query parameter to handle center based searches
	*/

	var config = {
		q			: '',
		site		: 'mgh',
		numPerPage	: 50,
		req			: '',
		st			: '',
		query		: '',
		href 		: '/assets/processing/googleXml.aspx',
		center      : ''
	};
	
	var mySearch;
	var categoriesLoaded = "false";
	var categories = '';
	var currentCat = 'All results';
	var currentCatCount = '';
	var currentPage = 0;
	
	//04/15/2010 added these
	var folder = /doctors/
	var pageLocation = window.location.toString().search(folder);		

	init = function(){
		// can't use jquery to pass the dom document
		//searchAsYouType.initialize(element,focus);
		//added to mgh.js awb9
		//searchAsYouType.initialize(document.getElementById('searchBox'), false);
		var qs = new com.mgh.QueryString(null);
		config.q = qs.get("q");
		config.st = qs.get("st");
		config.center = qs.get("center");
		//config.numberPerPage = qs.get("num");
		//console.log(config.st + ' ' + config.q);	
		mySearch = new com.mgh.GoogleSearch(config);
		dojo.byId("progressTimer").style.display = 'none';
	}

	searchDataReady = function (response){
		mySearch.xmlDoc = mySearch.loadXmlString(response);
		mySearch.getRecordCount();
		hideTimer();

		try {
		if (categoriesLoaded == "false"){
			categories = mySearch.displayCategoryColumns();
			categoriesLoaded = "true";
		}
		renderScreen();
		} catch (e){
			console.log(e);
		}


	}
	
	displayFilteredResults = function (category,number){
		if (category == 'All results'){
			mySearch.queryParams.req = '';
		} else {
			mySearch.queryParams.req = category;
		}
		mySearch.getXmlString();
		currentCat = category;
		currentCatCount = number.toString();
		currentPage = 1;
		showTimer();
	}
	
	getQueryString = function (){
		var args = new Object();
		var query = window.location.search.substring(1);
		var pairs = query.split('&');
		for (var i=0; i < pairs.lengt; i++){
			var pos = pairs[i].indexOf('=');
			if (pos == -1) continue;
			var argname = pairs[i].substring(0,pos);
			var values = pairs[i].substring(pos+1);
			args[argname] = unescape(value);
		}
		return args;
	}

	
	/********************************** filters *****************************************/	
	renderScreen = function (){
		hideTimer();		
		//dojo.byId("searchTermDisplay").innerHTML = 'Search Results: <span class="searchTerm">"' + mySearch.queryParams.q + '"</span>';		
		
		//04/15/2010 fixed to not show when search is in the doctors folder.				
		var q = mySearch.queryParams.q == undefined ? '' : mySearch.queryParams.q;
		
		try {
			if(pageLocation != -1){			
				dojo.byId("greyContainerBox").style.display = 'none';
				dojo.byId("categories1").style.display = 'none';
			}
		} catch (e) {
			
		}

		try {			
			dojo.byId("searchTermDisplayTerm").innerHTML = ' "' + q + '"';
		} catch (e) {
			
		}	
		
		dojo.byId("results").innerHTML = mySearch.displayResults();
		dojo.byId("categories1").innerHTML = categories;
		dojo.byId("pagingTop").innerHTML = mySearch.createPaging();
		dojo.byId("pagingBottom").innerHTML = mySearch.createPaging();

		if (currentCat == 'All results'){
			dojo.byId(currentCat).innerHTML= '<span><b>' + currentCat + ' (' + mySearch.recordCount.toString() + ')</b></span>';
		} else {
			//dojo.byId(currentCat).innerHTML= '<span><b>' + currentCat + ' (' + currentCatCount + ')</b></span>';
			dojo.byId(currentCat).innerHTML= '<span><b>' + currentCat + '</b></span>';
		}

		if (currentPage > 0){
			
			try{
				var pageId = 'page' + currentPage;;
				dojo.byId(pageId).innerHTML = '<span class="currentPage"><b>' + currentPage + '</b></span>';
			} catch (e){
				console.log(e);
				console.log(pageId);
			}
		}		
	}
	
	removeFilter = function(){
		mySearch.reset();
	}
	

	changePage = function (st){
		mySearch.queryParams.st = st;
		mySearch.getXmlString();
		showTimer();
	}		
	/********************************** Animations *****************************************/		

	fadeOutNode = function (nodeName){
		var myFadeOut = dojo.fadeOut({node : nodeName,
			onEnd: function(){
				//dojo.byId(nodeName).style.display = 'none';
			}
		});
		myFadeOut.play();	    			
	}
	
	fadeInNode = function (nodeName){
		var myFadeIn = dojo.fadeIn({node : nodeName,
			onEnd: function(){
				//dojo.byId(nodeName).style.display = 'block';
			}
		});
		
		myFadeIn.play();			
	}

	
	/********************************** timer *****************************************/	
	hideTimer = function (){
		var myFadeOut = dojo.fadeOut({node : 'progressTimer',
			onEnd: function(){
				//dojo.byId('progressTimer').style.display = 'none';
				fadeInNode('resultsColumn');
				if(pageLocation == -1) {
					fadeInNode('categories1');
				}
			}
		});
		myFadeOut.play();
	}
	
	showTimer = function (){
		fadeOutNode('resultsColumn');
		fadeOutNode('categories1');
		//dojo.byId('progressTimer').style.display = 'block';
		fadeInNode('progressTimer');
	}
	
	gotoPage = function (start){
		mySearch.gotoPage(start);	
	}	
	
	nextPage = function (){
		mySearch.nextPage();
	}
	
	previousPage = function () {
		mySearch.previousPage();
	}

