
Ext.onReady(function() {
	
	var context = 'right';

	if (Ext.data.SimpleStore) {
		var CercaEPrenotaRegionsStore = new Ext.data.SimpleStore({
			autoLoad: true,
			data: cercaPrenotaRegionsArray,
			fields: [
				{name: 'value', mapping: 0},         
				{name: 'text', mapping: 1},         
				{name: 'type', mapping: 2},    
				{name: 'parent', mapping: 3},    
				{name: 'sortInfo', mapping: 4}    
			]
//			,
//			sortInfo: {
//			    field: 'sortInfo',
//			    direction: 'ASC' // or 'DESC' (case sensitive for local sorting)
//			}
		});
		
		var CercaEPrenotaRegionsTpl = new Ext.XTemplate(
	        '<tpl for="."><div style="line-height:1.2em" class="cercaPrenota_right_class_combo_list_element">',
	        '<span style="{[values.type === "DESTINATION" ? "font-size:0.75em;line-height:1.0em;" : (values.type === "AREA" ? "font-weight:bolder;" : "font-size:1.25em;font-weight:bolder;font-style:italic")]}">{text}',
			'<span style=\"color:gray\">{[values.type === "DESTINATION" ? " (" + values.parent + ")" : ""]}</span>', 
	        '</span>',
	        '</div></tpl>'
	    );

		var CercaEPrenotaRegionsCombo = new CustomComboBox({
			id: 'cercaPrenota_right_ext_region',
		    typeAhead: false,
		    triggerAction: 'all',
			displayField: 'text', 
			valueField: 'value', 
		    transform:'cercaPrenota_right_region',
		    width: 170,
			listWidth: 400,
			listAlign: Ext.isIE6 ? 'tr-tl' : 'tr-br',
			hideTrigger: true,
		    forceSelection: true,
			allowBlank: false,
			tpl: CercaEPrenotaRegionsTpl,
			itemSelector: 'div.cercaPrenota_right_class_combo_list_element',
			store: CercaEPrenotaRegionsStore,
			mode: 'local',
			lazyInit: false,
			listeners: {
				'focus': {
					fn: function(combo){
						if (combo.disabled) {
							return;
						}
						
						if (combo.isExpanded()) {
							combo.collapse();
							combo.el.focus();
						} else {
							combo.onFocus({});
							if (combo.triggerAction == 'all') {
								combo.doQuery(combo.allQuery, true);
							}
							else {
								combo.doQuery(combo.getRawValue());
							}
							combo.el.focus();
						}
					}
				}
			}
		});
		
		// imposto l'area se presente nei dati di contesto
		var default_area = document.getElementById('cercaPrenota_' + context + '_default_area');
		if (default_area) {
			if (default_area.value.length > 0) {
				CercaEPrenotaRegionsCombo.setValue(default_area.value); 
			} else {
				CercaEPrenotaRegionsCombo.setValue('-1'); 
			}
		} else {
			CercaEPrenotaRegionsCombo.setValue('-1'); 
		}
	}
	
	cercaPrenota_init(context);
/*	
	// *******************************************************************
	// Ripristino il valore di default. Serve per IE e il back del browser
	// che sovrascrive l'impostazione iniziale
	// *******************************************************************
	var numberOfNights = document.getElementById("cercaPrenota_right_numberOfNights");
	var default_numberOfNights = document.getElementById("cercaPrenota_right_default_numberOfNights");

	var rooms = document.getElementById("cercaPrenota_right_rooms");
	var default_rooms = document.getElementById("cercaPrenota_right_default_rooms");

	var productTypes = new Array(); var productTypesDefault = new Array()
	var adults = new Array();       var adultsDefault = new Array();
	var children = new Array(); 	var childrenDefault = new Array();
	var childrenAges = new Array();	var childrenAgesDefault = new Array();
	for (var i = 1; i <= 5; i++) {
		productTypes[i] = document.getElementById("cercaPrenota_right_room" + i + "_product_type");
		productTypesDefault[i] = document.getElementById("cercaPrenota_right_default_room" + i + "_product_type");

		adults[i] = document.getElementById("cercaPrenota_right_room" + i + "_adults");
		adultsDefault[i] = document.getElementById("cercaPrenota_right_default_room" + i + "_adults");

		children[i] = document.getElementById("cercaPrenota_right_room" + i + "_children");
		childrenDefault[i] = document.getElementById("cercaPrenota_right_default_room" + i + "_children");

		childrenAges[i] = new Array(); childrenAgesDefault[i] = new Array();
		for(var j = 1; j <= 4; j++) {
			childrenAges[i][j] = document.getElementById("cercaPrenota_right_room" + i + "_age" + j);
			childrenAgesDefault[i][j] = document.getElementById("cercaPrenota_right_default_room" + i + "_age" + j);
		}
	}
	
	numberOfNights.value = default_numberOfNights.value;
	rooms.value = default_rooms.value;

	for (var i = 1; i <= 5; i++) {
		productTypes[i].value = productTypesDefault[i].value;
		adults[i].value = adultsDefault[i].value;
		children[i].value = childrenDefault[i].value;

		for(var j = 1; j <= 4; j++) {
			childrenAges[i][j].value = childrenAgesDefault[i][j].value;
		}
	}
	// *******************************************************************
*/	
});
