
//	***	Allgemeine Variablen für die Suche
var data_list;
var frm = document.forms['suche'];
var frmo = document.forms['suche_options'];
var loc = location.pathname;
var dbpfad = loc.substr(0, loc.indexOf('.nsf')+4) + "/";
var theURL = dbpfad + "web_suche_ft_ajax";
var protokolldb = "";
var currlang = frm.curr_lang.value;
var theQuery = "";
var orgValue = "";

//	***	HTML-Elemente für die Darstellung
var ladebalken = document.getElementById("ajax_ladebalken");
var layer = document.getElementById("centercol");


//	***	Ausführen der AJAX-Query
function datenladen(element, value) {
	ladebalken.style.display = "block";
	var fuzzysearch = "";
	orgValue = value;
	theQuery = theURL + 'OpenAgent&sprache='+ currlang + '&oua=1&query=' + value;

	if(orgValue != "Suchbegriff eingeben" && orgValue.length != 0) {



		ladebalken.style.display = "block";
		if(frmo.search_fuzzy.checked == true) {
			fuzzysearch = "1";
		} else {
			fuzzysearch = "0";
		}

		if (orgValue.length > 2) {
			frm.thequery.value = theQuery;
			new Ajax.Request(theURL + '?OpenAgent&sort=' + getCheckedValue(frmo.sort_type) + '&oua=1&sprache=' + currlang + '&ftsearch=' + fuzzysearch + "&rnd=" + Math.random(), {method:'get', onSuccess:loadList, parameters: 'query=' + value+""})
		}
	}

}


//	*** Ergebnisstring kürzen, Beispiel ("fisch.jpg",".") - ("fisch")

function LeftBackString(fullString, subString) {
   if (fullString.lastIndexOf(subString) == -1) {
      return "";
   } else {
      return fullString.substring(0, fullString.lastIndexOf(subString));
   }
}

//	***	Datenbankpfad auslesen

function getDBTitle(strDBPfad) {
	var ergebnis = "";
	switch(strDBPfad) {

		case "/bavc/web/web":	ergebnis = "Internet"
       	break;

	}

	return ergebnis
}



