home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 January / PCWorld_2005-01_cd.bin / software / komercni / zoner / zps7_cz_trial.exe / autumn.ZHT / main.js < prev    next >
Encoding:
Text File  |  2004-09-21  |  7.8 KB  |  223 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.   if (bGlobalTitle)
  33.   {
  34.     cAPageTitle = cGlobalTitle;
  35.     cAlbumName = cGlobalTitle;
  36.     cIPageTitle = cGlobalTitle;
  37.     cImageName = cGlobalTitle;
  38.   }
  39.  
  40.   var iFilesCount = lSelectedFiles.GetCount();
  41.   var iFilesPerPage = iTNCols * iTNRows;
  42.   var iPagesCount = Math.ceil(iFilesCount/iFilesPerPage);
  43.   
  44.   var iTNBoxWidth = iTNWidth + 40;
  45.   var iTNBoxHeight = iTNHeight + 2 * iTNDescFontSize + 20;
  46.  
  47.   if (bApplyShadow) {
  48.     iTNBoxWidth += iShadowBlur + iShadowXOffset;
  49.     iTNBoxHeight += iShadowBlur + iShadowYOffset;
  50.   }
  51.  
  52.   var iATitleWidth = iTNBoxWidth * iTNCols;
  53.   var iATitleHeight = 30;
  54.   var iATitleWidth2 = iATitleWidth-2;
  55.   var iATitleHeight2 = iATitleHeight-2;
  56.  
  57.   var tAlbumCSS = new CTemplate();
  58.   tAlbumCSS.Load(cSourcePath + "album_css.tpl", 0);
  59.  
  60.   tAlbumCSS.SetReplace("${BGCOLOR}", HEXColor(iABgColor));
  61.  
  62.   tAlbumCSS.SetReplace("${TITLE_WIDTH}", iATitleWidth);
  63.   tAlbumCSS.SetReplace("${TITLE_HEIGHT}", iATitleHeight);
  64.   tAlbumCSS.SetReplace("${TITLE_WIDTH_2}", iATitleWidth2);
  65.   tAlbumCSS.SetReplace("${TITLE_HEIGHT_2}", iATitleHeight2);
  66.  
  67.   tAlbumCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iATitleColor));
  68.   tAlbumCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iAActiveTitleColor));
  69.   tAlbumCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iATitleBgColor));
  70.   tAlbumCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iATitleOBorderColor));
  71.   tAlbumCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iATitleIBorderColor));
  72.  
  73.   tAlbumCSS.SetReplace("${TN_BOX_WIDTH}", iTNBoxWidth);
  74.   tAlbumCSS.SetReplace("${TN_BOX_HEIGHT}", iTNBoxHeight);
  75.   tAlbumCSS.SetReplace("${TN_FONT_COLOR}", HEXColor(iTNDescFontColor));
  76.   tAlbumCSS.SetReplace("${TN_FONT_SIZE}", iTNDescFontSize);
  77.  
  78.   tAlbumCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iAFootFontColor));
  79.   tAlbumCSS.SetReplace("${FOOT_FONT_SIZE}", iAFootFontSize);
  80.  
  81.   SaveString(cDestPath + "album.css", tAlbumCSS.Replace(), 0); 
  82.  
  83.   var iITitleWidth = iImgWidth;
  84.   var iITitleHeight = 30;
  85.   var iITitleWidth2 = iITitleWidth-2;
  86.   var iITitleHeight2 = iITitleHeight-2;
  87.  
  88.   var tImgCSS = new CTemplate();
  89.   tImgCSS.Load(cSourcePath + "image_css.tpl", 0);
  90.  
  91.   tImgCSS.SetReplace("${BGCOLOR}", HEXColor(iIBgColor));
  92.  
  93.   tImgCSS.SetReplace("${TITLE_WIDTH}", iITitleWidth);
  94.   tImgCSS.SetReplace("${TITLE_HEIGHT}", iITitleHeight);
  95.   tImgCSS.SetReplace("${TITLE_WIDTH_2}", iITitleWidth2);
  96.   tImgCSS.SetReplace("${TITLE_HEIGHT_2}", iITitleHeight2);
  97.  
  98.   tImgCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iITitleColor));
  99.   tImgCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iIActiveTitleColor));
  100.   tImgCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iITitleBgColor));
  101.   tImgCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iITitleOBorderColor));
  102.   tImgCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iITitleIBorderColor));
  103.  
  104.   tImgCSS.SetReplace("${DESC_FONT_COLOR}", HEXColor(iImgDescFontColor));
  105.   tImgCSS.SetReplace("${DESC_FONT_SIZE}", iImgDescFontSize);
  106.  
  107.   tImgCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iIFootFontColor));
  108.   tImgCSS.SetReplace("${FOOT_FONT_SIZE}", iIFootFontSize);
  109.  
  110.   SaveString(cDestPath + "image.css", tImgCSS.Replace(), 0); 
  111.  
  112.   var tAlbum = new CTemplate();
  113.   tAlbum.Load(cSourcePath + "album.tpl", 0);
  114.  
  115.   var tTN = new CTemplate();
  116.   tTN.Load(cSourcePath + "tn.tpl", 0);
  117.  
  118.   var tImg = new CTemplate();
  119.   tImg.Load(cSourcePath + "image.tpl", 0);
  120.  
  121.   var iImgs = 1;
  122.   for (var iPage = 0; iPage < iPagesCount; iPage++) {
  123.     var cPageFileName = GetAlbumPageFileName(iPage);
  124.  
  125.     tAlbum.SetReplace("${ALB_TITLE}", cAPageTitle);
  126.     tAlbum.SetReplace("${ALB_NAME}", cAlbumName);
  127.  
  128.     if (iPage > 0) {
  129.       tAlbum.SetReplace("${ALB_PREVPAGE}", "<a href=\""+GetAlbumPageFileName(iPage-1)+"\"><b><</b>p°edchozφ </a>");
  130.     } else {
  131.       tAlbum.SetReplace("${ALB_PREVPAGE}", "");
  132.     }
  133.  
  134.     tAlbum.SetReplace("${ALB_PAGES_NAVIGATION}", GetPagesNavigation(iPagesCount, iPage));
  135.  
  136.     if (iPage < iPagesCount-1) {
  137.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "<a href=\""+GetAlbumPageFileName(iPage+1)+"\"> nßsledujφcφ<b>></b></a>");
  138.     } else {
  139.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "");
  140.     }
  141.  
  142.     var cThumbnails = "";
  143.  
  144.     for (var iImg = 1; (iImg <= iFilesPerPage) && (iImgs <= iFilesCount); iImg++) {
  145.       cFileName = lSelectedFiles.GetAt(iImgs-1);
  146.       if (bUseOriginalFileNames)
  147.       {
  148.         cGetFileName = GetFileName(cFileName);
  149.  
  150.         cTNFileName = "tn_" + cGetFileName + ".jpg";
  151.         cImgFileName = cGetFileName + ".jpg";
  152.       }
  153.       else
  154.       {
  155.         cNumFileName = IntToStr(iImgs, 5);
  156.         cTNFileName = "tn" + cNumFileName + ".jpg";
  157.         cImgFileName = "img" + cNumFileName + ".jpg";
  158.       }
  159.  
  160.       var pImg = new CImage();
  161.       pImg.Load(cFileName, 0);
  162.  
  163.       pImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  164.       pImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
  165.  
  166.       pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  167.       if (bAddBorder) {
  168.         pImg.AddBorders(iBorderWidth, iBorderWidth, iBorderWidth, iBorderWidth, iBorderColor, 255);
  169.       }
  170.       if (bApplyShadow) {
  171.         pImg.Shadow(iShadowColor, 255, iShadowXOffset, iShadowYOffset, iShadowBlur, 0);
  172.       }
  173.       //pImg.SaveAs(cDestPath + cTNFileName + ".png", PNGformat, 0, 0);
  174.  
  175.       pImg.Render(iABgColor);
  176.  
  177.       pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
  178.  
  179.       tTN.SetReplace("${TN_IMG_PAGENAME}", GetImagePageFileName(iImgs));
  180.       tTN.SetReplace("${TN_FILENAME}", cTNFileName);
  181.       tTN.SetReplace("${TN_DESC}", ReplaceExifStrings(cTNDescText, cFileName, cDestPath + cImgFileName));
  182.  
  183.       cThumbnails += tTN.Replace();
  184.  
  185.       tImg.SetReplace("${IMG_TITLE}", cIPageTitle);
  186.       tImg.SetReplace("${IMG_NAME}", ReplaceExifStrings(cImageName, cFileName, cDestPath + cImgFileName));
  187.  
  188.       if (iImgs > 1) {
  189.         tImg.SetReplace("${IMG_PREVPAGE}", "<a href=\""+GetImagePageFileName(iImgs-1)+"\"><b><</b>p°edchozφ </a>");
  190.       } else {
  191.         tImg.SetReplace("${IMG_PREVPAGE}", "");
  192.       }
  193.  
  194.       tImg.SetReplace("${IMG_POSITION}", (iImgs) + " / " + iFilesCount);
  195.  
  196.       if (iImgs < iFilesCount) {
  197.         tImg.SetReplace("${IMG_NEXTPAGE}", "<a href=\""+GetImagePageFileName(iImgs+1)+"\"> nßsledujφcφ<b>></b></a>");
  198.       } else {
  199.         tImg.SetReplace("${IMG_NEXTPAGE}", "");
  200.       }
  201.  
  202.       tImg.SetReplace("${IMG_FILENAME}", cImgFileName);
  203.       tImg.SetReplace("${IMG_DESC}", ReplaceExifStrings(cImgDescText, cFileName, cDestPath + cImgFileName));
  204.         tImg.SetReplace("${IMG_FOOT}", ReplaceExifStrings(cIFootText, cFileName, cDestPath + cImgFileName));
  205.  
  206.       SaveString(cDestPath + GetImagePageFileName(iImgs), tImg.Replace(), 0); 
  207.  
  208.       pImg.Close();
  209.  
  210.       iImgs++;
  211.     }
  212.     tAlbum.SetReplace("${ALB_THUMBNAILS}", cThumbnails);
  213.     tAlbum.SetReplace("${ALB_FOOT}", ReplaceExifStrings(cAFootText, "", ""));
  214.  
  215.     SaveString(cDestPath + cPageFileName, tAlbum.Replace(), 0); 
  216.  
  217.   }
  218.   
  219.   return cDestPath+GetAlbumPageFileName(0);
  220. }
  221.  
  222. INIT_OK;
  223.