function AJAXStars(container,numstars,shown,unlit,halflit,lit){
    this.numstars=numstars;
    this.container=container;
    this.shown=shown;
    this.unlit=unlit;
    this.halflit=halflit;
    this.lit=lit;
}

AJAXStars.prototype.element=function(n){
    var arr=[];
    var i;
    for(i=1;i<this.numstars+1;i++){
        arr[i]=document.getElementById(this.container+'_'+i);
    }
    this.element=function(m){
        return arr[m];
    }
    return arr[n];
}

AJAXStars.prototype.over=function(n){
    var i;
    for(i=1;i<this.numstars+1;i++){
        if(i<=n){
            this.element(i).src=this.lit;
        }else{
            this.element(i).src=this.unlit;
        }
    }
}

AJAXStars.prototype.out=function(){
    for(i=1;i<this.numstars+1;i++){
        if(i<=this.shown){
            this.element(i).src=this.lit;
        }else{
            this.element(i).src=this.unlit;
        }
    }
}

AJAXStars.prototype.lock=function(n){
    this.out=function(){};
    this.over=function(){};
    document.getElementById(this.container+'_field').value=n;
}

AJAXStars.prototype.callback=function(response,context){
    document.getElementById(context).innerHTML=response;
}