// Author: Mihai Bazon, 2006
// http://www.bazon.net/mishoo/
// This code is (c) Dynarch.com, 2006.
//
// Permission is hereby granted to use this code 
// under the terms of the GNU LGPL. (www.gnu.org/licenses/lgpl.html)
var hasChanged = false;

function getCities(event) {
		// take away the false if i ever get this working
	if(event!="8" && event!="46" && false) {
		var url = "/members/profile/profile_find_city.aspx?city_name=" + $('city_name').value;
//		hasChanged = false;
		if($('city_name').value.length > 1) {
			new Ajax(url, {
			method: 'get',
			onComplete: function(response) {
//					alert(hasChanged);
				if(response.length > 2 && !hasChanged) {
					var current_length = getSelectionStart($('city_name'));
					contentStr = unescape(response);
					$('city_name').value = contentStr;
					setSelectionRange($('city_name'),current_length,$('city_name').value.length);
					hasChanged = false;
				} else {
					hasChanged = false;
				}
				return null;
			}
		  }).request();
		} else {
			hasChanged = false;
		}
	} else {
		hasChanged = false;
	}
}

function clearStatus() {
	hasChanged=true;
}
	
var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);

function setSelectionRange(input, start, end) {
	if (is_gecko) {
		input.setSelectionRange(start, end);
	} else {
		// assumed IE
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	}
};

function getSelectionStart(input) {
	if (is_gecko)
		return input.selectionStart;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(true);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
};

function getSelectionEnd(input) {
	if (is_gecko)
		return input.selectionEnd;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(false);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
};
