document.onload=settarget;

/*********************************
* Suchbox auf der rechten Seite  *
*********************************/
var search_newDiv = false;
var search_input = false;
var search_what = false;
var search_output = false;

function textsearch(who) {
	if (who.value.length >= 3 && (!window.ActiveXObject || (window.ActiveXObject && navigator.userAgent.match(/7\.0/)))) {
		search_input = who;
		search_what = who.value;
		search_output = true;
		if (window.ActiveXObject) {
	    who.onchange = search_set;
		} else {
	    who.setAttribute('onchange','search_set(false);');
		}
    url = 'http://'+window.location.hostname+'/ajax/search.php?q='+who.value;
    http_request = false;
    if (window.XMLHttpRequest) {
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
      }
    } else if (window.ActiveXObject) {
      try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        try {
          http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
        }
      }
    }
    if (!http_request) {
      alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
    } else {
      http_request.onreadystatechange = textsearch_return;
      http_request.open('GET', url, true);
      http_request.send(null);
    }
	} else {
		search_set(false);
	}
}

function textsearch_return() {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      var ergebnisse = http_request.responseXML.getElementsByTagName('rubrik');
      if (ergebnisse.length != 0) {
      	if (!search_newDiv && search_output) {
	      	search_newDiv = document.createElement('div');
	      	search_newDiv.className = 'search';
	      	search_input.parentNode.appendChild(search_newDiv);
	      } else {
	      	search_newDiv.innerText='';
	      	search_newDiv.innerHTML='';
	      }
      	for (var i = 0; i < ergebnisse.length; i++) {
      		if (ergebnisse[i].hasChildNodes()) {
      			var newRubrik = document.createElement('h3');
      			var newRubrikText = document.createTextNode(ergebnisse[i].attributes.getNamedItem('name').value);
	      		newRubrik.appendChild(newRubrikText);
		      	search_newDiv.appendChild(newRubrik);
		      	items = ergebnisse[i].getElementsByTagName('item');
		      	for (var j = 0; j < items.length; j++) {
		      		var newLink = document.createElement('a');
		     			newLink.onclick='search_set(\''+items[j].attributes.getNamedItem('name').value+'\', \''+ergebnisse[i].attributes.getNamedItem('name').value+'\', \''+items[j].attributes.getNamedItem('ort').value+'\', \''+items[j].attributes.getNamedItem('id').value+'\');return false;';
	      			newLink.href='javascript:search_set(\''+items[j].attributes.getNamedItem('name').value+'\', \''+ergebnisse[i].attributes.getNamedItem('name').value+'\', \''+items[j].attributes.getNamedItem('ort').value+'\', \''+items[j].attributes.getNamedItem('id').value+'\');';
			      	var newLinkText = document.createTextNode(items[j].attributes.getNamedItem('name').value);
			      	newLink.appendChild(newLinkText);
				      search_newDiv.appendChild(newLink);
		      	}
		      }
      	}
      } else {
      	search_set(false);
      }
    }
  }
}

function search_set(insertvalue, rubrik, ort, id) {
	if (insertvalue) {
		search_input.value = insertvalue;
		search_newDiv.style.display = 'none';
		search_newDiv = false;
		search_output = false;
		document.location.href = './'+rubrik+'_'+ort+'_'+insertvalue+'_'+id+'.html';
	} else {
		setTimeout('if (search_newDiv) { search_newDiv.style.display=\'none\'; }',100);
		setTimeout('if (search_newDiv) { search_newDiv = false; }',100);
		search_output = false;
	}
}

/*********************************
* externe Links in neuem Fenster *
*********************************/
function settarget() {
	var tmp = document.getElementsByTagName('a');
	var ausdruck = new RegExp('\^http:\/\/'+document.location.hostname,'i');
	for (var i = 0; i < tmp.length; i++) {
		if (ausdruck.exec(tmp[i].href) == null && !tmp[i].href.match(/^mailto:/)) {
			tmp[i].target='_blank';
		}
	}
}
