var selectOpen = '';
var selectOver = false;
var selectHandleClicked = false;

function updateSelect(fieldName, code, value) {
	$(fieldName + "Input").value = value;
	$(fieldName + "Hidden").value = code;
	hideSelect(fieldName);
	$(fieldName + "Input").focus();
}

function hideSelect(fieldName) {
	$(fieldName + "Dropdown").setStyles({display: 'none'});
	selectOpen = '';
	lastInput = '###';
}

function bodyOnclick() {
	if (selectOpen != '' && !selectHandleClicked && !selectOver) hideSelect(selectOpen);
	selectHandleClicked = false;
}

function onBlurFS(fieldName) {
	if ($(fieldName + "Input").value == '')
		$(fieldName + "Input").value = previousValue; 
}

function clickOnFilterSelect(fieldName, evenIfEmpty) {
	$(fieldName + "Input").focus();
	if ($(fieldName + "Input").value) previousValue = $(fieldName + "Input").value;
	else if(previousValue) { $(fieldName + "Input").value = previousValue; return; } 
	$(fieldName + "Input").value = '';
	if (!evenIfEmpty) return;
	
	selectHandleClicked = true;
	if (selectOpen == fieldName) {
		hideSelect(fieldName);
	}
	else {
		if (selectOpen != '') hideSelect(selectOpen);
		showFilterSelect(fieldName);
	}
}

function clickOnSimpleSelect(fieldName) {
	selectHandleClicked = true;
	if (selectOpen == fieldName) {
		hideSelect(fieldName);
	}
	else {
		if (selectOpen != '') hideSelect(selectOpen);
		showSimpleSelect(fieldName);
//		$(fieldName + "Input").focus();
	}
}

var previousValue = '';
var lastInput = '###';
var myRequest = new Request();

function showSimpleSelect(fieldName) {
	$(fieldName + "Dropdown").setStyles({display: 'block', opacity: 0}).set('tween', {duration: 200}).fade('in');
	selectOpen = fieldName;
}

function showFilterSelect(fieldName) {
	newInput = $(fieldName + "Input").value;
	
	if (newInput != lastInput) {
		myRequest.cancel();
		myRequest = new Request({
			method: 'get', 
			url: BasePath + "/home/rt_filterselect.php",
			onSuccess: function(responseText, responseXML) {
				$(fieldName + "List").innerHTML = responseText;
				$(fieldName + "Dropdown").setStyles({display: 'block', opacity: 0}).set('tween', {duration: 100}).fade('in');
			},
			onCancel: function() {}
		});
		myRequest.send("language=" + Language + "&fieldName=" + fieldName + "&input=" + newInput + "&code_country=" + $("countryHidden").value);
		
	}
	selectOpen = fieldName;
	lastInput = newInput;
}

if (parseInt(navigator.appVersion) > 3) {
	document.onkeyup = keyUp;
	if (navigator.appName=="Netscape") 
		document.captureEvents(Event.KEYUP);
}

var lastKeyUp = '';
function keyUp(e) {
	if (parseInt(navigator.appVersion) > 3) {
		var evt = navigator.appName == "Netscape" ? e:event;
		lastKeyUp = evt.keyCode;
	}
	return true;
}

