Elements in draggable window do not remain fixed [SOLVED]

I have the following code implemented in the draggable window function. The idea is that a player can open their inventory and move around the textures in various “slots” that are defined int he function. However, when the window is shifted the slots move along the y-axis. The x-axis seems to be fine and remains fixed. The code block is for the first inventory slot:

if(GUI.Button(new Rect(myBagWindowSize.width*0.97f, 2, 20, 15), " "))
		{
			checkMyBag = false;
		}

		GUI.DrawTexture(new Rect(0, 0, myBagWindowSize.width, myBagWindowSize.height), bagTexture);

		#region main bag display
		float sizex = myBagWindowSize.width*(64f/1024f);
		float sizey = myBagWindowSize.height*(64f/640f);
		Vector2 invertedMousePos = GUIUtility.ScreenToGUIPoint(Input.mousePosition);
		invertedMousePos.y = myBagWindowSize.height - invertedMousePos.y;

		float pos0x = myBagWindowSize.width*(64f/1024f);
		float pos0y = myBagWindowSize.height*(352f/640f);
		Rect slot0 = new Rect(pos0x, pos0y, sizex, sizey);
		if(main_bag[0] != "")
		{
			#region ...code
			GUI.DrawTexture(slot0, _Icons.GetIcon(main_bag[0]));

			if(!global_item_selected && slot0.Contains(invertedMousePos))
			{
				main_bag_item_hover[0] = true;
				Cursor.SetCursor(grab_ico, new Vector2(grab_ico.width/2, grab_ico.height/2), CursorMode.Auto);
			}
			else if(!global_item_selected && !slot0.Contains(invertedMousePos) && main_bag_item_hover[0])
			{
				main_bag_item_hover[0] = false;
				Cursor.SetCursor(main_cursor, new Vector2(0,0), CursorMode.Auto);
			}

			if(!global_item_selected && slot0.Contains(invertedMousePos) && Input.GetMouseButtonUp(0))
			{
				whileSelecting = true;
				Cursor.SetCursor(_Icons.GetIcon(main_bag[0]), new Vector2(sizex/2, sizey/2), CursorMode.Auto);
				main_bag[0] = "";
				global_index_from = 0;
				global_item_selected = true;
			}
			#endregion
		}
		else if(global_item_selected && slot0.Contains(invertedMousePos) && Input.GetMouseButtonUp(0) && !whileSelecting)
		{
			#region ...code
			global_item_selected = false;
			item_replaced_bagType = "main";
			global_index_to = 0;
			if(main_bag[0] != "")
			{
				Cursor.SetCursor(_Icons.GetIcon(main_bag[0]), new Vector2(sizex/2, sizey/2), CursorMode.Auto);
			}
			item_replaced = true;
			#endregion
		}

Make its coordinates relative to the window, currently you only do that for the X axis:

new Rect(myBagWindowSize.width*0.97f, 2, 20, 15)

Solved:

Answer is to use Event.current.mousePosition in place of Input.mousePosition.
Using that I can avoid the lines :
Vector2 invertedMousePos = GUIUtility.ScreenToGUIPoint(Input.mousePosition);
invertedMousePos.y = myBagWindowSize.height - invertedMousePos.y;

and simply use:
Vector2 invertedMousePos = Event.current.mousePosition;