So im updating this if anyone is interested, did manage to make
a simple toggle function with help of JavaScript (AWESOME BTW) 
basically i made a simple nLabel that represent the button
// this is in my label.rc file
*nLabel trayToggle
trayToggle
{
AlwaysOnTop True
X 0
Y 0
Width 10
Height 10
BrushType image
Image tray\tray.png
HoverImage tray\trayhover.png
// so instead of calling the nShow or nHide function here i call a javascript function that i have in the script.js file
*On LeftClickUp none !execute [!nExecScript toggleTray()]
}
and in my script js file i put this
// Gets the value of nTrayHidden with the litestep object
var hidden = LiteStep.Evars.Get("nTrayHidden")
// function to toggle the tray on or off
var toggleTray = function()
{
if (hidden)
{
nCore.Window.Show("nTray");
//sets the value hidden to false when ntray is being shown, otherwise you can't show it again
hidden = false;
}
else
{
nCore.Window.Hide("nTray");
// here i set the hidden value to true after it hides the ntray
hidden = true;
}
};
and now i dont need to set two labels in my rc config, FREAKING AWESOME 
So gonna learn some more javascript cause Litestep is gonna be awesome now !! 