var mt1=false;

getDateAsStr = function(day) {
	var d = new Date();
	if (day=='tomorrow') {
		d.setTime(d.getTime() + (1000*3600*24));
	}
	var day=d.getDate();
	if (day*1<10) day='0'+day; 
	var month=d.getMonth() + 1;
	if (month*1<10) month='0'+month; 
	var year=d.getFullYear();
	var str = day+'.'+month+'.'+year;
	return str;
}

function lastDig(str,pos) {
	if (!pos) pos=0;
	var str1 = str.toString();
	return str1[str1.length-1-pos];
}

function appendDaysStr(num) {
	var str = num+' ';
	if (lastDig(num)=='1' && lastDig(num,1)!='1') {
		str+='день';
	} else if (lastDig(num)=='2' || lastDig(num)=='3' || lastDig(num)=='4') {
		str+='дня';
	} else str+='ночей';
	return str;
}

//Параметры для поиска тура по умолчанию
var TSParams = {
	price1: 0,
	price2: 2000,
	currency: 'euro',
	adultnum: 1,
	childnum: 0,
	fromId: 0,
	toId: 0,
	fromName: '',
	toName: '',
	date: getDateAsStr('tomorrow'),
	plusminus: 3,
	period1: 4,
	period2: 8,
	type: 1,
	level: '',
	page: 1
};

//Переключает поле в правом меню
function toggleRMitem($item) {
	if (!$item.hasClass("menulr_selected")) {
		$('#menu_right .mnr_items').removeClass("menulr_selected");
		$('#menu_right .menulr_selected_div').hide();
		$('#menu_right .menulr_default_div').show();
		$item.addClass("menulr_selected");
	} else $item.removeClass("menulr_selected");
	$item.children(".menulr_default_div,.menulr_selected_div").toggle();
	onResize();
	
	saveAll();
	genAll();
	goSearchTour();
	
	numsteps=0;
}
function hideRMitem($item) {
	if ($item.hasClass("menulr_selected")) $item.removeClass("menulr_selected");
}

function goSearchTour() {
	goTo(gl_addr+'#toursearch/pr1='+TSParams.price1+'/pr2='+TSParams.price2+'/cur='+TSParams.currency
				+'/adult='+TSParams.adultnum+'/child='+TSParams.childnum+'/fromid='+TSParams.fromId
				+'/toid='+TSParams.toId+'/dt='+TSParams.date+'/pm='+TSParams.plusminus
				+'/pd1='+TSParams.period1+'/pd2='+TSParams.period2+'/type='+TSParams.type+'/level='+TSParams.level+'/page='+TSParams.page);	
}

//Сохраняет параметры поиска для "Кошелька" 
function saveMoney() {
	TSParams.price1 = $('#leftBlock > span').html();
	TSParams.price2 = $('#rightBlock > span').html();
	TSParams.adultnum = $('#nr_adult').val();
	TSParams.childnum = $('#nr_child').val();
	TSParams.currency = $('.valuta a.selected:first').attr('name');
}

//Сохраняет параметры поиска для "Направлений" 
function saveDirections() {
	TSParams.fromName = $('#dir_from').val();
	TSParams.fromId = $('#dir_from_id').val();
	TSParams.toName = $('#dir_to').val();
	TSParams.toId = $('#dir_to_id').val();
}

//Сохраняет параметры поиска для "Сроков" 
function saveDates() {
	TSParams.date = $('#sel_date').val();
	TSParams.plusminus = $('#plusmn').val();
	TSParams.period1 = $('#per_start').val();
	TSParams.period2 = $('#per_end').val();
}

function saveType() {
	TSParams.type = '';
	$('.ts_chkbox').each(function(){
		if ($(this).attr('checked')) {
			TSParams.type+=$(this).val()+',';
		} 
	});
}

function saveLevel() {
	if ($('input[name="rating-1"]').val()!='undefined') TSParams.level = $('input[name="rating-1"]').val();
	else TSParams.level;
}

function saveAll() {
	saveMoney();
	saveDirections();
	saveDates();
	saveType();
	saveLevel();
}

