///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////Search JavaScript///////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////

function checkInput() {
	if (checkSearchParams())	{
		document.forms[0].submit();
	}
}

function unescapeUnicode(string) {
  var str = string;
  var reg = new RegExp("%u([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])", "");
  var i=0;
  var arr;
  while ((arr = reg.exec(str)) != null) {
    i++;
    if(i>100000) break;
    if(arr.index >= 0) {
      str = str.substring(0, arr.index) +
      fromHex(RegExp.$1) + str.substring(arr.index+6);
    }
    else break;
  }
  return str;
}		

function checkSearchParams(language) {
	var form = document.forms["searchResultForm"];
	if (form.query.value=="") {
   		if (language=="de")	alert ("Bitte geben Sie einen Suchbegriff ein!");
		else				alert ("Please enter a searchterm!");
		form.query.focus();
        return false;
	}
	
	if(unescapeUnicode(form.query.value).length < 3 && unescapeUnicode(form.query.value).length > 0) {
   		if (language=="de")	alert ("Bitte geben Sie beim Suchbegriff mindestens 3 Zeichen ein!");
		else				alert ("Please enter at least 3 characters!");
		form.query.focus();
        return false;
	}
	return true;
}

function select_mimetype(o){ 
	for (var i=0; i < o.form.mimetype.options.length;i++){ 
		o.form.mimetype.options[i].selected = o.checked; 
	} 
} 

function select_hierarchies(o){ 
	for (var i=0; i < o.form.hierarchies.options.length;i++){ 
		o.form.hierarchies.options[i].selected = o.checked; 
	} 
} 

function select_searchLanguage(o){ 
	for (var i=0; i < o.form.searchLanguage.options.length;i++){ 
		o.form.searchLanguage.options[i].selected = o.checked; 
	} 
} 

function select_community(o){ 
	for (var i=0; i < o.form.community.options.length;i++){ 
		o.form.community.options[i].selected = o.checked; 
	} 
}