//---------------------------------------------------------------------------
// Function used by searchbox.jsp to control form elements
//---------------------------------------------------------------------------
function Search() {
		
	// Get search property and term values from form elements
	var property 	= document.search_form.searchprop[document.search_form.searchprop.selectedIndex].value;
	var terms 	= encodeURIComponent(document.search_form.searchterms.value);
	if(terms.toLowerCase().indexOf("%20and%20") != -1 || terms.toLowerCase().indexOf("%20or%20") != -1 || terms.toLowerCase().indexOf("%20not%20") != -1 ) {
		var mode = "matchboolean";	
	}else {
		var mode = document.search_form.searchmode.value;	
	}

	// Alert if only dimension search is being performed
	if (property == "-1") {		
		
		alert("Since no valid search property is available, only dimension search will be processed.");

		// Create new url with only dimension search
		var removeterms = ["N","Ne","No","Nao","Nty","D","Dx","in_dym","in_dim_search","eneroot"];
		var addterms = ["N="+eneroot,"D="+terms,"Dx=mode+"+mode];
		var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
		location.href = "nav.jsp" + newurl;
	}
	else {
		// Create new url with property search and dimension search
		var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search"];
		var addterms;
		if(terms != "") {
			addterms = ["N="+eneroot,"Ntk="+property,"Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+"+mode,"Dx=mode+"+mode];
		}else { 
			addterms = ["N="+eneroot];
		}
		var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
		location.href = "controller.jsp" + newurl;
	}
}
//---------------------------------------------------------------------------
// Function used to control form elements and submit a subject search
//---------------------------------------------------------------------------
function SubjectSearch(e) {
		
	// Get search property and term values from form elements
	var terms 	= encodeURIComponent(e);

	// Create new url with property search and dimension search
	var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search","msgcode","errcode"];
	var addterms;
	if(terms != "") {
		addterms = ["N="+eneroot,"Ntk=Subject","Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+matchallpartial","Dx=mode+matchallpartial"];
	}else { 
		addterms = ["N="+eneroot];
	}
	var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
	location.href = "controller.jsp" + newurl;
}

//---------------------------------------------------------------------------
// Function used to control form elements and submit a subject search
//---------------------------------------------------------------------------
function TitleAuthorSearch(e) {
		
	// Get search property and term values from form elements
	var terms 	= encodeURIComponent(e);

	// Create new url with property search and dimension search
	var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search","msgcode","errcode"];
	var addterms;
	if(terms != "") {
		addterms = ["N="+eneroot,"Ntk=Title|Author","Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+matchallpartial","Dx=mode+matchallpartial"];
	}else { 
		addterms = ["N="+eneroot];
	}
	var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
	location.href = "controller.jsp" + newurl;
}


//---------------------------------------------------------------------------
// Function used to control form elements and submit a subject search
//---------------------------------------------------------------------------
function AuthorSearch(e) {
		
	// Get search property and term values from form elements
	var terms 	= encodeURIComponent(e);

	// Create new url with property search and dimension search
	var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search"];
	var addterms;
	if(terms != "") {
		addterms = ["N="+eneroot,"Ntk=Author","Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+matchallpartial","Dx=mode+matchallpartial"];
	}else { 
		addterms = ["N="+eneroot];
	}
	var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
	location.href = "controller.jsp" + newurl;
}

//---------------------------------------------------------------------------
// Function used to control form elements and submit a subject search
//---------------------------------------------------------------------------
function KeywordSearch(e) {
		
	// Get search property and term values from form elements
	var terms 	= encodeURIComponent(e);

	// Create new url with property search and dimension search
	var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search"];
	var addterms;
	if(terms != "") {
		addterms = ["N="+eneroot,"Ntk=Keyword Anywhere","Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+matchallpartial","Dx=mode+matchallpartial"];
	}else { 
		addterms = ["N="+eneroot];
	}
	var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
	location.href = "controller.jsp" + newurl;
}


