    var tcd_strHelpText = "This extension allows you to save any comps ,layers (and even a bunch of layers) and all properties with live preview and use them on your projects .\n\
You can also back up the saved objects and use them anywhere.\n\
Preview, apply, and import projects and media files (image, video, audio, fonts, ffx presets,aep, jsx, jsxbin, ...) by one click.\n\
You can add or remove categories with the plus and minus buttons (top right).\n\
Save Button\n\
- Save Layers: By pressing this button, the selected layer or layers are saved on selected catrgory.\n\
- Save Composition: By pressing this button, the current composition is saved.\n\
- Save Fonts: If you select a text layer and press this button, you can save the font of the text layer.\n\
- Save Masks: If you select mask property and press on this button, you can save the masks.\n\
- Save Markers: If your selected layer has markers, you can press click save Markers button to saving markers.\n\
- Save Presets: If you select effects or the other properties of a layer and press this button, you can save it as a preset.\n\
- Save Expression: If you select a property and press on this button, you can save the expression codes of the selected property.\n\
- Save Speed: If you select keyframes and press on this button, you can save the speed and velocity of them.\n\
- Save Codes: If you press on this button, you can save script codes on a jsx file or expressions manually.\n\
- Automatically reduce project by Collect files metod.\n\
- Fonts will be collected.\n\
\tThe preview is also saved automatically.\n\
\tThe Work area duration is used to save the preview video for animated objects.\n\
\tA fixed thumbnail image is created from the current time.\n\
\tIf you want to use a static thumbnail for preview without video, limit the work area duration to one frame\n\
\t\tby pressing 'B' and 'N' on the keyboard.\n\
\tIf your preview needs to be croped, just select the crop area by 'Region of interest' before saving.\n\
\tThe ability to create a preview with a GIF file.\n\
Apply saved objects\n\
- For saved layers and compostions:\n\
\tBy clicking on the saved objects, they will be added to the current comp.\n\
\tIf the same object is already used in the project before, the same previous object will be added to the current\n\t\tcomp without re-importing it into the project.\n\
\tBy pressing the Ctrl/Cmd key and applying objects, the selected object can be re-imported into the project.\n\
- For presets:\n\
\tBy clicking on the presets, they will be applied on the selected layer.\n\
\tPreset kayframes are applied to the layers from the current time.\n\
\tIf the applied preset requires a marker, the corresponding marker is added automatically.\n\
- For fonts:\n\
\tBy clicking on the saved fonts,the text font of the selected layer changes to the corresponding font.\n\
- Right Click functions on saved objects\n\
\tRename: for rename the saved objects name.\n\
\tEdit Source: Open the project for the selected object to change or edit properties.\n\
\tSet Preview: Set a new preview for it from work area duration.\n\
\tOpen Location: Open the location of saved objects folder in Explorer.\n\
Backup\n\
- This button (Down arrow) is for backing up all saved objects in all categories.\n\
Import\n\
- This button (Arrow up) is used to import packages. You can even add your own external templates this way.\n\
Search box\n\
-Instant search for find your objects using the keywords including categories.\n\
";
 
 


        var win = new Window("palette", "Save Objects Help", [100, 0, 780, 600]);  
        this.windowRef = win;
        win.btnPanel = win.add("group", [10, 10, 800, 600]);
        win.btnPanel.text = win.btnPanel.add("statictext", [10, 10, 600, 25], "Save Objects");
        win.btnPanel.warnBtn = win.btnPanel.add("edittext", [10, 40, 650, 540], tcd_strHelpText, { multiline: true });
        var effectRow=win.btnPanel.add ('group {alignChildren: "left",orientation: "row"}', [0, 550, 700, 580])
        win.btnPanel.aesBtn = effectRow.add("button", [10,0, 130, 25], "Save Objects Page");
        win.btnPanel.tutBtn = effectRow.add("button", [140,0, 230, 25], "Video Tutorial");
        win.btnPanel.otherBtn = effectRow.add("button", [240,0, 320, 25], "Other Products");
        win.btnPanel.aesBtn.onClick = function () {openURL("https://aescripts.com/save-objects/");}
            win.btnPanel.tutBtn.onClick = function () {openURL("https://youtu.be/WkFfOg_GYK4");}
                   win.btnPanel.otherBtn.onClick = function () {openURL("https://aescripts.com/authors/m-p/motioncodes/");}

    
    function openURL(url) 
    {
         if (app.preferences.getPrefAsLong("Main Pref Section", "Pref_SCRIPTING_FILE_NETWORK_SECURITY") != 1)
  {
      alert("Please tick the \"Allow Scripts to Write Files and Access Network\" checkbox if Preferences > General");
      app.executeCommand(2359);
      return;
  }
 var os = system.osName;
if (!os.length)
{
    os = $.os;
}
app_os =  ( os.indexOf("Win") != -1 )  ?  "Win" : "Mac"

if ( app_os == "Win" )
{
    system.callSystem("explorer " + url);
}
else
{
    system.callSystem("open " + url);
}

    }

        win.center();
        win.show();