//	***	Parsen des JSON-Textes und Darstellen als HTML
function loadList(originalRequest) {
		var i;
		var j;
		var dbpf = "";
		var tmp = "";
		var outStr = "";
        //alert("1");
		data_list = eval('(' + originalRequest.responseText + ')');
        //alert(originalRequest.responseText);
		i = 0;
		j = 0;

		if (data_list.data.length==0){
			ajax_ladebalken.style.display = "none";
		}

		//	***	Ausgabedefinition 		
		tmp +="";
		data_list.data.each(
			function(data){
            //alert(frm);

				//	***	Unterscheidung, ob Suchergebnis oder SubSuchergebnis
				if(data.bezeichnung != "") {
					/*if (dbpf != LeftBackString(data.url, ".nsf/")) {
						if(data.url.indexOf("bavc/web") < 1) {
						} else {
							dbpf = LeftBackString(data.url, ".nsf/");

                            //  *** Ausgabe der Quelle
							tmp += "<h2>" + getDBTitle(dbpf) + "</h2>";
						}
					}*/
                    //alert(frm.img_save.value);

					if(((data.art == "subergebnis" && data.pos == "1") || (data.art == "subergebnis" && (data.pos == "first_and_last_element" || data.pos == "last_element"))) && (frmo.only_info.checked == false && frmo.only_presse.checked == false && frmo.only_pages.checked == false)) {

						//	***	1. Element in Subergebnisse (Header für Subergebnisse hinzufügen)
						if(data.pos == "1" || data.pos == "first_and_last_element") {
							tmp += "<li class=\"subergebnisse\" style=\"margin-top:-15px;\">Download eingebunden in: <br>";
						}
						if(data.typ == "medien" || data.typ == "dokument") {
							tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:562px;\"><img src=\"" + frm.img_save.value + "\"><a href=\"" + data.url + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
						} else {
							tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:527px;\"><img src=\"" + frm.img_doc.value + "\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
						}
						j++

						//	***	Hinzufügen Abschlusszeile
						if(data.pos == "first_and_last_element" || data.pos == "last_element") {
							tmp += "</li>";
						}
					} else {
						if(data.art == "subergebnis" && !(frmo.only_info.checked == false && frmo.only_presse == false)) {
							//	***	Letztes Element in Subergebnisse (Footer hinzufügen)
							if(data.typ == "medien" || data.typ == "dokument") {
								tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:562px;\"><img src=\"" + frm.img_save.value + "\"><a href=\"" + data.url + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
							} else {
								tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:527px;\"><img src=\"" + frm.img_doc.value + "\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
							}
							j++
							tmp += "";
						} else {
							if(data.art == "subergebnis" && (frmo.only_info.checked == false && frmo.only_presse == false)) {
								if(data.typ == "medien" || data.typ == "dokument") {
									tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:562px;\"><img src=\"" + frm.img_save.value + "\"><a href=\"" + data.url + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
								} else {
									tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#E8F7F6; color:#20B2AA; width:527px;\"><img src=\"" + frm.img_doc.value + "\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\"> " + data.bezeichnung + "</a></td></tr></table><br>"
								}
								j++
							} else {
								if(frmo.anhaenge.checked == true) {
									if(data.typ == "medien" || data.typ == "dokument" ) {
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:562px;\"><img src=\"" + frm.img_save.value + "\"><a href=\"" + data.url + "\" target=\"" + data.target + "\"> " + data.bezeichnung + " (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td></tr></table><br>"
										j++
									}
								}else if(frmo.only_info.checked == true && frmo.only_presse.checked == false){ 
									if(data.l1 == "Infodienste" && data.art == "ergebnis"){
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:150px; font-weight:bold;\"><img src=\"" + frm.img_doc.value + "\"> " + data.l1 + "</td><td style=\"background-color:#C7ECEA; width:412px;\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\">" + data.bezeichnung + " (" + data.teaserdatum + ") (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td><td colspan=\"2\" style=\"background-color:#E8F7F6; width:412px;\">" + data.teaser + "</td></tr></table><br>"
										j++
									}
								}else if(frmo.only_info.checked == false && frmo.only_presse.checked == true){ 
									if(data.l1 == "Pressemitteilungen" && data.art == "ergebnis"){
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:150px; font-weight:bold;\"><img src=\"" + frm.img_doc.value + "\"> " + data.l1 + "</td><td style=\"background-color:#C7ECEA; width:412px;\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\">" + data.bezeichnung + " (" + data.teaserdatum + ") (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td><td colspan=\"2\" style=\"background-color:#E8F7F6; width:412px;\">" + data.teaser + "</td></tr></table><br>"
										j++
									}
								}else if(frmo.only_info.checked == true && frmo.only_presse.checked == true){ 
									if((data.l1 == "Pressemitteilungen" || data.l1 == "Infodienste") && data.art == "ergebnis"){
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:150px; font-weight:bold;\"><img src=\"" + frm.img_doc.value + "\"> " + data.l1 + "</td><td style=\"background-color:#C7ECEA; width:412px;\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\">" + data.bezeichnung + " (" + data.teaserdatum + ") (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td><td colspan=\"2\" style=\"background-color:#E8F7F6; width:412px;\">" + data.teaser + "</td></tr></table><br>"
										j++
									}
								}else if(frmo.only_pages.checked == true){ 
									if((data.typ == "listen" || data.typ == "content") && data.art == "ergebnis"){
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:150px; font-weight:bold;\"><img src=\"" + frm.img_doc.value + "\"> " + data.l1 + "</td><td style=\"background-color:#C7ECEA; width:412px;\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\">" + data.bezeichnung + " (" + data.teaserdatum + ") (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td><td colspan=\"2\" style=\"background-color:#E8F7F6; width:412px;\">" + data.teaser + "</td></tr></table><br>"
										j++
									}
								}else {
									if(data.typ == "medien" || data.typ == "dokument") {
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:562px;\"><img src=\"" + frm.img_save.value + "\"><a href=\"" + data.url + "\" target=\"_blank\"> " + data.bezeichnung + " (" + data.score + "%)</a></td></tr></table><br>"
									}
									else {
										tmp += "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"background-color:#C7ECEA; color:#20B2AA; width:150px; font-weight:bold;\"><img src=\"" + frm.img_doc.value + "\"> " + data.l1 + "</td><td style=\"background-color:#C7ECEA; width:412px;\"><a href=\"" + data.url + "?OpenDocument&highlight=" + orgValue + "\" target=\"_blank\">" + data.bezeichnung + " (" + data.teaserdatum + ") (" + data.score + "%)</a></td></tr><tr><td style=\"width:150px;\"></td><td colspan=\"2\" style=\"background-color:#E8F7F6; width:412px;\">" + data.teaser + "</td></tr></table><br>"
									}
									j++
								}
							}
						}
					}
					if(data.url.indexOf("bavc/intranet") < 1) {
						} else {
						dbpf = 	LeftBackString(data.url, ".nsf/");
					}
				}

			}
		);
        //alert("b");

		//	***	Alle Suchanfragen, die länger als 2 Zeichen haben protokollieren
		if(theQuery.length > 2 & protokolldb != "") {
			tmp += "<img src=\"" + protokolldb + "suchanfragen.gif?OpenForm&user=" + frm.username.value + "&db=" + dbpfad + "&suchbegriff=" + theQuery + "&ergebnisse=" + (parseFloat(data_list.data.length) - 1) + "\" width=\"1\" height=\"1\" border=\"0\">";
		}

		tmp += "";
		outStr = "<div class=\"suchergebnisse\"><h3>Zu Ihrer Suche nach '" + orgValue + "' wurden " + j + " Ergebnisse gefunden.</h3><p>Relevanz der Ergebnisse in Prozent.</p><ul>" + tmp + "</ul></div>";
        //alert(outStr);
		layer.innerHTML = "<div class=\"content\">" + outStr + "</div>";
		ladebalken.style.display = "none";
		window.status = "";

}



function toggleDIV(theDIVID) {
	var theDIV = document.getElementById(theDIVID);

	if(theDIV) {
		if(theDIV.style.display == "block") {
			theDIV.style.display = "none";
		} else {
			theDIV.style.display = "block";
		}
	}
}


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

