﻿//===========================
//  Created by: Freeman Sun
//  Site: www.freemansun.com
//  Last update Date: 2008-9-24
//  Last update:Fix error when run script while  the actived layer is not the top-level layer  
//===========================

#target photoshop;
app.bringToFront();
//SHOW this layer, don't output
var noOP_show = "_";
//HIDE this layer, don't output
var noOP_hide = "!";
var filePath = "D:/temp/";

function saveJPG(fileName){
	var jpg = new File(filePath +fileName+".jpg");
	var jpgSav = new ExportOptionsSaveForWeb();
	jpgSav.embedColorProfile = false;
	jpgSav.format = SaveDocumentType.JPEG;
	jpgSav.optimized = true;
	jpgSav.quality = 80;
	app.activeDocument.exportDocument(jpg, ExportType.SAVEFORWEB, jpgSav);
}

function init(){
	if (documents.length == 0){
		alert("请打开需要操作的文档");
	}else{
		var docRef = app.activeDocument;
		var layers = docRef.layers;
		var laySet = docRef.layerSets;
		var actLayMem = docRef.activeLayer;
		docRef.activeLayer = docRef.layers[0];
		var i = laySet.length-1;
		var savedState = docRef.activeHistoryState;
		while( i >= 0 ){
			if( laySet[i].layers.length > 0 ){
				laySet[i].merge();
			}
			i--;
		}
		for ( var i = 0; i < layers.length; i++) {
			if (layers[i].name.substring(0,1) != noOP_show && layers[i].name.substring(0,1) != noOP_hide){
				for ( var j = 0; j < layers.length; j++) {
					if (layers[j].name.substring(0,1) == noOP_show){
						layers[j].visible = true;
					}else{
						layers[j].visible = false;
					}
				}
				layers[i].visible = true;
				saveJPG(layers[i].name);
			}
		}
		docRef.activeHistoryState = savedState;
		docRef.activeLaye = actLayMem;
	}
}

var folderRef = new Folder(filePath);
if(folderRef.exists){
	init();
}else{
		alert(filePath+"不存在，请创建该目录或修改jsx中的filePath。");
}
