/**
 * Team suchen
 *
 * $URL: svn://localhost/RBL-dev/tags/rbl_2010_05_24-1/jkcms/js/selectteam.ajax.js $
 * $Rev: 990 $
 * $Author: jk $
 * $Date: 2009-11-18 18:45:38 +0100 (Mi, 18 Nov 2009) $
 */

var fSelectTeam = new ajax_obj("fSelectTeam");

/**
 * Aufruf des Suchformurars
 * 
 * @param string selid Elementid des Selektors
 */
function select_team() {
	if (select_team.arguments.length == 1) {
		//alert('arguments.length == 1:' + select_team.arguments[0]);
		fSelectTeam.sel_teamid = document.getElementById(select_team.arguments[0]);
	} else {
		fSelectTeam.sel_teamid = document.getElementById("sel_teamid");
	}
	var url = '/ajax/team.select.php?tid=' + fSelectTeam.sel_teamid.value;

	fSelectTeam.width = 340;
	fSelectTeam.minheight = 10;

	fSelectTeam.onLoad = select_team_onload;
	fSelectTeam.create_container(ajax_event.pageX, ajax_event.pageY);
	fSelectTeam.load(url);
}

/**
 * Ajax callback: Suchformular geladen
 */
function select_team_onload() {
	var input_search = document.getElementById("searchtext");
	if (input_search) {
		input_search.focus();
		input_search.onkeyup = select_team_keyUp;
		input_search.form.onsubmit = select_team_notsubmit;
	}
}

function select_team_notsubmit() {
	return false;
}

function select_team_keyUp(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		if (evt.keyCode == 40) {
			// down
			var sel = document.getElementById("select_teamid");
			var i = sel.options.selectedIndex;
			if (i < sel.options.length - 1) sel.options.selectedIndex = i + 1;
		} else if (evt.keyCode == 38) {
			// up
			var sel = document.getElementById("select_teamid");
			var i = sel.options.selectedIndex;
			if (i > 0) sel.options.selectedIndex = i - 1;
		} else if (evt.keyCode == 13) {
			// enter
			set_team();
		} else {
			search_team();
		}
	}
}

function set_team() {
	
	var sel = document.getElementById("select_teamid");
	if (sel.selectedIndex >= 0) {
		var teamid = sel.options[sel.selectedIndex].value;
		for (var i = 0; i < fSelectTeam.sel_teamid.options.length; i++) {
			if (fSelectTeam.sel_teamid.options[i].value == teamid) {
				fSelectTeam.sel_teamid.selectedIndex = i;
				if (fSelectTeam.sel_teamid.onchange) {
					fSelectTeam.sel_teamid.onchange();
				}
				break;
			}
		}
	}
	fSelectTeam.close();
}

function search_team() {
	var input_search = document.getElementById("searchtext");
	var sel = document.getElementById("select_teamid");
	if (!sel.stringliste) {
		sel.stringliste = new Array();
		sel.idliste = new Array();
		for (var i = 0; i < sel.options.length; i++) {
			sel.stringliste[i] = sel.options[i].text;
			sel.idliste[i] = sel.options[i].value;
		}
	}
	sel.options.length = 0;
	var searchtext = input_search.value.toLowerCase();
	if (searchtext.length > 0) {
		for (var i = 0, j = 0; i < sel.stringliste.length; i++) {
			var s = sel.stringliste[i].toLowerCase();
			if (s.indexOf(searchtext) >= 0) {
				sel.options[j++] = new Option(sel.stringliste[i], sel.idliste[i], false, false);
			}
		}
	} else {
		for (var i = 0; i < sel.stringliste.length; i++) {
			sel.options[i] = new Option(sel.stringliste[i], sel.idliste[i], false, false);
		}
	}
	if (sel.options.length > 0) {
		sel.options.selectedIndex = 0;
	}
}
