// JavaScript Function Query Komponente

/* function submitForm(id) --> thematic.jsp  */			
function submitThematicForm(id) {

      document.getElementById('thematicQueryForm').hierarchyLevelName.value = id;
      document.getElementById('thematicQueryForm').expandedOrCollapse.value = false;
      var theHlvObject = document.getElementsByName('selectedQueryType');
      var counter = 0;
      var theHlvUncheckedCounter = 0;
      var theMessageString = "";

       while(counter < theHlvObject.length){
            if(theHlvObject[counter].checked){
                theHlvUncheckedCounter = theHlvUncheckedCounter+1;
            }
        counter++;
        }

         if((theHlvUncheckedCounter == 0)){

            if(theHlvUncheckedCounter == 0){
                theMessageString =  theMsg + "\n";
            }
            alert(theMessageString);
            // return false;
        }else{
            //return true;
            document.getElementById('thematicQueryForm').submit();
        }
}

function submitCollapseThematicForm(id) {
    document.getElementById('thematicQueryForm').collapseItem.value = id;
    document.getElementById('thematicQueryForm').expandedOrCollapse.value = true;
    document.getElementById('thematicQueryForm').submit();
}

function submitExpandedThematicForm(id) {
    document.getElementById('thematicQueryForm').expandedItem.value = id;
    document.getElementById('thematicQueryForm').expandedOrCollapse.value = true;
    document.getElementById('thematicQueryForm').submit();
}

function submitFedCatThematicForm(id) {
	  document.getElementById('distrCatQueryForm').hierarchyLevelName.value = id;
	  document.getElementById('distrCatQueryForm').submit();
}

function submitFedCatCollapseThematicForm(id) {
    document.getElementById('distrCatQueryForm').collapseItem.value = id;
    document.getElementById('distrCatQueryForm').expandedOrCollapse.value = true;
    document.getElementById('distrCatQueryForm').submit();
}

function submitFedCatExpandedThematicForm(id) {
    document.getElementById('distrCatQueryForm').expandedItem.value = id;
    document.getElementById('distrCatQueryForm').expandedOrCollapse.value = true;
    document.getElementById('distrCatQueryForm').submit();
}


// function openKeywordWindow(url,fenster) --> quik.jsp Oeffnet Schlagwortliste
function openKeywordWindow(url,fenster) {
	var theProp = "width=400,height=400,scrollbars=yes"
	window.open(url,fenster,theProp);
}

// function addKeyword(keyword) --> domainResults.jsp
var neu;
function addKeyword(keyword) {
	var Ergebnis = keyword.search(' ');
	if(Ergebnis != -1) {
		keyword = "\"" + keyword + "\"";
	}
	neu = document.getElementById('keywordString').value + keyword + " ";
	document.getElementById('keywordString').value = neu;                
}

// function setSelection() --> domainResults.jsp
function setSelection() {
	opener.document.getElementById("query").value = document.getElementById('keywordString').value;
	window.close();
}

function checkThumbnails(brokenThumb) {
		initMDFullResults();
        thumbPreview();
        var myImages = document.getElementsByName("thumbnail");

		for (var i = 0; i < myImages.length; i++) {

            if (myImages[i].naturalWidth != undefined && myImages[i].naturalWidth == 0){
                    myImages[i].src = brokenThumb;
            } else {
                if (myImages[i].complete == false){
                   myImages[i].src = brokenThumb;
                }
            }
		}
}

/* FUNKTIONEN ZUR DARSTELLUNG DER DETAILANSICHT */



function initMDFullResults(){
	if(document.getElementById("mdFullResult")){
		toggleContentBox();
	//	initPrintButton();
	}
}

function toggleContentBox(){
	if (document.getElementById("tabsDetailWrapper")){
		var tabLinks = document.getElementById("tabsDetailWrapper");
		tabLinks = tabLinks.getElementsByTagName("LI");

		for(var i=0; i< tabLinks.length; i++){
				tabLinks[i].title = tabLinks[i].firstChild.nodeValue;
				tabLinks[i].onclick = function(){
				// highlight tabs
				for (var k=0; k< tabLinks.length; k++){
					tabLinks[k].className = "";
				}
				this.className = "highlightTab";

				// show & hide content wrapper
				var theContentBoxes = document.getElementsByTagName("DIV")
				for(var j=0;j < theContentBoxes.length ;j++){
					if ((theContentBoxes[j].className == "showWrapper") || (theContentBoxes[j].className == "hideWrapper") ){
						theContentBoxes[j].className = "hideWrapper";
						if(theContentBoxes[j].id.indexOf(this.id) == 0){
							theContentBoxes[j].className = "showWrapper"
						}
					}
				}
			}
		}
	}
}

function initPrintButton(){
	var printButton = document.getElementById("printControl");
	printButton.onclick = function(){
		 window.print();
	}

}


this.thumbPreview = function(){
	/* CONFIG */
		xOffset = 20;
		yOffset = 2;
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result   

	/* END CONFIG */
	$("img.thumbnail").hover(function(e){	

		//var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<p id='preview'><img id='fullThumbnail' src='"+ this.src +"' alt='Image preview' />" +"</p>");
  	$("#preview")
        .css("top",(e.pageY + yOffset ) + "px")
        .css("left",(e.pageX - xOffset - $("#fullThumbnail").outerWidth() ) + "px")
        .fadeIn("fast");
    },
	function(){
		this.title = this.t;
		$("#preview").remove();
    });
	$("img.thumbnail").mousemove(function(e){

        var tip = $("#fullThumbnail");
        var w = tip.outerWidth();
        var h = tip.outerHeight();
        $w = $(window);
        W = $w.width()+$w.scrollLeft();
        H = $w.height();
        x = e.pageX + xOffset;
        y = e.pageY + yOffset;
        var o = y-$w.scrollTop();
        var halfScreen = $w.height()/2;
        if  (o > halfScreen) y = e.pageY - yOffset - h;
        
		$("#preview")
		 .css("top",y+ "px")
		 .css("left",(e.pageX - xOffset - $("#fullThumbnail").outerWidth() ) + "px")
	});
};
