// Generate large rectangle
var midPointY = view.size.height * .5;
var maxX = view.size.width;
var maxY = view.size.height;
var rectangle = new Rectangle(new Point(0, midPointY), new Point (maxX, maxY));
var path = new Path.Rectangle(rectangle);
//path.fillColor = "#4efa9e";
//path.fillColor = "#4eca5e";
path.fillColor = '#489635';

// Generate random circles
// Number of circles to make
var count = 10;
// Create the circle symbols
var paths = [];
paths[0] = new Path.Circle(new Point(0, 0), 25);
paths[0].style = {
  //fillColor: 'white',
  fillColor: '#5EBAAE',
  //strokeColor: 'blue'
  strokeColor: '#5EBAAE'
};
paths[1] = new Path.Circle(new Point(0,0), 10);
paths[1].style = {
  fillColor: '#AEBA5E',
  strokeColor: '#AEBA5E',
}
var symbols = [];
symbols[0] = new Symbol(paths[0]);
symbols[1] = new Symbol(paths[1]);
/* */
// Place the instances of the symbol:
for (var i = 0; i < count; i++) {
  // The center position is a random point within the view:
  var center = Point.random() * view.size;
  var center2 = Point.random() * view.size;
  var placedSymbols = []; 
  placedSymbols[0] = symbols[0].place(center);
  placedSymbols[0].scale(i / count);
  placedSymbols[1] = symbols[1].place(center2);
  placedSymbols[1].scale(i / count);
}

// Create rasters
var rasters = [];
rasters.push(new Raster('DwarfField'));
rasters.push(new Raster('Gator1'));
rasters.push(new Raster('GD2'));
rasters.push(new Raster('IMG_6358'));
var j = rasters.length;
//var rastersBaseSize = 130;
var rastersBaseSize = 220;
//var rastersSizeRange = 45;
var rastersSizeRange = 15;
while (j) {
  j--;
  var rasterSize = rastersBaseSize + (2 * Math.random() * rastersSizeRange) - rastersSizeRange;
  //console.info(rasterSize);
  rasters[j].position = Point.random() * view.size;
  rasters[j].size = new Size(rasterSize, rasterSize);
}
// Add logos
var logos = [];
logos.push(new Raster('csu'));
logos.push(new Raster('npca'));
logos.push(new Raster('usfw'));
logos.push(new Raster('nps'));
logos.push(new Raster('nsf'));
var k = logos.length;
var logoDimensions = 60;
var logosPadding = 10;
var logosWidth = logos.length * logoDimensions + (logos.length-1) * logosPadding
var logosStartingPoint = new Point(
    //50, 
    view.size.width * .5 - logosWidth * .5,
    //800
    view.size.height * .82
    );
while (k) {
  k--;
  logos[k].size = new Size(logoDimensions, logoDimensions);
  logos[k].position = new Size(
      logosStartingPoint.x + k * (logoDimensions + logosPadding),
      logosStartingPoint.y);
}
/**/
// Animate circles and rasters
function onFrame(event) {
  // change hues
  symbols[0].definition.style.strokeColor.hue -= 1;
  symbols[0].definition.style.fillColor.hue -= 1;
  symbols[1].definition.style.strokeColor.hue -= 1;
  symbols[1].definition.style.fillColor.hue -= 1;
  // move circles
  var numberOfChildren = project.activeLayer.children.length;
  for (var i =0 ;i < numberOfChildren; i++) {
    var item = project.activeLayer.children[i];
    // Exclude large rectangle 
    if (item.bounds.width < 80 ) {
      if (item.bounds.width != logoDimensions) {
        item.position.x += item.bounds.width / 80;
      }
    } else if (item.bounds.width < 300) {
      item.position.x += .3;
    }

    if (item.bounds.left > view.size.width) {
      item.position.x -= (view.size.width + 100);
    }
  }
}
function onResize(event) {
  console.info("resizing");
  path.removeSegments();
  midPointY = view.size.height * .5;
  maxX = view.size.width;
  maxY = view.size.height;
  rectangle = new Rectangle(new Point(0, midPointY), new Point (maxX, maxY));
}

