XML 32 R36.htm IDEA: XBRL DOCUMENT v2.4.1.9
Stock Options (Detail) (USD $)
3 Months Ended 6 Months Ended
Dec. 31, 2014
Dec. 31, 2014
Dec. 31, 2013
Employee 2012 Stock Option Plan [Member]      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Outstanding, beginning of year   78,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Granted 44,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
44,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
78,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Terminated/Lapsed   (10,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Exercised   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Outstanding, end of period 112,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
112,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
78,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Exercisable, end of period 27,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
27,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
15,700us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Weighted average fair value at grant date of options granted   $ 2.82us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 3.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Total intrinsic value of options exercised   $ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Total intrinsic value of options outstanding 13,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
13,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
44,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Total intrinsic value of options exercisable 3,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
3,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
9,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Outstanding, beginning of period, weighted average exercise price   $ 5.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Granted, weighted average exercise price   $ 4.43us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 5.73us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Terminated/lapsed, weighted average exercise price   $ 4.88us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Exercised, weighted average exercise price   $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Outstanding, end of period, weighted average exercise price $ 5.30us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 5.30us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 5.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
Exercisable, end of period, weighted average exercise price $ 5.26us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 5.26us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
$ 5.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Employee2012StockOptionPlanMember
NonEmployee 2012 Stock Option Plan [Member]      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Outstanding, beginning of year   25,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Granted 10,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
10,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
25,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Terminated/Lapsed   0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Exercised   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Outstanding, end of period 35,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
35,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
25,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Exercisable, end of period 12,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
12,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
5,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Weighted average fair value at grant date of options granted   $ 2.86us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 3.30us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Total intrinsic value of options exercised   0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Total intrinsic value of options outstanding 3,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
3,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
35,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Total intrinsic value of options exercisable 1,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
1,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
7,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Outstanding, beginning of period, weighted average exercise price   $ 4.88us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Granted, weighted average exercise price   $ 4.37us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 4.88us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Terminated/lapsed, weighted average exercise price   $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Exercised, weighted average exercise price   $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Outstanding, end of period, weighted average exercise price $ 4.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 4.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 4.88us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Exercisable, end of period, weighted average exercise price $ 4.80us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 4.80us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
$ 4.88us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_Nonemployee2012StockOptionPlanMember
Employee Stock Option Plan 2002 [Member]      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Outstanding, beginning of year   265,750us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
651,140us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Granted   0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Terminated/Lapsed   (1,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
(30,240)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Exercised   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
(326,800)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Outstanding, end of period 264,750us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
264,750us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
294,100us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Exercisable, end of period 264,750us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
264,750us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
294,100us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Weighted average fair value at grant date of options granted   $ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Total intrinsic value of options exercised   0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
854,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Total intrinsic value of options outstanding 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
254,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Total intrinsic value of options exercisable $ 0us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 0us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 254,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Outstanding, beginning of period, weighted average exercise price   $ 6.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 4.18us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Granted, weighted average exercise price   $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Terminated/lapsed, weighted average exercise price   $ 6.02us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 1.74us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Exercised, weighted average exercise price   $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 2.70us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Outstanding, end of period, weighted average exercise price $ 6.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 6.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 6.07us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
Exercisable, end of period, weighted average exercise price $ 6.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 6.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member
$ 6.07us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= nssc_EmployeeStockOptionPlan2002Member