var http_request = false;

    var hund_suche_clicked = null;

    function Disable_Input(objID, ADisable){
        Obj = document.getElementById(objID);
        Obj.readOnly = ADisable;
        if (ADisable == true){
            Obj.style.backgroundColor = "grey";
        } else {
            Obj.style.backgroundColor = "";
        }
    }

	function clean_up(dirty_string)
	{

		//clean_string = dirty_string.replace('[ ]+', '-');
		clean_string = dirty_string.replace(/ /g, '-');
		//clean_string = clean_string.replace('[ä]+', 'ae');
		//clean_string = clean_string.replace('[ö]+', 'oe');
		//clean_string = clean_string.replace('[ü]+', 'ue');
		//clean_string = clean_string.replace('[\']+', '');

		clean_string = clean_string.replace(/ä/g, 'ae');
		clean_string = clean_string.replace(/ö/g, 'oe');
		clean_string = clean_string.replace(/ü/g, 'ue');
	//	clean_string = clean_string.replace(/\/g, '');


		return clean_string;
	}


	function hide(ObjID)
	{
		document.getElementById(ObjID).style.visibility = "hidden";
                document.getElementById(ObjID).style.display = "none";
	}

	function zero(id)
	{
		document.getElementById(id).value = 0;
	}

	function setdiv(suggestions, suggestObjID, inputObjectID, valueObjectID)
	{
        suggestObj = document.getElementById(suggestObjID)
    
        if (suggestions == "") {
            suggestObj.style.visibility = "hidden";
            suggestObj.style.display = "none";
            return;
        }
        
		var dog_list = document.getElementById("dog_list");

		var Woerter = suggestions.split("|");

	

		if (Woerter.length == 2)
		{
			suggestObj.style.visibility = "hidden";
            suggestObj.style.display = "none";
			return;	
		}

		while( dog_list.hasChildNodes() ) { dog_list.removeChild( dog_list.lastChild ); }

		swap = 0;

		for (k=0; k < ((Woerter.length-1) / 3); k++)
		{	
				swap ^= 1;

				if (swap == 1) cur_back = "hs_ajax";
				else cur_back =  "hs_ajax_alt";

			tRow = dog_list.insertRow(k);
			tCell = tRow.insertCell(0);
			tCell = tRow.insertCell(1);

			var tr = dog_list.getElementsByTagName('tr');
			var td = tr[k].getElementsByTagName('td');

			td[0].style.width= "280";
			td[0].innerHTML = Woerter[k*3];

			td[1].style.width= "170";
			td[1].align = "right";
			
			td[1].innerHTML = Woerter[k*3+1];

			tr[k].className = cur_back;
			tr[k].value = Woerter[k*3+2];
			td[0].value = Woerter[k*3+0];
			td[1].value = Woerter[k*3+2]; 

// TODO: check "sug_mark", vorübergehend deaktiviert
//			suggestObj.style.top = document.getElementById("sug_mark").offsetTop + 18;
//			suggestObj.style.left = document.getElementById("sug_mark").offsetLeft +0;
			//tr[k].onmousedown = function(){document.getElementById("new_mutter").value = this.value;}
            if (!inputObjectID || !valueObjectID){ // dog details aufrufen
    			tr[k].onmousedown = function(){
                    url="dogs-details/"+this.getElementsByTagName('td')[1].value+"/"+this.getElementsByTagName('td')[0].value; location.href = clean_up(url); hide(suggestObjID);
                    if (typeof(hund_suche_clicked) == "function"){
                        hund_suche_clicked();
                    }
                }
            } else {
    			tr[k].onmousedown = function(){ // Werte in eine Textbox packen
                    document.getElementById(inputObjectID).value = this.getElementsByTagName('td')[0].value; document.getElementById(valueObjectID).value = this.getElementsByTagName('td')[1].value; hide(suggestObjID);
                    if (typeof(hund_suche_clicked) == "function"){
                        hund_suche_clicked();
                    }

                }
            }
			//document.getElementById("new_m_id").value = this.getElementsByTagName('td')[0].value;
			//document.getElementById("new_m_id_t").value = this.getElementsByTagName('td')[1].value;

			//tr[k].onmouseover = function() { this.style.background = "#CAD6A6"; this.style.color = "#000000"; this.style.cursor = "hand";}
			//tr[k].onmouseout = function() { this.style.background = "#DDE4C5"; this.style.color = "#666634"; }

			tr[k].onmouseover = function() { this.style.color = "#000000"; this.style.cursor = "hand";}
			tr[k].onmouseout = function() { this.style.color = "#666634";this.style.cursor = "hand"; }
	
		}
		suggestObj.style.visibility = "visible";
        suggestObj.style.display = "block";
	}


	function doRequest()
	{
		http_request = false;

		if (window.XMLHttpRequest) // Opera, Mozilla, Safari, Netscape
		{
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType)
			{
                http_request.overrideMimeType('text/xml');
            }
		}
		else if (window.ActiveXObject)  // IE
		{
			try
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
			catch (e)
			{
				try
				{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
	}


	function get_dogs(suggestObjID, inputObjectID, valueObjectID, geschlecht, rasseObjectID)
	{
		doRequest();

		inc = escape(document.getElementById(inputObjectID).value);
        ras = "";
        try {
            if (rasseObjectID == "" || rasseObjectID == null){ rasseObjectID = "rasse"; }
    		ras = escape(document.getElementById(rasseObjectID).value); // TODO Rasse Auswahl?!
        } catch (exception) {

        }


		var url = "ajax_request_hund_suche.php?sstring="+inc+"&ras="+ras+"&aktion=finden&geschlecht="+geschlecht+"&acache="+Math.round(Math.random()*100000);
		if (http_request)
		{
			http_request.onreadystatechange = function() {if ((http_request.readyState == 4) && (http_request.status == 200)) setdiv(http_request.responseText, suggestObjID, inputObjectID, valueObjectID); }
			http_request.open('GET', url, true);
			http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http_request.send(null);
		}
		else
		{
			document.getElementById('if').src=url+'&iframe=true';
		}
	}

	
var timerID = 0;

function scan(suggestObjID, inputObjectID, valueObjectID, geschlecht, rasseObjectID)
{
	if(timerID) clearTimeout(timerID);

	timerID = setTimeout("get_dogs('" + suggestObjID + "', '" + inputObjectID + "', '" + valueObjectID + "', '" + geschlecht + "','" + rasseObjectID + "')", 350);
}





