function vibranceCRF(vibValue)
{
var r = new ActionReference();
r.putProperty(stringIDToTypeID("property"), stringIDToTypeID("smartObject"));
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
var acr = executeActionGet(r).getObjectValue(stringIDToTypeID("smartObject")).getList(stringIDToTypeID("filterFX")).getObjectValue(0).getObjectValue(stringIDToTypeID("filter"));
var d = new ActionDescriptor();
var r = new ActionReference();
r.putIndex(stringIDToTypeID("filterFX"), 1);
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
acr.putInteger(charIDToTypeID("Vibr"), vibValue);
//acr.put ... others
var d1 = new ActionDescriptor();
d1.putObject(stringIDToTypeID("filter"), stringIDToTypeID("Adobe Camera Raw Filter"), acr);
d.putObject(stringIDToTypeID("filterFX"), stringIDToTypeID("filterFX"), d1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}