
// PLAATS SUGGEST CATCHMATCH
// Charta 11-01-2007
// * changes compared to default plaats sugges:
//  - updateKeywordValue adds option to select;
//  - save_plaatsObject deleted
//  - selectAll added for submitting selection

var position = -1;
var suggestions = 8;

// init functie die je toekend aan het desbetreffende veld.
function handleSuggestions(){
	// zorg ervoor dat hetgeen gebeurt bij juiste toets
	handleKeyUp(event);	
}

// kijkt of getypte waarde veranderd en zorgt voor verdwijnen
// of tevoorschijnkomen van suggestie veld
function checkChanges(){
	if( document.getElementById("p_name").value == '' ){
		hideSuggestions();
	}else{
		showSuggestions();
	}
}


function handleKeyUp(e){
	// haal event op
	e = (!e) ? window.event : e;
	// haal het doel van event op
	target = (!e.target) ? e.srcElement : e.target;
	if (target.nodeType == 3) 
		target = target.parentNode;
	// haal de code van de gedrukte knop op
	code = (e.charCode) ? e.charCode :
			 ((e.keyCode) ? e.keyCode :
			 ((e.which) ? e.which : 0));
	// kijken of keyup echt gebruikt wordt
	
	
  if (e.type == "keyup") {
		//als enter
		if(code == 13) {
			updateKeywordValue(position);
			hideSuggestions();
		// escape
		} else if(code == 61 || code == 27) {
			hideSuggestions();
		// als "down"
		} else if(code == 40) {			
				newTR=document.getElementById("a"+(++position));
        oldTR=document.getElementById("a"+(--position));
				
				//deselect oud
				if(position>=0  && position<suggestions-1)
          oldTR.className = "deselected";
				// select the new suggestion and update the keyword
        if(position < suggestions - 1) 
        {
          newTR.className = "selected";
          position++;         
        }
		// als "up"
		} else if(code == 38) {
				newTR=document.getElementById("a"+(--position));
        oldTR=document.getElementById("a"+(++position));
				
				//deselect oud
				if(position>=0  && position<suggestions)
          oldTR.className = "deselected";
				if(position > 0) {
					newTR.className = "selected";
          position--;
				}
		} else {
			position = -1;
			checkChanges();
			xajax_plaats_suggest1(document.getElementById("p_name").value, suggestions);			
		}
		document.getElementById("pos").value = position;
	} // end if( keyup
	if( code == 38 || code == 40 || code == 13) {
		return 1;
	} else {
		return 0;
	}
}// handleKeyUp()

function updateKeywordValue(pos){
	// Charta 11-01-2007
	
	id = document.getElementById("tr" + pos).className;
	name = document.getElementById("a" + pos).innerHTML;
	//* document.getElementById("p_id").value = id;
	//* document.getElementById("p_name").value = name;
	
	// add option to select menu.
	document.getElementById("p_name").value = '';
	document.getElementById("p_list").options.add(new Option(name, id), 0);

}//updateKeywordValue()


function hideSuggestions(){
	showAllSelect();
  var oScroll = document.getElementById("suggestions");
  oScroll.style.visibility = "hidden";
	oScroll.style.display = "none";
}//hideSuggestions()

function showSuggestions(){
	hideAllSelect();
  var oScroll = document.getElementById("suggestions");
  oScroll.style.visibility = "visible";
	oScroll.style.display = "block";
}//showSuggestions()

function selectAll(){
	// Charta 11-01-2007
	
	for( var i = 0; i < document.getElementById('p_list').options.length; i++ ){ 
		document.getElementById('p_list').options[i].selected = true;
	}

}//selectAll()

function hideAllSelect(){	
	var allElem = document.body.getElementsByTagName("SELECT");
	for (var i=0; i<allElem.length; i++){
		allElem[i].style.visibility = 'hidden';
	}	
}

function showAllSelect(){	
	var allElem = document.body.getElementsByTagName("SELECT");
	for (var i=0; i<allElem.length; i++){
		allElem[i].style.visibility = 'visible';
	}	
}

// Specific to form

function removePlaats(fieldid){
	var elSel = document.getElementById(fieldid);
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function sub_form(formid, fieldid){
	for( var i = 0; i < document.getElementById(fieldid).options.length; i++ ) { 
		document.getElementById(fieldid).options[i].selected = true;
	}
}

function get_selected_sorts(fieldid, thisid){
		
		if(document.getElementById(thisid).checked == true ){
				//window.alert('ja');
				document.getElementById(fieldid).style.display = 'block';
				document.getElementById(fieldid).style.visibility = 'visible';
		}else{
				document.getElementById(fieldid).style.display = 'none';
				document.getElementById(fieldid).style.visibility = 'hidden';
		}
		
}

function get_selected_ligging(fieldid, thisid, status){
		
		if(document.getElementById(thisid).checked == true){
			if(status == 'show'){
				//window.alert('ja');
				document.getElementById(fieldid).style.display = 'block';
				document.getElementById(fieldid).style.visibility = 'visible';
			}else{
				document.getElementById(fieldid).style.display = 'none';
				document.getElementById(fieldid).style.visibility = 'hidden';
			}
	}
}

function showTip(fieldid){
	if(document.getElementById(fieldid).style.display == 'none' || document.getElementById(fieldid).style.display == ''){
		hideAllSelect();
		document.getElementById(fieldid).style.display = 'block';
		document.getElementById(fieldid).style.visibility = 'visible';
	}else{
		showAllSelect();
		document.getElementById(fieldid).style.display = 'none';
		document.getElementById(fieldid).style.visibility = 'hidden';
	}
}