function DoSaveSelectToStyle()
{
var gd = moi.geometryDatabase;
var activstyleidx = moi.geometryDatabase.activeStyle;
var objects = gd.getObjects();
var styles = gd.getObjectStyles();
var si = -1;
var savedobjsnum = 0;
for ( var i = 0; i < styles.length; ++i )
{
if ( styles.item(i).name.search( /selectset/i ) != -1 )
si = i;
}
// if we do not have style called 'selectset'
if ( si == -1 )
{
var style = gd.addStyle();
style.name = 'selectset';
si = style.index;
}
// reselect all selectset objs
for ( var i = 0; i < objects.length; ++i )
{
var obj = objects.item(i);
if(obj.styleIndex == si)
{
obj.styleIndex=activstyleidx;
obj.selected=true;
savedobjsnum +=1;
}
else
{
if(obj.type = 7)
{
var subs = obj.getSubObjects();
for ( var j = 0; j < subs.length; ++j )
{
var sub = subs.item(j);
if(sub.styleIndex == si)
{
sub.styleIndex=activstyleidx;
sub.selected=true;
savedobjsnum +=1;
}
}
}
}
}
// if no objs in style selectset
if(savedobjsnum == 0)
{
var selobjects = gd.getSelectedObjects();
selobjects.setProperty( 'styleIndex', si );
}
}
DoSaveSelectToStyle();