var RegionList = {
	allowedCountries: {lv:1, hu:1, lt:1, ie:1, gb:1},
	displayCities: {lv:1, hu:1, lt:1, gb:1},
	regionElement:null,
	cityElement:null,
	currentCountry:null,
	count:0,
	regionLimitText:'',
	getCities:function(element, country, regionId){
		if (eval('RegionList.displayCities.'+country)){
			$(element).show();
			$.get('/rq/regionlist.php', {mode:"city", cntry:country, region:regionId}, function(data){
				$(element).empty();
	            $('city', data).each(function(i) {
					var el = document.createElement('option');
					el.value = this.getAttribute('id');
				   	el.innerHTML = this.getAttribute('title');
					$(element).append(el);
				});
				$(element).each(function(){
					$(this).get(0).selectedIndex = 0;
				});
			});
		}else{
			$(element).hide();
		}
	},
	allowedRegion:function(country){
		return eval('RegionList.allowedCountries.'+country);
	},
	getRegions:function(element, country){
		if (this.allowedRegion(country)){
			this.regionElement = $(element);
			$.get('/rq/regionlist.php', {mode: "region", cntry:country}, function(data){
                $(element).empty();
	            $('region', data).each(function(i) {
					var el = document.createElement('option');
					el.value = this.getAttribute('id');
					el.innerHTML = this.getAttribute('title');
					$(element).append(el);
				});
				$(element).get(0).selectedIndex = 0;
                $(element).get(0).onchange();
			});
		}else{
			$(element).html('<option value="0">-----</option>');
			$(element).each(function(){
				$(this).get(0).selectedIndex = 0;
				$(this).get(0).onchange();
			});
		}
	},
    addRegionList:function(el, countryCode){
		if (this.count < 4){
			$('#'+el).append('<tr id="regionSelector'+this.count+'"><td><select onchange="if (RegionList.allowedRegion(this.value)) {RegionList.changeCountry(' + this.count + ', this.value);$(\'#regionlistbox' + this.count + '\').show();}else{$(\'#regionlistbox' + this.count + '\').hide();}" name="country[' + this.count + ']" id="countryList' + this.count + '"></select><div id="regionlistbox' + this.count + '"><select style="width:180px" onchange="RegionList.getCities(\'#cityList' + this.count + '\', $(\'#countryList'+this.count+'\').get(0).value, this.value);" id="regionList' + this.count + '" name="region[' + this.count + ']"></select><select style="width:180px" id="cityList' + this.count + '" name="city[' + this.count + ']"></select></div></td><td><a href="#" onclick="$(\'#regionSelector' + this.count + '\').remove(); return false;"><img src="/img/deny.gif" /></a></td></tr>');
			this.getCountryList(this.count, countryCode);
			this.count++;
		}else{
			alert(RegionList.regionLimitText);
		}
	},
	getCountryList:function(i, countryCode){
		$.get('/rq/regionlist.php', {mode:"country", cntry:countryCode}, function(data){
			$('country', data).each(function(){
				var el = document.createElement('option');
				el.value=this.getAttribute('id');
				el.innerHTML = this.getAttribute('title');
				$('#countryList' + i).append(el);
			});
			$('#countryList' + i).get(0).selectedIndex = $('#countryList' + i + ' [@value=' + countryCode.toLowerCase() + ']').get(0).index;
			$('#countryList' + i).get(0).onchange();
		});
	},
	changeCountry:function(i, val){
		if (this.allowedRegion(val)) {
			$('.regionrow').show();
			RegionList.getRegions('#regionList'+i, val, slng);
		}else{
			$('.regionrow').hide();
		}
	}
}