home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / temacd / zps / zps7_cz_trial.exe / slideshow.ZHT / main.js < prev    next >
Encoding:
Text File  |  2004-09-21  |  10.4 KB  |  321 lines

  1. function GeneratePreview(cSourcePath, cDestPath, cID)
  2. {
  3.   //MessageBox("cSourcePath = " + cSourcePath + "\ncDestPath = " + cDestPath + "\ncID = " + cID, "Preview", MB_OK);
  4. }
  5.  
  6. function GetAlbumPageFileName(iPage) {
  7.   if (iPage == 0) {
  8.     return "index.htm";
  9.   } else {
  10.     return "page" + IntToStr(iPage, 3) + ".htm";
  11.   }
  12. }
  13.  
  14. function GetImagePageFileName(iImg) {
  15.   return "ipage" + IntToStr(iImg, 5) + ".htm";
  16. }
  17.  
  18. function GetPagesNavigation(iPagesCount, iCurPage) {
  19.   cNavigation = "";
  20.   for (iPage=0; iPage < iPagesCount; iPage++) {
  21.     if (iPage == iCurPage) {
  22.       cNavigation += "<B>"+IntToStr(iPage+1, 0)+"</B>\n";
  23.     } else {
  24.       cNavigation += "<A HREF=\""+GetAlbumPageFileName(iPage)+"\">"+IntToStr(iPage+1, 0)+"</A>\n";
  25.     }
  26.   }
  27.   return cNavigation;
  28. }
  29.  
  30. function GenerateAlbum(cSourcePath, cDestPath)
  31. {
  32.   var iTNCols=666; 
  33.   var iTNRows=666;
  34.   var iTNDescFontSize = 12;
  35.   var iFilesCount = lSelectedFiles.GetCount();
  36.   var iFilesPerPage = iFilesCount;
  37.   var iPagesCount = Math.ceil(iFilesCount/iFilesPerPage);
  38.  
  39.   var iNavPosition = parseInt(cNavPosition);
  40.   
  41.   var iTNBoxWidth = iTNWidth + 40;
  42.   var iTNBoxHeight = iTNHeight + 2 * iTNDescFontSize + 20;
  43.  
  44. // barva pisma
  45.   var iATitleColor = iTextColor;
  46.   var iITitleColor = iTextColor;
  47. // barva odkazu
  48.   var iAActiveTitleColor = iActiveColor;
  49.   var iIActiveTitleColor = iActiveColor;
  50.  
  51.   var iTNCols = 1;
  52.  
  53.   
  54.   var iATitleBgColor= iBgColor;
  55.   var iATitleOBorderColor = iBgColor;
  56.   var iATitleIBorderColor = iBgColor;
  57.   var iTNDescFontColor = 0;
  58.   var iTNDescFontSize = 10;
  59.   var iAFootFontColor = iFootFontColor;
  60.   var iAFootFontSize = iFootFontSize;
  61.  
  62.   var iImgDescFontColor =0;
  63.   var iImgDescFontSize = 10;
  64.   var iIFootFontColor = iFootFontColor;
  65.   var iIFootFontSize = iFootFontSize;
  66.  
  67.  
  68.   var iATitleWidth = iTNBoxWidth * iTNCols;
  69.   var iATitleHeight = 30;
  70.   var iATitleWidth2 = iATitleWidth-2;
  71.   var iATitleHeight2 = iATitleHeight-2;
  72.   var iITitleWidth = 0;
  73.   var iITitleHeight = 0;
  74.   var iITitleWidth2 = 0;
  75.   var iITitleHeight2 = 0;
  76.  
  77.   var cAlbumName = "Album name";
  78.   var cTNDescText = "kurva prace";
  79.   var cImgDescText = "aaa";
  80.   var cIFootText = "aaa";
  81.   var cPageTitle = "";
  82.  
  83.   var tAlbumCSS = new CTemplate();
  84.   tAlbumCSS.Load(cSourcePath + "album_css.tpl", 0);
  85.  
  86.   tAlbumCSS.SetReplace("${BGCOLOR}", HEXColor(iBgColor));
  87.  
  88.   tAlbumCSS.SetReplace("${TITLE_WIDTH}", iATitleWidth);
  89.   tAlbumCSS.SetReplace("${TITLE_HEIGHT}", iATitleHeight);
  90.   tAlbumCSS.SetReplace("${TITLE_WIDTH_2}", iATitleWidth2);
  91.   tAlbumCSS.SetReplace("${TITLE_HEIGHT_2}", iATitleHeight2);
  92.  
  93.   tAlbumCSS.SetReplace("${TITLE_TEXT_SIZE}", iFontSize);
  94.   tAlbumCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iATitleColor));
  95.   tAlbumCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iAActiveTitleColor));
  96.   tAlbumCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iATitleBgColor));
  97.   tAlbumCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iATitleOBorderColor));
  98.   tAlbumCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iATitleIBorderColor));
  99.  
  100.   tAlbumCSS.SetReplace("${TN_BOX_WIDTH}", iTNBoxWidth);
  101.   tAlbumCSS.SetReplace("${TN_BOX_HEIGHT}", iTNBoxHeight);
  102.   tAlbumCSS.SetReplace("${TN_FONT_COLOR}", HEXColor(iDescFontColor));
  103.   tAlbumCSS.SetReplace("${TN_FONT_SIZE}", iDescFontSize);
  104.  
  105.   tAlbumCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iAFootFontColor));
  106.   tAlbumCSS.SetReplace("${FOOT_FONT_SIZE}", iAFootFontSize);
  107.  
  108.   SaveString(cDestPath + "album.css", tAlbumCSS.Replace(), 0); 
  109.  
  110.   var iITitleWidth = iImgWidth;
  111.   var iITitleHeight = 30;
  112.   var iITitleWidth2 = iITitleWidth-2;
  113.   var iITitleHeight2 = iITitleHeight-2;
  114.  
  115.  
  116.   var tImgCSS = new CTemplate();
  117.   tImgCSS.Load(cSourcePath + "image_css.tpl", 0);
  118.  
  119.   tImgCSS.SetReplace("${BGCOLOR}", HEXColor(iBgColor));
  120.  
  121.   tImgCSS.SetReplace("${TITLE_WIDTH}", iITitleWidth);
  122.   tImgCSS.SetReplace("${TITLE_HEIGHT}", iITitleHeight);
  123.   tImgCSS.SetReplace("${TITLE_WIDTH_2}", iITitleWidth2);
  124.   tImgCSS.SetReplace("${TITLE_HEIGHT_2}", iITitleHeight2);
  125.  
  126.   tImgCSS.SetReplace("${IMAGE_TITLE_TEXT_SIZE}", iTitleFontSize);
  127.   tImgCSS.SetReplace("${IMAGE_TITLE_FONT_COLOR}", HEXColor(iTitleTextColor));
  128.   tImgCSS.SetReplace("${TITLE_TEXT_SIZE}", iFontSize);
  129.   tImgCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iITitleColor));
  130.   tImgCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iIActiveTitleColor));
  131.   tImgCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iITitleBgColor));
  132.   tImgCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iITitleOBorderColor));
  133.   tImgCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iITitleIBorderColor));
  134.  
  135.   tImgCSS.SetReplace("${DESC_FONT_COLOR}", HEXColor(iDescFontColor));
  136.   tImgCSS.SetReplace("${DESC_FONT_SIZE}", iDescFontSize);
  137.  
  138.   tImgCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iIFootFontColor));
  139.   tImgCSS.SetReplace("${FOOT_FONT_SIZE}", iIFootFontSize);
  140.  
  141.   SaveString(cDestPath + "image.css", tImgCSS.Replace(), 0); 
  142.  
  143.   var tFrames = new CTemplate();
  144.   tFrames.Load(cSourcePath + "frames.tpl", 0);
  145.  
  146.   var tFrame = new CTemplate();
  147.   if (iNavPosition==4)
  148.     tFrame.Load(cSourcePath + "fright.tpl", 0);
  149.   else
  150.     if (iNavPosition==3)
  151.       tFrame.Load(cSourcePath + "fleft.tpl", 0);
  152.     else
  153.       if (iNavPosition==2)
  154.         tFrame.Load(cSourcePath + "fbottom.tpl", 0);
  155.      else
  156.         tFrame.Load(cSourcePath + "ftop.tpl", 0);
  157.  
  158.   tFrame.SetReplace("${PREVIEWS_HEIGHT}", iTNHeight + 32);
  159.   tFrame.SetReplace("${PREVIEWS_WIDTH}", iTNWidth + 32);
  160.  
  161.   tFrames.SetReplace("${DOCUMENT_TITLE}", cAPageTitle);
  162.   tFrames.SetReplace("${FRAMES}", tFrame.Replace());
  163.   SaveString(cDestPath + "index.htm", tFrames.Replace(), 0); 
  164.  
  165.   var tAlbum = new CTemplate();
  166.   tAlbum.Load(cSourcePath + "album.tpl", 0);
  167.  
  168.   var tTN = new CTemplate();
  169.   tTN.Load(cSourcePath + "cell.tpl", 0);
  170.  
  171.   var tImg = new CTemplate();
  172.   tImg.Load(cSourcePath + "image.tpl", 0);
  173.  
  174.   var tFooter = new CTemplate();
  175.   tFooter.Load(cSourcePath + "footer.tpl", 0);
  176.  
  177.   var tDesc = new CTemplate();
  178.   tDesc.Load(cSourcePath + "desc.tpl", 0);
  179.  
  180.   var tTitle = new CTemplate();
  181.   tTitle.Load(cSourcePath + "title.tpl", 0);
  182.  
  183.   // pages with images
  184.   var iImgs = 1;
  185.   for (var iImg = 1; iImgs <= iFilesCount; iImg++) {
  186.       cFileName = lSelectedFiles.GetAt(iImgs-1);
  187.       if (bUseOriginalFileNames)
  188.       {
  189.         cGetFileName = GetFileName(cFileName);
  190.  
  191.         cTNFileName = "tn_" + cGetFileName + ".jpg";
  192.         cImgFileName = cGetFileName + ".jpg";
  193.       }
  194.       else
  195.       {
  196.         cNumFileName = IntToStr(iImgs, 5);
  197.  
  198.         cTNFileName = "tn" + cNumFileName + ".jpg";
  199.         cImgFileName = "img" + cNumFileName + ".jpg";
  200.       }
  201.  
  202.       var pImg = new CImage();
  203.       pImg.Load(cFileName, 0);
  204.  
  205.       pImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  206.       pImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
  207.  
  208.       pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  209.       //pImg.SaveAs(cDestPath + cTNFileName + ".png", PNGformat, 0, 0);
  210.  
  211. //      pImg.Render(iBgColor);
  212.  
  213.       pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
  214.  
  215.       tImg.SetReplace("${IMG_TITLE}", cPageTitle);
  216.       if (bImageTitle)
  217.       {
  218.     tTitle.SetReplace("${IMAGE_TITLE}", ReplaceExifStrings(cImageTitle, cFileName, cDestPath + cImgFileName));
  219.         tImg.SetReplace("${IMAGE_TITLE}", tTitle.Replace());
  220.       }
  221.       else
  222.     tImg.SetReplace("${IMAGE_TITLE}", "");
  223.  
  224.       tImg.SetReplace("${IMG_NAME}", ReplaceExifStrings(cImageName, cFileName, cDestPath + cImgFileName));
  225.  
  226.       if (iImgs > 1) {
  227.         tImg.SetReplace("${IMG_PREVPAGE}", "<a href=\""+GetImagePageFileName(iImgs-1)+"\"><b><<</b> </a>");
  228.       } else {
  229.         tImg.SetReplace("${IMG_PREVPAGE}", "");
  230.       }
  231.  
  232.       tImg.SetReplace("${IMG_POSITION}", (iImgs) + " / " + iFilesCount);
  233.  
  234.       if (iImgs < iFilesCount) {
  235.         tImg.SetReplace("${IMG_NEXTPAGE}", "<a href=\""+GetImagePageFileName(iImgs+1)+"\"> <b>>></b></a>");
  236.       } else {
  237.         tImg.SetReplace("${IMG_NEXTPAGE}", "");
  238.       }
  239.  
  240.       tImg.SetReplace("${IMG_FILENAME}", cImgFileName);
  241.       if (bDesc)
  242.       {
  243.     tDesc.SetReplace("${IMG_DESC}", ReplaceExifStrings(cDescText, cFileName, cDestPath + cImgFileName));
  244.         tImg.SetReplace("${IMG_DESC}", tDesc.Replace());
  245.       }
  246.       else
  247.       {
  248.     tImg.SetReplace("${IMG_DESC}", "");
  249.       }
  250.       if (bFooter)
  251.       {
  252.     tFooter.SetReplace("${IMG_FOOT}", ReplaceExifStrings(cAFootText, cFileName, cDestPath + cImgFileName));
  253.         tImg.SetReplace("${IMG_FOOT}", tFooter.Replace());
  254.       }
  255.       else
  256.       {
  257.     tImg.SetReplace("${IMG_FOOT}", "");
  258.       }
  259.  
  260.       SaveString(cDestPath + GetImagePageFileName(iImgs), tImg.Replace(), 0); 
  261.       pImg.Close();
  262.  
  263.       iImgs++;
  264.   }
  265.  
  266.   // TOP INDEX
  267.   var cPageFileName = "list.htm";
  268.   tAlbum.SetReplace("${ALB_TITLE}", "");
  269.   tAlbum.SetReplace("${ALB_NAME}", "");
  270.   tAlbum.SetReplace("${ALB_PREVPAGE}", "");
  271.   tAlbum.SetReplace("${ALB_PAGES_NAVIGATION}", "");
  272.   tAlbum.SetReplace("${ALB_NEXTPAGE}", "");
  273.   var cThumbnails = "<table>";
  274.   if (iNavPosition!=3 && iNavPosition!=4)
  275.      cThumbnails += "<tr>";
  276.   for (var iImg = 1; iImg <= iFilesCount; iImg++) {
  277.       cFileName = lSelectedFiles.GetAt(iImg-1);
  278.       if (bUseOriginalFileNames)
  279.       {
  280.         cGetFileName = GetFileName(cFileName);
  281.  
  282.         cTNFileName = "tn_" + cGetFileName + ".jpg";
  283.         cImgFileName = cGetFileName + ".jpg";
  284.       }
  285.       else
  286.       {
  287.         cNumFileName = IntToStr(iImg, 5);
  288.  
  289.         cTNFileName = "tn" + cNumFileName + ".jpg";
  290.         cImgFileName = "img" + cNumFileName + ".jpg";
  291.       }
  292.  
  293.       if (iNavPosition==3 || iNavPosition==4)
  294.       {
  295.         tTN.SetReplace("${TN_CELL_START}", "<tr>");
  296.         tTN.SetReplace("${TN_CELL_END}", "</tr>");
  297.       }
  298.       else
  299.       {
  300.         tTN.SetReplace("${TN_CELL_START}", "");
  301.         tTN.SetReplace("${TN_CELL_END}", "");
  302.       } 
  303.       tTN.SetReplace("${TN_IMG_PAGENAME}", GetImagePageFileName(iImg));
  304.       tTN.SetReplace("${TN_FILENAME}", cTNFileName);
  305.       tTN.SetReplace("${TN_DESC}", "");//ReplaceExifStrings(cTNDescText, cFileName, cDestPath + cImgFileName));
  306.       cThumbnails += tTN.Replace();
  307.   } 
  308.   if (iNavPosition!=3 && iNavPosition!=4)
  309.      cThumbnails += "</tr>";
  310.   cThumbnails += "</table>";
  311.   tAlbum.SetReplace("${ALB_THUMBNAILS}", cThumbnails);
  312.   tAlbum.SetReplace("${ALB_FOOT}", "");
  313.   SaveString(cDestPath + cPageFileName, tAlbum.Replace(), 0); 
  314.  
  315.   return cDestPath+"index.htm";
  316. //  return cDestPath+GetAlbumPageFileName(0);
  317.  
  318. }
  319.  
  320.  
  321. INIT_OK;