End-Game on Collider

I am making game that is basically a maze, but the huge thing I need, the last part, is to end the game when the First Person Character hit's the water at the end of the maze, or, if the time runs out. This is the time script I am using.

private var startTime;
private var restSeconds : int;
private var roundedRestSeconds : int;
private var displaySeconds : int;
private var displayMinutes : int;

var countDownSeconds : int;

function Awake() {
    startTime = Time.time;

function OnGUI () {
    //make sure that your time is based on when this script was first called
    //instead of when your game started
    var guiTime = Time.time - startTime;

    restSeconds = countDownSeconds - (guiTime);

    //display messages or whatever here -->do stuff based on your timer
    if (restSeconds == 60) {
        print ("One Minute Left");
    if (restSeconds == 0) {
        print ("Time is Over");
        //do stuff here
    //display the timer
    roundedRestSeconds = Mathf.CeilToInt(restSeconds);
    displaySeconds = roundedRestSeconds % 60;
    displayMinutes = roundedRestSeconds / 60; 

    text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds); 
    GUI.Label (Rect (43, 10, 100, 90), text);

Something like this should do it, assuming you're using a character controller:

function OnControllerColliderHit(hit : ControllerColliderHit)
    if (hit.gameObject.name == "EndGame Water") //change the name as you please
        Application.LoadLevel("End Game Scene Level Name");