int SailHandlerSideWind::runHandler(Coordinate const& cor)
{
	int wind;
	int inf = m_windMap.begin()->first;
	float axeRef = cor.calculateAxeRef(cor.getBoueAvLat(), cor.getBoueAvLon(), cor.getBoueApLat(), cor.getBoueApLon());
	int windAngle = cor.calculateWindAxeRef(cor.getAxeBoat(), cor.getWindAxe());
	float res = 35;

	if(windAngle <=50 && windAngle>=0)
	{
		res = Parsser::readConfigInt("FrontWindSail");
	}

	else if(windAngle >= 160 && windAngle <= 180)
	{
		res = Parsser::readConfigInt("BackWindSail");
	}

	else
	{
		for(pair<const int,int> &i : m_windMap)
		{
			if(windAngle<i.first && windAngle>inf)
			{
				if(cor.getWindAxe() == i.first)
				{
					wind = i.first;
					break;
				}
				if(windAngle < i.first-((i.first - inf)/2))
				{
					wind = inf;
				}
				else
				{
					wind = i.first;
				}
				break;
			}
			inf = i.first;
		}
		res = m_windMap[wind];
	}

	return res;
}