jQuery.cookie = function (key, value, options) { 
  if (arguments.length > 1 && String(value) !== "[object Object]") {
      options = jQuery.extend({}, options);
      if (value === null || value === undefined) {
        options.expires = -1;
      }
      if (typeof options.expires === 'number') {
        var days = options.expires, t = options.expires = new Date();
        t.setDate(t.getDate() + days);
      }
      value = String(value);
      return (document.cookie = [
        encodeURIComponent(key), '=',
        options.raw ? value : encodeURIComponent(value),
        options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
        options.path ? '; path=' + options.path : '',
        options.domain ? '; domain=' + options.domain : '',
        options.secure ? '; secure' : ''
      ].join(''));
  }    
  options = value || {};
  var result, decode = options.raw ? function (s) {return s;} : decodeURIComponent;
  return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

var id; var ph; //Инициализация

// Сравнение региона с нашим списком
function checkRegion(region, district, data_region) {	
	for	(var i = 0; i < data_region.length; i++) {
		if(data_region[i].name === region) {			
			id = data_region[i].id;			
			break;
		} else if (data_region[i].pid === district) {
			id = data_region[i].id;
			region = data_region[i].name;
		}					
	}
	var obj = {id:id, region: region };
	return obj;
}

// Показывает телефон относительно id региона

function showRegionPhone(id, phone_region, phone_moscow) {
	if(id) id = parseInt(id);		
	if(id > 2) return phone_region;
	else return phone_moscow;
}

function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

$(function() {
	
	//Если нет кук, то человек зашел первый раз
	if(!$.cookie('region')) {
		$('#region_name_div').hide();
		$('select#district').change(function() {$('#region_name_div').fadeIn(500)});
		obj = checkRegion(region, district, data_region);
		id = obj.id; region = obj.region;		
		ph = showRegionPhone(id, phone_region, phone_moscow);
		$('#region-phone dd').text(ph);
		if(id) {
			$('a#region-link').text(decodeURIComponent(region));
			$.cookie('region', id);			
			$.cookie('region_name', region);
			$.cookie('district', district);				
			$.cookie('region_phone', ph);
			$('#region_name :selected').val(region);
			$('#district :selected').val(district);
			$('input#region').val(id);			
		}
	} else { // Иначе возьмем инфу из кук		
		$('a#region-link').text(str_replace("+", ' ', decodeURIComponent($.cookie('region_name'))));
		$('#region_name :selected').text(str_replace("+", ' ', decodeURIComponent($.cookie('region_name'))));
		$('#region-phone dd').text(($('a#region-link').text() == region_default || $('a#region-link').text() == region_moscow_region) ? phone_moscow : phone_region);
		$('input#region').val($.cookie('region'));		
	}
	//Меняем регион при нажатии на кнопку применить
	$('#locate_region').submit(function() {
			id = ($('#region_name :selected').val() == '' ? 1 : $('#region_name :selected').val());
			region = ($('#region_name :selected').val() == '' ? region_default : $('#region_name :selected').text());
			district = $('#district :selected').val();
			ph = showRegionPhone(id, phone_region, phone_moscow);
			$.cookie('region', id);
			$.cookie('region_name', region);
			$.cookie('district', district);
			$.cookie('region_phone', ph);
			$('a#region-link').text(decodeURIComponent(region));
			$('#region-phone dd').text(ph);
			$('div#region-popup a.close').click();
			$('input#region').val(id);
			return false;
		});
})
