// 
//  CONFIG
//

var conf_path = "fileadmin/design1/ajax/search/search.php";     // path to the search-script



//var input_id = "tx_a4napplichemshop_pi1_zeichenfolge";          // id of the input field where the search input comes from
//var output_id = "search_suggest";                               // id of the input field where the search input comes from

// check whether there is an base url defined, add value to path
var basehref = document.getElementsByTagName('base');
if(basehref[0]){ var fullpath = basehref[0].href+conf_path; }
else { var fullpath = conf_path; }


//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Operation is not supported by your browser.");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest(inputid,outputid,autosubmit,config) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById(inputid).value);
		searchReq.open("GET", fullpath+'?search=' + str + '&config=' +config, true);
		searchReq.onreadystatechange = function(e){ handleSearchSuggest(inputid,outputid,autosubmit) }; 
		searchReq.send(null);
	}
}


//Called when the AJAX response is returned.
function handleSearchSuggest(inputid,outputid,autosubmit) {
	if (searchReq.readyState == 4) {
        var positionleft = document.getElementById(inputid).offsetLeft;   
        var positionheight = document.getElementById(inputid).pixelHeight;
        var positiontop = document.getElementById(inputid).offsetTop+positionheight;
        var positionwidth = document.getElementById(inputid).offsetWidth;   
        var ss = document.getElementById(outputid);

        //ss.style.marginLeft = positionleft + 'px';
        ss.style.display = 'block';
        ss.style.position = 'absolute';
        ss.style.textAlign = 'left';
        ss.style.zIndex = 99;
        //ss.style.top = positiontop + 'px';
        //ss.style.left = positionleft + 'px';
        ss.style.width = positionwidth + 'px';
        
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			if(i%2 == 0 ){ var classvar = "suggest_link_1"; }
            else { var classvar = "suggest_link_2"; }
       
            var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this,\''+classvar+'\');" ';
			//suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
            suggest += 'onclick="javascript:setSearch('+i+',\''+outputid+'\',\''+inputid+'\','+autosubmit+');" ';
            
			suggest += 'class="'+classvar+'" id="suggest_link_'+i+'">' + str[i] + '</div>';
			ss.innerHTML += suggest;
            
            var id_identifier = "suggest_container_" + i;
            var identifier = document.getElementById(id_identifier);
            var suggest_name = identifier.name;
		}
        

        
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value,classvar) {
	div_value.className = classvar;
}
//Click function
function setSearch(valueid,outputid,inputid,autosubmit) {
	var element_value_id = "suggest_container_" + valueid;
    if(document.getElementById(element_value_id)){
        document.getElementById(inputid).value = document.getElementById(element_value_id).title;
        document.getElementById(outputid).innerHTML = '';
    }
    document.getElementById(outputid).style.display = 'none';
    
    if(autosubmit){
        var formid = getFormId(inputid);
        document.getElementById(formid).submit();
    }
    
}


function getFormId(id){
    var parentel = document.getElementById(id);
    while(parentel.tagName != "FORM" && parentel.tagName != "BODY"){
        parentel = parentel.parentNode;
    }
    return parentel.id;
}


function clearSearch(outputid) {
	document.getElementById(outputid).innerHTML = '';
    document.getElementById(outputid).style.display = 'none';

}
function searchposition(){
    if(document.getElementById(input_id)){
    var positionleft = document.getElementById(input_id).offsetLeft;
    var positionheight = document.getElementById(input_id).pixelHeight;
    var positiontop = document.getElementById(input_id).offsetTop+positionheight;
    var ss = document.getElementById(output_id);
    ss.style.position = 'absolute';
    ss.style.textAlign = 'left';
    //ss.style.top = positiontop + 'px';
    ss.style.left = positionleft + 'px';
    }
}

function searchMove(dir){
   // navigate results via up and down on keyboard
}