﻿///////////////////////////////////////////////////////
// ERROR STRINGS FOR LOCALIZATION

var notFlash_ERROR = "Yalnızca Actionscript Belgesi dönüştürülebilir.";
var notSaved_ERROR = "Kullanılmayan kütüphane öğeleri kopyalanmaz. Bunları kopyalamak için Actionscript belgesini kaydedin ve dosyayı dönüştürün.";
var noDOM_ERROR = "Hiçbir geçerli Belge açık değil.";
var nofilelocation_ERROR = "WebGL (Önizleme) Belgesi oluşturulamadı. Dosyayı dönüştürmek için bir hedef dosya adı belirtin.";
var conversion_SUCCESS = "Yeni WebGL (Önizleme) Belgesi oluşturuldu.";

////////////////////////////////////////////////////////


var height;
var width;
var bgColor;
var frameRate;
var unusedItems;



fl.outputPanel.clear();

var dom = fl.getDocumentDOM();
if (!dom) {
	alert(noDOM_ERROR);
} else if (dom.type !== "Flash") {
	alert(notFlash_ERROR);
} else {
	convertFile();
}



function convertFile() {
	try {
		var filePath = dom.pathURI;
		height = dom.height;
		width = dom.width;
		bgColor = dom.backgroundColor;
		frameRate = dom.frameRate;
		var tls = dom.timelines;
		var sourceLibrary = dom.library.items;

		var fileURL = fl.browseForFileURL("save", "Save File", "FLA document (*.fla)", "fla");

		if (fileURL == null) {
			fl.trace(nofilelocation_ERROR);
			return;
		}
		var dom2 = fl.createDocument("webGLDoc");
		var fileSave_start = fl.saveDocument(dom2, fileURL);
		if (!fileSave_start) {
			//alert(nofilelocation_ERROR);
			return;
		}

		dom2.width = width;
		dom2.height = height;
		dom2.backgroundColor = bgColor;
		dom2.frameRate = frameRate;

		for (var j = 0; j < tls.length; j++) {

			dom.editScene(j);
			var tl = dom.getTimeline();

			if (j == 0)
				dom2.timelines[0].name = tl.name;
			else
				dom2.addNewScene(tl.name);
			dom2.editScene(j);

			var m = tl.layerCount;
			tl.copyLayers(0, m - 1);

			var tl2 = dom2.getTimeline();
			tl2.pasteLayers();

			//convertAS(dom2);
		}

		var unusedItems = [];
		var destLibrary = dom2.library;
		for (var sourceCount in sourceLibrary) {
			if (!destLibrary.itemExists(sourceLibrary[sourceCount].name)) {
				unusedItems.push(sourceLibrary[sourceCount]);
			}
		}

		var tl2 = dom2.getTimeline();
		var layerIndex = tl2.addNewLayer("unusedItem", "guide");

		for (var unusedCount in unusedItems) {
			dom2.addItem({
				x: 0,
				y: 0
			}, unusedItems[unusedCount]);
		}
		tl2.deleteLayer(layerIndex);

		var fileSave = fl.saveDocument(dom2, fileURL);
		fl.closeDocument(dom2, false);
		if (!fileSave) {
			//alert(nofilelocation_ERROR);
			return;
		}
		fl.openDocument(fileURL);

		fl.trace(conversion_SUCCESS);
	} catch (err) {
		fl.trace("ERROR : " + err);
	}

}
