var fWork = false;

var timeShow = 300;
var timeClose = 800;

function checkFieldText(elem, svalidator, smessage) {
  
  if (elem.value.match(svalidator)) return true;
  
  //$('#alert').empty().append(smessage);
  window.f_err = smessage;
  elem.focus();
  return false;
  
}

//function showSubMenu(obj) {
//  
//  var tmp = $(obj);
//  
//  tmp.find('ul').stop().show().animate({height: tmp.find('ul').css('top')}, timeShow);
//  
//  if (tmp.has('ul').size()) tmp.addClass('open');
//}
//
//function hideSubMenu() {
//  $('li.over ul').stop().slideUp(timeClose, function() {
//    $(this).parent().removeClass('open');
//  });
//}


function showTours(cid, idx) {
  
  $('table.item-list td.active').removeClass('active');
  
  $('#td_' + cid).addClass('active');
  
  $.post('/rs/tour_main/', {cid: cid, idx: idx}, function(data) {
    
    var t = (fWork && data.length) ? '<h3>Спецпредложения</h3>' : '';
    
    $('#main_spec').empty().append(t + data);
    
  });
  
}

function showEventsTours(cid, dates) {
  
  $('table.item-list td.active').removeClass('active');
  
  $('#td_' + cid).addClass('active');
  
  $.post('/rs/events_tours/', {cid: cid, 'dates[]': dates}, function(data) {
    
		if(data)
			$('#main_spec').empty().append(data);
		else
			$('#main_spec').remove();
    
  });
  
}

//function showSubMenuSub(obj) {
//  
//  var tmp = $(obj);
//  
//  tmp.find('ul').stop().show().animate({height: tmp.find('ul').css('top')}, timeShow);
//  
//  if (tmp.has('ul').size()) tmp.addClass('open');
//}
//
//function hideSubMenuSub() {
//  $('li.in_el ul').stop().slideUp(timeClose, function() {
//    $(this).parent().removeClass('open');
//  });
//  
//}

function SearchCustomTours(objA, cid, datesList) {

	var container = {};
	container = $(objA).parents('div.filter_spec_cont');
	
	var date = {};
	var days = {};
	var city = {};
	var ttype1 = {};
	var objFilter = {};
	var path = '';
	
	date = container.find('select.dates option:selected').val();
	days = container.find('select.days option:selected').val();
	city = container.find('select.cities option:selected').val();
	ttype1 = container.find('select.ttype1 option:selected').val();
	
	//alert('date:'+date+'\n days:'+days+'\n city:'+city+'\n ttype1:'+ttype1);
	
	objFilter = {
		date: date,
		days: days,
		city: city,
		ttype1: ttype1
	};
	
	if(datesList) {
		path = '/rs/search_events_tours/';
	}
	else {
		path = '/rs/search_tour_main/';
		datesList = [];
	}
	
	$('#main_spec table.table2').remove();
  
	$.getJSON(path, {cid: cid, idx: false, filter: objFilter, 'dates[]': datesList}, function(data) {
		if(data) {
			$('#main_spec').append(data.tours_list);
			//$('div.filter_spec_cont_parent').html(data.filter);
		}
		else
			alert('Туры не найдены. Попробуйте изменить параметры поиска.');
  });
	
	return false;
}

function UpdateFilter(objSel, cid, datesList) {
	
	var container = {};
	container = $(objSel).parents('div.filter_spec_cont');
	
	var date = {};
	var days = {};
	var city = {};
	var ttype1 = {};
	var objFilter = {};
	var path = '';
	
	date = container.find('select.dates option:selected').val();
	days = container.find('select.days option:selected').val();
	city = container.find('select.cities option:selected').val();
	ttype1 = container.find('select.ttype1 option:selected').val();
	
	//alert('date:'+date+'\n days:'+days+'\n city:'+city+'\n ttype1:'+ttype1);
	
	objFilter = {
		date: date,
		days: days,
		city: city,
		ttype1: ttype1
	};
	
	if(datesList) {
		path = '/rs/search_events_tours/';
	}
	else {
		path = '/rs/search_tour_main/';
		datesList = [];
	}
	
	$.getJSON(path, {cid: cid, idx: false, filter: objFilter, 'dates[]': datesList}, function(data) {
		if(data) {
			$('div.filter_spec_cont_parent').html(data.filter);
		}
  });
	
}

// список дефолтных значений. Ключ равен имени инпута 
var	defValList = {
		'fio': 'Имя',
		'company': 'Компания',
		'email': 'Контактный E-mail',
		'message': 'Текст сообщения'
};

$(document).ready(function() {
	
	var selectorsList = [];
	// формируем список селекторов, которым назначим обработчики focus и blur
	for(key in defValList)
		selectorsList.push('[name="'+key+'"]');
	
	// привязываем события к инпутам
	$(selectorsList.join(',')).bind({
		'focus': function(event) {
			InputDefVal(event.type, this);
		},
		'blur': function(event) {
			InputDefVal(event.type, this);
		}
	});
	
});


function InputDefVal(event_type, objInput) {
	// функция убирает дефолтные значения в инпутах, при помещении курсора в них
	// и восстанавливает, если ничего не было введено
	
	if(event_type=='focus' && $(objInput).val()==defValList[$(objInput).attr('name')])
		$(objInput).val('');
	else if(event_type=='blur' && $(objInput).val()=='')
		$(objInput).val(defValList[$(objInput).attr('name')]);
	
}

function CheckFeedback(form_id) {
	var notEmptyFields = {
		'fio': 'Введите имя',
		'company': 'Введите название компании',
		'message': 'Введите текст сообщения'
	};
	
	for(key in notEmptyFields) {
		field = $('[name="'+key+'"]');
		if(field.val() == '' || field.val()==defValList[key]) {
			alert(notEmptyFields[key]);
			field.get(0).focus();
			return;
		}
	}
	
	if($('select[name="dep"] option:selected').val()=='0') {
		alert('Выберите отдел, которому адресовано сообщение');
		return;
	}
	
	email_val = $('[name="email"]').val();
	if (!email_val.match(/^\s*[a-zA-Z0-9._-]+\@[^\s:,]+\.[^\s:,]+$/i)) {
		if(email_val=='' || email_val==defValList['email'])
			alert("Пожалуйста, укажите E-mail.");
		else
			alert("Пожалуйста, введите корректный E-mail адрес.");
			
		$('[name="email"]').get(0).focus();
		return;
	}
	
	
	$('#'+form_id).get(0).submit();
}
