/*@!Encoding:1252*/
includes
{
#include "TurnIndicator_Include.cin"
}

variables
{
  int gResetRightIndicator = kINDICATOR_RESETED; 
}

on linFrame RightTurn
{
  int warningIndicator;

  warningIndicator = @LIN::WarningIndicatorState;

  if (this.Right_TurnIndication == kOn && kINDICATOR_INACTIVE == @LIN::LeftIndicatorState && kINDICATOR_INACTIVE == warningIndicator)
  {
    @LIN::RightIndicatorState = kINDICATOR_ACTIVE;

    if (kMAXINDICATORMESSAGES == gIndicatorCounter)
    {

      if ($Right_TurnIndicator_State == kOn) 
      {
        $Right_TurnIndicator_State = kOff;
      }
      else
      {
        $Right_TurnIndicator_State = kOn;
      }

      gIndicatorCounter = 0; 
    }
     
    ++gIndicatorCounter;  
    gResetRightIndicator = kINDICATOR_RESET;
  }
  else if (this.Right_TurnIndication == kOff && kINDICATOR_INACTIVE == warningIndicator && kINDICATOR_RESET == gResetRightIndicator)
  {
    @LIN::RightIndicatorState = kINDICATOR_INACTIVE;
    $Right_TurnIndicator_State = kOff;
    gIndicatorCounter = kMAXINDICATORMESSAGES;
    gResetRightIndicator = kINDICATOR_RESETED;
  }
}

