// marco autocompletion stuff
  
function addFormData(inputfield, querystring) {
	var form = $(inputfield).up("form"); //getParentElementByTagName($(inputfield), "FORM");
	var postData = Form.serialize($(form.id));

	// example querystring: "originalname=Sturn"
	var facetField = querystring.replace(/=.*/, "");
	var facetValue = querystring.replace(/.*=/, "");
	//facetValue = facetValue.toLowerCase();
	
	// remove the facet field from the postData, because we don't wanna search on that field yet
	//var re = new RegExp(facetField + "=[^&]*", "i");
	//postData = postData.replace(re, "");
		
	return ("&facet=true&facet.field=" + facetField + "&smartprefix=" + facetValue + "&rows=0&facet.mincount=1&facet.sort=false&facet.limit=-1&" + postData); 
}


// zoekresultaten ophalen

// search skos in tree selector

//function searchSkos( inputfield, resultNumber) {
function searchSolr( inputfield, params) {
	var form = $(inputfield).up("form"); //getParentElementByTagName($(inputfield), "FORM");
	var postData = Form.serialize($(form.id));

	postData = postData.replace(/%2C/g, "%7C%7C"); // replace , by ||

	// get the searchresults + tree opened on the found node
	var myAjax = new Ajax.Updater( "searchResults", application.solrResultsUrl + "?count=20&" + params, {method: 'post', postBody: postData, asynchronous:false, evalScripts:true}	);
}

function searchSolr2(formId, resultNumber) {
	var postData = Form.serialize($(formId));
	postData = postData.replace(/%2C/g, "%7C%7C"); // replace , by ||
	var myAjax = new Ajax.Updater("searchResults", application.solrResultsUrl + "?count=20&resultOutput=short&resultNumber=" + resultNumber, { method: 'post', postBody: postData, asynchronous: false, evalScripts: true });

}

function searchSolrDirect(params) {
	var postData = params;
	var myAjax = new Ajax.Updater( "searchResults", application.solrResultsUrl, {method: 'post', postBody: postData, asynchronous:false, evalScripts:true}	);
}

function searchRdf(inputfield, params)
{
    var form = $(inputfield).up("form"); //getParentElementByTagName($(inputfield), "FORM");
    var postData = Form.serialize($(form.id));
    alert('searchRdf');
	var myAjax = new Ajax.Updater( "searchResults", application.rdfSearchUrl + "?count=20&" + params, {method: 'post', postBody: postData, asynchronous:false, evalScripts:true}	);
}

function standardSearch(inputfield, params)
{
  //searchSolr(inputfield, params);
  //searchRdf(inputfield, params);
  
	cursor.wait();
	var form = $(inputfield).up("form"); //getParentElementByTagName($(inputfield), "FORM");
  var validString = true;	
	
	// check searchstring
	if ($('searchField'))
	{
		var srchStr = $('searchField').value;

		if (srchStr.replace(/\s+/g,'') == '')
		{
			alert(strings.fullTxtsrchErrorMessageEmptyString);
			validString = false;
		} 
	
		if (srchStr.replace(" ","").substring(0,1) == '*' || srchStr.replace(" ","").substring(0,1) == '?')
		{
			alert(strings.fullTxtsrchErrorMessageWrongWildcards);
			validString = false;
		} 
		
		if (srchStr.replace(" ","") == '!' || srchStr.replace(" ","") == '&')
		{
			alert(strings.fullTxtsrchErrorMessageWrongSearchString);
			validString = false;
		}
	}

	// check selected structures?
	if ($('select_structures') && $('select_structures').getValue() == '')
	{	
		alert(strings.fullTxtsrchErrorMessageNoStructureSelected);
		validString = false;
	}  else if ($('select_structures') && $('select_properties') && $('select_properties').getValue() == '')
	{
		alert(strings.fullTxtsrchErrorMessageNoPropertiesSelected);
		validString = false;
	}



	if (validString) 
	{
		application.showTreeOnly = false;
		var postData = Form.serialize($(form.id));
		postData = postData.replace(/%2C/g, "%7C%7C"); // replace , by ||
		//debug("search: " + application.standardSearchUrl + "?count=20&" + params + " ~ " + postData)
		// get the searchresults + tree opened on the found node
		var myAjax = new Ajax.Updater("searchResults", application.standardSearchUrl + "?count=20&" + params, {method: 'post', postBody: postData, asynchronous:false, evalScripts:true});
		if (myAjax) {cursor.reset(); dynamicLayout(); return true;}
		else {cursor.reset(); alert(strings.fullTxtsrchErrorMessageWrongServerResponse); return false;}
	} else
	{	
		cursor.reset();
		return false;
	}
}

function searchTracking(inputfield, params) {
	application.showTreeOnly = false;
  cursor.wait();
  var form = $(inputfield).up("form"); //getParentElementByTagName($(inputfield), "FORM");
	var postData = Form.serialize($(form.id));
	
	// get the searchresults + tree opened on the found node
	var myAjax = new Ajax.Updater( "searchResults", application.trackingSearchUrl + "?count=10&" + params, {method: 'post', postBody: postData, asynchronous:false, evalScripts:true, onComplete: function(t) { openTrackingTab('results'); cursor.reset(); dynamicLayout();}}	);
}

function searchTrackingDirect(params) 
{
	var myAjax = new Ajax.Updater( "searchResults", application.trackingSearchUrl + "?count=10&" + params, {asynchronous:false, evalScripts:true}	);
}

// search skos in 

