// DESCRIPTION:
// load options of a selectfield dynamic with ajax
// PARAMETER:
// - scriptUrl: url to the php script that loads the options from the DB incl GET Parameters!
//              this.options[selectedIndex].value contains the selected value.
// - dynDivId: HTML ID of the select field where the options should be written in
// USE:
// call the function onchange in the selectbox
// EXAMPLE:
// onchange="ajaxLoadOptions('url.php?pid='+this.options[selectedIndex].value,'dynDivId')"

function closeLayer(layerID) {
	document.getElementById(layerID).style.display= 'none';
}

function showCategorySel(layerID) {
	document.getElementById(layerID).style.display= 'block';
}

function ajaxLoadOptions (scriptUrl,dynDivId) {
	
	try { 
		req = new XMLHttpRequest(); 
	}
	catch (ms) {		
		try { 
			req = new ActiveXObject("Msxml2.XMLHTTP"); 
		}
		catch (nonms) {			
			try { 
				req = new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (failed) { 
				alert("Error creating request object!"); 
			}
		}  
	}
	req.open("GET",scriptUrl,true);
	req.onreadystatechange = function() {            
		switch(req.readyState) {
			case 4:
				if(req.status!=200) { 
					alert("Error "+req.status+": Select option could not be fetched. Please press (F5)."); 
				}
				else {
					document.getElementById(dynDivId).style.display = 'block';
					document.getElementById(dynDivId).innerHTML = req.responseText;
				}
				break;
		  
			default:
				return false;
			break;     
		}
	};
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(null);
}


function createXMLHttpRequest() {
		var ua;
		if(window.XMLHttpRequest) {
			try {
				ua = new XMLHttpRequest();
			} catch(e) {
				ua = false;
			}
		} else if(window.ActiveXObject) {
			try {
				ua = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				ua = false;
			}
		}  
		return ua;
	}
	var req = createXMLHttpRequest();

	function sendRequest(search, start) {
		// var url = (start) ? "search.php?search="+search+"&start="+start : "search.php?search="+search;
		// var url = (start) ? "index.php?id=26&tx_sicompanydb_pi2[sword]="+search+"&type=888&start="+start : "index.php?id=26&tx_sicompanydb_pi2[sword]="+search+"&type=888";
		var url = "index.php?id=26&tx_sicompanydb_pi2[sword]="+search+"&type=999";
		
		// req.open('get', url+"&type="+active_tab, true);
		req.open("get",url,true);
		req.onreadystatechange = handleResponse;
		req.send(null);
		
		return false;
	}
	function handleResponse() {
		if(req.readyState == 4){
			var response = req.responseText;
			document.getElementById("results").innerHTML = response;
			loading_img("png");
			document.getElementById("r1").focus(); //select the first result
			document.getElementById("input").focus();
			document.getElementById('input').style.padding = '10px';
			//update_ads();
		}
	}
	
	
		var active_tab = "php";
	var sTimeout = null;
	var search_before = '';
	
	var props = new Array();
	props["php"] = "#9999cc";
	props["mysql"] = "#e1cd81";
	props["js"] = "#adc9a4";
	props["css"] = "#cfa7cf";
	
	function deselectTabs()
	{
		var tabs = document.getElementById("tabs");
		
		tab_a = tabs.getElementsByTagName("li");
		for(j=0; j<tab_a.length; j++)
		{
			tab_a[j].getElementsByTagName("a")[0].className = '';
			tab_a[j].getElementsByTagName("a")[0].style.backgroundColor = '';
		}
	}
	function selectTab(tab)
	{
		active_tab = tab;
		deselectTabs();
		tab_a = document.getElementById("tab"+tab).getElementsByTagName("a")[0];
		tab_a.className = "tab_selected";
		
		bgcolor = props[tab];
		tab_a.style.backgroundColor = bgcolor;
		tab_a.style.borderColor = bgcolor;
		document.getElementById("display").style.borderColor = bgcolor;
		tabStyle("activecss");
		clearData();
		
		document.getElementById("input").focus();
		createCookie("tab", tab, 60); 
		return false;
	}
	function tabStyle(tab)
	{
		var tab = document.getElementById(tab);
		tab.href = "style/"+active_tab+".css";
	}
	function clearData()
	{
		document.getElementById("input").value = '';
		//document.getElementById("results").innerHTML = '<li>Update: JS is DONE! 55% ish of MySQL is done</li>';
		//document.getElementById("results").innerHTML = '<li><a href="http://www.raizlabs.com/software/mailinglist/">PHP Mailing List Software, download a free trial for your site</a></li>';
		//document.getElementById("results").innerHTML = '<li><a href="http://hw.ig3.net/tests/">Cisco CCNA Academy Test Answers</a></li>';
		document.getElementById("results").innerHTML = '<li><a href="http://ispacetracker.com">MySpace Tracker!</a></li>';
		document.getElementById("b_desc").innerHTML = '';
		document.getElementById("b_usage").innerHTML = '';
		document.getElementById("p_usage").className = ''; 
		document.getElementById("b_version").innerHTML = '';
		document.getElementById("b_example").innerHTML = '';
		document.getElementById("b_source").innerHTML = '';
	}
	function createCookie(name, value, days) 
	{
		if(days)
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}else expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function timeout_search()
	{
		
		if(search_before == document.getElementById("input").value) return;
		if(sTimeout != null)
			window.clearTimeout(sTimeout);
		loading_img("gif");
		sTimeout = window.setTimeout("_search();", 500);
	}
	function _search(str, start)
	{
		var search = (!str) ? document.getElementById("input").value : str;
		loading_img("gif");
		
		//if(search.length >= 3)
		//{
			//window.setTimeout('sendRequest("'+search+'")', 1000);
			sendRequest(search, start);
			search_before = search;
		/*}else{
			document.getElementById("results").innerHTML = '<li>Need three or more characters.</li>';
			loading_img("png");
		}*/
	}
	function clear_search(obj, ret)
	{
		if(!ret)
		{
			search_before = obj.value;
			obj.value = '';
		}else{
			if(obj.value) search_before = obj.value;
			obj.value = search_before;
		}
	}
	function loading_img(disp)
	{
		if(disp == "gif")
			var src = "typo3conf/ext/sicompanydb/res/img/loading.gif";
		else if(disp == "png")
			var src = "typo3conf/ext/sicompanydb/res/img/loader.gif"; //used to be png
			
		if(document.getElementById("loading").src.indexOf(src.replace('./', '')) == -1)
			document.getElementById("loading").src = src;
	}	
	function hilight(obj, off)
	{
		if(off)
			obj.className = obj.className.replace('hilite', '');
		else
			obj.className += ' hilite';
	}
	function select_result(robj, desc, usage, version, example, source)
	{
		var lis = document.getElementById("results").getElementsByTagName("li");
		for(j=0;j<lis.length;j++)
			lis[j].getElementsByTagName("a")[0].className = '';
		
		robj.className = 'activeresult';
		robj.blur();
		
		document.getElementById("b_desc").innerHTML = desc;
		document.getElementById("b_usage").innerHTML = usage;
		document.getElementById("p_usage").className = 'hilite'; 
		document.getElementById("b_version").innerHTML = version;
		document.getElementById("b_example").innerHTML = example;
		document.getElementById("b_source").innerHTML = source;
	}
	function update_ads()
	{
		var s = document.getElementsByTagName("iframe")[0].style.display;
		document.getElementsByTagName("iframe")[0].style.display = 'none';
		document.getElementsByTagName("iframe")[0].src = document.getElementsByTagName("iframe")[0].src;
		window.setTimeout('document.getElementsByTagName("iframe")[0].style.display = "'+s+'";', 200);
	}