/*
Code: 		Ludo Brink
			Joost Groeneveld
			Jasper Visser
		
Created for: 	B@$ mediaservices/ TV Oranje
*/
aantal = 0;
lastItem = 0;
j = 0;

function keyIsDown(event){
	
	var Key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	input = document.getElementById("txtSearch").value;
	document.getElementById("suggestions").style.display = "";

		if(Key == 40){
			
			if (aantal > 1){
				if (input.length > 0){
					document.getElementById("s" +j).className = "deselected";
					j++;
					if (j > aantal - 1) {
						j = aantal - 1;
					}
					activateItem(j,"key");
				}
			}
		}
		else if(Key == 38){
			if (aantal > 1){
				if (input.length > 0){
					document.getElementById("s" +j).className = "deselected";
					j--;
					if(j < 0){
						j = 0;
					}
					activateItem(j,"key");
				}
			}
		}
		else if(Key == 13){
			if (aantal >1){
				activateItem(j,"key");
				j=0;
				document.getElementById('suggestions').style.visibility = "hidden";
				getArtistInformation();
			}
		}
		else if (Key != 13 && Key >= 48 && Key <= 90 || Key==8 || Key==32 ) {
				tmp = document.getElementById("txtSearch").value;
				lastItem = 0;
				if (tmp.length >1){
					searchSuggest();
				}
		}
}

function selectItem(e){
	document.getElementById("s" +lastItem).className = "deselected";
	document.getElementById("s"+e).className = "selected";
	lastItem = e;
	j = e;
}

function activateItem(e, type){
	tempvar = document.getElementById("s" +e).innerHTML;
	tempvar = tempvar.replace("&amp;","&");
	document.getElementById("txtSearch").value = tempvar;
	selectItem(e);
	
		if (type == "mouse"){
		document.getElementById('suggestions').style.visibility = "hidden";
		getArtistInformation();
		}
}

function searchSuggest() {
	lastItem = 0;
	// waarnaar zoeken?
	var zoeken = 0;
	if (document.getElementById('zoeken1').checked == true){
		zoeken = 1;
	}
	else {
		zoeken = 2;	
	}
	// define url to get data
	url = "modules/responseXML.php";
	// get keyword
	url += "?search=" + document.getElementById("txtSearch").value;
	// add a random number to avoid caching
	url += "&r=" + Math.floor(Math.random()*999999999);
	// include categorie
	url += "&categorie=" + document.getElementById('playlist_categorie').value;
	// zoeken op:
	url += "&zoeken=" + zoeken;
    
	// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = handleSearchSuggest;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = handleSearchSuggest;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function handleSearchSuggest(){

    if (req.readyState == 4) {

        if (req.status == 200) {

		//xml is goed overgekomen 
			document.getElementById('suggestions').innerHTML = "";
			response  = req.responseXML;
            page_list = response.getElementsByTagName('page_list');
            page_id = response.getElementsByTagName('page');
			aantal = page_id.length;
			

			
			placeholder = document.getElementById('suggestions');
			
				for(i=0; i<page_id.length; i++){
					artiest = page_id[i].getElementsByTagName('item')[0].firstChild.data;
					lay_id = page_id[i].getElementsByTagName('nummer')[0].firstChild.data;	
					
					//creeren DIV's
					oDiv = document.createElement('div');
					
					oDiv.id = "s"+ lay_id;
					oDiv.style.width = "300px";
					oDiv.style.heigth = "40px";
					oDiv.innerHTML = artiest;
					if (i >0){ oDiv.className = "deselected"; }
					else { oDiv.className = "selected";	}
					oDiv.onclick = function() { activateItem(this.id.substr(1), "mouse"); } 
					oDiv.onmouseover = function() { selectItem(this.id.substr(1)); }
					oDiv.onmouseout = function() { selectItem(this.id.substr(1)); }
					
					placeholder.appendChild(oDiv);
				}
				
				tempheigth = i * 14;
				tempheigth += "px";
				placeholder.style.visibility = "visible";
				placeholder.style.heigth = tempheigth;
								
				if (i < 10){
					placeholder.style.overflow ="hidden";
				}
				if (aantal == 0){
					placeholder.style.visibility = "hidden";	
				}
		}
		else {
			//xml is niet goed overgekomen, geef een foutmelding (req.status != 200)
            alert("There was a problem retrieving the XML data:\n" + searchReq.statusText);
		}
        
    } 
}

function checkPostal() {
	// empty search results
	document.getElementById('output_artiesten').innerHTML = "";
	// define url to get data
	url = "modules/checkPostal.php";
	// get postal
	url += "?pc=" + document.getElementById('user_pc').value;
	// get way of watching
	url += "&kijkmanier=" + document.getElementById('kijkmanier').value;
	// add a random number to avoid caching
	url += "&r=" + Math.floor(Math.random()*999999999);
	// send menu_id
	url += "&menu_id=" + document.getElementById('menu_id_holder').value;
    
	// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = handleCheckPostal;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = handleCheckPostal;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function handleCheckPostal() {
	if (req.readyState == 4) {
			if (req.status == 200) {
				document.getElementById("output").innerHTML = req.responseText;
        	} 
			else {
            	alert("There was a problem retrieving the XML data:\n" + req.statusText);
        	}
    }
}


function getArtistInformation() {
	document.getElementById("suggestions").style.display = "none";

	document.getElementById("output_artiesten").innerHTML = "";
	var zoeken = 0;
	if (document.getElementById('zoeken1').checked == true){
		zoeken = 1;
	}
	else {
		zoeken = 2;	
	}

	url = "modules/ajax_artiesten.php";
	url += "?artiest=" + document.getElementById('txtSearch').value;
	url += "&playlist_item_id=" + document.getElementById('playlist_item_id').value;
	url += "&playlist_categorie=" + document.getElementById('playlist_categorie').value;
	url += "&postcode=" + document.getElementById('user_pc').value;
	url += "&zoeken=" + zoeken;
	url += "&r=" + Math.floor(Math.random()*999999999);
	url += "&menu_id=" + document.getElementById('menu_id_holder').value;
		    
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processGetArtistInformation;
        req.open("GET", url, true);
        req.send(null);
    }
	else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processGetArtistInformation;
            req.open("GET", url, true);
            req.send();
        }
    }	
}

function processGetArtistInformation() {
	if (req.readyState == 4) {
	
		if (req.status == 200) {
			document.getElementById("output_artiesten").innerHTML = req.responseText;
		} 
		else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
    }
}