//генерирует строку для "Кошелька" по заданным параметрам
function genMoneyStr(price1,price2,currency,adultnum,childnum) {

	var str = '';
	if (price1!=price2) {
		switch(currency) {
			case 'dollar':str='от '+price1+'$ до '+price2+'$';break;
			case 'euro':str = 'от '+price1+'€ до '+price2+'€';break;
			case 'rub':str = 'от '+price1+' до '+price2+' рублей';break;
		}
	} else {
		switch(currency) {
			case 'dollar':str = 'около '+price1+'$';break;
			case 'euro':str = 'около '+price1+'€';break;
			case 'rub':str = 'около '+price1+' рублей';break;
		}
	}
	
	if (adultnum>1) {str=str+'<br /> на '+adultnum+' взрослых';}
	else if (adultnum==1) {str=str+'<br /> на 1 взрослого';}
	
	if (childnum>1 && adultnum>=1) {str=str+' и на '+childnum+' детей';}
	else if (childnum>1 && adultnum==0) {str=str+'<br /> на '+childnum+' детей';}
	else if (childnum==1 && adultnum>=1) {str=str+' и на 1 ребёнка';}
	else if (childnum==1 && adultnum==0) {str=str+'<br /> на 1 ребёнка';}
	else if (childnum<1 && adultnum<1) {str=str+'<br /> на 1 взрослого';}
	
	$('#ts_money_str').html(str);
	
	return str;
}

//генерирует строку для "Направлений" по заданным параметрам
function genDirStr(place1,place2) {

	var str = 'все доступные';
	var fromStr = '';
	var toStr = '';
	
	if ( place1 != '' || place2 != '' ) {
		var fromStr=place1;
		var toStr=place2;
		if (fromStr=='') fromStr = 'из любого места';
		if (toStr=='') toStr = 'в любое место';
		str = fromStr + ' >>> ' + toStr;
	}
	
	$('#ts_dir_str').html(str);
	
	return str;
}

//генерирует строку для "Сроков" по заданным параметрам
function genDateStr(date,plusminus,period1,period2) {

	var str = 'все доступные';
	
	var plmnstr='';
	if (plusminus>0) plmnstr+=' &plusmn; '+appendDaysStr(plusminus);
	
	var perstr=' на ';
	if (period1==period2) perstr+=period1+' ночей';
	else perstr+='период от '+period1+' до '+period2+' ночей';
	str = 'с '+date+plmnstr+perstr;
	$('#ts_dates_str').html(str);
	
	return str;
}

//генерирует строку для "Типа тура"
function genTypeStr(typeid) {
	var str = '';
	
	var Types = typeid.split(',');
	
	for (t in Types) {
		if (Types[t]!='') {
			str += $('span[id="type_'+Types[t]+'"]').html()+', ';
		}
	}

	$('#ts_types_str').html(str);
	
	return str;
}

//генерирует строку для "Уровня"
function genLevelStr(level) {

	var str = 'все доступные';
	
	if (level==1) str='1 звезда';
	else if (level==5) str='5 звёзд';
	else if (level!='') str=level+' звезды';
	
	$('#ts_level_str').html(str);
	
	return str;
}



function genAll() {
	genMoneyStr(TSParams.price1,TSParams.price2,TSParams.currency,TSParams.adultnum,TSParams.childnum);
	genDirStr(TSParams.fromName,TSParams.toName);
	genDateStr(TSParams.date,TSParams.plusminus,TSParams.period1,TSParams.period2);
	genTypeStr(TSParams.type);
	genLevelStr(TSParams.level);
}

