/**
 *  randomDelete 1.0
 *  Base on
 *  Ken Frederick
 *  ken.frederick@gmx.de
 *  http://cargocollective.com/kenfrederick/
 *  http://kenfrederick.blogspot.com/
 *
 *  Modified by Jolin Masson
 *  http://jolinmasson.com/
 *
 *  With help from gareth williams and pqbd
 *
 *	this script uses stuff borrowed from keegan's "rando-color.js"
 *	as well as from some other things i had written in processing
 *
 */

script.coordinateSystem = 'bottom-up';
script.angleUnits = 'radians';

var sel;

var values = {
	b_delete: true,
	val_deleteAmt: 50,
};

// gui components
var components = {
	val_deleteAmt: { 
		type: 'number',
		fullSize: true,
		enabled: true
	},

	deleteRule: { 
		type: 'ruler',
		fullSize: true,
	},

	submit: { 
		type: 'button', 
		value: 'Apply',
		onClick: function() {
			Main();
		}
	}
};

// Setup
function Setup() {
	// initialize the palette window
	var palette = new Palette('Random Delete 1.0', components, values);
}

// Update
function Update() {
}

// Main
function Main() {
	// document properties
	sel = activeDocument.getItems( { type: Item, selected: true } );

	//range values between 0 and 100
	components.val_deleteAmt.range = [0, 100];

	// loop through selected items
	for ( i in sel ) {
		var object = sel[i];

		if( object.isValid() ) {
			// ------------------------------------
			// delete
			// ------------------------------------
			if ( values.b_delete ) {
				if (Math.random() <= values.val_deleteAmt/100) object.remove();
			}
		} //end isValid()
	}
} //end Main()

// ------------------------------------------------------------------------
// methods
// ------------------------------------------------------------------------
function random(minr, maxr) {
	return minr + Math.random() * (maxr - minr);
}

// ------------------------------------------------------------------------
// execution
// ------------------------------------------------------------------------
Setup();
Update();