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

var notFlash_ERROR = "ActionScript 문서만 변환할 수 있습니다.";
var notSaved_ERROR = "사용되지 않는 라이브러리 항목은 복사되지 않습니다. 해당 항목을 복사하려면 ActionScript 문서를 저장하고 파일을 변환하십시오.";
var noDOM_ERROR = "유효한 문서가 열려 있지 않습니다.";
var nofilelocation_ERROR = "WebGL(미리 보기) 문서를 만들지 못했습니다. 파일을 변환할 대상 파일 이름을 지정하십시오.";
var conversion_SUCCESS = "새 WebGL(미리 보기) 문서가 만들어졌습니다.";

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


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);
	}

}
