var stage;
var preload;
var text = [];
var textColors = ["BB1617", "BB1617", "DF592A", "DF592A", "E38A02", "E38A02", "E9B865", "E9B865", "E9B865", "E9B865", "E9B865"];
var lines = 16;
var loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque auctor, purus sit amet imperdiet ultricies, lectus dui dapibus turpis, ut ornare magna nibh quis sem. Aliquam enim ante, semper tincidunt pharetra et, sagittis et mauris. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi malesuada nisl eget hendrerit venenatis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris mattis augue finibus justo hendrerit rhoncus. Ut tempor dolor lobortis justo laoreet, in blandit ipsum pharetra. Cras ac ex eleifend, efficitur odio sit amet, vulputate libero. Praesent at erat eget ante suscipit tincidunt id vulputate magna. Donec et turpis quis lacus ultrices faucibus. Sed posuere, quam fermentum cursus iaculis, lacus enim ullamcorper lorem, non luctus dolor neque id mi. Proin consectetur risus sed rutrum pulvinar. Nam non pharetra lectus, vel faucibus justo. Curabitur elementum blandit elementum. Nulla suscipit, odio et tincidunt sollicitudin, eros tortor pharetra tellus, nec volutpat nisl arcu pulvinar nibh. Curabitur lacus ipsum, dictum eu eleifend non, aliquam eget turpis. Praesent congue erat ac suscipit ullamcorper. Nam suscipit sed nisi nec pulvinar. Fusce dignissim nulla vel convallis lacinia. Etiam vel tellus viverra, ornare ipsum at, sagittis mi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent blandit libero quis egestas mattis. Nam quis sagittis odio. Nulla porta lorem nisi, vitae scelerisque ante tempor eu. Nulla facilisi. Aliquam iaculis porta eleifend. Morbi faucibus eleifend felis, ut pellentesque lacus finibus in. Vestibulum eget faucibus risus, at tristique purus. Nulla rutrum feugiat congue. In eu dui venenatis, luctus mauris vel, varius dolor. Nulla posuere dictum sapien sed suscipit. Nullam rhoncus ante nec felis semper fringilla. Suspendisse non dignissim mi. Phasellus diam magna, tincidunt vitae viverra bibendum, tempus vitae nisl. Duis ut ex eu massa cursus lacinia. Praesent eget dolor sit amet purus hendrerit efficitur. Morbi cursus dui lectus, eu ullamcorper lacus auctor a. Fusce vel mauris nec dolor aliquam hendrerit. Etiam feugiat eget nunc vel aliquam. Pellentesque iaculis ex a urna vestibulum feugiat. Sed porttitor lorem eu posuere elementum. Nam dictum, odio sed vestibulum dignissim, mauris risus fringilla velit, eu mattis risus turpis in tellus. In hac habitasse platea dictumst. Aliquam et lacinia diam. Pellentesque pulvinar ut massa a feugiat. In elit arcu, porta sed efficitur sit amet, imperdiet at turpis. Pellentesque ligula sem, vestibulum at auctor sit amet, condimentum in sapien. Sed rutrum feugiat nisi, euismod egestas magna dignissim eu. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse dictum egestas dui. Nullam vitae sapien laoreet, vestibulum enim sed, egestas justo. Donec commodo libero quis libero viverra, sodales condimentum eros bibendum. Curabitur consectetur iaculis tortor faucibus bibendum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam interdum at nisi non gravida. Aliquam erat volutpat. Sed fringilla, magna vel sodales porttitor, elit est vehicula ex, rhoncus feugiat ipsum tellus in justo. Curabitur pellentesque rhoncus risus eu tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam iaculis lacus maximus tempor sodales. Nam sit amet sapien leo."
var spacing = 0;

var img_logo;
var obj_logo;

function preloadDemo()
{
    var manifest = [
        {id: "img_logo", src:"media/Logo DEMO JS - Cloud Fish PRW2.png"},
		{id: "music",    src:"media/In company of death.mp3"},
    ];

    preload = new createjs.LoadQueue(false, null, true);
	preload.installPlugin(createjs.Sound);
    preload.addEventListener("complete", launchDemo);
    preload.loadManifest(manifest);
}

function launchDemo()
{
    stage = new createjs.Stage(document.getElementById("DemoCanvas"));
    createjs.Ticker.setFPS(30);
    createjs.Ticker.reset();

    img_logo = preload.getResult("img_logo");

    //timeBar = new createjs.Shape();
    //timeBar.graphics.beginFill("#404040").drawRect(0, 0, stage.canvas.width, stage.canvas.height);
    //stage.addChild(timeBar);

	var upperoffset = stage.canvas.height/2;
	var loweroffset = stage.canvas.height/2;
    for (var i=0; i < lines; i+=2) {
		var fontSize = (i+1)*3;
		text[i] = new createjs.Text(loremIpsum, String(fontSize) + "px Carlos", "#" + textColors[i/2]);
		text[i].x = 0;
		text[i].regY = fontSize/2;
		text[i].y = upperoffset - (fontSize/2 + spacing);
		upperoffset -= fontSize + spacing;
		stage.addChild(text[i]);

		text[i+1] = new createjs.Text(loremIpsum, String(fontSize) + "px Carlos", "#" + textColors[i/2]);
		text[i+1].x = 0;
		text[i+1].regY = fontSize/2;
		text[i+1].y = loweroffset + (fontSize/2 + spacing);
		loweroffset += fontSize + spacing;
		stage.addChild(text[i+1]);
	}

    obj_logo = new createjs.Bitmap(img_logo);
    stage.addChild(obj_logo);
	var logoRatio = stage.canvas.width / obj_logo.image.width;
	obj_logo.y = (stage.canvas.height - obj_logo.image.height * logoRatio) / 2.0;
    obj_logo.scaleX = logoRatio;
    obj_logo.scaleY = logoRatio;

    createjs.Ticker.addEventListener("tick", demoTick);
	createjs.Sound.play("music", createjs.Sound.INTERRUPT_NONE, 0, 0, -1, 0.4);
}

function demoTick(event)
{
    var t = createjs.Ticker.getTime() / 1000.0;
	for (var i=0; i < lines; i++) {
		text[i].x = - t * stage.canvas.width * Math.abs(text[i].y - stage.canvas.height/2.0) / (stage.canvas.height/2.0);
    }

    stage.update(event);
}
