$(document).ready(function(){
	
	initRegionSelector();	
	
	if(document.getElementById('reg-step2')){
		validateFormSettings();
		$('.regform').validate();
	}
	
	if(document.getElementById('reg-step3')){
		initStep3();	
	}
	
	
		
});


function initRegionSelector(){
	
	if(document.getElementById('regionselector') && document.getElementById('currentregion')) {
	
		var r_selector = $('#regionselector');
			r_title = $('#currentregion');
			
			r_msg = r_title.children('strong');
			
			r_msg_default = r_msg.text();
			
			r_title.bind('mouseenter', function(){ r_selector.addClass('opened'); r_msg.text('Выберите регион'); });
			r_selector.bind('mouseleave', function(){ r_selector.removeClass('opened'); r_msg.text(r_msg_default); });
		
	}
	
}


function initStep3(){

	$.datepicker.regional['ru'] = {
			closeText: 'Закрыть',
			prevText: '←',
			nextText: '→',
			currentText: 'Сегодня',
			monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
			monthNamesShort: ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'],		
			dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
			dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
			dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
			dateFormat: 'dd mm yy', firstDay: 1,
			isRTL: false};
	
	//Set Russian localisation 	
	$.datepicker.setDefaults($.datepicker.regional['ru']);

	initStations();
	
}

function initStations(){

	//Отключаем кнопку выбора станции
	$('#stationSelectSubmit').attr('disabled','disabled');
	
	//выбор станции
	$('#stationsList li').click(function(){
		
		$('.ss-selected').removeClass('ss-selected');				
		$(this).addClass('ss-selected');
		
		$('#stationSelectSubmit').removeAttr('disabled');

	});
	
	//Клик по кнопке выбрать станцию
	$('#stationSelectSubmit').click(function(){
		
		selectStation();
		tb_remove();
		
	});
	
}

function selectStation(){

	var st_holder = $('#station');
	
	var station = $('.ss-selected').eq(0).children('dl');
	
	var stationId = station.attr('id').replace('station-', '');	
	
	$('#h-station').val(stationId);
	
	//Клонируем выбранную станцию
	station = station.clone();
		
	//Убираем у клона атрибут id
	station.removeAttr('id');
	
	//Вставляем клона в поле выбранной станции
	st_holder.empty().append(station);
	
	$('#ssSelectHolder a').text('Выбрать другой пункт');
	
	//Подключить расписание станции
	initStationSchedule(stationId);
	
}

function initStationSchedule(sid){
	
	var calendar = $('#calendar'); 
	
	if(calendar.hasClass('hasDatepicker')){
		
		calendar.removeClass('hasDatepicker');
		loadTime(sid);
		
	}	
	
	if($('#h-date').val() != '') {
		
		var d = $('#h-date').val();
		d = d.split('.');
		
		defDate = new Date(d[0] + '/' + (d[1] - 1 )+ '/' + d[2]);
		
	}
	else{
		defDate = null;
	}
		
	calendar.empty().datepicker({	
		dateFormat: 'd mm yy',
		constrainInput: false,
		
		altField: '#h-date',
		altFormat: 'yy.mm.dd',
		
		minDate: '+2d',
		maxDate: "+1m",
		
		defaultDate: defDate, //Подставлять выбранную дату, если просматриваем список по дате
		duration: '',
		
		onSelect: function(){
			loadTime(sid);
		}
	});
	
}

function loadTime(s){

	
	var timeBlock = $('#time_available');

	timeBlock.empty();
	timeBlock.addClass('loading');
	
	request = {
		day: $('#h-date').val(),
		postid: s
	}
	
    timeBlock.load('/post/AvailableTime', request , function() {
		
		$('.timetable li').not('.closed').click(function(){
								
			$('.tt-selected').removeClass('tt-selected');
			
			$(this).addClass('tt-selected');			
			
			$('#h-time').val($(this).text());
			
		});

		timeBlock.removeClass('loading');
    });

}

function validateFormSettings(){
	
	$.extend(jQuery.validator.messages, {
	        required: "Это поле необходимо заполнить",
	        remote: "Исправьте это поле чтобы продолжить",
	        email: "Введите правильный email адрес.",
	        url: "Введите верный URL.",
	        date: "Введите правильную дату.",
	        dateISO: "Введите правильную дату (ISO).",
	        number: "Введите число.",
	        digits: "Введите только цифры.",
	        creditcard: "Введите правильный номер вашей кредитной карты.",
	        equalTo: "Повторите ввод значения еще раз.",
	        accept: "Пожалуйста, введите значение с правильным расширением.",
	        maxlength: jQuery.format("Нельзя вводить более {0} символов."),
	        minlength: jQuery.format("Должно быть не менее {0} символов."),
	        rangelength: jQuery.format("Введите от {0} до {1} символов."),
	        range: jQuery.format("Введите число от {0} до {1}."),
	        max: jQuery.format("Введите число меньше или равное {0}."),
	        min: jQuery.format("Введите число больше или равное {0}.")
	});
		
}
