multi function gui texture?

hey, im trying to kinda get a on/off feature going on,

i understand that it is triggering both right away, i just dont understand how to make it stop from happening.

My older solution would be to make the actual gui texture object be switched with a different gui texture object with the reversing script on it, but there just seems that there would be a better way about it.

any input?

static var S_on = 1;


private var gui :GUITexture;
function Start(){
	gui=GetComponent(GUITexture);
}

function Update(){

var count = Input.touchCount;


	var touch :Touch = Input.GetTouch(0);
	if (touch.phase == TouchPhase.Began &gui.HitTest(touch.position)  S_on == 1)
	{	
	screen_cast_test_1.S_Enabled =0;
	S_on = 0;
	guiTexture.color = Color(.1,.3,.4);
	}
	
	
		
	if (touch.phase == TouchPhase.Began  gui.HitTest(touch.position)  S_on == 0)
	{
	
		screen_cast_test_1.S_Enabled=1;	
	S_on = 1;

			guiTexture.color = Color.grey;
		
	}	

		
		
}

found it out, heres the fix

static var S_on = 1;


private var gui : GUITexture;

function Start(){
	gui=GetComponent(GUITexture);
}

function Update(){

var count = Input.touchCount;


	var touch :Touch = Input.GetTouch(0);
	if (touch.phase == TouchPhase.Began &gui.HitTest(touch.position))
	{	
		if (S_on == 1)
		{
		screen_cast_test_1.S_Enabled =0;
		S_on = 0;
		guiTexture.color = Color(.1,.3,.4);
		}
		else
		{
		screen_cast_test_1.S_Enabled=1;	
		S_on = 1;
		guiTexture.color = Color.grey;	
			
		}
	}
	
	
	

}