University =
{
	defaultAcParams:
	{
		extraParams: {},
		max: 15,
		width: 312,
		cacheLength: 0,
		matchSubset: false,
		minChars: 3,
		selectFirst: false,
		moreItems: false,
		formatItem: function(row) {
			return row[0];
		},
		formatResult: function(row) {
			return row[0];
		},
		scroll: true
	},

	init: function(event) {
		var defaultOptions = {};
		$this = this;
		$this.universityTextbox = (typeof defaultOptions.universityTextbox != "undefined") ? defaultOptions.universityTextbox : '#universityJQ';
		$this.universityHidden  = (typeof defaultOptions.universityHidden  != "undefined")  ? defaultOptions.universityHidden : '#university_id';
		$this.universityCountry = (typeof defaultOptions.universityCountry != "undefined") ? defaultOptions.universityCountry : '#locationJQCountry';

		University.universityText = jQuery($this.universityTextbox).attr('value');

		if (jQuery($this.universityTextbox).length > 0)	{
			if (typeof jQuery($this.universityTextbox).attr('value') == "undefined" || jQuery($this.universityTextbox).attr('value').length == 0) {
				jQuery($this.universityHidden).attr('value', '');
			}

			universityInput = jQuery($this.universityTextbox);
			universityInput.bind("focus", function() {
				universityInput.select();
			});

			if (jQuery($this.universityCountry).length > 0) {
				University.defaultAcParams.minChars = 0;
			}

			var acParams = {
				extraParams: {
					handler:  'AJAX_JSON_UserProfileManager',
					action:   'loadUniversitiesList',
					limit:     20,
					countryId: function() {
						if (jQuery($this.universityCountry).length > 0) {
							return jQuery($this.universityCountry).val();
						}
						return 0;
					}
				}
			};

			acParams = $.extend(University.defaultAcParams, acParams);

			jQuery($this.universityTextbox).autocomplete(DOMAIN_URI + '/ajax.php', acParams);

			jQuery($this.universityTextbox).result(function(event, data, formatted) {
				var hidden = jQuery($this.universityHidden);
				hidden.val(data[1]);
				hidden.trigger('customChange');
			});

			universityInput.bind("keyup", function(e) {
				if (University.universityText != jQuery($this.universityTextbox).attr('value')) {
					jQuery($this.universityHidden).attr('value', '');
				}
			});

			jQuery($this.universityCountry).bind('change', function (event) {
				jQuery($this.universityHidden).attr('value', 0);
				jQuery($this.universityTextbox).attr('value', '');
			});

			jQuery($this.universityTextbox).blur(function () {
				if (this.value == '') {
					jQuery($this.universityHidden).attr('value', '');
				}
			});
		}
	}
}

jQuery(University.init);