$(document).ready(function(){
	
	$('.valuta a').click(function(){
		$('.valuta a').removeClass('selected');
		$(this).addClass('selected');
		
		if ($(this).attr('name')=='rub') {
			$('#trackbar').removeClass('trackbar_div_euro').addClass('trackbar_div_rub');
			setPricesArray('rub');
			setPrices(price_nodes['l'], price_nodes['r']);
		}
		else if ($(this).attr('name')=='dollar' || $(this).attr('name')=='euro') {
			$('#trackbar').removeClass('trackbar_div_rub').addClass('trackbar_div_euro');
			setPricesArray('euro');
			setPrices(price_nodes['l'], price_nodes['r']);
		}
	});
	
	/* Очищаем все поля в форме поиска тура и запрещаем ей сабмитицца */
	$('#tour_search_form')[0].reset();
	$('#tour_search_form').submit(function(){
		return false;
	});
	
	$('#dir_from,#dir_to').autocomplete(gl_addr + "script/ajax/place_search.php", {
		delay:200,
		minChars:1,
		matchSubset:1, 
		autoFill: false,
		matchContains:false,
		cacheLength:20,
		formatItem: function(i) {
			return i[0]+', <span style="font-size:9px">'+i[3]+'</span>';
		},
		selectFirst:true,
		max:10,
		scroll:false
	});
	$('#dir_from').result(function(e,d,f){
		$('#dir_from_id').val(d[1]);
		saveDirections();
		goSearchTour();
	});
	$('#dir_to').result(function(e,d,f){
		$('#dir_to_id').val(d[1]);
		saveDirections();
		goSearchTour();
	});

	$('.ts_types > li > a').click(function(){
		var typeid = $(this).attr('id').split('type_')[1];
		$('#ts_type').val(typeid);
		$('.lnk[name="ts_type_lnk"]').click();
	});
	
	$('#strars1').stars();
	
	$('#sel_date').val(getDateAsStr('tomorrow'));
	
	$('.mnr_items .lnk').click(function(){
		toggleRMitem($(this).parent());
	});
	
	$('#nr_adult, #nr_child').spin({max:60,min:0,imageBasePath:'img/'});

	$('#sel_date').datepicker();
	$('#plusmn, #per_start, #per_end').spin({max:60,min:0,imageBasePath:'img/'});
	
	$('#per_start').change(function(){
		if ($(this).val()*1>$('#per_end').val()*1) $('#per_end').val($(this).val()*1);
	});
	$('#per_end').change(function(){
		if ($(this).val()*1<$('#per_start').val()*1) $('#per_start').val($(this).val()*1);
	});
	
	var prices = new Array();
	function getRound(n,d){
		return Math.round(n/d)*d;
	}
	function setPricesArray(currency){
		if (!currency) {currency = 'euro';}
		if (currency=='rub') {
			for(i=0; i <= 200; i++){
				if((i >= 0) && (i < 50)) {prices[i] = getRound(i * 200, 1000);}
				if((i >= 50) && (i < 100)) {prices[i] = getRound((i-50) * 800, 5000) + 10000;}
				if((i >= 100) && (i < 150)) {prices[i] = getRound(((i-100) * 1000),10000) + 50000;}
				if((i >= 150) && (i <= 200)) {prices[i] = getRound(((i-150) * 8000),50000) + 100000;}
			}
		} else if (currency=='euro') {
			for(i=0; i <= 200; i++){
				if((i >= 0) && (i < 50)) {prices[i] = getRound(i*10, 50);}
				if((i >= 50) && (i < 100)) {prices[i] = getRound(i*10, 100);}
				if((i >= 100) && (i < 150)) {prices[i] = getRound(((i-100) * 80),500) + 1000;}
				if((i >= 150) && (i <= 200)) {prices[i] = getRound(((i-150) * 200),1000) + 5000;}
			}
		}
	}
	setPricesArray();
	var price_nodes = new Array();
	
	function formatThousands(number) {
		number = number.toString();
		if (number.length<=3) {
			return number;
		} else {
			if (number.length<=6) {
				return number.substr(0,number.length-3).toString() + number.slice(-3);
			}
		} 
	}
	
	function setPrices(l, r) {
		$('#leftBlock > span').html(formatThousands(prices[l].toString()));
		price_nodes['l'] = l;
		$('#rightBlock > span').html(formatThousands(prices[r].toString()));
		price_nodes['r'] = r;
	}
	$('#trackbar').trackbar({
		onMove : function() {setPrices(this.leftValue, this.rightValue);},
		width : 211,
		leftLimit : 0,
		leftValue : 5,
		rightLimit : 200, // unit of value
		rightValue : 110, // unit of value
		clearValues : true,
		moveValues:true,
		imgPath : "img/imgtrackbar/"
	});
});
