	var url_='';
	function refreshPage(){
		var keywords1 = document.getElementById( 'keywords' );
		var keywords2 = document.getElementById( 'keywords2' );

		searchSurveys();
		/*if( keywords1.value == '' && keywords2.value == '' ){
			browseSurveys();
		}
		else{
			searchSurveys();
		}*/		
	}

	function savepage(){
			url="catalog/export_search.php"+url_;
			nw=window.open( url,"", 'height=500,width=600,resizable=yes,scrollbars=yes');
			if (window.focus) {nw.focus()}	
	}
	
	//search surveys
	function searchSurveys(page){
		var search = true;
		var keywords1 = document.getElementById( 'keywords' );
		var keywords2 = document.getElementById( 'keywords2' );
		var pagesize_ = document.getElementById( 'pagesize' );

/*		if( keywords1.value == "" && keywords2.value == '' && page==undefined )
		{
			search = false;
			alert( i18n_enter_keywords );
			return false;
		}		*/
		//get fields
		var field1=list1.getQueryString();
		var field2=list2.getQueryString();				
		var query='';
		query='&field1='+ field1 + '&keyword1='+ keywords1.value;
		query+='&field2='+ field2 + '&keyword2='+ keywords2.value;
		
		var pagesize;
		var pagesize_ = document.getElementById( 'pagesize' );	
		if (pagesize_==undefined || pagesize_==null){pagesize='&pagesize=10';}
		else{pagesize='&pagesize='+pagesize_.value;}
		
		var logic= document.getElementById('search_op');
		query+='&logic='+logic.value;
		
		var sortby=getSort();//menu_sort.get("value");//getSort();
		sortby='&sortby='+sortby;
		
		var sortdir=getSortDirection();
		sortdir='&sortdir='+sortdir;
		//country selection
		nation=getSelectedNations();		

		url_="?pg="+page+query+pagesize+sortby+sortdir+nation;
		url="catalog/searchsurveys.php" + url_;
		//alert(url);
		target='surveylist';
		document.getElementById(target).innerHTML='<img src="images/loading.gif" border="0" /> '+i18n_searching;
		ajax(url,target,null,null);
	}
	
	function getSelectedNations(){
		var country_list=YAHOO.util.Dom.getElementsByClassName('region', 'input');
		var nation='&nation=';
		selected_count=0;
		for (i=0;i<country_list.length;i++){
			if (country_list[i].checked==true){
					nation+=','+country_list[i].name;
					selected_count++;
			}			
		}
		if (selected_count==country_list.length){
			return '';
		}
		return nation;
	}
		
	var cur_sort_field='';//current sort field
	var cur_sort_dir='';//current sort direction
	
	//get the sort 
	function getSort(){
		return document.getElementById( 'sortby' ).value;
	}
	function setSort(field){
		document.getElementById( 'sortby' ).value=field;
		if (field==cur_sort_field){
			if (cur_sort_dir=='asc'){
				cur_sort_dir='desc';
			}
			else{
				cur_sort_dir='asc';
			}
			return;
		}
		cur_sort_field=field;
		cur_sort_dir='asc';
	}	
	function getSortDirection(){
		return cur_sort_dir;
	}	
	//show all surveys
	function browseSurveys( )
	{	
		document.getElementById( 'keywords' ).value="";
		document.getElementById( 'keywords2' ).value="";		
		var pagesize_ = document.getElementById( 'pagesize' );		
		var pagesize;
		if (pagesize_==undefined || pagesize_==null){pagesize='&pagesize=10';}
		else{pagesize='&pagesize='+pagesize_.value;}
		
		var sortby=getSort();//menu_sort.get("value");//getSort();
		sortby='&sortby='+sortby;
		
		url_="?pg="+pagesize+sortby;
		url="catalog/searchsurveys.php" + url_;
		
		target='surveylist';
		document.getElementById(target).innerHTML='<img src="images/loading.gif" border="0" /> ' + i18n_searching;
		ajax(url,target,null,null);				
	}	
	
		// @search type: cat, doc, name/labl
		function showVarList(id, e,keywords,search_op){
			document.getElementById(e).innerHTML='<img src="images/loading.gif" border="0" /> '+ i18n_loading;
			url='catalog/getvariables.php?id='+id+ '&search_op='+search_op +'&'+keywords;
			ajax(url,e,"showDiv('"+id+"')",'alert(i18n_load_err)');
		}
		
		function showVarInfoDialog(surveyid, varid){		
			url='catalog/survey_var_info.php?id='+surveyid+'&var='+varid;
			nw=window.open( url,"", 'height=430,width=600,resizable=yes,scrollbars=yes');
			if (window.focus) {nw.focus()}
		}
		
		//update status of selected nations
		function CountrySelectionChanged(){
				var itms=YAHOO.util.Dom.getElementsByClassName('region', 'input');
				var count=0;
				var sel_nation='';
				for( var i = 0; i < itms.length; i++ ) {		
					if (itms[i].checked==true){
							if (sel_nation==''){
								sel_nation+=itms[i].name;
							}
							else{
								sel_nation+=', '+ itms[i].name;
							}
							count++;
					}
				}
				if (count<2){
					menu_country.set("label", sel_nation.substring(0,23) );
				}
				if (count==0){
					menu_country.set("label", 'Select Country');
				}
				if (count>1){
					menu_country.set("label", count +' countries selected');
				}
		}
		function setCountryEventHandlers(){
				var itms=YAHOO.util.Dom.getElementsByClassName('region', 'input');
				for( var i = 0; i < itms.length; i++ ) {		
					YAHOO.util.Event.addListener(itms[i], "click", CountrySelectionChanged,null,this);
				}				
		}
		//reset country selection
		function resetCountrySelection(){
				var itms=YAHOO.util.Dom.getElementsByClassName('region', 'input');
				for( var i = 0; i < itms.length; i++ ) {		
					itms[i].checked=false;
				}	
				CountrySelectionChanged();
		}
		//select all countries
		function countrySelectAll(){
				var itms=YAHOO.util.Dom.getElementsByClassName('region', 'input');
				for( var i = 0; i < itms.length; i++ ) {		
					itms[i].checked=true;
				}	
				CountrySelectionChanged();
		}
		//toggle countries selection
		function toggleCountrySelection(){
				var itms=YAHOO.util.Dom.getElementsByClassName('region', 'input');
				for( var i = 0; i < itms.length; i++ ) {		
					itms[i].checked=!itms[i].checked;
				}	
				CountrySelectionChanged();
		}
		function hideDiv(e){			
			YAHOO.util.Dom.setStyle(e, 'display', 'none'); 
			YAHOO.util.Dom.setStyle(e, 'visibility', 'hidden'); 
		}
		function showDiv(e){
			YAHOO.util.Dom.setStyle('div_'+e, 'display', 'block'); 
			YAHOO.util.Dom.setStyle('div_'+e, 'visibility', 'visible'); 		
		}
		function ajax(url,elem,success_act,failure_act) {
			url=encodeURI(url);
			var callback =
			{
				success: function(o) { 
									document.getElementById(elem).innerHTML=o.responseText;eval(success_act);
									},
				failure: function(o) {document.getElementById(elem).innerHTML='<div style="background:beige;padding:10px">Error occured: '+o.responseText+'</div>';},
				timeout: 95000,
				argument: [ ]
			}
			if(url != undefined) {
				YAHOO.util.Connect.asyncRequest('GET', url , callback, null);
			}
		}

		/*
			searchBoxID= id for the list box
			targetlist= where to show it 
		*/
		var menu1;
		var menu2;
		
		function fieldSelector(searchBoxID, targetList){
			this.searchBoxID=searchBoxID;
			this.targetList=targetList;
			this.createList();
			this.selectedItemsCount=0;//fields selected
			this.setEventHandlers();
			this.menu_ref=null;//reference to yahoo menu
		}
			fieldSelector.prototype.setEventHandlers=function(){
				var itms=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
				var itms2=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
				var itms3=YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input');
				var itms4=YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input');
				var itms5=YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input');
				itms=itms.concat(itms2);
				itms=itms.concat(itms3);
				itms=itms.concat(itms4);
				itms=itms.concat(itms5);
				for( var i = 0; i < itms.length; i++ ) {		
					YAHOO.util.Event.addListener(itms[i].id, "click", this.ItmStateChange,null,this);
				}				
			}
		
			fieldSelector.prototype.selectItems=function(type,state){
				if (type==1){//select all
					var el=YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input');
					el[0].checked=state;
					if (state){this.toggleItems(type);}
				}
				else if(type==2){//select study
					var el=YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input');
						el[0].checked=state;
						if (state){this.toggleItems(type);}
						this.menu_ref.set("label",i18n_study_desc);
				}
				else if (type==3){//select variables
					var el=YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input');
					el[0].checked=state;
					if (state){this.toggleItems(type);}					
					this.menu_ref.set("label",i18n_var_desc);
				}				
			}
			
			fieldSelector.prototype.toggleItems=function(type){
				var checked=false;
				if (type==1){//select all
					var el_=YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input');
					if (el_[0].checked){
						checked=true;
					}
				}
				if(type==2 || type==1){//select study
					var studyh=YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input');
					
					if (type==1){
						studyh[0].checked=checked;
					}

					if (studyh[0].checked==true){
						checked=true;
					}
					
					var elements=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
					for( var i = 0; i < elements.length; i++ ) {		
						elements[i].checked=checked;
					}
				}
				if (type==3 || type==1){//select variables
					var varh=YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input');

					if (type==1){
						varh[0].checked=checked;
					}

					if (varh[0].checked==true){
						checked=true;
					}
					var elements=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
					for( var i = 0; i < elements.length; i++ ) {		
						elements[i].checked=checked;
					}
				}				
			}			
			
			//checkbox state change handler - checked/unchecked
			fieldSelector.prototype.ItmStateChange=function(){					
					var itmSelected=this.getSelItemCount();
					if (itmSelected==1){
						txt=this.getSelItemName();
						if (txt=='title'){txt='Title';}
						else if (txt=='nation'){txt=i18n_country_geog;}
						else if (txt=='producer'){txt=i18n_prod_spon;}
						else if (txt=='year'){txt=i18n_yr_data_coll;}
						else if (txt=='type'){txt=i18n_study_type;}
						else if (txt=='scope'){txt=i18n_des_scope;}
						else if (txt=='refno'){txt=i18n_refno;}
						else if (txt=='var'){txt=i18n_name_labl;}
						else if (txt=='varcat'){txt=i18n_cat;}
					}
					else{
						txt=itmSelected+ ' ' +i18n_elem;
					}
					this.updateState();
					var var_count=0;
					var study_count=0;
					var variable_h=YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input')[0].checked;
					var study_h=YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input')[0].checked;
					var study=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');//all study fields
					var variable=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');//all variable fields					
					for( var i = 0; i < study.length; i++ ) {		
						if (study[i].checked) {study_count++;}
					}
					for( var i = 0; i < variable.length; i++ ) {		
						if (variable[i].checked) {var_count++;}
					}
					if (variable_h && study_h){txt=i18n_all_elements;}//both variable/study are checked
					else if (variable_h && !study_h){
						if (study_count==0 && var_count==2){txt=i18n_var_desc;}//variable search
					}
					else if (!variable_h && study_h){
						if (var_count==0 && study_count==7){txt=i18n_study_desc;}//study search
					}
					this.menu_ref.set("label",txt);
			}
			//check/unchecks the group checkboxs 		
			fieldSelector.prototype.updateState=function(){
				var el=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
				varCount=0;
				studyCount=0;
				tcount=0;
				for( var i = 0; i < el.length; i++ ) {		
					tcount++;
					if (el[i].checked) {studyCount++;}
				}
				if (el.length > studyCount){ YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input')[0].checked=false;}
				else if(el.length ==studyCount) {YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input')[0].checked=true}

				var el=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
				for( var i = 0; i < el.length; i++ ) {		
					tcount++;
					if (el[i].checked) {varCount++;}
				}
				if (el.length > varCount){YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input')[0].checked=false}
				else if(el.length ==varCount) {YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input')[0].checked=true}
				if (varCount+studyCount<tcount){ YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input')[0].checked=false;}
				else if (varCount+studyCount==tcount){YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input')[0].checked=true;}				
			}
			
			//return number of items selected
			fieldSelector.prototype.getSelItemCount=function(){
				var _count=0;
				var itms=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
					for( var i = 0; i < itms.length; i++ ) {		
						if (itms[i].checked){
							_count++;
						}
					}				
				var itms=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
					for( var i = 0; i < itms.length; i++ ) {		
						if (itms[i].checked){
							_count++;
						}
					}
				return _count;
			}
			
			//returns the name of the itm selected 
			fieldSelector.prototype.getSelItemName=function (){
				var itms=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
					for( var i = 0; i < itms.length; i++ ) {		
						if (itms[i].checked){
							return itms[i].value;
						}
					}
				var itms=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
					for( var i = 0; i < itms.length; i++ ) {		
						if (itms[i].checked){
							return itms[i].value;
						}
					}
			}
			
			//builds the querystring
			fieldSelector.prototype.getQueryString=function(){
				var isSurvey=false;
				var isVariable=false;	
				query='';
				if (YAHOO.util.Dom.getElementsByClassName('all_' + this.searchBoxID, 'input')[0].checked){
					query='survey,vardoc';return query;
				}
													
				if (YAHOO.util.Dom.getElementsByClassName('studyh_' + this.searchBoxID, 'input')[0].checked){
					query='survey';isSurvey=true;
				}
				
				if (YAHOO.util.Dom.getElementsByClassName('varh_' + this.searchBoxID, 'input')[0].checked) {
					query+=',vardoc';isVariable=true;
				}

				if (!isSurvey){
					var itms=YAHOO.util.Dom.getElementsByClassName('study_' + this.searchBoxID, 'input');
						for( var i = 0; i < itms.length; i++ ) {		
							if (itms[i].checked){
							query+=','+itms[i].value;
							}
						}	
				}
				if (!isVariable){
					var itms=YAHOO.util.Dom.getElementsByClassName('var_' + this.searchBoxID, 'input');
					for( var i = 0; i < itms.length; i++ ) {		
						if (itms[i].checked){
						query+=','+itms[i].value;
						}
					}
				}
				return query;
			}
			
			
			fieldSelector.prototype.createList= function(){
			    html='<input type="button" id="menubutton_' + this.searchBoxID +'" name="menubutton_' + this.searchBoxID + '" value="Menu Button 3" />';
            	html+='<div class="menubutton"  id="menubutton_menu_'+ this.searchBoxID +'" >';
				html+=		'<input id="'+ this.searchBoxID +'_all" type="checkbox" value="all" class="all_'+ this.searchBoxID +'" onclick="'+ this.searchBoxID +'.toggleItems(1)"/><strong>'+ i18n_all_elements +'</strong><br/><br/>';    
				html+=		'<input id="'+ this.searchBoxID +'_study" type="checkbox" value="survey" class="studyh_'+ this.searchBoxID +'" onclick="'+ this.searchBoxID +'.toggleItems(2)"/><strong>'+i18n_study_desc+'</strong><br />';
				html+=		'<div style="margin-left:20px;" >';
				html+=			'<input id="'+ this.searchBoxID +'_1"  name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="title" />'+i18n_title+'<br/>';
				html+=			'<input id="'+ this.searchBoxID +'_2" name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="nation" />'+i18n_country_geog+'<br/>';
				html+='			 <input id="'+ this.searchBoxID +'_3"  name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="producer" />'+i18n_prod_spon+'<br/>';
				html+='			 <input id="'+ this.searchBoxID +'_4" name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="year" />'+i18n_yr_data_coll+'<br/>';
				html+='			 <input id="'+ this.searchBoxID +'_5"  name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="type" />'+i18n_study_type+'<br/>'
				html+='			 <input id="'+ this.searchBoxID +'_6"  name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="scope" />'+i18n_des_scope+'<br/>';
				html+='			 <input id="'+ this.searchBoxID +'_7" name="field" class="study_'+ this.searchBoxID +'" type="checkbox" value="refno" />'+i18n_refno+'<br/><br/>';
				html+='		</div>';
				html+='		<input id="'+ this.searchBoxID +'_var" type="checkbox" value="vardoc" class="varh_'+ this.searchBoxID +'" onclick="'+ this.searchBoxID +'.toggleItems(3)"/><strong>'+i18n_var_desc+'</strong><br/>';
				html+='		<div style="margin-left:20px;">    ';
				html+='			<input id="'+ this.searchBoxID +'_8" name="field" class="var_'+ this.searchBoxID +'"   type="checkbox" value="var" />'+i18n_name_labl+'<br/>';
				html+='			<input id="'+ this.searchBoxID +'_9" name="field" class="var_'+ this.searchBoxID +'"  type="checkbox" value="varcat" />'+i18n_cat+'<br/>';
				html+='		</div>    ';
            	html+='</div>';
				var el = document.createElement("div");
				el.innerHTML=html;
				el.className="yui-skin-sam";
				el.id=this.searchBoxID;
				target=document.getElementById(this.targetList);
				if (target){
					target.appendChild(el);
				}
			}
					
			function initialize(){

				list1= new fieldSelector('list1','searchfield_1');
				list2= new fieldSelector('list2','searchfield_2');

				YAHOO.example.init = function () {					
					YAHOO.util.Event.onContentReady("list1", function () {
	
					list1.menu_ref= new YAHOO.widget.Button("menubutton_list1", { type: "menu", menu: "menubutton_menu_list1" });        					
					list1.selectItems(2,true);		            
					});
					
					YAHOO.util.Event.onContentReady("list2", function () {
					list2.menu_ref= new YAHOO.widget.Button("menubutton_list2", { type: "menu", menu: "menubutton_menu_list2" });        
					list2.selectItems(3,true);
					});					
					
					//menu_sort=new YAHOO.widget.Button("menubutton_sort", { type: "menu", menu: sortMenuButtons,container: "menubutton_sort_list" });
					menu_country=new YAHOO.widget.Button("menubutton_region", { type: "menu", menu: "menubutton_region_menu" });
					
					//menu_sort.set("value", 'titl');//set intial sort value
					setCountryEventHandlers();// set nation change handlers					
				} ();
				//ajax("searchsurveys.php",'surveylist',null,null);
			}

			//initialize objects once document is loaded	
//			YAHOO.util.Event.onDOMReady(initialize);   
			//YAHOO.util.Event.addListener(window, "load", initialize)	;
var CATALOG='ready';
