// *** Global Functions *** //
function InitializePage() {
        FormSearch.term1.focus();
}

// *** Search Router *** //
function Search() {
        if (FormSearch.SearchTarget.value != "lokal") {
                SearchWeb();
        } else {
                SearchDocument();
        }
}

function addOption(serverName, serverValue) {
        var newOptGroup = document.createElement("optGroup");
        newOptGroup.label = "Technische Datenbanken";
        FormSearch.searchType.options.add(newOptGroup);

        var newOpt = document.createElement("option");
        newOpt.text = serverName;
        newOpt.value = serverValue;
        newOpt.id = serverValue;
        FormSearch.searchType.add(newOpt);
}

function deleteOption(serverValue) {
        document.getElementById(serverValue) = NULL;
}

// *** Document Search *** //
function SearchDocument() {
        var url = "vc://interface/method?name=recordSetBySql&template="
                + "../stylesheets/templates/SearchDocument.xml";
        url += "&doc_field_1=" + FormSearch.field1.value
                + "&doc_term_1=" + FormSearch.term1.value
                + "&doc_relation_1=" + FormSearch.relation1.value;
        url += "&doc_field_2=" + FormSearch.field2.value
                + "&doc_term_2=" + FormSearch.term2.value
                + "&doc_relation_2=" + FormSearch.relation2.value;
        url += "&doc_field_3=" + FormSearch.field3.value
                + "&doc_term_3=" + FormSearch.term3.value
                + "&doc_relation_3=" + FormSearch.relation3.value;
        url += "&doc_field_4=" + FormSearch.field4.value
                + "&doc_term_4=" + FormSearch.term4.value;
        window.navigate(url);
}

// *** Web Search *** //
function SearchWeb() {
        window.external.setCaption("Suche in Z39.50-Katalog");

        var url = "vc://interface/method?name=urlNavigate&URL=http://xml.semantics.de/vc/search/search.asp?";
        url += "field1=" + FormSearch.field1.value
                + "&term1=" + FormSearch.term1.value
                + "&relation1=" + FormSearch.relation1.value;
        url += "&field2=" + FormSearch.field2.value
                + "&term2=" + FormSearch.term2.value
                + "&relation2=" + FormSearch.relation2.value;
        url += "&field3=" + FormSearch.field3.value
                + "&term3=" + FormSearch.term3.value
                + "&relation3=" + FormSearch.relation3.value;
        url += "&field4=" + FormSearch.field4.value
                + "&term4=" + FormSearch.term4.value;
        url += "&searchType=" + FormSearch.SearchTarget.value;
        url += "&range=" + FormSearch.range.value;
        url += "&debug=" + FormSearch.debug.value;
        url += "&offset=0";

        window.navigate(encodeURI(url));
}

function encode(url) {
var url2 = encodeURI(url);
alert(url);
/*location.href=url2;*/
}

// *** Global Variables *** //
var MainPathName;
var SearchType;

// *** Navigate Page *** //
function NavigatePage(baseUrl, pageFactor) {
	var url = baseUrl + (PageNumber.value * pageFactor);
	window.navigate(url);
}

// *** Document Search *** //
function DocumentImport(idString) {
	var xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
	xmlString += document.getElementById(idString).innerHTML;
	//xmlString += document.getElementById(idString).innerHTML;
	//window.alert(xmlString);
	window.external.documentImport(xmlString);
}

// *** CopyToClipboad *** //
function CopyToClipboard(idString) {
	alert("hallo");
	/*
	var xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
	xmlString += document.getElementById(idString).innerHTML;
	//window.alert(xmlString);
	window.external.copyToClipboard(xmlString);*/
}

function doExpand(paraNum, imageNum) {
	if (paraNum.style.display == "none") {
		paraNum.style.display = "";
		imageNum.src = "c:/programme/semantics/visual composer/StyleSheets/Graphics/minus.gif"
	} else {
		paraNum.style.display = "none";
		imageNum.src = "c:/programme/semantics/visual composer/StyleSheets/Graphics/plus.gif"
	}
}
							
	function confirmLink(href, message)
	{		
	var is_confirmed = confirm(message);
	if (is_confirmed) {
		window.location.href = href;
	}
	} // end of the 'confirmLink()' function
	
	function confirmLink2(theLink, message)
	{		
	var is_confirmed = confirm(message);
	if (is_confirmed) {
		theLink.href;
	}
	return is_confirmed;
	} // end of the 'confirmLink()' function			
	
function toggle(id){
		el = document.getElementById(id);
		var display = el.style.display ? '' : 'none';
		el.style.display = display;
}	

function toggleGroupRows(databases,groupImageId){
	el = document.getElementById(groupImageId);
	var src = el.src;
	if(el.src.indexOf('plus') != -1){
		src = src.replace('plus','minus');
	}else{
		src = src.replace('minus','plus');
	}
	el.src = src;
	
	var databaseArray = databases.split("/");
	for (var i = 0; i < databaseArray.length; ++i){
		toggle(databaseArray[i]);
	}
}

function toggleMainMenueGraphic(id){
	var mainMenueImage = document.getElementById(id);
	var src = mainMenueImage.src;
	if (src.indexOf('_off') != -1){
		src = src.replace('_off', '_on');
		}else{
		src = src.replace('_on', '_off');
		}
	mainMenueImage.src = src;	
}

function changeMenueImages(id,action){
	var actualImage = "";//beinhaltet das aktuell selekierte Image, daß dann das selected.gif ist.
	switch(id){
				
		case "showAll":
		/*wird von allen Seiten benutzt, die nicht über den FrameHeader aufgerufen werden.*/
				
		for (var i = 0; i < parent.header.document.images.length; ++i){
		/*geht alle Grafiken des framHeaders durch. Da wo das src-Attribut, nicht die id enthält, 
		steht die Grafik auf selected und muß gegen die Ursprungsgrafik ausgetauscht werden.*/
		
			if(parent.header.document.images[i].src.indexOf(parent.header.document.images[i].id) == -1){
				parent.header.document.images[i].src = "./graphics/frameset/" + parent.header.document.images[i].id + ".gif";
				}	
			}
		break;
		
		default:
		/*für alle Seiten, die über den FrameHeader aufgerufen werden*/
		
		if(parent.header.document.getElementById(id).src.indexOf("selected") == -1){
		/*es wird nur was gemacht, wenn die entsprechende Grafik nicht schon auf selected steht.*/
		
			if(action != 0 || action == null){
				/*hier wird der Inhalt des Hauptfensters verändert.*/
				parent.searchresult.location.href = id + ".aspx";
			}
		
			for (var j = 0; j < parent.header.document.images.length; ++j){
			/*die aktuelle selected-Postion wird ausgelesen und in actualImage geschrieben.*/
			
				if(parent.header.document.images[j].src.indexOf("selected") != -1){
					actualImage = parent.header.document.images[j].id;
					}
			}

			parent.header.document.getElementById(id).src = "./graphics/frameset/selected.gif";
			/*die ausgewählte Grafik wird auf selected gesetzt.*/
			
			if(actualImage != ""){
			/*wenn es ein selektiertes Image gibt, dann wird es auf die ursprüngliche Laschen-Grafik zurückgesetzt.*/
			
				parent.header.document.getElementById(actualImage).src = "./graphics/frameset/" + actualImage + ".gif";
				}
			
		}
		break;
		}
	//alert(id);
	/*var menueImage = document.getElementById(id);
	var src = mainMenueImage.src;
	if (src.indexOf('_off') != -1){
		src = src.replace('_off', '_on');
		}else{
		src = src.replace('_on', '_off');
		}
	mainMenueImage.src = src;	*/
}