﻿var cities, types, rooms;

function refreshFilters(){
	collectSelected();
	getFilters(1);
	getFilters(2);
	getFilters(3);
}

function collectSelected(){
	var cbs = document.getElementsByTagName('input');
	var type, id;
	cities = ''; types = ''; rooms = '';
	for(var i = 0; i < cbs.length; i++){
		if($(cbs[i].id).type != 'checkbox' || !$(cbs[i].id).checked) {
			//alert(cbs[i].id+' continue');
			continue;
		}
		type = cbs[i].id.substring(0, cbs[i].id.indexOf('_'));
		id = cbs[i].id.substring(cbs[i].id.indexOf('_')+1);
		//alert('type: '+type+'\nid: '+id);
		switch(type){
			case 'City': cities += (cities != '' ? ',' : '') + id; break;
			case 'Asset': types += (types != '' ? ',' : '') + id; break;
			case 'Room': rooms += (rooms != '' ? ',' : '') + id; break;
		}
	}
	$("lnkSearch").href = format("search_results.aspx?cities={0}&types={1}&rooms={2}&price={3}", cities, types, rooms, $('ctl00_Parent_TBPrice').value);
	//alert('types: '+types+'\ncities: '+cities+'\nrooms: '+rooms);
}

function getFilters(filterType){
	AjaxServices.GetFilters(currLangID, filterType, cities, types, rooms, drawFilter);
}
function drawFilter(ret){
	var type = ret[0];
	var td, prefix, array, key, val;
	switch(type){
		case '1': td = $("cities"); prefix = "City"; array = cities.split(','); break;
		case '2': td = $("types"); prefix = "Asset"; array = types.split(','); break;
		case '3': td = $("rooms"); prefix = "Room"; array = rooms.split(','); break;
	}
	td.innerHTML = '';
	for(var i = 1; i < ret.length; i++){
		key = ret[i].substring(0, ret[i].indexOf('|'));
		val = ret[i].substring(ret[i].indexOf('|')+1);
		td.innerHTML += builCB(prefix, key, val , isIn(array, key));
	}
}
function isIn(array, value){
	for(var i = 0; i < array.length; i++){
		if(array[i] == value) {
			return true;
		}
	}
	return false;
}
function builCB(type, key, value, checked){
	return format('<span class="cb" onclick="javascript: refreshFilters();">'+
		'<input id="{0}" name="cb_{0}" type="checkbox" {2} />'+
		'<label for="{0}"><nobr>{1}</nobr></label></span>',
		type+'_'+key,
		value,
		(checked ? 'checked="checked"' : '')
	);
}