The The OpenGL Shading Language Spec version 1.20 shows the following:
Code :
struct gl_LightSourceParameters {
    vec4  ambient;             // Acli
    vec4  diffuse;             // Dcli
    vec4  specular;            // Scli
    vec4  position;            // Ppli
    vec4  halfVector;          // Derived: Hi
    vec3  spotDirection;       // Sdli
    float spotExponent;        // Srli
    float spotCutoff;          // Crli
                               // (range: [0.0,90.0], 180.0)
    float spotCosCutoff;       // Derived: cos(Crli)
                               // (range: [1.0,0.0],-1.0)
    float constantAttenuation; // K0
    float linearAttenuation;   // K1
    float quadraticAttenuation;// K2
uniform gl_LightSourceParameters  gl_LightSource[gl_MaxLights];

Also, shows the following code snippets:
Code :
lightDir = normalize(vec3(gl_LightSource[0].position)); shows many uniform* functions but nothing seems to deal with an array of uniform variable like gl_LightSource[0].

How do we set the gl_LightSource[0] fields in JavaScript? For example, (gl_LightSource[0].position

Thanks in advance for your help.