var Ajax;
if (Ajax && (Ajax != null)) {
        Ajax.Responders.register({
          onCreate: function() {
        if($('spinner') && Ajax.activeRequestCount>0)
          Effect.Appear('spinner',{duration:0.5,queue:'end'});
          },
          onComplete: function() {
        if($('spinner') && Ajax.activeRequestCount==0)
          Effect.Fade('spinner',{duration:0.5,queue:'end'});
          }
        });
}

function parseJson(jsonText){
  return eval('(' + jsonText + ')');
}


function trim(str) {
    return str.replace(/^\s+/, '')
}


function imposeMaxLength(fieldName, limit) {
     if (fieldName.value.length > limit-1) {
        fieldName.value = fieldName.value.substring(0, limit-1);
     }
}


function textCounter(field,cntfield,maxlimit) {
    if (field.value.length > maxlimit){ // if too long...trim it!
        field.value = field.value.substring(0, maxlimit);
        if(cntfield)
            cntfield.value="0";
        // otherwise, update 'characters left' counter
    }
    else{
        if(cntfield)
            cntfield.value = maxlimit - field.value.length;
    }
}