String.prototype.trim = function() {
  return( this.replace(new RegExp("^([\\s]+)|([\\s]+)$", "gm"), "") );
}

String.prototype.startsWith = function(str) {
  return (this.match("^"+str)==str);
}

String.prototype.endsWith = function(str) {
  return (this.match(str+"$")==str);
}

function setHiddenFormField(form, fieldName, fieldValue) {
  var input = form.elements[fieldName];
  if (input != null) {
    input.value = fieldValue; 
  } else {
    var input = document.createElement("input");
    input.type = "hidden";
    input.name = fieldName;
    input.value = fieldValue;
    form.appendChild(input);
  }
}

function goToResultsSortBy(sortField, sortDir, lang) {
	var form = document.getElementById('searchForm_patent');
	var path = (lang == "nl") ? "zoek" : "search";
	form.action = form.action + "/" + path;
  setHiddenFormField(form, "page", 1);
	setHiddenFormField(form, "sortfield", sortField);
  setHiddenFormField(form, "sortdir", sortDir);
	form.submit();
}

function goToPage(page, lang) {
  var form = document.getElementById('searchForm_patent');
  var path = (lang == "nl") ? "zoek" : "search";
  form.action = form.action + "/" + path;
  setHiddenFormField(form, "page", page);
  form.submit();
}

function goToHit(hitNumber, docid, totalHits, page, lang) {
  var form = document.getElementById('searchForm_patent');
  var path = (lang == "nl") ? "gegevens" : "data";
  form.action = form.action + "/" + path;
  var tokens = docid.split("_");
  form.action = form.action + "/" + tokens[1] + '/' + tokens[0];
  form.method = "post";
  setHiddenFormField(form, "hit", hitNumber);
  setHiddenFormField(form, "totalhits", totalHits);
  setHiddenFormField(form, "page", page);
  form.submit();
}
