translated script from C# to JS; GUI not working properly?

I followed a script from a tutorial, but I wanted to convert it to JS, and, when I do so, the GUI elements don’t working properly.
I’m trying to make a level bar and an experience bar, and the experience bar gets bigger the more experience the player has. However, in JS, the bar is stuck at a tiny length, and will only go backwards.
It works properly if I remove the “Screen.width” and simply use a number there instead, but the bar then gets proportionally longer every level, which is undesirable.

here is the C# script:
using UnityEngine;
using System.Collections;

public class Playerlevel : MonoBehaviour {
	
	private int curLevel = 1;
	private int maxLevel;
	
	public int curExp = 1;
	private int maxExp = 100;
	
	public float expBarLength;

	
	void Start () 
	{
	
	}
	

	void Update () 
	{
		AdjustCurrentExp(0);
		if(curExp >= maxExp)
		{
			curExp = 1;
			curLevel++;
			maxExp += (20 * curLevel);
		}
	}
	void OnGUI()
	{
		GUI.Box (new Rect(20, 30, expBarLength, 20), curExp + "/" + maxExp);	
		GUI.Box (new Rect(20,70,200, 20 ), "Level" + curLevel);
	}
	
	public void AdjustCurrentExp(int adjExp)
	{
		curExp += adjExp;
		
		expBarLength = (Screen.width/ 3) * (curExp / (float)maxExp);
	}
}

and this is my JS translation:

#pragma strict

var curLevel = 1;
var maxLevel = 10;

var curExp = 1;
var maxExp = 100;

var expBarLength;





function Update () 
{
	AdjustCurrentExp(0);
	if(curExp >= maxExp)
	{
		
		maxExp += (20 * curLevel);
		curExp = 1;
		
		if(curLevel < maxLevel)
		{
			curLevel++;
		}
	}
}
function OnGUI()
{
	GUI.Box (Rect(20, 30, expBarLength, 20), curExp + "/" + maxExp);	
	GUI.Box (Rect(20,70,200, 20 ), "Level" + curLevel);
}

public function AdjustCurrentExp(adjExp: int)
{
	curExp += adjExp;
	expBarLength = (Screen.width/3) * (curExp / maxExp);
}

Remove public from your function, there is no need for it. Change

public function AdjustCurrentExp(adjExp: int)

to

function AdjustCurrentExp(adjExp : int)

Aside from that, I sincerely suggest sticking to C#. It is a much more uniform and proper language than UnityScript and will serve you much better in the long run.