/**
Script: AJAX-searchSelect
Autor: Alexander Heinemann, IT-Services
Webseite: www.Conmasys.de
Beschreibung:
********
Das Script fragt per asynchronem Javscript eine PHP-Routine an, die in unterschiedlichen (in der PPH-Datei) festgelegten 
Datenbank-Feldern nach einer LIKE Übereinstimmung sucht.

Rückgabe ist eine Tabelle mit Links
**/

var request;
var version = navigator.appVersion.match(/6.0/);
var browser;
var mouse_moved = false;
var secs
var timerID = null
var timerRunning = false
var delay = 500
var externalUse;

var stamp = Math.random();
URL = HOME+"ajaxSearch.php?stamp="+stamp;

//alert ("searchSelect ist zu finden bei "+URL);
// Initialisierung bei laden
startAjax();

function startAjax()
{
if (navigator.appName == "Microsoft Internet Explorer" && version <= "6.0")
	{
	request = new ActiveXObject("Microsoft.XMLHTTP");
	}
else
	{
	request = new XMLHttpRequest();
	}
}	  

function anzeige()
	{
	document.getElementById('searchSelectResult').style.display='block';
	if (request.readyState == 0)
		{
		document.getElementById('searchStatus').innerHTML = " Suche ... ";
		}
	else if (request.readyState == 1)
		{
		document.getElementById('searchStatus').innerHTML = " Suche ...  ";
		}
	else if (request.readyState == 2)
		{
		document.getElementById('searchStatus').innerHTML = " Suche ... ";
		}
	else if (request.readyState == 3)
		{
		document.getElementById('searchStatus').innerHTML = " Lade Daten nach ...  ";
		}
	else if (request.readyState == 4)
		{
			document.getElementById('searchStatus').innerHTML = request.responseText; //Die Links an sich			
		}
	}
	

function searchSelect()
	{

	var inSearch = document.getElementById('searchInput').value;
	//alert("Suche nach "+inSearch);
	startAjax(); //Das AJAX-Object immer neu erstellen, da sonst der IE das ganze hier nicht wirklich frisst
		
//	alert(browser + " - " + URL);
	
	// Abhandeln des Ergebnisses
	request.onreadystatechange = anzeige;
	
	
	// Verbindung aufbauen
	request.open('POST',URL, true);
	
	//request.setRequestHeader("Pragma","no-cache");
	//request.setRequestHeader("Cache-Control","must-revalidate");
	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	
	// POST verschicken
	request.send("search="+inSearch);
	
	}

// Zum exploden der von PHP zurückgegebenen Variablen
function explode( delimiter, string, limit ) {
    // http://kevin.vanzonneveld.net
    // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: kenneth
    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: d3x
    // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: explode(' ', 'Kevin van Zonneveld');
    // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
    // *     example 2: explode('=', 'a=bc=d', 2);
    // *     returns 2: ['a', 'bc=d']
 
    var emptyArray = { 0: '' };
    
    // third argument is not required
    if ( arguments.length < 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }
 
    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }
 
    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
    
    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}
