var timer;

function CourseSearch(formName, inputName, service) {
			this.input = document.forms[formName][inputName];
			this.input.service = service;
					
			this.input.onkeyup = function () {			
				document.getElementById("courseautocompletedropshadow").style.display = "none";
				document.getElementById("coursesearch-iframe").style.display = "none";
				
				var selector = document.getElementById("hakukohde-nuoret");
				
				if (selector.checked) {
					this.targetdb = "nuoriso"; 
				}
				else {
					this.targetdb = "aikuis";
				}
				
				
				if (this.value.length > 2) {
					document.lastQuery = this.value;
				
					jQuery.ajax( {
						url:this.service,
 						type:"POST",
 						cache: true,
						data: "query="+this.value+"&targetdb="+this.targetdb,
						complete : courseSearchResult
					} );
				}
			}
			this.input.onblur = function () {
				
				 timer = setTimeout('sulje', 500);
			}
		}

		function sulje() {
			

			 document.getElementById("courseautocompletedropshadow").style.display = "none";
			 document.getElementById("coursesearch-iframe").style.display = "none";
		}

		function courseGetNodeValue(xml, nodeName) {
			return xml.getElementsByTagName(nodeName)[0].firstChild.nodeValue;
		}

		function courseSearchResult(xml, text) {			
			xml = xml.responseXML.documentElement;
			
			var properties = xml.getElementsByTagName('properties')[0];
			
			var query = xml.getElementsByTagName('query')[0].firstChild.nodeValue;

			var menu = document.getElementById("courseautocomplete");
			menu.innerHTML = "";

			var results = xml.getElementsByTagName('course');

			var header2 = document.createElement("h2");
			
			header2.innerHTML = "Hakusanalla &lsquo;" + query +"&rsquo; l&ouml;ytyneet<br /> koulutukset (max. 10 kpl)";
			menu.appendChild(header2);

			var ul = document.createElement("ul");
						
			for(var i = 0; i < results.length; i++) {
				var name = results[i].getElementsByTagName('coursename')[0].firstChild.nodeValue;
				var url = results[i].getElementsByTagName('url')[0].firstChild.nodeValue;
				//var placename = courseGetNodeValue(results[i], 'placename');

				var li = document.createElement("li");
				var item = document.createElement("a");
				item.innerHTML = name;
				item.href = url;
				item.title = name;
				li.appendChild(item);
				ul.appendChild(li);

					if (ul.childNodes.length > 0 ) {
						menu.appendChild(ul);
					}
					ul = document.createElement("ul");

			}
			if (ul.childNodes.length > 0) {
				menu.appendChild(ul);
			
			}

			if (results.length > 0) { document.getElementById("courseautocompletedropshadow").style.display = "block"; document.getElementById("coursesearch-iframe").style.display = "block";} 
		}


		new CourseSearch('coursesearch','query', '/service/' + categoryId + '/getCourses' );
		
		function piilotainputit() {
		
		 if(document.all) {  var sels =  document.body.getElementsByTagName("select"); for (var i = 0; i < sels.length; i++) sels[i].style.visibility='hidden';}
		 
		}
		 
		function naytainputit() {
		
		 if(document.all) {  var sels =  document.body.getElementsByTagName("select"); for (var i = 0; i < sels.length; i++) sels[i].style.visibility='visible';}
		 
		}
