// JavaScript Document
var scroll_pos = 1;
function checkKeycode(keycode, type, source, results, upordown, multi_id, catordog) {
	var fullkey = source.name;
	var key = fullkey.slice(-2,-1);	
	var count;
	var multi_id = '_'+multi_id;
	if ((keycode != 38) && (keycode != 40) && (keycode != 9) && (keycode != 13) && (keycode != 27) && (upordown == 'up')) {
		scroll_pos = 0; 
		return autocomplete(type, source, results, keycode, catordog);
	} else if (upordown == 'down') { 
		return browse(source, keycode, catordog);
	} else if ((upordown == 'exit')||(keycode == 27)) {
		if ((keycode != 27)&&(keycode != 0)) {
			if (!scroll_pos) scroll_pos = 1;
			blurit(source.name, 'autocomplete_results_list_'+ key + '-' +scroll_pos, 'autocomplete_results');
		} else if (keycode == 27) {
			if (document.getElementById('autocomplete_results_' + multi_id)) {
				blurit(source.name, '', 'autocomplete_results_' + multi_id);
			}
		} else {
			if (document.getElementById('autocomplete_results_' + multi_id)) {
				blurit(source.name, '', 'autocomplete_results_' + multi_id);
			}
		}
	}
}
function browse(source, keycode, catordog) {
 	if(!document.getElementById && document.all) document.getElementById=document.all;
	var fullkey = source.name;
	var key = fullkey.slice(-2,-1);
	if (key == 't') key = '';
	if ((keycode == 38) || (keycode == 40) || (keycode == 9) || (keycode == 13)) {
		//Return Count
		AjaxRequest.get(
			{
			  'url':'form_requests.php',
			  'action' : 'search_breed',
			  'value' : source.value,
			  'source' : source.name,
			  'catordog' : catordog,
			  'count' : 'true',
			  'onSuccess':function(req){ 
				count = req.responseText;
				//Clear the styling for last selected option
				for (i = 1; i <= count; i++) {
					if (document.getElementById('autocomplete_results_list_' + key + '_' + i)) {
						document.getElementById('autocomplete_results_list_' + key + '_' + i).className = 'link';
					}
				}
				//This is to allow the arrow keys to be used to browse up and down
				//the drop down list
				if (keycode == 38) {
					//Go up the List
					if (document.getElementById('autocomplete_results_list_' + key + '_'+(scroll_pos-1))) {
						--scroll_pos;
					}
				} else if (keycode == 40) {
					//Go down the list
					if (document.getElementById('autocomplete_results_list_' + key + '_'+(scroll_pos+1))) {
						++scroll_pos;
					}
				} else if ((keycode == 9)||(keycode == 13)) {
					//Enter has been pressed
					//Let's populate the textbox with selected option 
					//then close the div
					if (!scroll_pos) scroll_pos = 1;
					if(document.getElementById('autocomplete_results_list_' + key + '_'+scroll_pos)) {
						populate_field(source.id, document.getElementById('autocomplete_results_list_' + key + '_'+scroll_pos).innerHTML, key);
					}
				}
				//Apply the 'selected' class to the current option
				if (document.getElementById('autocomplete_results_list_' + key + '_'+scroll_pos)) { 
					document.getElementById('autocomplete_results_list_' + key + '_'+scroll_pos).className='link selected';
				}
			  }
			}
		);
	}
}
function autocomplete(type, source, results, keycode, catordog) {
var scroll_pos = 1;
	if (type == 'breed') {
		if ((keycode != 38) && (keycode != 40) && (keycode != 27)) {
			AjaxRequest.get(
				{
				  'url':'form_requests.php',
				  'action' : 'search_breed',
				  'value' : source.value,
				  'source' : source.id,
				  'catordog' : catordog,
				  'onSuccess':function(req){ 
					if (req.responseText != '') {
						results.style.display='block';
						results.innerHTML=req.responseText; 
					} else {
						results.style.display='none';
						//alert('Sorry, your pet\'s breed cannot be found.');
						source.select();
					}
				  }
				}
			);
		}
	}
}
function populate_field(field, what, multi_id) {
	//alert(multi_id);
	if (multi_id != '') multi_id = '_'+multi_id;
	//alert(field);
	document.getElementById(field).value = "" + what + "";
	if (document.getElementById('autocomplete_results'+multi_id)) {
		close_div('autocomplete_results'+multi_id);
	}
}
function blurit(pop_field, id_contents, closediv) {
/*
	if (document.getElementById(id_contents)) {
		populate_field(pop_field, document.getElementById(id_contents).innerHTML);
	} else {
		populate_field(pop_field, '');
	}
	if (document.getElementById(closediv)) {
		setTimeout('close_div(\'' + closediv + '\')', 100);
	}
*/
}
function close_div(what) {
	//document.getElementById(what).innerHTML = '';
	document.getElementById(what).style.display = 'none';
}
