//?city_from_id=3667&duration=7&search_id=16236724&date_from=2012-02-24&board_id=1&adults=2&childs=0&tst=1329236194927&tab=tour
//?city_from_id=3667&duration=8&search_id=16236724&date_from=2012-02-24&board_id=1&room_id=993&adults=2&childs=0&tst=1329236194927
var dt_now = new Date();
var dt_now_tstamp = dt_now.getTime();

var build_search_result = function(s){
	for(var i in s){
		if(s[i]['min_price_parameters'] === undefined) continue;
		var c = srchTemplate.cloneNode(true);			
		resultsContainer.appendChild(c);		
		hotel_id = parseIntX(i);
		build_search_result_block(s[i], c);
	}
}
var build_search_result_block = function(data, container){
	if(data['min_price_parameters']){
        var default_parameters = data['min_price_parameters'].split('&');
        var default_date = default_parameters[0];
        var default_board_id = default_parameters[1];
	  var default_room = default_parameters[2];
    }

	var resLeft = getEls( '.srchResLeft', container).elements[0];
	var resCenter = getEls('.srchResCenter', container).elements[0].getElementsByTagName('TABLE');
	var resRight = getEls('.srchResRight', container).elements[0];
	
	var url = container.getElementsByTagName('A')[0];
	var img = resLeft.getElementsByTagName('IMG')[0];
	var title = resCenter[0].getElementsByTagName('H2')[0];
	var comfort = resCenter[0].getElementsByTagName('SPAN')[0];
	var resort = resCenter[0].getElementsByTagName('STRONG')[0];
	var dates = getEls('.dates', resCenter[1]).elements[0];
	var boards = getEls('.boards', resCenter[1]).elements[0];
	var rooms = getEls('.rooms', resCenter[1]).elements[0];
	var days = resCenter[2].getElementsByTagName('TD');
	var type =getEls('.srchResType', resRight).elements[0];
	var srchResTowel = getEls('.srchResTowel', resRight).elements[0];
	var price_current = getEls('.srchResPriceCurrent', resRight).elements[0];
	var transport_image = getEls('.srchResTransport img', resRight).elements[0];

// placement
	var adults  = parseInt(document.getElementById('adults').value);
	var childs  = parseInt(document.getElementById('childs').value);
	var pmnt, pmnt2;
	if(adults == 1) pmnt = '<img src="/design/jcom/new_img/people_1.png" alt="1 взрослый" title="1 взрослый" />';
	else if(adults == 2) pmnt = '<img src="/design/jcom/new_img/people_2.png" alt="2 взрослых" title="2 взрослых" />';
	else if(adults > 2) pmnt = '<img src="/design/jcom/new_img/people_1.png" alt="Взрослых: " title="Взрослых: " /><img src="/design/jcom/new_img/people_x.png" alt="x " />'+adults;
	else pmnt = '';
	pmnt2 = '';
	if(childs == 1) pmnt2 = '<img src="/design/jcom/new_img/people_children_1.png" alt="1 ребенок" title="1 ребенок" />';
	else if(childs == 2) pmnt2 = '<img src="/design/jcom/new_img/people_children_2.png" alt="2 детей" title="2 детей" />';
	else if(childs > 2) pmnt2 = '<img src="/design/jcom/new_img/people_children_1.png" alt="Детей: " title="Детей: " /><img src="/design/jcom/new_img/people_x.png" alt="x" />'+childs;
	else pmnt2 = '';
	getEls('.srchResPeople', resRight).elements[0].innerHTML = pmnt + ((pmnt != '' && pmnt2 != '')?'<img src="/design/jcom/new_img/people_plus.png" alt=" и " title=" и" />':'')+pmnt2;
	
	title.innerHTML = data['hotel_name'];
	comfort.innerHTML = data['comfort'];
	resort.innerHTML = data['country'] + ((data['resort'] != '')?', ' + data['resort']:'');
	img.setAttribute('src', data['image']);
	transport_image.setAttribute('src', '/design/jcom/new_img/transport_'+data['transport']+'.png');
	url.setAttribute('href', data['url']);
	/* cортировка дат */
	var dsorted = [], dsorted_tmp = new Date();
	for(var i in data['dates']) dsorted.push(parseIntX(i));
	dsorted = dsorted.sort();
	for(var i in dsorted){
		if(typeof dsorted[i] == 'function') continue;
		var dd = new Date();
		dd.setTime(dsorted[i]*1000);
		var dd1 = _element(dates, 'option',{'text':dd.format('%d.%m.%y'), 'value':dsorted[i]});
		if('a_'+dsorted[i] == default_date) dd1.setAttribute('selected','selected');
	}
	for(var i in data['dates']['a_'+dates.value]['boards']){
		var dd1 = _element(boards, 'option',{'text':data['dates']['a_'+dates.value]['boards'][i]['name'], 'value':parseIntX(i)});
		if(i == default_board_id) dd1.setAttribute('selected','selected');
	}
	for(var i in data['dates']['a_'+dates.value]['boards']['a_'+boards.value]['rooms']){
		var dd1 = _element(rooms, 'option',{'text':data['dates']['a_'+dates.value]['boards']['a_'+boards.value]['rooms'][i]['name'], 'value':i});
		if(i == default_room) dd1.setAttribute('selected','selected');
	}
	(function(data, dates, boards, rooms, days, price_current, duration, url,city_from_id){
		dates.onchange = function(){ updateBoards(); 	};
		boards.onchange = function(){ updateRooms(); };
		rooms.onchange = function(){updatePrices();};
		var updateBoards = function(){
			boards.innerHTML = '';
			for(var i in data['dates']['a_'+dates.value]['boards']) _element(boards, 'option',{'text':data['dates']['a_'+dates.value]['boards'][i]['name'], 'value':parseIntX(i)});
			 boards.update();			
		}
		var updateRooms = function(){
			rooms.innerHTML = '';
			for(var i in data['dates']['a_'+dates.value]['boards']['a_'+boards.value]['rooms'])
			 _element(rooms, 'option',{'text':data['dates']['a_'+dates.value]['boards']['a_'+boards.value]['rooms'][i]['name'], 'value':i});
			 rooms.update();			
		}
	var updatePrices = function(){
		var p = data['dates']['a_'+dates.value]['boards']['a_'+boards.value]['rooms'][rooms.value]['durations'];
		var dt = new Date();
		dt.setTime(parseInt(dates.value,10)*1000);
		dt = dt.format('%Y-%m-%d');
		var bestprice = 0, bestday = 0, selectedday = 0, selectedprice = 0, prices_qty = 0, selected_currency = '$', selected_search_id=0, selected_room_id, selected_duration, transport_img;
		duration1 = duration - 1; //костыль для жупа, ниже все duration заменены на duration1. печаль...
		for(var i=-2+duration1,l=3+duration1;i<l;i++){
			var d = days[i-duration1+2];
			removeClass(d, 'selected');
			recommended = (p['a_'+i] && p['a_'+i]['recommended'])?true:false;
			transport_img = (p['a_'+i] && p['a_'+i]['no_avia'])?'plane_none':'plane';
			if(city_from_id == 0) transport_img = 'none';
			transport_url = (p['a_'+i] && p['a_'+i]['no_avia'])?'0':'1';			
			hot = (p['a_'+i] && p['a_'+i]['hot'])?true:false;
			exclusive = (p['a_'+i] && p['a_'+i]['exclusive'])?true:false;
			if(p['a_'+i]){
				prices_qty++;
				new_price = (hot && exclusive)?p['a_'+i]['price_new']:p['a_'+i]['price'];
				if(bestday == 0 || bestprice > p['a_'+i]['price']/i){ bestprice = p['a_'+i]['price']/i; bestday = i;}
				if(selectedday == 0 || i<=duration1 || data['min_price'] == p['a_'+i]['price']) {
					selectedday=i; 
					selectedprice = p['a_'+i]['price'];
					selected_currency = p['a_'+i]['currency_symbol'];
					selected_search_id = p['a_'+i]['search_id'];
					selected_room_id = rooms.value;
					selected_transport_url = (transport_img == 'plane')?'1':0;
					transport_image.setAttribute('src', '/design/jcom/new_img/transport_'+transport_img+'.png');
					if(transport_url == '0') 
						transport_image.setAttribute('title', 'В цену не включена стоимость международного авиаперелета');
					else
						transport_image.removeAttribute('title');
					//selected_duration = ;
				}
				removeClass(d, 'disabled');
				d.innerHTML = '<a href="'+data['url']+'?city_from_id='+city_from_id+'&duration='+i+'&search_id='+p['a_'+i]['search_id']+'&date_from='+dt+'&board_id='+boards.value+'&room_id='+rooms.value+'&adults='+adults+'&childs='+childs+'&tst='+dt_now_tstamp+'&transport='+transport_url+'"><div>'+
				(i+1)+' дней<strong>'+new_price+p['a_'+i]['currency_symbol']+'</strong></div></a>';
			}else{
				addClass(d, 'disabled');
				d.innerHTML = '<div>'+(i+1)+' дней<strong> - </strong></div>';
			}
		}
		
		if(prices_qty>1) getEls('strong', days[bestday-duration1+2]).elements[0].innerHTML += '<span>Выгодно!</span>'; 
		if(prices_qty == 0) return;
		addClass(days[selectedday-duration1+2], 'selected');
		price_current.innerHTML = selectedprice + selected_currency; // запись в выбранную цену справа

		//p[selectedday]['exclusive'] = true;
		if(p['a_'+selectedday]['recommended']){
			//type.innerHTML = '<div class="srchResTypeTip"></div>Рекомендованный тур';
			addClass(type,'srchResRecommended'); 
		}
		else{ 
			removeClass(type,'srchResRecommended');
			if(p['a_'+selectedday]['hot'] == false && p['a_'+selectedday]['exclusive'] == false) type.innerHTML = '';
		}
		
		if(p['a_'+selectedday]['hot']){
			//type.innerHTML = '<div class="srchResTypeTip"></div>Горящий тур';
			addClass(type,'srchResHot');
		}
		else{
			removeClass(type,'srchResHot');
			if(p['a_'+selectedday]['recommended'] == false && p['a_'+selectedday]['exclusive'] == false) type.innerHTML = '';
		}
	    
	     if(p['a_'+selectedday]['exclusive']){
			//type.innerHTML = '<div class="srchResTypeTip"></div>Эксклюзивный тур';
			addClass(type,'srchResExclusive');
		}
		else{
			removeClass(type,'srchResExclusive');
			if(p['a_'+selectedday]['hot'] == false && p['a_'+selectedday]['recommended'] == false) type.innerHTML = '';
		}
		var ddd = new Date();
		var hr = url.getAttribute('href').split('?');
		ddd.setTime(parseIntX(dates.value)*1000);
		url.setAttribute('href', data['url']+'?tab=about&city_from_id='+city_from_id+'&duration='+(selectedday) + '&search_id='+selected_search_id+'&date_from='+ddd.format('%Y-%m-%d')+'&board_id='+boards.value+'&adults='+parseInt(document.getElementById('adults').value)+'&childs='+parseInt(document.getElementById('childs').value)+'&room_id='+selected_room_id+'&tst='+dt_now_tstamp+'&transport='+selected_transport_url); 
		srchResTowel.setAttribute('href', url.getAttribute('href')+'&tab=tour');
		title.parentNode.setAttribute('href', url.getAttribute('href'));
	}
	updatePrices();
	})(data, dates, boards, rooms, days, price_current, parseInt(document.getElementById('duration').value), url, document.getElementById('city_from_id').value);	
} 