function SearchWOptions() {
	// Get search property and term values from form elements
	var property 	= document.search_form.searchprop[document.search_form.searchprop.selectedIndex].value;
	var terms 	= encodeURIComponent(document.search_form.searchterms.value);
	if(terms.toLowerCase().indexOf("%20and%20") != -1 || terms.toLowerCase().indexOf("%20or%20") != -1 || terms.toLowerCase().indexOf("%20not%20") != -1 ) {
		var mode = "matchboolean";	
	}else {
		var mode = document.search_form.searchmode.value;	
	}

	// Process N
	var newNval = "N="+eneroot;
	
	// Process Format - reference the id prefixed with 'rb' to enable access via javascript 
	if(document.search_form.rb6597 != null) {
		for(i=0; i<document.search_form.rb6597.length; i++) {
			if (document.search_form.rb6597[i].checked) {
				newNval += "+" +document.search_form.rb6597[i].value;
			}
		}
	}
	
	// Process Age Level
	if(document.search_form.rb6635 != null) {
		for(i=0; i<document.search_form.rb6635.length; i++) {
			if (document.search_form.rb6635[i].checked) {
				newNval += "+" +document.search_form.rb6635[i].value;
			}
		}
	}
	
	if(document.search_form.rb7098 != null) {
		// Process Item Status
		for(i=0; i<document.search_form.rb7098.length; i++) {
			if (document.search_form.rb7098[i].checked) {
				newNval += "+" +document.search_form.rb7098[i].value;
			}
		}
	}
	
	if(document.search_form.rb6642 != null) {
		// Process Location (Multiselect)
		for(i=0; i<document.search_form.rb6642.length; i++) {
			if (document.search_form.rb6642[i].checked) {
				newNval += "+" +document.search_form.rb6642[i].value;
			}
		}
	}
	
	if(document.search_form.rb6665 != null) {
		// Process Language (Multiselect)
		for(i=0; i<document.search_form.rb6665.length; i++) {
			if (document.search_form.rb6665[i].checked) {
				newNval += "+" +document.search_form.rb6665[i].value;
			}
		}
	}

	var removeterms = ["N","Ne","No","Nao","Ntk","Ntt","D","Nty","Ntx","Dx","in_dym","in_dim_search"];
	var addterms;
	if(terms != "") {
		addterms = [newNval,"Ntk="+property,"Ntt="+terms,"Nty=1","D="+terms,"Ntx=mode+"+mode,"Dx=mode+"+mode];
	}else { 
		addterms = [newNval];
	}
	var newurl = ConstructURL("CURRENTURL", removeterms, addterms);
	location.href = "controller.jsp" + newurl;
	
	


}

function setSearchFormAction(){
	document.search_form.action='Javascript:SearchWOptions();';
}



//---------------------------------------------------------------------------
// Function used by endeca_header.jsp to submit a search to an external engine
//---------------------------------------------------------------------------
function sendSearch() {
 if ( document.searchto.searchurl.options.value == "EJ" ) {
	sUrl = 'http://tm2rx4xe4q.search.serialssolutions.com/?V=1.0&L=TM2RX4XE4Q&S=T_B&C='+document.searchto.terms.value;
 }else if(document.searchto.searchurl.options.value == "WF") {
	sUrl = doWFSearch(document.searchto);  
 }
 document.searchto.action=sUrl;
 document.searchto.submit();
}

function doWFSearch(theForm) {
  var wf_term1 = '';
  wf_term1 = theForm.terms.value;
  if (wf_term1 == '')
  {
    alert('Please enter a search term!')
    return "";
  }
  wf_term1 = wf_term1.replace(/\"/, '');
  wf_term1 = wf_term1.replace(/\'/, '');

  var nexturl = 'http://search3.webfeat.org/cgi-bin/WebFeat.Dll?Command=Search&Client_ID=phoenix&BypassSessData=yes&noserial=1&useSessions=1&format=JS&rtmpl=js&Databases=wf_apphotoarchive,wf_cqresearcher,wf_cqweekly,wf_galeau,wf_galebiorc,wf_galehwrc,wf_galelitrc,wf_galeoppviewrc,wf_galesrc,wf_galevisualreflibrary,wf_grolieratb,wf_grolierme,wf_groliernbk,wf_groliernbps,wf_groveart,wf_grovemusic,wf_landandpeople,wf_lncu_cissbjt,wf_lnsu_pwrtbls,wf_masterfileprem,wf_medline,wf_mergent,wf_oclcwilsonselectplus,wf_oclcworldalmanac,wf_pqabicomplete,wf_pqhccp,wf_pqnationalnews,wf_pqwsj,wf_pq_ethnicnewswatch,wf_pq_genderwatch'
  nexturl += '&wf_field1=wf_keyword&wf_term1='+ wf_term1+'&wf_op2=AND&wf_field2=wf_keyword&wf_term2=&wf_op3=AND&wf_field3=wf_keyword&wf_term3=&wf_all_years=yes';
  nexturl = nexturl.replace(/\&/g, "%26");
  var sUrl = 'http://search3.webfeat.org/clients/phoenix/phoenix_auth.asp?nexturl=' + nexturl;
  return sUrl;
}






