CINXE.COM

R-TT Volume Licensing - data recovery, undelete, drive image, mail recovery, hard drive clean and wipe

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <meta http-equiv="content-language" content="en" /> <link rel="stylesheet" type="text/css" href="/includes/en/style.css" /> <link rel="shortcut icon" href="/images/rtt.ico" /> <link rel="icon" type="image/png" href="/images/rtt.png" sizes="64x64"> <title>R-TT Volume Licensing - data recovery, undelete, drive image, mail recovery, hard drive clean and wipe</title> <META name="description" content="Volume License prices for data recovery, undelete, drive image, mail recovery, hard drive clean and wipe" /> <META name="keywords" content="volume license, site license, corporative license, data recovery, undelete, drive image and hard drive wipe software" /> <meta name="title" content="R-TT Volume Licensing - data recovery, undelete, drive image, mail recovery, hard drive clean and wipe" /> <script type="text/javascript"> function spawnEula(strEulaFile,strProductName) { var strUrl='/includes/eula/' + strEulaFile + '?' + strProductName; window.open(strUrl,'page1','toolbar=no,location=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=500,height=400'); } </script> </head> <body> <div id="root"> <div> <div style="overflow-x:hidden;"> <div id="hdr-wrapper" class="hdr-wrapper"> <div id="hdr-hdr" class="section hdr-hdr"> <div class="hdr-logo"> <a href="https://www.r-tt.com/" title="R-Tools Technology Inc."> <img src="/images/nav/rtt-logo.png" alt="R-Tools Technology Inc." width="225" height="85" /> </a> </div> <div class="hdr-search-container"> <form class="hdr-search-form" name="search_form" action="/scripts/search" method="post" onsubmit="return doSearch(document.search_form)"> <input type="hidden" name="config" value="../../../r-tt/private/config/ssserver.en" /> <div class="hdr-search-row"> <span class="hdr-search-icon" onclick="doSearch(document.search_form)"></span> <input type="text" name="QUERY" class="hdr-search-input" value="Search..." onfocus="onSearchFocus(document.search_form)" /> </div> </form> </div> <script type="text/javascript" charset="utf-8"> function onSearchFocus(F) { if (F.QUERY.value == "Search...") { F.QUERY.value=""; F.QUERY.style.color = "#404040"; } return true; } function doSearch(F) { if (F.QUERY.value == "Search...") {F.QUERY.value="";} if (F.QUERY.value == "") {alert("Please specify search pattern");F.QUERY.focus();return false;} return true; } </script> <div class="hdr-info"> <div> We are committed to providing fast, efficient, and affordable software solutions that set new standards in the software development industry. </div> </div> <div class="clearwoflex"></div> <div class="hdr-langs"> <div class="langs-block"> <div class="langs-btn"> <div class="langs-cur-flag"> <img width="51" height="29" alt="" src="/images/lang/en.png"/> </div> <span class="langs-sel"></span> </div> <div class="langs-list"> <a href="https://www.r-tt.com/de/VolumeLicensing.shtml"> <img src="/images/lang/de.png" width="51" height="29" alt="" /> <span>Deutsch</span> </a> <a href="https://www.r-tt.com/fr/VolumeLicensing.shtml"> <img src="/images/lang/fr.png" width="51" height="29" alt="" /> <span>Fran&ccedil;ais</span> </a> <a href="https://www.r-tt.com/it/VolumeLicensing.shtml"> <img src="/images/lang/it.png" width="51" height="29" alt="" /> <span>Italiano</span> </a> <a href="https://www.r-tt.com/es/VolumeLicensing.shtml"> <img src="/images/lang/es.png" width="51" height="29" alt="" /> <span>Espa&ntilde;ol</span> </a> <a href="https://www.r-tt.com/pt/VolumeLicensing.shtml"> <img src="/images/lang/pt.png" width="51" height="29" alt="" /> <span>Portugu&ecirc;s</span> </a> <a href="https://www.r-tt.com/nl/VolumeLicensing.shtml"> <img src="/images/lang/nl.png" width="51" height="29" alt="" /> <span>Nederlands</span> </a> <a href="https://www.r-tt.com/pl/VolumeLicensing.shtml"> <img src="/images/lang/pl.png" width="51" height="29" alt="" /> <span>Polski</span> </a> <a href="https://www.r-tt.com/ja/VolumeLicensing.shtml"> <img src="/images/lang/ja.png" width="51" height="29" alt="" /> <span>&#26085;&#26412;&#35486;</span> </a> <a href="https://www.r-tt.com/ko/VolumeLicensing.shtml"> <img src="/images/lang/ko.png" width="51" height="29" alt="" /> <span>&#54620;&#44397;&#50612;</span> </a> <a href="https://www.r-tt.com/zhcn/VolumeLicensing.shtml"> <img src="/images/lang/zhcn.png" width="51" height="29" alt="" /> <span>&#31616;&#20307;&#20013;&#25991;</span> </a> <a href="https://www.r-tt.com/zhhk/VolumeLicensing.shtml"> <img src="/images/lang/zhhk.png" width="51" height="29" alt="" /> <span>&#31616;&#20307;&#20013;&#25991;</span> </a> <a href="https://www.r-tt.com/ru/VolumeLicensing.shtml"> <img src="/images/lang/ru.png" width="51" height="29" alt="" /> <span>&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;</span> </a> </div> </div> </div> <div class="hdr-menu"> <div class="menu-container" id="menu-container"> <span class="menu-button"> <span class="menu-button-open"></span> <span class="menu-button-close"></span> </span> <a href="https://www.r-tt.com/" class="menu-logo" title="R-Tools Technology Inc."> <img src="/images/nav/rtt-logo.png" alt="R-Tools Technology Inc." width="225" height="85" /> </a> <ul class="menu-main" id="menu-main"> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> PRODUCTS <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-title"> FREEWARE </div> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-undelete.com/">R-Undelete Home</a> </li> <li> <a href="https://www.r-undelete.com/free_photo_recovery/">R-Photo</a> </li> <li> <a href="https://www.r-studio.com/free-linux-recovery/">R-Linux</a> </li> <li> <a href="https://www.r-wipe.com/#lite">R-Wipe &amp; Clean Lite</a> </li> </ul> </div> </div> <div class="menu-dd-cont"> <div class="menu-dd-title"> FOR COMMERCIAL USE </div> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-studio.com/Data_Recovery_Technician.shtml"> R-Studio Technician for Data Recovery Services </a> </li> <li> <a href="https://www.drive-image.com/Drive_Image_Licensing.shtml#commercial"> R-Drive Image for Backup and Deployment Services </a> </li> </ul> </div> </div> <div class="menu-dd-cont"> <div class="menu-dd-title"> FOR PERSONAL AND BUSINESS USE </div> <div class="menu-dd-items"> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> <a href="https://www.r-studio.com/data-recovery-software/"> PRO Data Recovery: </a> </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.r-studio.com/">R-Studio for Windows</a> </li> <li> <a href="https://www.r-studio.com/data_recovery_macintosh/">R-Studio for Mac</a> </li> <li> <a href="https://www.r-studio.com/data_recovery_linux/">R-Studio for Linux</a> </li> </ul></div> <div class="clearthis"></div> </div> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> Backup and System Restore: </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.drive-image.com/">R-Drive Image</a> </li> <li> <a href="https://www.drive-image.com/Drive_Image_Licensing.shtml#technician">R-Drive Image Technician</a> </li> </ul></div> <div class="clearthis"></div> </div> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> PC Privacy and Security: </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.r-wipe.com/">R-Wipe &amp; Clean</a> </li> <li> <a href="https://www.r-wipe.com/#mac">R-Wipe &amp; Clean for Mac</a> </li> </ul></div> <div class="clearthis"></div> </div> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> <span class="alt-tr-ru-1">BUY ONLINE</span> <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/VolumeLicensing.shtml" class="alt-tr-ru-1">Quote</a> </li> <li> <a href="https://www.r-tt.com/GetInvoice.shtml">Get Invoice</a> </li> <li> <a href="https://www.r-tt.com/FAQ.shtml">Sales FAQ</a> </li> <li> <a href="https://www.r-tt.com/BuyOnLine.shtml">Sales Policy</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> SUPPORT <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/TechnicalSupport.shtml">Technical Support</a> </li> <li> <a href="https://www.r-tt.com/PurchasingRequest.shtml">Customer Support</a> </li> <li> <a href="https://www.r-studio.com/File_Recovery_FAQ.shtml">FAQ</a> </li> <li> <a href="https://www.r-tt.com/Knowledge-Base.html">Knowledge Base</a> </li> <li> <a rel="noopener" target="_blank" href="https://forum.r-tt.com/">R-TT Forum</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> DISTRIBUTION <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/Affiliate_Program.shtml">Affiliate Program</a> </li> <li> <a href="https://www.r-tt.com/Resellers.shtml">Resellers</a> </li> <li> <a href="https://www.r-tt.com/Distribution.shtml">Regional Distributors</a> </li> <li> <a target="_blank" rel="noopener" href="https://secure.r-tt.com/distributor/login/">Login</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-spare"></span> <a href="https://secure.r-tt.com/UserConsole.shtml">MY ORDER</a> </span> </div></li> </ul> </div> </div> <div class="clearwoflex"></div> </div> </div> <div> <div class="row-blue"><div class="section nav-tabs"> <div class="nav-tabs-body"> <a class="nav-tabs-quote tab-active" href="https://www.r-tt.com/VolumeLicensing.shtml"><span class="alt-tr-ru-2">Quote</span></a> <a class="nav-tabs-invoice" href="https://www.r-tt.com/GetInvoice.shtml"><span>Invoice</span></a> <a class="nav-tabs-faq" href="https://www.r-tt.com/FAQ.shtml"><span>FAQ</span></a> <a class="nav-tabs-policy" href="https://www.r-tt.com/BuyOnLine.shtml"><span>Policy</span></a> </div> </div></div> <div class="row-section row-bottom-half"><div class="section"> <p class="bt"> You can use the following form to get a quote for any of our software product or a volume licensing package and process your order on-line. Our Volume Licensing option is the most cost-effective way for small-to-mid-sized businesses, large corporations, government agencies and academic organizations to purchase a set of powerful data recovery, undelete, drive image, data security and PC privacy software licenses at volume discounts. </p> <div class="oh3"> To purchase the Volume License package please follow the next steps: </div> <ol class="vol-lic bt"> <li>Choose a product or products from the software category/categories.</li> <li>Review the brief license definition.</li> <li>Enter the number of licenses you wish to purchase.</li> <li>Submit the form to get a quotation.</li> <li>Process your order.</li> </ol> <div class="bt"> Applicable sales taxes are added to Canadian resident orders only. </div> </div></div> <form class="stdform form-wide" name="STORE" method="post" action="https://secure.r-tt.com/cgi-bin/Store" onsubmit="return onSubmitForm(document.STORE)" novalidate> <input type="hidden" name="IS_VOLUME" value="1" /> <input type="hidden" name="RES_ID" value="0" /> <div class="row-section"><div class="section"><div class="expand-title oh3 expand-active" id="recovery"> Data Recovery </div></div></div> <div class="expand-body expand-active" id="recovery-e"> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-all"><a target="_blank" rel="noopener" href="https://www.r-studio.com/Data_Recovery_Technician.shtml">R-Studio Technician License</a></li> <li class="vol-lic-price">$899.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_3_1_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio Technician license and one R-Studio Agent/Agent Emergency license.</span> <span>The license is per user and the software can be installed and/or run on different machines provided that the Licensee does not use the software on more than a single computer at the same time.</span> <span>That&#39;s everything you need to recover lost data for yourself and your customers.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRST.shtml%27,%27R-STUDIO%20Technician%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-studio.com/pro-data-recovery-and-forensic-for-small-business.html">R-Studio T80+</a></li> <li class="vol-lic-price">$80.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_9_1_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio T80+ license and one R-Studio Agent/Agent Emergency license.</span> <span>The license is per user and the software can be installed and/or run on different machines provided that the Licensee does not use the software on more than a single computer at the same time.</span> <span>That&#39;s everything you need to recover lost data for yourself and your customers.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRT80.shtml%27,%27R-STUDIO%20T80+%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-studio.com/#rs_descr_network_sw">R-Studio Corporate</a></li> <li class="vol-lic-price">$179.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_8_1_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio Corporate license and one R-Studio Agent/Agent Emergency license.</span> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRCorp.shtml%27,%27R-Studio%20Corporate%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-studio.com/#rs_descr_sw">R-STUDIO</a></li> <li class="vol-lic-price">$79.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_2_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRC.shtml%27,%27R-STUDIO%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-mac"><a target="_blank" rel="noopener" href="https://www.r-studio.com/pro-data-recovery-and-forensic-for-small-business.html">R-Studio T80+ for Mac</a></li> <li class="vol-lic-price">$80.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_9_42_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio T80+ for Mac license and one R-Studio Agent/Agent Emergency license.</span> <span>The license is per user and the software can be installed and/or run on different machines provided that the Licensee does not use the software on more than a single computer at the same time.</span> <span>That&#39;s everything you need to recover lost data for yourself and your customers.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRT80.shtml%27,%27R-STUDIO%20T80+%20for%20Mac%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-mac"><a target="_blank" rel="noopener" href="https://www.r-studio.com/#rs_descr_network_sw">R-Studio Corporate for Mac</a></li> <li class="vol-lic-price">$179.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_8_42_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio Corporate for Mac license and one R-Studio Agent/Agent Emergency license.</span> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRCorp.shtml%27,%27R-Studio%20Corporate%20for%20Mac%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-mac"><a target="_blank" rel="noopener" href="https://www.r-studio.com/data_recovery_macintosh/">R-Studio for Mac</a></li> <li class="vol-lic-price">$79.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_41_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRC.shtml%27,%27R-Studio%20for%20Mac%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-lin"><a target="_blank" rel="noopener" href="https://www.r-studio.com/pro-data-recovery-and-forensic-for-small-business.html">R-Studio T80+ for Linux</a></li> <li class="vol-lic-price">$80.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_9_48_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio T80+ for Linux license and one R-Studio Agent/Agent Emergency license.</span> <span>The license is per user and the software can be installed and/or run on different machines provided that the Licensee does not use the software on more than a single computer at the same time.</span> <span>That&#39;s everything you need to recover lost data for yourself and your customers.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRT80.shtml%27,%27R-STUDIO%20T80+%20for%20Linux%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-lin"><a target="_blank" rel="noopener" href="https://www.r-studio.com/#rs_descr_network_sw">R-Studio Corporate for Linux</a></li> <li class="vol-lic-price">$179.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_8_48_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>Each license includes one R-Studio Corporate for Linux license and one R-Studio Agent/Agent Emergency license.</span> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRCorp.shtml%27,%27R-Studio%20Corporate%20for%20Linux%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-lin"><a target="_blank" rel="noopener" href="https://www.r-studio.com/data_recovery_linux/">R-Studio for Linux</a></li> <li class="vol-lic-price">$79.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_47_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRC.shtml%27,%27R-Studio%20for%20Linux%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-net"><a target="_blank" rel="noopener" href="https://www.r-studio.com/data-recovery-software/#service-utilities">R-Studio Agent/Agent Emergency</a></li> <li class="vol-lic-price">$20.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_7_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee to install the software on one workstation or server. The license is per machine, not per user, and can&#39;t be transferred to another PC even if a licensed PC is utilized.</span> <span><a href="javascript:spawnEula(%27PopupEulaDRC.shtml%27,%27R-Studio%20Agent%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-undelete.com/">R-UNDELETE</a></li> <li class="vol-lic-price">$54.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_22_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows to install the software on one workstation or server. The license is per user and can be transferred to another Licensee&#39;s PC provided that Licensee may not install the software on more than a single PC at the same time.</span> <span><a href="javascript:spawnEula(%27PopupEulaFUC.shtml%27,%27R-UNDELETE%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> </div> <div class="row-section"><div class="section"><div class="expand-title oh3 expand-active" id="backup"> Disk Cloning and Backup </div></div></div> <div class="expand-body expand-active" id="backup-e"> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.drive-image.com/">R-Drive Image</a></li> <li class="vol-lic-price">$44.95</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_1088_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows Licensee to serve one personal computer or workstation (NOT A SERVER) for its entire lifetime and can be transferred to another computer when the served computer is decommissioned or replaced.</span> <span>The license may not be transferred between different computers back and forth and be reused on the computer it was transferred from.</span> <span><a href="javascript:spawnEula(%27PopupEulaDIC.shtml%27,%27R-Drive%20Image%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.drive-image.com/Drive_Image_Licensing.shtml#technician">R-Drive Image Corporate</a></li> <li class="vol-lic-price">$189.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_8_1088_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows Licensee to serve a workstation or SERVER for its entire lifetime and can be transferred to another computer when the served computer is decommissioned or replaced.</span> <span>The license may not be transferred between different computers back and forth and be reused on the computer it was transferred from.</span> <span><a href="javascript:spawnEula(%27PopupEulaDICopr.shtml%27,%27R-Drive%20Image%20Corporate%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.drive-image.com/Drive_Image_Licensing.shtml#technician">R-Drive Image Technician</a></li> <li class="vol-lic-price">$299.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_3_1088_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One technician license allows the Licensee to serve any number of workstations or servers, but the Licensee may not duplicate the software and use more than one copy of the software.</span> <span>The software can be temporally installed and/or run on a served computer but should be removed to serve another computer.</span> <span>If you have several technicians and would like to serve more than one computer at the same time, you should consider more number of licenses.</span> <span><a href="javascript:spawnEula(%27PopupEulaDIT.shtml%27,%27R-Drive%20Image%20Technician%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.drive-image.com/Drive_Image_Licensing.shtml#commercial">R-Drive Image Commercial</a></li> <li class="vol-lic-price">$499.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_2_1088_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>The license grants IT service providers, system integrators, consultants, and computer assemblers the right to backup, restore and deploy multiple machines for their own needs or for their customers.</span> <span>One license allows to use one copy of the software and serve various storage devices and systems an unlimited number of times.</span> <span><a href="javascript:spawnEula(%27PopupEulaDISD.shtml%27,%27R-Drive%20Image%20Commercial%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.drive-image.com/Drive_Image_Licensing.shtml#oem">R-Drive Image OEM kit</a></li> <li class="vol-lic-price">$898.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_4_1088_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span><a target="_blank" rel="noopener" href="https://www.drive-image.com/Drive_Image_Licensing.shtml#oem">includes three different components.</a></span> <span><a href="javascript:spawnEula(%27PopupEulaDIOEM.shtml%27,%27R-Drive%20Image%20OEM%20kit%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> </div> <div class="row-section"><div class="section"><div class="expand-title oh3" id="privacy"> PC Privacy </div></div></div> <div class="expand-body" id="privacy-e"> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-wipe.com/">R-Wipe &amp; Clean</a></li> <li class="vol-lic-price">$28.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_513_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows Licensee (home user or organization) to serve one personal computer or workstation (NOT A SERVER) for its entire lifetime and can be transferred to another computer when the served computer is decommissioned or replaced.</span> <span>The license may not be transferred between different computers back and forth and be reused on the computer it was transferred from.</span> <span><a href="javascript:spawnEula(%27PopupEulaRWCS.shtml%27,%27R-Wipe%26Clean%20Standalone%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-wipe.com/Disk-Cleaning-Licensing.html#corporate">R-Wipe &amp; Clean Corporate</a></li> <li class="vol-lic-price">$88.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_8_513_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows Licensee to serve a workstation or SERVER for its entire lifetime and can be transferred to another computer when the served computer is decommissioned or replaced.</span> <span>The license may not be transferred between different computers back and forth and be reused on the computer it was transferred from.</span> <span><a href="javascript:spawnEula(%27PopupEulaRWCCorp.shtml%27,%27R-Wipe%26Clean%20Corporate%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-wipe.com/Disk-Cleaning-Licensing.html#technician">R-Wipe &amp; Clean Technician</a></li> <li class="vol-lic-price">$168.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_3_513_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee (home user or organization) to serve as many computers as required, provided that the software is not installed or run simultaneously on more computers than there are purchased licenses. With one technician license, you may serve any number of workstations or servers within your home network or organization, but you may not duplicate the software and use more than one copy of the software.</span> <span>The software can be temporally installed and/or run on a served computer but should be removed if you need to serve another computer.</span> <span><a href="javascript:spawnEula(%27PopupEulaRWCT.shtml%27,%27R-Wipe%26Clean%20Technician%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-light"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-win"><a target="_blank" rel="noopener" href="https://www.r-wipe.com/Disk-Cleaning-Licensing.html#commercial">R-Wipe &amp; Clean Commercial</a></li> <li class="vol-lic-price">$298.00</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_2_513_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows serving various storage devices and systems for commercial gain. With one commercial license, you may serve any number of storage devices and systems, but you may not duplicate the software and use more than one copy of the software.</span> <span>The software may be temporarily installed and/or run on any computer within your organization or on a third-party computer, but must be removed if you need to transfer it to another computer.</span> <span><a href="javascript:spawnEula(%27PopupEulaRWCC.shtml%27,%27R-Wipe%26Clean%20Commercial%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> <div class="vol-lic-dark"><div class="section"><div class="vol-lic-wrap"> <div class="vol-lic-data"><ul> <li class="vol-lic-name vol-lic-mac"><a target="_blank" rel="noopener" href="https://www.r-wipe.com/#mac">R-Wipe &amp; Clean for Mac</a></li> <li class="vol-lic-price">$28.99</li> <li class="vol-lic-qty"><div class="fph form-qty"> <input class="form-qty" type="text" name="PROD_1_517_QTY" required /> <label value="QTY"></label> </div></li> </ul></div> <div class="vol-lic-descr"> <span>One license allows the Licensee to install the software on one workstation or server.</span> <span>The license is per user and can be transferred to another PC owned or leased by the Licensee provided that the Licensee does not install the software on more than a single PC at the same time.</span> <span><a href="javascript:spawnEula(%27PopupEulaFUC.shtml%27,%27R-Wipe%26Clean%20for%20Mac%27);">Read EULA</a></span> </div> <div class="vol-lic-switch"></div> </div></div></div> </div> <div class="row-section"><div class="section"> <div class="btn-center"> <input class="btn-orange-big" type="submit" value="Continue"/> </div> </div></div> </form> <div class="row-blue row-section footer-articles"><div class="section"> <div class="articles-items" id="articles-cols"> <div class="bottom-title">Data Recovery Articles</div> <ul class="bottom-col-left"> <li><a href="https://www.r-studio.com/Data_Recovery_Guide.shtml">Data Recovery Guide</a></li> <li><a href="https://www.r-studio.com/Why_RStudio.shtml">Why R-Studio?</a></li> <li><a href="https://www.r-studio.com/Forensic-and-DataRecovery-Business.html">R-Studio for Forensic and Data Recovery Business</a></li> <li><a href="https://www.r-tt.com/r-studioreview_toptenreviews/">R-STUDIO Review on TopTenReviews</a></li> <li><a href="https://www.r-studio.com/SSD_Recovery.html">File Recovery Specifics for SSD devices</a></li> <li><a href="https://www.r-studio.com/How-to-recover-NVMe-device.html">How to recover data from NVMe devices</a></li> <li><a href="https://www.r-studio.com/Success-of-File-Recovery.html">Predicting Success of Common Data Recovery Cases</a></li> <li><a href="https://www.r-studio.com/Recovery_Overwritten_Data.html">Recovery of Overwritten Data</a></li> <li><a href="https://www.r-studio.com/Emergency_File_Recovery.shtml">Emergency File Recovery Using R-Studio Emergency</a></li> <li><a href="https://www.r-studio.com/RAID_Recovery_Presentation.shtml">RAID Recovery Presentation</a></li> <li><a href="https://www.r-studio.com/RStudio_BrokenComputer.shtml">R-Studio: Data recovery from a non-functional computer</a></li> <li><a href="https://www.r-studio.com/File_Recovery_from_a_Computer_that_Wont_Boot.shtml">File Recovery from a Computer that Won&#39;t Boot</a></li> <li><a href="https://www.r-studio.com/Clone_Disks_Before_File_Recovery.shtml">Clone Disks Before File Recovery</a></li> <li><a href="https://www.r-studio.com/Video_Recovery.shtml">HD Video Recovery from SD cards</a></li> <li><a href="https://www.r-studio.com/File_Recovery_from_Unbootable_Mac.shtml">File Recovery from an Unbootable Mac Computer</a></li> <li><a href="https://www.r-studio.com/best-file-recovery-mac-system-disk.shtml">The best way to recover files from a Mac system disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_From_Encrypted_Linux_Disk.shtml">Data Recovery from an Encrypted Linux Disk after a System Crash</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_From_DMG_Files.shtml">Data Recovery from Apple Disk Images (.DMG files)</a></li> <li><a href="https://www.r-studio.com/File_Recovery_after_Reinstalling_Windows.shtml">File Recovery after Re-installing Windows</a></li> <li><a href="https://www.r-studio.com/DataRecovery_over_Network.shtml">R-Studio: Data Recovery over Network</a></li> <li><a href="https://www.r-studio.com/RStudio_Network_Package.shtml">How To Use R-Studio Corporate Package</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_NTFS.shtml">Data Recovery from a Re-Formatted NTFS Disk</a></li> <li><a href="https://www.r-studio.com/ReFS-recovery.html">Data Recovery from an ReFS disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_exFAT.shtml">Data Recovery from a Re-Formatted exFAT/FAT Disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Erase_HFS.shtml">Data Recovery from an Erased HFS Disk</a></li> <li><a href="https://www.r-studio.com/data-recovery-after-erase-APFS.html">Data Recovery from an Erased APFS Disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_Ext4FS.shtml">Data Recovery from a Re-Formatted Ext2/3/4FS Disk</a></li> <li><a href="https://www.r-studio.com/XFS-recovery.html">Data Recovery from an XFS Disk</a></li> <li><a href="https://www.r-studio.com/NAS_Data_Recovery.shtml">Data Recovery from a Simple NAS</a></li> <li><a href="https://www.r-studio.com/connect-virtual-raid-to-operating-system.html">How to connect virtual RAID and LVM/LDM volumes to the operating system</a></li> </ul> <ul class="bottom-col-right"> <li><a href="https://www.r-studio.com/ntfs-recovery-after-quick-format.html">Specifics of File Recovery After a Quick Format</a></li> <li><a href="https://www.r-studio.com/data-recovery-after-partition-manager-crash.html">Data Recovery After Partition Manager Crash</a></li> <li><a href="https://www.r-studio.com/file-recovery-vs-file-repair.html">File Recovery vs. File Repair</a></li> <li><a href="https://www.r-studio.com/data-recovery-from-virtual-machines.html">Data Recovery from Virtual Machines</a></li> <li><a href="https://www.r-studio.com/Connect-Disks-to-Computer.html">How to Connect Disks to a Computer</a></li> <li><a href="https://www.r-studio.com/emergency-data-recovery-over-network.html">Emergency Data Recovery over Network</a></li> <li><a href="https://www.r-studio.com/data-recovery-over-the-internet.html">Data Recovery over the Internet</a></li> <li><a href="https://www.r-studio.com/creating-custom-file-type-r-studio.html">Creating a Custom Known File Type for R-Studio</a></li> <li><a href="https://www.r-studio.com/finding-raid-parameters.html">Finding RAID parameters</a></li> <li><a href="https://www.r-studio.com/recovering-partitions-on-damaged-disk.html">Recovering Partitions on a Damaged Disk</a></li> <li><a href="https://www.r-studio.com/remote-recovery-nat-firewall-traversal.html">NAT and Firewall Traversal for Remote Data Recovery </a></li> <li><a href="https://www.r-studio.com/external-disk-recovery.html">Data Recovery from an External Disk with a Damaged File System</a></li> <li><a href="https://www.r-studio.com/file-recovery-basics.html">File Recovery Basics</a></li> <li><a href="https://www.r-studio.com/macos-raid-recovery-parameters.html">Default Parameters of Software Stripe Sets (RAID 0) in Mac OS X</a></li> <li><a href="https://www.r-studio.com/vhd-disk-recovery.html">Data Recovery from Virtual Hard Disk (VHD/VHDX) Files</a></li> <li><a href="https://www.r-studio.com/encrypted-disks-recovery.html">Data Recovery from Various File Container Formats and Encrypted Disks</a></li> <li><a href="https://www.r-studio.com/automatic-raid-detection.html">Automatic RAID Parameter Detection</a></li> <li><a href="https://www.r-studio.com/data_recovery_technology.html">IntelligentScan Data Recovery Technology</a></li> <li><a href="https://www.r-studio.com/Multipass-imaging-damaged-drives.html">Multi-pass imaging in R-Studio</a></li> <li><a href="https://www.r-studio.com/runtime-drive-imaging.html">Runtime Imaging in R-Studio</a></li> <li><a href="https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html">Linear Imaging vs Runtime Imaging vs Multi-Pass Imaging</a></li> <li><a href="https://www.r-studio.com/USB-Stabilizer-for-unstable-drives.html">USB Stabilizer Tech for unstable USB devices</a></li> <li><a href="https://www.r-studio.com/improve-pc3000-data-analysis.html">Joint work of R-Studio and PC-3000 UDMA hardware</a></li> <li><a href="https://www.r-studio.com/HDDSuperClone-drive-imaging.html">Joint work of R-Studio and HDDSuperClone</a></li> <li><a href="https://www.r-studio.com/pro-data-recovery-and-forensic-for-small-business.html">R-Studio T80+ - A Professional Data Recovery and Forensic Solution for Small Business and Individuals Just for 1 USD/day</a></li> </ul> <div class="clearthis"></div> <ul class="bottom-col-left"> <li class="bottom-title">Backup Articles</li> <li><a href="https://www.drive-image.com/r-drive-image-license-transfer.html">R-Drive Image Standalone and Corporate license transferring</a></li> <li><a href="https://www.drive-image.com/fixing-Windows-update-error-0x80070643.html">Fixing Windows update error 0x80070643 with R-Drive Image</a></li> <li><a href="https://www.drive-image.com/backup_software.shtml">Backup with Confidence</a></li> <li><a href="https://www.drive-image.com/Free-Partition-Manager.html">R-Drive Image as a free powerful partition manager</a></li> <li><a href="https://www.drive-image.com/Computer_Recovery_and_System_Restore.shtml">Computer Recovery and System Restore</a></li> <li><a href="https://www.drive-image.com/Disk_Cloning_and_Mass_System_Deployment.shtml">Disk Cloning and Mass System Deployment</a></li> <li><a href="https://www.drive-image.com/imaged-disk-access.html">Accessing Individual Files or Folders on a Backed Up Disk Image</a></li> <li><a href="https://www.drive-image.com/How-to-use-Startup-Bootable-version.html">R-Drive Image startup / bootable version</a></li> <li><a href="https://www.drive-image.com/backup-files-personal-computers-laptops-of-home-self-employed-users.html">File Backup for Personal Computers and Laptops of Home and Self-Employed Users</a></li> <li><a href="https://www.drive-image.com/data-backup-plan.html">Creating a Data Consistent, Space Efficient Data Backup Plan for a Small Business Server</a></li> <li><a href="https://www.drive-image.com/how-move-installed-Windows-from-HDD-to-SSD.html">How to Move the Already Installed Windows from an Old HDD to a New SSD Device and Create a Hybrid Data Storage System</a></li> <li><a href="https://www.drive-image.com/Moving-Windows-to-New-SSD.html">How to Move an Installed Windows to a Larger Disk</a></li> <li><a href="https://www.drive-image.com/Moving-BitLocker-System-Disk-to-New-Device.html">How to Move a BitLocker-Encrypted System Disk to a New Storage Device</a></li> <li><a href="https://www.drive-image.com/Disk-Backup-Mac-Linux.html">How to backup and restore disks on Linux and Mac computers using R-Drive Image</a></li> </ul> <ul class="bottom-col-right"> <li class="bottom-title">Undelete Articles</li> <li><a href="https://www.r-undelete.com/Get_Deleted_Files_Back/">Get Deleted Files Back</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/SD-card-recovery.html">Free Recovery from SD and Memory cards</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/undelete-HD-video.html">R-Undelete: Video Recovery</a></li> <li><a href="https://www.r-undelete.com/Damaged_File_System.shtml">Recovery from an External Device with a Damaged File System</a></li> <li><a href="https://www.r-undelete.com/File_Recovery_From_Non-Functional_Computer.shtml">File recovery from a non-functional computer</a></li> <li><a href="https://www.r-undelete.com/Free_File_Recovery_from_Android_Phone_Memory_Card.html">Free File Recovery from an Android Phone Memory Card</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/how-to-tutorial/">Free Photo and Video File Recovery Tutorial</a></li> <li><a href="https://www.r-undelete.com/easy-file-recovery-in-three-steps.html">Easy file recovery in three steps</a></li> </ul> <div class="clearthis"></div> <div class="bottom-title">PC Privacy Articles</div> <ul class="bottom-col-left"> <li><a href="https://www.r-wipe.com/computer-privacy-and-identity-theft-protection.html">Computer Privacy and Identity Theft Protection</a></li> <li><a href="https://www.r-wipe.com/disk-cleanup.html">Disk Cleanup: How to free up disk space</a></li> <li><a href="https://www.r-wipe.com/clear-browsers-cache-history.html">Clear Browser Cache, History, and Other Data</a></li> <li><a href="https://www.r-wipe.com/bulk-file-delete-registry-cleaning.html">Wipe lists in R-Wipe&Clean</a></li> <li><a href="https://www.r-wipe.com/maintain-computer-privacy-SSD-storage-device.html">SSD Storage Devices and Computer Privacy</a></li> </ul> <div class="clearthis"></div> </div> <div class="articles-more-container"><span class="articles-more" id="articles-more"></span></div> </div></div> <script type="text/javascript" charset="utf-8"> // Generic routines function strTrim(str) { return str.replace(/^\s+|\s+$/gm,''); } // Single element class manipulations function _nodeGetClassPos(Node,className) { if (!Node||!Node.className) return -1;if ((!className)||(className.length<=0)) return 0; for(var s=0;true;) { var p=Node.className.indexOf(className,s);if (p<0) return -1; s=p+className.length; if ((p>0)&&(Node.className.charCodeAt(p-1)>32)) continue; if ((s<Node.className.length)&&(Node.className.charCodeAt(s)>32)) continue; return p; } return -1; } function nodeHasClass(Node,className) { return (_nodeGetClassPos(Node,className)>=0); } function nodeAddClass(Node,className) { if ( (!Node) || (!className) || (className.length<=0) || (nodeHasClass(Node,className)) ) return false; if ( (Node.className) && (Node.className.length>0) ) Node.className+=" "; Node.className+=className; return true; } function nodeDelClass(Node,className) { if ( (!Node) || (!Node.className) || (!className) || (className.length<=0) ) return false; var pos=_nodeGetClassPos(Node,className);if (pos<0) return false; var pos2=pos+className.length; if ((pos>0)&&(Node.className.charCodeAt(pos-1)<=32)) {pos--;} else if ((pos2<Node.className.length)&&(Node.className.charCodeAt(pos2)<=32)) {pos2++;} Node.className = Node.className.slice(0,pos) + Node.className.slice(pos2); return true; } function nodeSwitchClass(Node,className) { if ((!Node)||(!className)) return; if (nodeHasClass(Node,className)) { nodeDelClass(Node,className); } else { nodeAddClass(Node,className); } } // Multiple elements class manipulations function nodesHasClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {if (nodeHasClass(Nodes[i],className)) return true;} return false; } function nodesAddClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {nodeAddClass(Nodes[i],className);} } function nodesDelClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {nodeDelClass(Nodes[i],className);} } // Supplement search functions function _findBuild(Selector) { var Search = {Elem:'',Class:'',Type:''}; if (typeof Selector === 'string') Search.Elem=Selector; var pos=Search.Elem.indexOf('[type=');if (pos>=0) { var pos2=Search.Elem.lastIndexOf(']'); if (pos2>pos) { Search.Type=Search.Elem.slice(pos+6,pos2-pos-6); Search.Elem=Search.Elem.slice(0,pos)+Search.Elem.slice(pos2+1); } } pos=Search.Elem.indexOf('.');if (pos>=0) { Search.Class=Search.Elem.slice(pos+1); Search.Elem=Search.Elem.slice(0,pos); } Search.Elem=Search.Elem.toUpperCase(); return Search; } function _findDoesNodeMatch(Search,Node) { if ((!Node)||(Node.nodeType!=1)) return false; var bMatch=true; if ( (Search.Elem!="") && ((!Node.tagName)||(Node.tagName!=Search.Elem)) ) {bMatch=false;} if ( (Search.Type!="") && ((!Node.type)||(Node.type!=Search.Elem)) ) {bMatch=false;} if ( (Search.Class!="") && (!nodeHasClass(Node,Search.Class)) ) {bMatch=false;} return bMatch; } // Search for nodes, Selector = 'element.class[type=typename]', each part can be omited, i.e. '.class' or 'element[type=typename]' for example function nodeFindChildren(Node,Selector) { // Search for matched children nodes, recursively var res = [];if (!Node) return res; var Search = (typeof Selector === 'object')?Selector:_findBuild(Selector); var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (_findDoesNodeMatch(Search,Children[i])) {res.push(Children[i]);} res=res.concat(nodeFindChildren(Children[i],Search)); } return res; } function nodeFindDirectChildren(Node,Selector) { // Search for matched children nodes, only children of this node var res = [];if (!Node) return res; var Search = _findBuild(Selector); var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (_findDoesNodeMatch(Search,Children[i])) {res.push(Children[i]);} } return res; } function nodeFindParent(Node,Selector) { // Search for first matched parent node if (!Node) return null; var Search = _findBuild(Selector); for(var Res=Node.parentNode;Res;Res=Res.parentNode) { if (_findDoesNodeMatch(Search,Res)) return Res; } return null; } // Check if Node have specified Child on any level function hasSpecifiedChild(Node,Child) { if (!Node) return false; var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (Children[i] === Child) return true; if (hasSpecifiedChild(Children[i],Child)) return true; } return false; } </script><script type="text/javascript" charset="utf-8"> function onArticlesMore(el) { var cols=document.getElementById("articles-cols"); var more=document.getElementById("articles-more"); if (cols && more) { nodeSwitchClass(cols,"articles-full"); nodeSwitchClass(more,"articles-full"); } } function onArticlesInit() { var more=document.getElementById("articles-more"); if (more) {more.onclick = function(){onArticlesMore(this);};} } </script> </div> <div class="ftr-footer-wrapper"> <div class="section ftr-footer"> <div class="footer-wdir"> <ul class="footer-wdir-ul"> <li><a href="https://www.r-tt.com/technology-articles/">Technology articles</a></li> <li><a href="https://www.r-tt.com/Glossary.html">Glossary</a></li> <li><a href="http://directory.r-tt.com/">Web directory</a></li> </ul> </div> <div class="ftr-social-container"> <div class="social"> <a rel="nofollow noopener" target="_blank" href="https://twitter.com/RTT_Inc" class="social-item" title="Twitter"><span class="social-twitter"></span></a> <a rel="nofollow noopener" target="_blank" href="https://www.facebook.com/pages/R-Tools-Technology-Inc/236155899748769" class="social-item" title="Facebook"><span class="social-facebook"></span></a> <a rel="nofollow noopener" target="_blank" href="http://rtoolstechnology.tumblr.com/" class="social-item" title="Tumblr"><span class="social-tumblr"></span></a> <a rel="nofollow noopener" target="_blank" href="https://rtoolstechnology.wordpress.com/" class="social-item" title="Wordpress"><span class="social-wordpress"></span></a> </div> </div> <div> <ul class="footer-nav"> <li id="nfm_1"><a href="https://www.r-tt.com/Terms_Of_Use.shtml">Terms of Use</a></li> <li id="nfm_2"><a href="https://www.r-tt.com/Privacy_Policy.shtml">Privacy Policy</a></li> <li id="nfm_3"><a href="https://www.r-tt.com/RTTInfo.shtml">Contact Us</a></li> <li id="nfm_4"><a href="https://www.r-tt.com/Feedback.shtml">Feedback</a></li> <li id="nfm_5"><a href="https://www.r-tt.com/SiteMap.shtml">Site Map</a></li> <li id="nfm_6"><a target="_blank" rel="noopener" href="https://forum.r-tt.com/">R-TT Forum</a></li> </ul> </div> <div class="clearthis"></div> <div class="footer-copyright"> &copy; Copyright 2000-2024 R-Tools Technology Inc. </div> </div> </div> </div> </div> </div> <script type="text/javascript" charset="utf-8"> function removeMediaQueries() { var minWidth=982; document.body.setAttribute("style","min-width: "+(minWidth+8).toString()+"px;"); var styleSheets = document.styleSheets;if (!styleSheets) return; for (var i = 0;i<styleSheets.length;i++) { var cssRules = styleSheets[i].cssRules;if (!cssRules) continue; for (var j = 0;j<cssRules.length;j++) { if (!(cssRules[j] instanceof CSSMediaRule)) continue; var n=cssRules[j].media.mediaText.indexOf("max-width:");if (n<=0) continue; n=parseInt(cssRules[j].media.mediaText.substring(n+10));if ((n<=0)||(n>minWidth)) continue; cssRules[j].media.mediaText = "(max-width:1px)"; } } } function onFlexDetect() { var fbd_doc = document.body || document.documentElement;var fbd_style = fbd_doc.style; if (!(fbd_style.webkitFlexWrap == '' || fbd_style.msFlexWrap == '' || fbd_style.flexWrap == '' )) { var hdr=document.getElementById("hdr-hdr"); if (hdr) { hdr.className+=" no-flex"; removeMediaQueries(); } } } onFlexDetect(); </script> <script type="text/javascript" charset="utf-8"> function onMenuInit() { if(document.getElementById('menu-main')) { var menu = document.getElementById('menu-main'), menuContainer = document.getElementById('menu-container'), menuItems = nodeFindChildren(menu,'.menu-item'), menuTitle = nodeFindChildren(menu,'.menu-title'), menuBtn = nodeFindChildren(menuContainer,'.menu-button'); // show menu function showMenu() {nodeAddClass(menuContainer,'show-menu');} // hide menu function hideMenu() {nodeDelClass(menuContainer,'show-menu');} // menu button function clickButton(_this) { if(nodeHasClass(_this,'active')) { nodeDelClass(_this,'active'); nodesDelClass(menuItems,'active'); hideMenu(); } else { nodeAddClass(_this,'active'); showMenu(); } }; for(var i=0;i<menuBtn.length;i++) {menuBtn[i].onclick = function(){clickButton(this);};} // click on menu function clickItem(_this) { if(window.innerWidth < 982) { var _par = _this.parentNode; if (nodeHasClass(_par,'menu-item-wrap')) {_par=_par.parentNode;} if(nodeHasClass(_par,'active')) { nodeDelClass(_par,'active'); } else { var Siblings = _par.parentNode.childNodes; for(var i=0;i<Siblings.length;i++) { if ((Siblings[i].nodeType!=1)||(Siblings[i]==_par)) continue; nodeDelClass(Siblings[i],'active'); } nodeAddClass(_par,'active'); } } }; for(var i=0;i<menuTitle.length;i++) {menuTitle[i].onclick = function(){clickItem(this);};} // close adaptive menu on events function closeAdaptiveMenu() { if(nodesHasClass(menuBtn,'active')) { hideMenu(); nodesDelClass(menuBtn,'active'); } if(nodesHasClass(menuItems,'active')) { nodesDelClass(menuItems,'active'); } } // click outside adaptive menu if (document.addEventListener) { document.addEventListener('mouseup', function(e) { if((window.innerWidth < 982) && !(menuContainer === e.target) && !hasSpecifiedChild(menuContainer,e.target) ) { closeAdaptiveMenu(); } }); } // process window resize, for off of open dropdown in case of mobile->desktop if (window.addEventListener) { window.addEventListener('resize', function() { if(window.innerWidth > 982) {closeAdaptiveMenu();} }); }; } } onMenuInit(); </script> <script type="text/javascript" charset="utf-8"> if (typeof onImgBigShowInit !== 'undefined') {onImgBigShowInit();} if (typeof onArticlesInit !== 'undefined') {onArticlesInit();} if (typeof onReviewsInit !== 'undefined') {onReviewsInit();} if (typeof onOsTabsInit !== 'undefined') {onOsTabsInit();} </script> <div id="pp-info"> <ul> <li> We use cookies to ensure you get the best experience on our website.&nbsp;&nbsp;&nbsp;<a href="https://www.r-tt.com/Privacy_Policy.shtml" target="_blank">Read more</a> </li> <li> <a id="pp-done">Got It</a> </li> </ul> <img id="pp-info-0" alt="" /> <img id="pp-info-1" alt="" /> <img id="pp-info-2" alt="" /> <img id="pp-info-3" alt="" /> <img id="pp-info-4" alt="" /> <img id="pp-info-5" alt="" /> </div> <script type="text/javascript" charset="utf-8"> function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function pingCookie(strId,aDomains,strGif) { for(i=0;i<aDomains.length;i++) { var strImgId=strId+"-"+i; document.getElementById(strImgId).src=aDomains[i]+strGif; document.getElementById(strImgId).style.display = ""; } } </script><script type="text/javascript" charset="utf-8"> var strPpCookie="r_pp_v1"; var strPpDoneGif="r_pp_v1_ji8s9nde.gif"; var aPpDomains=["https://secure.r-tt.com/","https://www.r-tt.com/","https://www.r-studio.com/","https://www.r-undelete.com/","https://www.r-wipe.com/","https://www.drive-image.com/"]; function onPpInfoDone() { document.getElementById("pp-info").style.display = "none"; setCookie(strPpCookie,"1",3650); pingCookie("pp-info",aPpDomains,strPpDoneGif); } function onPpInfoShow() { var pp_cookie = getCookie(strPpCookie); if (pp_cookie == "") {document.getElementById("pp-info").style.display = "block";} } document.getElementById("pp-done").onclick = onPpInfoDone; setTimeout(function(){onPpInfoShow();},1500); </script> <script type="text/javascript" charset="utf-8"> var strSeCookie="r_se_v1"; var strSeDoneGif="r_se_v1_ji8s9nde.gif"; var aSeDomains=["https://www.r-tt.com/","https://www.r-studio.com/","https://www.r-undelete.com/","https://www.r-wipe.com/","https://www.drive-image.com/"]; function onEventInfoDone() { nodeDelClass(document.getElementById("hdr-wrapper"),"special-event") setCookie(strSeCookie,"1",12); pingCookie("pp-info",aSeDomains,stSepDoneGif); } function onEventInfoShow() { var se_cookie = getCookie(strSeCookie); if (se_cookie == "") {nodeAddClass(document.getElementById("hdr-wrapper"),"special-event");} } if (document.getElementById("event-done")) { var iSecurePos=window.location.href.indexOf("secure."); if (iSecurePos<0) { document.getElementById("event-done").onclick = onEventInfoDone; setTimeout(function(){onEventInfoShow();},1000); } } </script> <script type="text/javascript" charset="utf-8"> function onExpandSwitch(Node) { if (!Node) return; if ((typeof onExpandHook !== 'undefined')&&(!onExpandHook(Node))) {return;} var Expand=document.getElementById(Node.id+'-e'); if (nodeHasClass(Node,'expand-active')) { nodeDelClass(Node,'expand-active'); if (Expand) {nodeDelClass(Expand,'expand-active');} } else { nodeAddClass(Node,'expand-active'); if (Expand) {nodeAddClass(Expand,'expand-active');} } } function onExpandInit() { var expands = nodeFindChildren(document,'.expand-title'); for(var i=0;i<expands.length;i++) {expands[i].onclick = function(){onExpandSwitch(this);};} } onExpandInit(); </script> <script type="text/javascript" charset="utf-8"> function formCustomCheckForm(Form) { var bHaveValid=false,bHaveInvalid=false; var Elems=Form.elements; for(var p=0;p<2;p++) for(var j=0;j<Elems.length;j++) { if ((Elems[j].tagName!='INPUT')||(!nodeHasClass(Elems[j],"form-qty"))) continue; var strValue=strTrim(formGetVal(Elems[j])); if (p==0) { if (strValue == "") continue; if (isValidDigits(formGetVal(Elems[j]))) { bHaveValid=true; formSetInputValidity(Elems[j],true); } else { bHaveInvalid=true; formSetInputValidity(Elems[j],false); } } if ((p==1)&&(strValue == "")) { formSetInputValidity(Elems[j],bHaveValid||bHaveInvalid); } } return bHaveValid && !bHaveInvalid; } function onExpandHook(Node) { var Expand=document.getElementById(Node.id+'-e'); var Qtys = nodeFindChildren(Expand,'input.form-qty'); for(var i=0;i<Qtys.length;i++) { if (strTrim(formGetVal(Qtys[i])) == "") continue; return false; } return true; } </script> <script type="text/javascript" charset="utf-8"> var optMinExpQtyMul=0.016; var optUnlimitedMul=1.2; var optUnlimitedQty=65535; var optGroupDiscMin=20; var optGroupDiscStep=10; var optGroupDiscMax=50; var optSiteLicense= 1799; var optAddEcsDiscount=25; var optMaxDays=365; var aProductPrices=[];var aProductDependency=[]; aProductPrices["1_2"]=[79.9900,500,2.2483,0.0000,30]; aProductPrices["1_4"]=[59.9900,500,1.6862,0.0000,30]; aProductPrices["1_6"]=[49.9900,500,1.4051,0.0000,30]; aProductPrices["1_7"]=[20.0000,1000,1.0000,0.0000,0]; aProductDependency["1_7"]=["1_7",5,"net"]; aProductPrices["1_22"]=[54.9900,500,1.5456,0.0000,0]; aProductPrices["1_41"]=[79.9900,500,2.2483,0.0000,30]; aProductPrices["1_47"]=[79.9900,500,2.2483,0.0000,30]; aProductPrices["1_48"]=[179.9900,500,2.2483,0.0000,30]; aProductDependency["1_48"]=["1_7",5,"net"]; aProductPrices["1_257"]=[29.9800,500,0.8317,0.0000,0]; aProductPrices["1_259"]=[114.9900,500,3.2317,0.0000,0]; aProductPrices["1_513"]=[28.9900,700,0.9000,0.0000,0]; aProductPrices["1_517"]=[28.9900,700,0.9000,0.0000,0]; aProductPrices["1_1088"]=[44.9500,833,4.9900,0.0000,200]; aProductPrices["2_513"]=[298.0000,83,29.9737,0.0000,0]; aProductPrices["2_1088"]=[499.0000,83,50.1908,0.0000,0]; aProductPrices["3_1"]=[899.0000,10,416.5833,0.0000,0]; aProductDependency["3_1"]=["3_7",1,"net","3_8",1,"ust"]; aProductPrices["3_7"]=[0.0000,100,0.0000,0.0000,0]; aProductDependency["3_7"]=["3_7",1,"net"]; aProductPrices["3_8"]=[0.0000,100,0.0000,0.0000,0]; aProductDependency["3_8"]=["3_8",1,"ust"]; aProductPrices["3_257"]=[269.0000,10,124.9167,0.0000,0]; aProductPrices["3_259"]=[999.0000,10,575.2300,0.0000,0]; aProductPrices["3_513"]=[168.0000,20,117.0334,0.0000,0]; aProductPrices["3_1088"]=[299.0000,20,208.2916,0.0000,0]; aProductPrices["4_1088"]=[898.0000,20,208.2916,0.0000,0]; aProductDependency["4_1088"]=["4_1099",0,"rdi_oem"]; aProductPrices["4_1099"]=[2.0000,1000,1.0000,0.0000,0]; aProductDependency["4_1099"]=["4_1099",0,"rdi_oem"]; aProductPrices["5_1088"]=[499.0000,20,208.2916,0.0000,0]; aProductPrices["8_1"]=[179.9900,500,5.0590,0.0000,30]; aProductDependency["8_1"]=["8_7",1,"net"]; aProductPrices["8_7"]=[0.0000,100,0.0000,0.0000,0]; aProductDependency["8_7"]=["8_7",1,"net"]; aProductPrices["8_42"]=[179.9900,500,5.0590,0.0000,30]; aProductDependency["8_42"]=["8_7",1,"net"]; aProductPrices["8_48"]=[179.9900,500,5.0590,0.0000,30]; aProductDependency["8_48"]=["8_7",1,"net"]; aProductPrices["8_513"]=[88.9900,833,9.8790,0.0000,200]; aProductPrices["8_1088"]=[189.0000,833,20.9813,0.0000,200]; aProductPrices["9_1"]=[80.0000,1,80.0000,1.0000,0]; aProductDependency["9_1"]=["9_7",1,"net"]; aProductPrices["9_7"]=[0.0000,100,0.0000,0.0000,0]; aProductDependency["9_7"]=["9_7",1,"net"]; aProductPrices["9_42"]=[80.0000,1,80.0000,1.0000,0]; aProductDependency["9_42"]=["9_7",1,"net"]; aProductPrices["9_48"]=[80.0000,1,80.0000,1.0000,0]; aProductDependency["9_48"]=["9_7",1,"net"]; aProductPrices["rst"]=[720.0000,720.0000,900.0000,810.0000,720.0000]; function calcLogPrice(aPrice,Qty,QtyMin) { var fullPrice=aPrice[1]*aPrice[2]; var q=Qty;var p=0;for(;q>QtyMin;q--) { var unitPrice=aPrice[0]-(aPrice[0]-aPrice[2])*Math.pow(Math.log(q-QtyMin+1)/Math.log(aPrice[1]-QtyMin+1),0.7); p=aPrice[0]*QtyMin+unitPrice*(q-QtyMin); if (p<(fullPrice/2)) break; } return p+(Qty-q)*(fullPrice-p)/(aPrice[1]-q); } function calcProdQtyPrice(strProdId,Qty,Days) { var QtyMin=1;var aCalc=[Qty,0]; var aPrice=aProductPrices[strProdId];if ( (!aPrice) || (!(aPrice[0]>0)) ) return aCalc; aPrice=aPrice.slice(); if (aProductDependency[strProdId]) { var aDependency=aProductDependency[strProdId]; if (aDependency[0] == strProdId) { QtyMin=aDependency[1]; if (aDependency[2]) {QtyMin=100;} } else { var aSubPrice=aProductPrices[aDependency[0]]; aPrice[0]-=aSubPrice[0]*aDependency[1]; } } var QtyExp=QtyMin+Math.floor(aPrice[1]*optMinExpQtyMul); var QtyMaxEff=QtyMin+(((aPrice[4]>0)&&(aPrice[4]<aPrice[1]))?aPrice[4]:aPrice[1]); if (aPrice[3]>0.001) { var iDays=Days; if (iDays>optMaxDays) iDays=optMaxDays; aCalc[1]=iDays*aPrice[3]; if (aCalc[1]<aPrice[0]) aCalc[1]=aPrice[0]; aCalc[1]=aCalc[1]*Qty; } else if ((typeof aProductExRules !== 'undefined')&&(aProductExRules[strProdId])) { var UnitPrice=Math.round(aPrice[0]*(1-aProductExRules[strProdId][1]/100)*100)/100; aCalc[1]=UnitPrice*Qty; } else if ((Qty<=QtyMin)||(aPrice[1]<=QtyMin)||(aPrice[2]<=0)) { aCalc[1]=aPrice[0]*Qty; } else if ((Qty<QtyExp)&&(QtyExp>QtyMin)) { var unitDiscount=(aPrice[0]-aPrice[2])*Math.pow(Math.log(QtyExp-QtyMin+1)/Math.log(aPrice[1]-QtyMin+1),0.7); unitDiscount*=(Qty-QtyMin)/(QtyExp-QtyMin); aCalc[1]=(aPrice[0]-unitDiscount)*Qty; } else if (Qty<QtyMaxEff) { aCalc[1]=calcLogPrice(aPrice,Qty,QtyMin); } else if ((aPrice[4]>0)&&(QtyMaxEff>0)) { var UnitPrice=Math.round(calcLogPrice(aPrice,QtyMaxEff,QtyMin)/QtyMaxEff*100)/100; aCalc[1]=UnitPrice*Qty; } else if (Qty<aPrice[1]*optUnlimitedMul) { aCalc[1]=aPrice[2]*Qty; } else { aCalc[1]=aPrice[2]*aPrice[1]*optUnlimitedMul; var iLic=parseInt(strProdId.substring(0,strProdId.indexOf("_"))); if (iLic>1) { var QtyBegin=aPrice[1]*optUnlimitedMul; var Qty2=(Qty-QtyBegin);if (Qty2>=1) { var priceMin=aCalc[1]/100; var aPrice2=[aPrice[2],QtyBegin*25,0]; aPrice2[2]=((QtyBegin+aPrice2[1])*priceMin-aCalc[1])/aPrice2[1]; aPrice2[2]=aPrice2[2]/1.5; if (aPrice2[2]>aPrice2[0]) {aPrice2[2]=aPrice2[0];} var addPrice=0; if ( (Qty2<aPrice2[1]) && (aPrice2[2]<aPrice2[0]) ) { addPrice=calcLogPrice(aPrice2,Qty2,1); } else { addPrice=Qty2*aPrice2[2]; } if (Qty2<2) {addPrice=(addPrice+aPrice2[1])/2;} aCalc[1]+=Math.round(addPrice*100)/100; } } else { // aCalc[0]=optUnlimitedQty; } } return aCalc; } function isUstProductId(strProdId) { if ((!strProdId)||(strProdId=="")) return false; var aDependency=aProductDependency[strProdId]; if ((!aDependency)||(aDependency[0]!=strProdId)) return false; return (aDependency[2]=="ust"); } function getUstProductId(aProductsSet,strProdId) { if ((!strProdId)||(strProdId=="")) return ""; var aDependency=aProductDependency[strProdId]; if ((aDependency)&&(aDependency[0]!=strProdId)) {for(var i=0;i<aDependency.length;i+=3) { if (aDependency[i+2]!="ust") continue; return aDependency[i+0]; }} return ""; } function calcProductsSet(aProductsSet,Days,SeDiscount) { // [lic_fin=>qty]=>[lic_fin=>[qty,amount,min_qty,max_qty]] var aRes=[];if (!aProductsSet) return aRes; // ... update qty ... var bHaveValidQty=false; for(var strProdId in aProductsSet) { var iLic=parseInt(strProdId.substring(0,strProdId.indexOf("_"))); if ((aProductsSet[strProdId]<=0.0000001)&&(!isUstProductId(strProdId))) continue; if (!aProductPrices[strProdId]) {aRes=[];return aRes;} aRes[strProdId]=[aProductsSet[strProdId],0,1,optUnlimitedQty]; if (aProductsSet[strProdId]>0.0000001) {bHaveValidQty=true;} if ((typeof aProductExRules !== 'undefined')&&(aProductExRules[strProdId][0]>=1)) { aRes[strProdId][2]=aProductExRules[strProdId][0]; } } if (!bHaveValidQty) {aRes=[];return aRes;} for(var strProdId in aRes) { var aDependency=aProductDependency[strProdId]; if ((!aDependency)||(aDependency[0]==strProdId)) continue; for(var i=0;i<aDependency.length;i+=3) { if (aDependency[i+2]=="net") { var iDepQty=aDependency[i+1]; if (iDepQty<aRes[strProdId][0]) {iDepQty=aRes[strProdId][0];} if ( (!aRes[aDependency[i+0]]) || (aRes[aDependency[i+0]][0]<iDepQty) || (aProductPrices[aDependency[i+0]][0]<=0.0000001) ) {aRes[aDependency[i+0]]=[iDepQty,0,iDepQty,(aProductPrices[aDependency[i+0]][0]<=0.0000001)?iDepQty:optUnlimitedQty];} else {aRes[aDependency[i+0]][2]=iDepQty;} } if (aDependency[i+2]=="ust") { if (!aRes[aDependency[i+0]]) aRes[aDependency[i+0]]=[0,0,0,0]; var iDepQty=aRes[strProdId][0]; aRes[aDependency[i+0]][2]=0; aRes[aDependency[i+0]][3]=1; if (aRes[aDependency[i+0]][0]>aRes[aDependency[i+0]][3]) {aRes[aDependency[i+0]][0]=aRes[aDependency[i+0]][3];} } } } // ... calculate each product prices ... var aCalcKeys=[]; for(var strProdId in aRes) { aCalcKeys.push(strProdId); var aCalced=calcProdQtyPrice(strProdId,aRes[strProdId][0],Days); aRes[strProdId][0]=aCalced[0]; aRes[strProdId][1]=aCalced[1]; if (aRes[strProdId][1]<=0.0000001) aRes[strProdId][1]=0; // ... se discount ... if ( (SeDiscount) && (SeDiscount>0) ) { aRes[strProdId][1]-=Math.round(aRes[strProdId][1]*SeDiscount)/100; } // ... dependants price ... var ustProdId=getUstProductId(aRes,strProdId);if (ustProdId!="") { var iRstQty=aRes[ustProdId][0]; if (iRstQty<=0) iRstQty=1; var RstPrice=(iRstQty+1<aProductPrices["rst"].length)?aProductPrices["rst"][iRstQty+1]:aProductPrices["rst"][aProductPrices["rst"].length-1]; if ( (SeDiscount) && (SeDiscount>0) && (RstPrice>aProductPrices["rst"][1]) ) RstPrice=aProductPrices["rst"][1]; if (aRes[strProdId][1]<RstPrice*iRstQty-2) {aRes[strProdId][1]=RstPrice*iRstQty;} } } // ... calculate group discount ... var aSortKeys=aCalcKeys.sort(function(a,b){return aRes[b][1]-aRes[a][1]}); var iDiscountGroup=0;for(var i=0;i<aSortKeys.length;i++) { var strProdId=aSortKeys[i]; var aDependency=aProductDependency[strProdId]; if ((aDependency)&&(aDependency[0]==strProdId)) continue; var ustProdId=getUstProductId(aRes,strProdId);if (ustProdId!="") continue; var discPerc=(iDiscountGroup>0)?(optGroupDiscMin+(iDiscountGroup-1)*optGroupDiscStep):0; if (discPerc>optGroupDiscMax) {discPerc=optGroupDiscMax;} aRes[strProdId][1]=(aRes[strProdId][1])*(100-discPerc)/100; iDiscountGroup++; } // ... calculate additional discount ... for(var strProdId in aRes) { var aDependency=aProductDependency[strProdId]; if ((!aDependency)||(aDependency[0]==strProdId)) continue; var ustProdId=getUstProductId(aRes,strProdId);if (ustProdId!="") continue; var iLic=parseInt(strProdId.substring(0,strProdId.indexOf("_"))); if ((iLic<=1)&&(aRes[strProdId][1]+aRes[aDependency[0]][1]>=optSiteLicense)) { aRes[strProdId][0]=optUnlimitedQty;aRes[strProdId][1]=optSiteLicense/2; aRes[aDependency[0]][0]=optUnlimitedQty;aRes[aDependency[0]][1]=optSiteLicense/2; } if ((iLic==3)&&(aRes[strProdId][1]>=optUnlimitedQty)) { aRes[aDependency[0]][0]=optUnlimitedQty; } } // ... round price by qty and finish ... for(var strProdId in aRes) { if ((aRes[strProdId][1]>0.0000001)&&(aRes[strProdId][0]>1)&&(aRes[strProdId][0]<optUnlimitedQty)) { aRes[strProdId][1]=(Math.round(aRes[strProdId][1]*100/aRes[strProdId][0])*aRes[strProdId][0])/100; } } // ... done return aRes; } function getCalcedSetTotal(aCalcedSet) { if (!aCalcedSet) return -1; var fPrice=-1;for(var strProdId in aCalcedSet) { if (fPrice<0) {fPrice=0;} fPrice+=aCalcedSet[strProdId][1]; } return Math.floor(fPrice*100+0.0000001)/100; } function calcProductsPrice(aProductsSet,Days,SeDiscount) { return getCalcedSetTotal(calcProductsSet(aProductsSet,Days,SeDiscount)); } function getEcsPriceForCalcedSet(aCalcedSet,Qty) { if (!aCalcedSet) return -1; var fStd=0;var fTech=0;for(var strProdId in aCalcedSet) { var iLic=parseInt(strProdId.substring(0,strProdId.indexOf("_"))); if ((iLic>=3)&&(iLic<=6)) { fTech+=aCalcedSet[strProdId][1]; } else if (iLic!=9) { fStd+=aCalcedSet[strProdId][1]; } } fTech=Math.floor(fTech*25*Qty+0.0000001)/100; fStd=Math.floor(fStd*(50+(Qty-1)*25)+0.0000001)/100; return fTech+fStd; } function getAddEcsByEcsPrice(fEcsPrice) { return Math.round(fEcsPrice*(100-optAddEcsDiscount))/100; } </script><script type="text/javascript" charset="utf-8"> function onVolLicSwitch(Node) { if (!Node||!Node.parentNode) return; Node=Node.parentNode; if (nodeHasClass(Node,"vol-lic-active")) { nodeDelClass(Node,"vol-lic-active"); } else { nodeAddClass(Node,"vol-lic-active"); } } function onVolLicInit() { var switches = nodeFindChildren(document,'.vol-lic-switch'); for(var i=0;i<switches.length;i++) {switches[i].onclick = function(){onVolLicSwitch(this);};} } onVolLicInit(); </script> <script type="text/javascript" charset="utf-8"> // Generic forms, aFormChecks prefixes: %:digits, #:phone, *:name, @:email, ~:optional email function isValidDigits(str) { var dig_pattern = /^\s*\d+\s*$/; return dig_pattern.test(str); } function isValidPhone(str) { var strPhone=str.replace(/\D/gm,''); return (strPhone.length>=5)?true:false; } function isLatinOnly(str) { var non_lating = /[^\u0020-\u007f]/; return !non_lating.test(str); } function isValidEmail(email) { var bAt=false, bDot=false; var e=strTrim(email); for (var pos = 0;pos<e.length;pos++) { var c=e.charAt(pos); if (c<=' ') return false; if ((c=='@')&&(bAt)) return false; if (c=='@') bAt = true; if (c=='.') bDot = true; } return bAt && bDot; } function formGetVal(E) { var strVal=E.value; if ((E.type=='checkbox')||(E.type=='radio')) { if (!E.checked) strVal=""; } else { if (strVal == E.getAttribute("js_placeholder")) return ""; } return strVal; } function formIsValidInput(E,Kind) { var strVal=formGetVal(E); if (Kind == "opt_email") {return ((strVal == "")||isValidEmail(strVal))?true:false;} if (strVal == "") return false; if ( (Kind == "email") && (!isValidEmail(strVal)) ) return false; if ( (Kind == "latin") && (!isLatinOnly(strVal)) ) return false; if ( (Kind == "phone") && (!isValidPhone(strVal)) ) return false; if ( (Kind == "digits") && (!isValidDigits(strVal)) ) return false; return true; } function formSetInputValidity(Elem,IsValid) { var E=Elem; if (E.parentNode && nodeHasClass(E.parentNode,"form-round-wrong")) { E=E.parentNode; } else { var P=E.parentNode; for(var i=0;i<4;i++) { if (!P) break; if (P.tagName.slice(0,1)!="T") break; if ((P.tagName=="TABLE") && nodeHasClass(P,"form-table-row")) {E=P;break;} P=P.parentNode } } if (IsValid) { nodeDelClass(E,"form-wrong"); } else { nodeAddClass(E,"form-wrong"); } return IsValid; } function formFillByUri() { var query = location.search.substr(1).split("&"); for(var i=0;i<query.length;i++) { var item = query[i].split("="); item[1] = decodeURIComponent(item[1]); var elem = document.getElementById(item[0]); if (elem) { if (elem.options) { for(var j=0;j<elem.options.length;j++) { var opt=elem.options[j];if (!opt) continue; if (!(item[1].toUpperCase() === opt.value.toUpperCase())) continue; elem.value=opt.value; break; } } else { elem.value=item[1]; } } } } function onSubmitForm(Form) { var bFormValid=true;bFormWrongName=false;var aSubmitBtns=[]; var Elems=Form.elements; for(var j=0;j<Elems.length;j++) { if (typeof aFormChecks !== 'undefined') { for(var i=0;i<aFormChecks.length;i++) { var strChkName=aFormChecks[i];var strChkKind=""; if (strChkName.substr(0,1)=='%') {strChkName=strChkName.slice(1);strChkKind="digits";} if (strChkName.substr(0,1)=='#') {strChkName=strChkName.slice(1);strChkKind="phone";} if (strChkName.substr(0,1)=='*') {strChkName=strChkName.slice(1);strChkKind="latin";} if (strChkName.substr(0,1)=='@') {strChkName=strChkName.slice(1);strChkKind="email";} if (strChkName.substr(0,1)=='~') {strChkName=strChkName.slice(1);strChkKind="opt_email";} if (Elems[j].name==strChkName) { if (!formSetInputValidity(Elems[j],formIsValidInput(Elems[j],strChkKind))) { bFormValid=false; if (strChkKind=="latin") bFormWrongName=true; } break; } } } if (typeof formCustomCheckInput !== 'undefined') { if (!formCustomCheckInput(Elems[j])) bFormValid=false; } if (Elems[j].name=='WordVerify') { if (Elems[j].value == "") { bFormValid=false; formSetInputValidity(Elems[j],false); } else { formSetInputValidity(Elems[j],true); } } if ((Elems[j].tagName=='INPUT')&&(Elems[j].type=='submit')) { aSubmitBtns.push(Elems[j]); } } if (typeof formCustomCheckForm !== 'undefined') { if (!formCustomCheckForm(Form)) bFormValid=false; } if (bFormValid) { nodeDelClass(Form,"form-wrong"); nodesDelClass(aSubmitBtns,"form-wrong"); var SubmitCheck=document.getElementById('#FormWasAlreadySubmited'); if (SubmitCheck) {SubmitCheck.value=new Date().getTime();} for(var j=0;j<Elems.length;j++) { if ((Elems[j].value != "")&&(Elems[j].value == Elems[j].getAttribute("js_placeholder"))) {Elems[j].value="";} } } else { nodeAddClass(Form,"form-wrong"); for(var j=0;j<aSubmitBtns.length;j++) { if (nodeHasClass(aSubmitBtns[j],"form-wrong")) { var newSubmitBtn = aSubmitBtns[j].cloneNode(true); aSubmitBtns[j]=aSubmitBtns[j].parentNode.replaceChild(newSubmitBtn,aSubmitBtns[j]); } else { nodeAddClass(aSubmitBtns[j],"form-wrong"); } } } if (bFormWrongName) { nodeAddClass(Form,"form-wrong-name"); } else { nodeDelClass(Form,"form-wrong-name"); } return bFormValid; } // Word verification function onRefreshCaptcha() { var Img=document.getElementById('WordVerifyImg');if (!Img) return; Img.setAttribute('src','/scripts/cgen?'+new Date().getTime()); } function onFormInit() { var SubmitCheck=document.getElementById('#FormWasAlreadySubmited');if (!SubmitCheck) return; if (SubmitCheck.value != "") { SubmitCheck.value=''; onRefreshCaptcha(); } } // Floating placeholders function fphIsInput(E) { if (!E) return false; return ( ((E.tagName=='INPUT')&&(E.type=='text')) || ((E.tagName=='INPUT')&&(E.type=='password')) || ((E.tagName=='INPUT')&&(E.type=='email')) || (E.tagName=='TEXTAREA') ); } function fphGetLabel(E) { while((E)&&(E.tagName!='LABEL')) E=E.nextSibling; return E; } function onFphChange(E) { var Lbl=fphGetLabel(E);if (!Lbl) return; var IsPlaceholder = (formGetVal(E) == ""); if ( (E === document.activeElement) || (!IsPlaceholder) ) { if (IsPlaceholder) {E.value="";E.setAttribute("js_placeholder","");nodeDelClass(E,"js_placeholder");} Lbl.innerText=Lbl.getAttribute("value"); Lbl.className=(E === document.activeElement)?"js_focus":""; Lbl.style.display = "block"; } else { Lbl.style.display = "none"; if (IsPlaceholder) { var strPlaceholder; if (nodeHasClass(E,"form-wrong")) {strPlaceholder=Lbl.getAttribute("alt");} if ((!strPlaceholder)||(strPlaceholder=="")) {strPlaceholder=Lbl.getAttribute("placeholder");} if ((!strPlaceholder)||(strPlaceholder=="")) {strPlaceholder=Lbl.getAttribute("value");} if (!strPlaceholder) {strPlaceholder="";} E.value=strPlaceholder; E.setAttribute("js_placeholder",strPlaceholder); nodeAddClass(E,"js_placeholder"); } else { E.setAttribute("js_placeholder",""); nodeDelClass(E,"js_placeholder"); } } } function onFphChangeThis() { onFphChange(this); } function onFphInitNode(Node) { if (!Node) return; nodeAddClass(Node,"fph-js"); var aChildren = Node.childNodes; for(var j=0;j<aChildren.length;j++) { if (fphIsInput(aChildren[j])) { onFphChange(aChildren[j]); if (aChildren[j].addEventListener) { aChildren[j].addEventListener('focus',onFphChangeThis,true); aChildren[j].addEventListener('blur',onFphChangeThis,true); aChildren[j].oninput = onFphChangeThis; } else { aChildren[j].onfocusin = onFphChangeThis; aChildren[j].onfocusout = onFphChangeThis; aChildren[j].oncut = aChildren[j].oncopy = aChildren[j].onpaste = aChildren[j].onkeyup = onFphChangeThis; } } } } function onFphInit() { var bHaveNativeFph=false; try { var aSelectors=['.fph input:invalid','.fph input:valid','.fph textarea:invalid','.fph textarea:valid']; if (document.querySelector('.fph')) for(var i=0;i<aSelectors.length;i++) { if (!document.querySelector(aSelectors[i])) continue; bHaveNativeFph=true;break; } } catch(e) {} if (!bHaveNativeFph) { //if (true) { var aFph=nodeFindChildren(document,'.fph'); for(var i=0;i<aFph.length;i++) { onFphInitNode(aFph[i]); } } } // Main execution onFphInit(); onFormInit(); </script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10