All flashlight scripts don't turn off my spotlight

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Flashlight : MonoBehaviour {
	public AudioClip clickSound;
	public float batteryLifeInSec = 300f;
	public float batteryPercentage = 100;
	
	private bool on;
	private float timer;
	
	void Update() {
		Light lite = GetComponent<Light>();
		timer += Time.deltaTime;
		
		if(Input.GetKeyDown(KeyCode.F) && timer >= 0.3f && batteryPercentage > 0) {
			on = !on;
			audio.PlayOneShot(clickSound);
			timer = 0;
		}
		
		if(on) {
			lite.enabled = true;
			batteryPercentage -= Time.deltaTime * (100 / batteryLifeInSec);
		}
		else {
			lite.enabled = false;
		}
		
		batteryPercentage = Mathf.Clamp(batteryPercentage, 0, 100);
		
		if(batteryPercentage == 0) {
			lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
		}
		
		if(batteryPercentage > 0 && batteryPercentage < 25) {
			lite.intensity = Mathf.Lerp(lite.intensity, 0.5f, Time.deltaTime);
		}
		
		if(batteryPercentage > 25 && batteryPercentage < 75) {
			lite.intensity = Mathf.Lerp(lite.intensity, 0.8f, Time.deltaTime);
		}
		
		if(batteryPercentage > 75 && batteryPercentage <= 100) {
			lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
		}
	}
}

I can click F to turn the light on and off and it works. However the battery runs out and it remains on. No errors or anything. I’m using Unity 4.5.1 if anyone is wondering.

I fixed it somehow. I have no idea how, but its working. I think it was just the objects I had and their tags conflicting with it. But it’s fixed. Now I just gotta work out a battery and gui script for it