/**
 * Transforma las respuestas de disponibilidad del servidor al formato
 * esperado por la aplicación
 */
 
/**
 * cliente rpc
 */
if((jsonrpc==undefined)||(jsonrpc==null))
	var jsonrpc = new JSONRpcClient("/x/JSON-RPC");

/**
 * Retorna el resumen de disponibilidad por mercado
 */
function getAvailabilityByDayWrapper(buyerId, vendorId, checkIn, checkOut, availables){
	if (availables == undefined) {
		var availables = new Object();
		availables.map = new Object();
	}
	
	var tmpAvailables = jsonrpc.JsonVendedor.getAvailabilityByDay(buyerId, vendorId, checkIn, checkOut);
	for(marketId in tmpAvailables.map){
		if (availables.map[marketId] == undefined) {
			availables.map[marketId] = new Object();
			availables.map[marketId].map = new Object();
		}
		var actual = strToDate(checkIn);
		
		for(var i in tmpAvailables.map[marketId].list){
			if(tmpAvailables.map[marketId].list[i]!=0){
				availables.map[marketId].map[dateToStr(actual)] = tmpAvailables.map[marketId].list[i];
			}
			actual = shiftDate(actual, 1);
		}
	}
	
	return availables;
}


/**
 * Retorna el resumen de disponibilidad por mercado y tipo de habitacion
 */
function getAvailabilityByMarketTypeRoomDayWrapper(buyerId, vendorId, checkIn, checkOut, availables){
	if (availables == undefined) {
		var availables = new Object();
		availables.map = new Object();
	}
	
	var tmpAvailables = jsonrpc.JsonVendedor.getAvailabilityByMarketTypeRoomDay(buyerId, vendorId, checkIn, checkOut);
	for(marketId in tmpAvailables.map){
		if (availables.map[marketId] == undefined) {
			availables.map[marketId] = new Object();
			availables.map[marketId].map = new Object();
		}
		
		for(typeRoomId in tmpAvailables.map[marketId].map){
			if (availables.map[marketId].map[typeRoomId] == undefined) {
				availables.map[marketId].map[typeRoomId] = new Object();
				availables.map[marketId].map[typeRoomId].map = new Object();
			}
			
			var actual = strToDate(checkIn);
			
			for(var i in tmpAvailables.map[marketId].map[typeRoomId].list){
				if(tmpAvailables.map[marketId].map[typeRoomId].list[i]!=0){
					availables.map[marketId].map[typeRoomId].map[dateToStr(actual)] = tmpAvailables.map[marketId].map[typeRoomId].list[i];
				}
				actual = shiftDate(actual, 1);
			}
		}
	}
	
	return availables;
}
