www.fareastflora.com
Open in
urlscan Pro
2606:4700:20::681a:c7f
Public Scan
Submitted URL: https://trk.klclick3.com/ls/click?upn=K5MHzMrnkUxkX6JPINOkGFFbRqw6aQc6pf87WIevwP9Ng2v7U4VQg9nUOzB2v0Fd6gvwjblOs3VkUQkfGE2...
Effective URL: https://www.fareastflora.com/love-in-grandeur-flower-bouquet.html?utm_source=Klaviyo&utm_medium=email&utm_id=FEFSG_VDAY22Blas...
Submission: On January 17 via api from SG — Scanned from DE
Effective URL: https://www.fareastflora.com/love-in-grandeur-flower-bouquet.html?utm_source=Klaviyo&utm_medium=email&utm_id=FEFSG_VDAY22Blas...
Submission: On January 17 via api from SG — Scanned from DE
Form analysis
5 forms found in the DOMGET https://www.fareastflora.com/catalogsearch/result/
<form id="search_mini_form" action="https://www.fareastflora.com/catalogsearch/result/" method="get" class="searchautocomplete UI-SEARCHAUTOCOMPLETE" data-tip="Search entire store here..."
data-url="//www.fareastflora.com/searchautocomplete/ajax/get/" data-minchars="3" data-delay="500">
<div class="form-search">
<label for="search">Search:</label>
<div class="nav-search-in">
<span class="category-fake UI-CATEGORY-TEXT">All</span>
<span class="nav-down-arrow"></span>
<select name="cat" class="category UI-CATEGORY" style="width: 55px;">
<option value="0">All</option>
<option value="261"> Sale </option>
<option value="483"> The Life Celebrant </option>
<option value="55"> Occasion </option>
<option value="3"> Flowers </option>
<option value="15"> Gifts </option>
<option value="16"> Plants </option>
<option value="17"> Hampers </option>
<option value="18"> Gourmet </option>
<option value="19"> Corporate </option>
<option value="20"> International </option>
<option value="257"> Birthday </option>
<option value="262"> Sympathy </option>
<option value="296"> Congratulatory </option>
<option value="336"> Disposal Fee </option>
<option value="491"> Far East Flora Garden Centre </option>
<option value="492"> Florist Same Day Delivery </option>
</select>
</div>
<input id="search" type="text" autocomplete="off" name="q" value="" class="input-text UI-SEARCH UI-NAV-INPUT" maxlength="128" style="padding-left: 55px;">
<button type="submit" title="Search" class="button search-button"><span><span>Search</span></span></button>
<div class="searchautocomplete-loader UI-LOADER">
<div id="g01"></div>
<div id="g02"></div>
<div id="g03"></div>
<div id="g04"></div>
<div id="g05"></div>
<div id="g06"></div>
<div id="g07"></div>
<div id="g08"></div>
</div>
<div style="display:none" id="search_autocomplete" class="UI-PLACEHOLDER search-autocomplete searchautocomplete-placeholder"></div>
</div>
</form>
POST https://www.fareastflora.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZmFyZWFzdGZsb3JhLmNvbS9sb3ZlLWluLWdyYW5kZXVyLWZsb3dlci1ib3VxdWV0Lmh0bWw_X19fU0lEPVUmX2t4PXREWEh0SU1lTzV2cGVsWE5HdGVaRENGek52TW01b2pEOTRRZ2dEXzVOR2clM0QuV0w0eDNiJnV0bV9jYW1wYWlnbj1WYWxlbnRpbmUlMjdzK0RheSsyMDIyKy0rQmxhc3QrMislMjgyMDIyLTAxLTE1JTI5JnV0bV9pZD1GRUZTR19WREFZMjJCbGFzdDImdXRtX21lZGl1bT1lbWFpbCZ1dG1fc291cmNlPUtsYXZpeW8,/product/30652/form_key/Y2lQBkGb8gNR8YIp/
<form
action="https://www.fareastflora.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZmFyZWFzdGZsb3JhLmNvbS9sb3ZlLWluLWdyYW5kZXVyLWZsb3dlci1ib3VxdWV0Lmh0bWw_X19fU0lEPVUmX2t4PXREWEh0SU1lTzV2cGVsWE5HdGVaRENGek52TW01b2pEOTRRZ2dEXzVOR2clM0QuV0w0eDNiJnV0bV9jYW1wYWlnbj1WYWxlbnRpbmUlMjdzK0RheSsyMDIyKy0rQmxhc3QrMislMjgyMDIyLTAxLTE1JTI5JnV0bV9pZD1GRUZTR19WREFZMjJCbGFzdDImdXRtX21lZGl1bT1lbWFpbCZ1dG1fc291cmNlPUtsYXZpeW8,/product/30652/form_key/Y2lQBkGb8gNR8YIp/"
method="post" id="product_addtocart_form">
<input name="form_key" type="hidden" value="Y2lQBkGb8gNR8YIp">
<div class="no-display">
<input type="hidden" name="product" value="30652">
<input type="hidden" name="related_product" id="related-products-field" value="">
</div>
<div class="product-img-box">
<div class="product-name">
<h1 itemprop="name">
<meta itemprop="sku" content="VE52">
<meta itemprop="url" content=""> VE52 - Love In Grandeur - Flower Bouquet
</h1>
<div class="no-display" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
<meta itemprop="priceCurrency" content="SGD">
<span itemprop="price">267.39</span>
</div>
</div>
<div class="product-image product-image-zoom">
<div class="product-image-gallery">
<img id="image-main" class="gallery-image visible" src="https://www.fareastflora.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/v/e/ve52.jpg" alt="Love In Grandeur - Flower Bouquet"
title="Love In Grandeur - Flower Bouquet" height="640" width="640" itemprop="image">
<img id="image-0" class="gallery-image" src="https://www.fareastflora.com/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/v/e/ve52.jpg"
data-zoom-image="https://www.fareastflora.com/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/v/e/ve52.jpg" itemprop="image">
<img id="image-1" class="gallery-image" src="https://www.fareastflora.com/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/v/e/ve52-_2_.jpg"
data-zoom-image="https://www.fareastflora.com/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/v/e/ve52-_2_.jpg" itemprop="image">
</div>
<div class="visible-xs">
</div>
</div>
<div class="more-views">
<ul class="product-image-thumbs">
<li>
<a class="thumb-link" href="#" title="" data-image-index="0">
<img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/75x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve52.jpg" width="75" height="75" alt="">
</a>
</li>
<li>
<a class="thumb-link" href="#" title="" data-image-index="1">
<img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/75x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve52-_2_.jpg" width="75" height="75" alt="">
</a>
</li>
</ul>
</div>
<ul class="sharing-links">
<li>
<a href="https://www.facebook.com/sharer.php?s=100&p[url]=https%3A%2F%2Fwww.fareastflora.com%2Flove-in-grandeur-flower-bouquet.html%3F___SID%3DU&p[images][0]=https%3A%2F%2Fwww.fareastflora.com%2Fmedia%2Fcatalog%2Fproduct%2Fcache%2F1%2Fimage%2F9df78eab33525d08d6e5fb8d27136e95%2Fv%2Fe%2Fve52.jpg&p[title]=Love+In+Grandeur+-+Flower+Bouquet&p[summary]=%3Cp%3EBig%2C+bold+and+beautiful.+Make+his%2Fher+flutter+and+evoke+delightful+smiles+with+this+romantic+gathering+of+30+roses+this+Valentine%26rsquo%3Bs+Day.%3Cbr+%2F%3E%0D%0A%3Cp%3E30+Premium+roses%3Cbr+%2F%3E%0D%0A%3Cp%3Ew+70cm+h+65cm%3Cbr+%2F%3E%0D%0A%3Cp%3EStyling+props+featured+are+not+included.+Actual+color+tone+of+flowers+may+differ+slightly+from+image." target="_blank" title="Share on Facebook" class="link-facebook">
<img src="https://www.fareastflora.com/media/social-2.jpg">
</a>
</li>
<li>
<a href="https://twitter.com/home?status=Love+In+Grandeur+-+Flower+Bouquet+https%3A%2F%2Fwww.fareastflora.com%2Flove-in-grandeur-flower-bouquet.html%3F___SID%3DU" target="_blank" title="Share on Twitter" class="link-twitter"><img src="https://www.fareastflora.com/media/social-4.jpg"></a>
</li>
</ul>
<ul class="add-to-links">
<li><a id="schedulerToggle" href="#scheduler">add to reminder</a></li>
</ul>
</div>
<div class="product-shop">
<div class="product-name">
<span class="h1"> VE52 - Love In Grandeur - Flower Bouquet </span>
</div>
<div class="price-info">
<div class="price-box">
<p class="old-price">
<span class="price" id="old-price-30652"><span class="price">$299.90</span></span>
</p>
<p class="price-from">
<span class="price-label">From:</span>
<span class="price-excluding-tax">
<span class="label">Excl. Tax:</span>
<span class="price" style="color: rgb(241, 129, 45);">$249.90</span> </span>
<span class="price-including-tax">
<span class="label">Incl. Tax:</span>
<span class="price" style="color: rgb(241, 129, 45);">$267.39</span> </span>
</p>
<p class="price-to">
<span class="price-label">To:</span>
<span class="price-excluding-tax">
<span class="label">Excl. Tax:</span>
<span class="price">$414.40</span> </span>
<span class="price-including-tax">
<span class="label">Incl. Tax</span>
<span class="price">$443.39</span> </span>
</p>
<span class="price-including-tax oldman-price-including-tax catalog-only-view">
<span class="price">$267.39</span> <span class="label">(Incl. Tax)</span>
</span>
</div>
<div class="price-box">
<p class="price-as-configured">
<span class="price-label">Price as configured:</span>
<span class="full-product-price">
<span class="price-tax">
<span class="price-excluding-tax 0">
<span class="label">Excl. Tax</span>
<span class="price" id="price-excluding-tax-30652">
<span class="price">$249.90</span> </span>
</span>
<span class="price-including-tax oldman-price-including-tax">
<span class="label">Incl. Tax</span>
<span class="price" id="price-including-tax-30652">
<span class="price">$267.39</span> </span>
</span>
</span>
</span>
</p>
</div>
<script type="text/javascript">
document.observe("dom:loaded", function() {
bundle.reloadPrice();
});
</script>
</div>
<div class="extra-info">
<p class="detail-mess"> Kindly note there will be a price increase on orders for deliveries going out between 9th and 16th February due to Valentines Day. Thank you for your understanding. </p>
<p class="delivery-time" style="background:#f5f5f5;line-height:1.6em;padding:15px 20px;"> Due to the international precautionary measures against Covid-19, our flower shipments have experienced delays and hamper items may run out of stock. In
the event of flower or hamper items unavailability, it will be substituted with a similar flower or hamper's item of equal or higher value while maintaining the overall aesthetics without prior notice. <br>Thank you for your understanding.
</p>
</div>
<div class="short-description">
<div class="std" itemprop="description">
<p>Big, bold and beautiful. Make his/her flutter and evoke delightful smiles with this romantic gathering of 30 roses this Valentine’s Day.<br>
</p>
<p>30 Premium roses<br>
</p>
<p>w 70cm h 65cm<br>
</p>
<p>Styling props featured are not included. Actual color tone of flowers may differ slightly from image.</p>
</div>
</div>
<div class="product-options" id="product-options-wrapper">
<dl class="last">
<div class="option-wrap size-wrap">
<style>
.product-options ul.options-list {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.product-options ul.options-list>li.ds-radio-ss {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
min-height: 100px;
min-width: 150px;
width: auto;
margin: 5px;
border: 1px solid #ddd;
padding: 20px;
border-radius: 5px;
cursor: pointer;
}
.product-options ul.options-list[data-sizecount="3"]>li.ds-radio-ss {
min-width: calc(33.33% - 10px);
max-width: calc(33.33% - 10px);
}
.product-options ul.options-list>li.ds-radio-ss.active {
background: #FFFDF6;
border: 1px solid #000;
}
.product-options ul.options-list>li.ds-radio-ss .label {
padding: 0;
}
.product-options ul.options-list>li.ds-radio-ss label {
cursor: pointer;
text-transform: uppercase;
font-size: 12px;
width: auto;
}
div.product-options ul.options-list input.radio {
display: none;
}
.ds-radio-ss .option-div {
width: 100%;
padding: 0;
min-height: initial;
}
.product-options ul.options-list>li.ds-radio-ss .price-notice {
font-size: 1.4em;
}
#product-options-wrapper dl dt {
margin-top: 0;
width: 100%;
float: none;
position: relative;
}
.option-wrap {
padding-left: 0;
}
.option-wrap.size-wrap {
margin-bottom: 30px;
}
.input-box.size-box {
margin-top: -5px;
margin-bottom: -25px;
}
#shipping_arrival_date_trig {
margin-top: -7px;
margin-left: 5px;
}
#link_reset>img {
margin-top: -7px;
}
div#deliverydate-info label,
.add-to-cart label {
float: none;
display: block;
margin-top: 15px;
}
.deliverydate-info dd ul {
margin-top: 0;
padding-top: 0;
}
.deliverydate-info dd ul li #shipping_arrival_date_display {
max-width: 160px;
width: 160px;
}
.add-to-cart select#qty {
width: 160px;
}
.add-to-cart button#product-addtocart-button {
width: 100%;
margin: 30px 0 0;
}
#product-options-wrapper dl .gift-options dt {
top: 10px;
}
.product-options ul.options-list {
align-items: flex-start;
}
ul.more-options {
width: 100%;
padding: 5px;
}
select {
width: 160px;
}
@media only screen and (max-width: 479px) {
#product-options-wrapper dl dt {
width: 100px;
position: relative;
float: none;
}
.deliverydate-info dd ul li #shipping_arrival_date_display {
max-width: 120px;
width: 120px;
}
.product-options ul.options-list>li {
width: 33.33%;
}
.product-options ul.more-options {
margin: 0;
padding: 0;
padding-bottom: 5px;
display: flex;
flex-wrap: wrap;
}
.product-options ul.more-options>li {
margin: 0;
width: 33.33%;
}
.product-options .gift-options .options-list>li>.more-options-relative {
width: calc(300% + 20px);
}
.product-options .gift-options .options-list>li:nth-child(3n+1)>.more-options-relative {
margin-left: 0%;
}
.product-options .gift-options .options-list>li:nth-child(3n+2)>.more-options-relative {
margin-left: calc(-100% - 10px);
}
.product-options .gift-options .options-list>li:nth-child(3n+3)>.more-options-relative {
margin-left: calc(-200% - 20px);
}
.product-view .product-essential .block-related {
margin-bottom: 0;
}
.product-view .product-essential {
margin-bottom: 0;
border-bottom: 0;
}
}
</style>
<dt>
<label class="required">Size<em>*</em></label>
</dt>
<dd>
<div class="input-box size-box">
<ul class="options-list" data-sizecount="1">
<li class="ds-radio-ss active">
<div class="option-div">
<div class="ds-radio-s">
<input data-old-price="$299.90" data-jo-price="0.00" data-jo-price-including-tax="0.00" type="radio" onclick="bundle.changeSelection(this);changeProductViewPagePriceSize(this);"
class="input-bundle-item radio validate-one-required-by-name change-container-classname" id="bundle-option-13090-127599" name="bundle_option[13090]" data-size="d" checked="checked" data-selected="selected" value="127599"
data-option-type="size">
<span class="label">
<label for="bundle-option-13090-127599">
<p><span class="price-notice"><span class="price">$249.90</span></span></p> Deluxe
</label>
</span>
<script type="text/javascript">
$('bundle-option-13090-127599').advaiceContainer = 'bundle-option-13090-container';
$('bundle-option-13090-127599').callbackFunction = 'bundle.validationCallback';
</script>
</div>
</div>
</li>
</ul>
<div id="bundle-option-13090-container"></div>
</div>
<span id="bundle-option-13090-tier-prices">
</span>
<input type="hidden" id="bundle-option-13090-qty-input" name="bundle_option_qty[13090]" value="1" class="">
</dd>
</div>
<script>
jQuery(document).ready(function() {
jQuery('input.input-bundle-item').on('change', function() {
var oldPrice = 0;
jQuery("input.radio.input-bundle-item").each(function() {
if (jQuery(this).prop('checked')) {
oldPrice += jQuery(this).data('old-price').replace('$', '') * 1.0;
};
});
oldPrice = formatCurrency(oldPrice, {
"pattern": "$%s",
"precision": 2,
"requiredPrecision": 2,
"decimalSymbol": ".",
"groupSymbol": ",",
"groupLength": 3,
"integerRequired": 1
}, false);
jQuery('.price-info .old-price .price').html(oldPrice);
console.log(oldPrice);
bundle.reloadPrice();
});
//javascript check for size default selection
if (jQuery('.ds-radio-s input[data-size!=""]').length) {
console.log('hasSize');
var hasDefault = false;
jQuery('.ds-radio-s input[data-size!=""]').each(function() {
if (jQuery(this).prop('checked')) {
hasDefault = true;
}
});
if (!hasDefault) {
console.log('butNoDefault!');
jQuery('.ds-radio-s input[data-size!=""]:nth-child(1)').prop('checked', true).trigger('change');
}
}
});
</script>
<div class="option-wrap option-wrap option-radio gift-options gift-option">
<dt><label>Gift Options</label></dt>
<dd class="last">
<div class="input-box">
<ul class="options-list">
<li class="options-group GO35">
<ul id="group-GO35">
<li class="active">
<div class="option-div">
<input onclick="bundle.changeSelection(this);changeProductViewPagePriceAddon(this);" class="change-container-classname checkbox bundle-option-13091 " id="bundle-option-13091-127877" type="checkbox"
name="bundle_option[13091][]" value="127877">
<span class="label">
<label for="bundle-option-13091-127877">
<div class="gift-image-top">
<img class="img-responsive" src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/640x640/9df78eab33525d08d6e5fb8d27136e95/a/a/aa37.jpg" alt="Chocolate">
</div>
<div class="text_gift">
<p class="title_bu">AA37 The Belgian Tiramisu Pralines 200g </p>
<p><span class="price-notice">+<span class="price">$19.90</span><br>(<span class="price">$21.29</span> <span class="small">Incl. Tax</span>)</span></p>
<div class="gift-image"></div>
</div>
</label>
</span>
</div>
</li>
<li class="active">
<a class="show-more-option" data-parent="#group-GO35" href="#more-group-GO35">More options »</a>
<a class="show-less-option" data-parent="#group-GO35" href="#more-group-GO35">Less options »</a>
</li>
</ul>
</li>
<li class="options-group GO37">
<ul id="group-GO37">
<li class="active">
<div class="option-div">
<input onclick="bundle.changeSelection(this);changeProductViewPagePriceAddon(this);" class="change-container-classname checkbox bundle-option-13091 " id="bundle-option-13091-127879" type="checkbox"
name="bundle_option[13091][]" value="127879">
<span class="label">
<label for="bundle-option-13091-127879">
<div class="gift-image-top">
<img class="img-responsive" src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/640x640/9df78eab33525d08d6e5fb8d27136e95/a/d/ad10_1.jpg" alt="Chocolate">
</div>
<div class="text_gift">
<p class="title_bu">AD10 Angel Bear White Plush</p>
<p><span class="price-notice">+<span class="price">$24.90</span><br>(<span class="price">$26.64</span> <span class="small">Incl. Tax</span>)</span></p>
<div class="gift-image"></div>
</div>
</label>
</span>
</div>
</li>
<li class="active">
<a class="show-more-option" data-parent="#group-GO37" href="#more-group-GO37">More options »</a>
<a class="show-less-option" data-parent="#group-GO37" href="#more-group-GO37">Less options »</a>
</li>
</ul>
</li>
</ul>
<div class="more-options-container">
<div id="more-group-GO35" class="more-options-relative" data-des="li.GO35">
<ul class="more-options">
<li>
<div class="option-div">
<input onclick="bundle.changeSelection(this);changeProductViewPagePriceAddon(this);" class="change-container-classname checkbox bundle-option-13091 " id="bundle-option-13091-127878" type="checkbox"
name="bundle_option[13091][]" value="127878">
<span class="label">
<label for="bundle-option-13091-127878">
<div class="gift-image-top">
<img class="img-responsive" src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/9df78eab33525d08d6e5fb8d27136e95/a/c/ac29_1.jpg" alt="Chocolate">
</div>
<div class="text_gift">
<p class="title_bu">AC29 Godiva Gold Hearts Chocolate Gift Box 6pcs</p>
<p><span class="price-notice">+<span class="price">$44.90</span><br>(<span class="price">$48.04</span> <span class="small">Incl. Tax</span>)</span></p>
<div class="gift-image"></div>
</div>
</label>
</span>
</div>
</li>
</ul>
</div>
<div id="more-group-GO37" class="more-options-relative" data-des="li.GO37">
<ul class="more-options">
<li>
<div class="option-div">
<input onclick="bundle.changeSelection(this);changeProductViewPagePriceAddon(this);" class="change-container-classname checkbox bundle-option-13091 " id="bundle-option-13091-127880" type="checkbox"
name="bundle_option[13091][]" value="127880">
<span class="label">
<label for="bundle-option-13091-127880">
<div class="gift-image-top">
<img class="img-responsive" src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/9df78eab33525d08d6e5fb8d27136e95/a/c/ac08_1.jpg" alt="Chocolate">
</div>
<div class="text_gift">
<p class="title_bu">AC08 Brown Bear Plush With Rose</p>
<p><span class="price-notice">+<span class="price">$24.90</span><br>(<span class="price">$26.64</span> <span class="small">Incl. Tax</span>)</span></p>
<div class="gift-image"></div>
</div>
</label>
</span>
</div>
</li>
<li>
<div class="option-div">
<input onclick="bundle.changeSelection(this);changeProductViewPagePriceAddon(this);" class="change-container-classname checkbox bundle-option-13091 " id="bundle-option-13091-127881" type="checkbox"
name="bundle_option[13091][]" value="127881">
<span class="label">
<label for="bundle-option-13091-127881">
<div class="gift-image-top">
<img class="img-responsive" src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/9df78eab33525d08d6e5fb8d27136e95/a/a/aa38.jpg" alt="Chocolate">
</div>
<div class="text_gift">
<p class="title_bu">AA38 Giant Plush Bear 90cm</p>
<p><span class="price-notice">+<span class="price">$49.90</span><br>(<span class="price">$53.39</span> <span class="small">Incl. Tax</span>)</span></p>
<div class="gift-image"></div>
</div>
</label>
</span>
</div>
</li>
</ul>
</div>
</div>
<div id="bundle-option-13091-container"></div>
</div>
</dd>
</div>
<script type="text/javascript">
jQuery(document).ready(function() {
var w = jQuery(window).width();
if (w < 480) {
jQuery('.more-options-container > div').each(function() {
jQuery(this).appendTo(jQuery(this).attr('data-des'));
})
}
});
</script>
</dl>
<script type="text/javascript">
//<![CDATA[
var DateOption = Class.create({
getDaysInMonth: function(month, year) {
var curDate = new Date();
if (!month) {
month = curDate.getMonth();
}
if (2 == month && !year) { // leap year assumption for unknown year
return 29;
}
if (!year) {
year = curDate.getFullYear();
}
return 32 - new Date(year, month - 1, 32).getDate();
},
reloadMonth: function(event) {
var selectEl = event.findElement();
var idParts = selectEl.id.split("_");
if (idParts.length != 3) {
return false;
}
var optionIdPrefix = idParts[0] + "_" + idParts[1];
var month = parseInt($(optionIdPrefix + "_month").value);
var year = parseInt($(optionIdPrefix + "_year").value);
var dayEl = $(optionIdPrefix + "_day");
var days = this.getDaysInMonth(month, year);
//remove days
for (var i = dayEl.options.length - 1; i >= 0; i--) {
if (dayEl.options[i].value > days) {
dayEl.remove(dayEl.options[i].index);
}
}
// add days
var lastDay = parseInt(dayEl.options[dayEl.options.length - 1].value);
for (i = lastDay + 1; i <= days; i++) {
this.addOption(dayEl, i, i);
}
},
addOption: function(select, text, value) {
var option = document.createElement('OPTION');
option.value = value;
option.text = text;
if (select.options.add) {
select.options.add(option);
} else {
select.appendChild(option);
}
}
});
dateOption = new DateOption();
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
enUS = {
"m": {
"wide": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
"abbr": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
}
}; // en_US locale reference
Calendar._DN = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; // full day names
Calendar._SDN = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; // short day names
Calendar._FD = 0; // First day of the week. "0" means display Sunday first, "1" means display Monday first, etc.
Calendar._MN = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; // full month names
Calendar._SMN = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; // short month names
Calendar._am = "AM"; // am/pm
Calendar._pm = "PM";
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = 'About the calendar';
Calendar._TT["ABOUT"] = 'DHTML Date/Time Selector\n' + "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + 'For latest version visit: http://www.dynarch.com/projects/calendar/\n' +
'Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details.' + '\n\n' + 'Date selection:\n' + '- Use the \xab, \xbb buttons to select year\n' + '- Use the \u2039 buttons to select month\n' +
'- Hold mouse button on any of the above buttons for faster selection.';
Calendar._TT["ABOUT_TIME"] = '\n\n' + 'Time selection:\n' + '- Click on any of the time parts to increase it\n' + '- or Shift-click to decrease it\n' + '- or click and drag for faster selection.';
Calendar._TT["PREV_YEAR"] = 'Prev. year (hold for menu)';
Calendar._TT["PREV_MONTH"] = 'Prev. month (hold for menu)';
Calendar._TT["GO_TODAY"] = 'Go Today';
Calendar._TT["NEXT_MONTH"] = 'Next month (hold for menu)';
Calendar._TT["NEXT_YEAR"] = 'Next year (hold for menu)';
Calendar._TT["SEL_DATE"] = 'Select date';
Calendar._TT["DRAG_TO_MOVE"] = 'Drag to move';
Calendar._TT["PART_TODAY"] = ' (' + "today" + ')';
// the following is to inform that "%s" is to be the first day of week
Calendar._TT["DAY_FIRST"] = 'Display %s first';
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
Calendar._TT["WEEKEND"] = "0,6";
Calendar._TT["CLOSE"] = 'Close';
Calendar._TT["TODAY"] = "today";
Calendar._TT["TIME_PART"] = '(Shift-)Click or drag to change value';
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%b %e, %Y";
Calendar._TT["TT_DATE_FORMAT"] = "%B %e, %Y";
Calendar._TT["WK"] = "Week";
Calendar._TT["TIME"] = 'Time:';
//]]>
</script>
<p class="required">* Required Fields</p>
</div>
<script type="text/javascript">
decorateGeneric($$('#product-options-wrapper dl'), ['last']);
</script>
<div class="product-options-bottom">
<script type="text/javascript">
//<![CDATA[
enUS = {
"m": {
"wide": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
"abbr": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
}
}; // en_US locale reference
Calendar._DN = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; // full day names
Calendar._SDN = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; // short day names
Calendar._FD = 0; // First day of the week. "0" means display Sunday first, "1" means display Monday first, etc.
Calendar._MN = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; // full month names
Calendar._SMN = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; // short month names
Calendar._am = "AM"; // am/pm
Calendar._pm = "PM";
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "About the calendar";
Calendar._TT["ABOUT"] = "DHTML Date/Time Selector\n" + "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + "For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + "\n\n" + "Date selection:\n" + "- Use the \xab, \xbb buttons to select year\n" + "- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(
0x203a) + " buttons to select month\n" + "- Hold mouse button on any of the above buttons for faster selection.";
Calendar._TT["ABOUT_TIME"] = "\n\n" + "Time selection:\n" + "- Click on any of the time parts to increase it\n" + "- or Shift-click to decrease it\n" + "- or click and drag for faster selection.";
Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
Calendar._TT["GO_TODAY"] = "Go Today";
Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
Calendar._TT["SEL_DATE"] = "Select date";
Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
Calendar._TT["PART_TODAY"] = ' (' + "today" + ')';
// the following is to inform that "%s" is to be the first day of week
Calendar._TT["DAY_FIRST"] = "Display %s first";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
Calendar._TT["WEEKEND"] = "0,6";
Calendar._TT["CLOSE"] = "Close";
Calendar._TT["TODAY"] = "today";
Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%b %e, %Y";
Calendar._TT["TT_DATE_FORMAT"] = "%B %e, %Y";
Calendar._TT["WK"] = "Week";
Calendar._TT["TIME"] = "Time:";
//]]>
</script>
<div class="deliverydate-info " id="deliverydate-info">
<dd>
<ul>
<li id="calendar-container">
<label for="page_date-end">Delivery Date:</label>
<input name="shipping_arrival_date_display" id="shipping_arrival_date_display" value="17-01-2022" title="date" class=" input-text required-entry" type="text" disabled="">
<img src="https://www.fareastflora.com/skin/adminhtml/default/default/images/grid-cal.gif" alt="" class="v-middle" id="shipping_arrival_date_trig" title="Select Date">
<a href="javascript:void(0)" id="link_reset">
<img src="https://www.fareastflora.com/skin/frontend/base/default/images/ico_reset.png" alt="" class="v-middle" title="Reset">
</a>
<input name="shipping_arrival_date" id="shipping_arrival_date" value="17-01-2022" onchange="shippingArrivalDateOnChange(this); return false;" title="date" type="hidden">
<input type="hidden" name="earliest-sku" class="earliest-sku" value="">
</li>
<li class="hidden">
<label for="shipping_arrival_comments">Delivery Comments:</label><br>
<textarea cols="39" rows="5" name="shipping_arrival_comments" id="shipping_arrival_comments"></textarea>
</li>
<li>
<label for="delivery_time_slot">Time Slot: </label>
<select id="shipping_arrival_timeslot" name="shipping_arrival_timeslot" class="required-entry">
<option value="07:00 PM - 11:00 PM" data-fromday="01/17/2022" data-today="01/30/2022" data-cutofftime="05:00 PM" data-to-slot="11:00 PM" data-from-slot="07:00 PM" data-process="0" class="" data-select="19"> 07:00 PM - 11:00 PM
</option>
</select>
</li>
</ul>
</dd>
</div>
<script>
jQuery(window).load(function() {
jQuery('.calendar .daysrow .selected.today').click();
jQuery('#shipping_arrival_date_display').trigger('change');
jQuery('#shipping_arrival_date').trigger('change');
jQuery('#shipping_arrival_timeslot').trigger('change');
});
</script>
<script type="text/javascript">
//<![CDATA[
/*Calendar.setup({
inputField: "shipping_arrival_date",
ifFormat: "%m/%e/%Y",
showsTime: false,
button: "shipping_arrival_date_trig",
align: "Bl",
singleClick : true ,
disableFunc: function(date) {
return date.getMonth() === 1; // Sunday is 0, Monday is 1, and so on
}
});*/
var timeslot_html = jQuery('#shipping_arrival_timeslot').html();
var testTimeslot = jQuery('<select/>', {
html: timeslot_html
});
CalendarDateObject._SERVER_TIMZEONE_SECONDS = 1642408487;
Calendar.prototype._init = function(firstDayOfWeek, date) {
var today = new CalendarDateObject(),
TY = today.getFullYear(),
TM = today.getMonth(),
TD = today.getDate();
this.table.style.visibility = "hidden";
var year = date.getFullYear();
if (year < this.minYear) {
year = this.minYear;
date.setFullYear(year);
} else if (year > this.maxYear) {
year = this.maxYear;
date.setFullYear(year);
}
this.firstDayOfWeek = firstDayOfWeek;
this.date = new CalendarDateObject(date);
var month = date.getMonth();
var mday = date.getDate();
var no_days = date.getMonthDays();
/* Added By B.C. on date 18/02/2013 */
var check_flag = false;
/* END */
// calendar voodoo for computing the first day that would actually be
// displayed in the calendar, even if it's from the previous month.
// WARNING: this is magic. ;-)
date.setDate(1);
var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
if (day1 < 0) day1 += 7;
date.setDate(-day1);
date.setDate(date.getDate() + 1);
var row = this.tbody.firstChild;
var MN = Calendar._SMN[month];
var ar_days = this.ar_days = new Array();
var weekend = Calendar._TT["WEEKEND"];
var dates = this.multiple ? (this.datesCells = {}) : null;
for (var i = 0; i < 6; ++i, row = row.nextSibling) {
var cell = row.firstChild;
if (this.weekNumbers) {
cell.className = "day wn";
cell.innerHTML = date.getWeekNumber();
cell = cell.nextSibling;
}
row.className = "daysrow";
var hasdays = false,
iday, dpos = ar_days[i] = [];
for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) {
iday = date.getDate();
var wday = date.getDay();
cell.className = "day";
cell.pos = i << 4 | j;
dpos[j] = cell;
var current_month = (date.getMonth() == month);
if (!current_month) {
if (this.showsOtherMonths) {
cell.className += " othermonth";
cell.otherMonth = true;
} else {
cell.className = "emptycell";
cell.innerHTML = " ";
cell.disabled = true;
continue;
}
} else {
cell.otherMonth = false;
hasdays = true;
}
cell.disabled = false;
cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday;
if (dates) dates[date.print("%Y%m%d")] = cell;
if (this.getDateStatus) {
var status = this.getDateStatus(date, year, month, iday);
if (this.getDateToolTip) {
var toolTip = this.getDateToolTip(date, year, month, iday);
if (toolTip) cell.title = toolTip;
}
if (status === true) {
cell.className += " disabled";
cell.disabled = true;
} else {
if (/disabled/i.test(status)) cell.disabled = true;
cell.className += " " + status;
}
}
if (!cell.disabled) {
cell.caldate = new CalendarDateObject(date);
cell.ttip = "_";
if (!this.multiple && current_month && iday == mday && this.hiliteToday) {
cell.className += " selected";
this.currentDateEl = cell;
}
if (date.getFullYear() == TY && date.getMonth() == TM && iday == TD) {
cell.className += " today";
cell.ttip += Calendar._TT["PART_TODAY"];
}
if (weekend.indexOf(wday.toString()) != -1) cell.className += cell.otherMonth ? " oweekend" : " weekend";
if (check_flag) {
cell.className += " selected";
this.currentDateEl = cell;
check_flag = false;
}
} else {
/* Added By B.C. on date 18/02/2013 */
if (!this.multiple && current_month && iday == mday && this.hiliteToday) {
check_flag = true;
}
/* END */
}
}
if (!(hasdays || this.showsOtherMonths)) row.className = "emptyrow";
}
this.title.innerHTML = Calendar._MN[month] + ", " + year;
this.onSetTime();
this.table.style.visibility = "visible";
this._initMultipleDates();
// PROFILE
// this.tooltips.innerHTML = "Generated in " + ((new CalendarDateObject()) - today) + " ms";
};
currentTime = new Date("2022/01/17 08:34:46");
var dayoff = ',';
var day_off_array = dayoff.split(",");
// console.log(day_off_array);
var process_day = 0;
var process_day_sku = 0;
var cut_off_time = "11:30:PM";
var cut_off_time_array = cut_off_time.split(":");
var hours = parseInt(cut_off_time_array[0]);
var minutes = parseInt(cut_off_time_array[1]);
if (cut_off_time_array[2] == "PM") hours += 12;
if (cut_off_time != "" && currentTime.getHours() > hours || currentTime.getHours() == hours && currentTime.getMinutes() > minutes) process_day++;
var delivery_date_off = "02/01/2022; 02/02/2022; ";
var delivery_date_off_array = delivery_date_off.split(';');
//If holiday is in process day and holiday is not in day off, process day will be increased
if (delivery_date_off.trim() != "") {
for (var i = 0; i < delivery_date_off_array.length; i++) {
var in_process_day = 0;
var date_off = new Date(delivery_date_off_array[i].trim());
for (var j = 0; j < process_day; j++) {
var process_date = new Date(currentTime.getTime() + j * 86400000);
process_date.setHours(0, 0, 0, 0);
if (process_date.getTime() == date_off.getTime()) {
in_process_day = 1;
break;
}
}
if (in_process_day == 1 && day_off_array.indexOf(date_off.getDay().toString()) < 0) {
process_day++;
}
}
}
var test_flag = false;
var configDate = '';
var configDate_array = configDate.split(";");
var configDateCate = ',01/31/2022,02/03/2022;,01/31/2022,02/03/2022;,01/31/2022,02/03/2022;';
var configDateCate_array = configDateCate.split(";");
// console.log(configDate_array);
Calendar.setup({
cont: "calendar-container",
inputField: "shipping_arrival_date",
ifFormat: "%ee-%mm-%Y %H:%M:%S",
showsTime: false,
weekNumbers: false,
button: "shipping_arrival_date_trig",
align: "Bl",
singleClick: true,
onSelect: function() {
//var y = calendar.date.getFullYear();
currentTime1 = new Date("2022/01/17 08:34:46");
var m = parseInt(currentTime1.getMonth()) + parseInt(1);
var y = currentTime1.getFullYear();
var d = currentTime1.getDate();
currentTime = new Date(calendar.date.getTime());
var d1 = currentTime.getDate();
var m1 = parseInt(currentTime.getMonth()) + parseInt(1);
var y1 = currentTime.getFullYear();
var h1 = currentTime.getHours();
var min1 = currentTime.getMinutes();
if (calendar.dateClicked) {
if (d1 < d && m1 == m && y1 == y) {
alert("You can not select previous date.");
document.getElementById('shipping_arrival_date_display').value = "";
document.getElementById('shipping_arrival_date').value = "";
calendar.hide();
} else {
document.getElementById('shipping_arrival_date_display').value = d1 + "-" + m1 + "-" + y1; //+" "+h1+":"+min1;
document.getElementById('shipping_arrival_date').value = d1 + "-" + m1 + "-" + y1 + " " + h1 + ":" + min1;
jQuery('#shipping_arrival_timeslot').val('');
getTimeSlots(m1, d1, y1);
calendar.hide();
}
} else {
calendar.show();
}
},
disableFunc: function(date) {
var y = calendar.date.getFullYear();
var m = calendar.date.getMonth();
var d = calendar.date.getDate();
currentTime = new Date("2022/01/17 08:34:46");
var d1 = currentTime.getDate();
var m1 = currentTime.getMonth();
var y1 = currentTime.getFullYear();
var maxTime = '90';
var counter = 1;
earliest = new Date('2022/01/17 08:34:46');
for (var i = 0; i < day_off_array.length; i++) {
if (day_off_array[i] >= 0 && day_off_array[i] != '') {
if (date.getDay() == day_off_array[i]) {
if (date.getDate() == currentTime.getDate()) {
test_flag = true;
}
return true;
}
}
}
/*---------------------------------------------------------------*/
for (var i = 0; i < delivery_date_off_array.length; i++) {
var disabled_date = new Date(delivery_date_off_array[i].trim());
if (disabled_date.getDate() == date.getDate() && disabled_date.getMonth() == date.getMonth() && disabled_date.getYear() == date.getYear()) {
return true;
}
}
// if((process_day && !configDate) || process_day_sku){
for (var i = 0; i < process_day; i++) {
var disabled_date = new Date(currentTime.getTime() + i * 86400000);
if (disabled_date.getDate() == date.getDate() && disabled_date.getMonth() == date.getMonth() && disabled_date.getYear() == date.getYear()) {
return true;
}
}
// }
/*-------------------------------------------------------------*/
if (date.getDate() < d1 && m1 == m && y1 == y) {
return true;
}
if (y < y1) {
return true;
} else if (m1 > m && y == y1) {
return true;
}
/*------------------------*/
if (date.getDate() < earliest.getDate() && earliest.getMonth() == m && earliest.getFullYear() == y) {
return true;
}
if (y < earliest.getFullYear()) {
return true;
} else if (earliest.getMonth() > m && y == earliest.getFullYear()) {
return true;
}
// disable max time
if (maxTime && maxTime > 0) {
// maxTime = 5;
var maxDate = new Date(Date.now() + maxTime * 24 * 60 * 60 * 1000);
if (maxDate.getTime() < date.getTime()) {
return true;
}
// else{
// return false;
// }
// if(date.getDate() > parseInt(d1)+parseInt(maxTime) && m1==m && y1==y) return true;
// if(y > y1) return true;
// else if(m1 < m && y==y1) return true;
}
// console.log('test', date);
//disable date by checking with timeslots left after checking through logic
var timeslotCount = getNumOfTimeSlotsOnDate(parseInt(date.getMonth()) + parseInt(1), date.getDate(), date.getFullYear());
if (timeslotCount == 0) {
return true;
}
//disable date with Sku
if (configDate_array) {
for (var i = 0; i < configDate_array.length; i++) {
var from_to = configDate_array[i];
var from_to_array = from_to.split(",");
if (from_to_array.length >= 2) {
fromTime = new Date(from_to_array[1]);
toTime = new Date(from_to_array[2]);
if (Date.parse(fromTime) < Date.parse(date) && Date.parse(date) < (Date.parse(toTime) + 86400000)) {
return true;
}
if ((fromTime.getDate() == date.getDate() && fromTime.getMonth() == date.getMonth() && fromTime.getFullYear() == date.getFullYear()) || (toTime.getDate() == date.getDate() && toTime.getMonth() == date.getMonth() && toTime
.getFullYear() == date.getFullYear())) {
return true;
}
}
}
}
if (configDateCate_array) {
for (var i = 0; i < configDateCate_array.length; i++) {
var from_to = configDateCate_array[i];
var from_to_array = from_to.split(",");
if (from_to_array.length >= 2) {
fromTime = new Date(from_to_array[1]);
toTime = new Date(from_to_array[2]);
if ((Date.parse(fromTime) + 86400000) < Date.parse(date) && Date.parse(date) < Date.parse(toTime)) {
return true;
}
}
}
}
//disable earliest date with category
var earliestCate = jQuery('.earliest-cate').val() * 1000;
if (earliestCate && earliestCate > Date.parse(date)) {
return true;
}
//disable earliest date with sku
var earliestSku = (parseInt(jQuery('.earliest-sku').val()) - 86400) * 1000;
if (earliestSku && earliestSku > Date.parse(date)) {
return true;
}
}
});
function shippingArrivalDateOnChange(el) {
var displayDate = $('shipping_arrival_date_display');
var date = $('shipping_arrival_date').getValue();
displayDate.setValue(date);
}
function getNumOfTimeSlotsOnDate(m1, d1, y1) {
var holidayTime;
var timeSelect = m1 + "/" + d1 + "/" + y1;
var dateSelect = new Date(timeSelect);
var currentTime = new Date("2022/01/17 08:34:46");
testTimeslot.find('option').attr('disabled', 'disabled');
testTimeslot.find('option').addClass('no-display');
testTimeslot.html(timeslot_html);
testTimeslot.find('option').each(function() {
var flag = 0;
fromday = jQuery(this).attr('data-fromday');
today = jQuery(this).attr('data-today');
var fromdayDate = new Date(fromday);
var todayDate = new Date(today);
datesku = jQuery(this).attr('data-date-sku');
var dateDateSku = new Date(datesku);
date = jQuery(this).attr('data-date');
var dateDate = new Date(date);
if (jQuery(this).attr('data-holiday')) flag = 1;
if (dateDateSku && currentTime < dateDateSku) {
if (dateDateSku.getDate() == dateSelect.getDate() && dateDateSku.getMonth() == dateSelect.getMonth() && dateDateSku.getFullYear() == dateSelect.getFullYear()) {
testTimeslot.find('option').attr('disabled', 'disabled');
testTimeslot.find('option').addClass('no-display');
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
return false;
}
} else {
if (fromday && today && flag == 0) {
if ((Date.parse(fromday) < Date.parse(timeSelect) && Date.parse(timeSelect) < Date.parse(today)) || (fromdayDate.getDate() == dateSelect.getDate() && fromdayDate.getMonth() == dateSelect.getMonth() && fromdayDate.getFullYear() ==
dateSelect.getFullYear()) || (todayDate.getDate() == dateSelect.getDate() && todayDate.getMonth() == dateSelect.getMonth() && todayDate.getFullYear() == dateSelect.getFullYear())) {
if (!checkCutofftimeBefore(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this) && !checkCutofftimeCurrent(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this)) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
flag = 2;
testTimeslot.find('.timeslot-day').attr('disabled', 'disabled');
testTimeslot.find('.timeslot-day').addClass('no-display');
}
// jQuery('.timeslot-day').remove();
}
}
if (flag == 0 && flag != 2) {
if (dateSelect) {
if (dateSelect.getDay() == jQuery(this).attr('data-day')) {
if (!checkCutofftimeBefore(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this) && !checkCutofftimeCurrent(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this)) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
}
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
}
}
if (date && flag != 2) {
if (flag == 0) {
if (dateDate.getDate() == dateSelect.getDate() && dateDate.getMonth() == dateSelect.getMonth() && dateDate.getFullYear() == dateSelect.getFullYear()) {
if (!checkCutofftime(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'))) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
// flag = 1;
}
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
} else {
if (dateDate.getDate() == dateSelect.getDate() && dateDate.getMonth() == dateSelect.getMonth() && dateDate.getFullYear() == dateSelect.getFullYear()) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
holidayTime = convertTimeSlot(jQuery(this).attr('data-from-slot'));
// jQuery('.timeslot-day').attr('disabled','disabled');
// jQuery('.timeslot-day').addClass('no-display');
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
}
}
}
});
testTimeslot.find('option:not(:disabled)').each(function() {
var cutTime = jQuery(this).attr('data-cutofftime');
var processTime = parseInt(jQuery(this).attr('data-process'));
if (processTime > 0) {
cutTime = cutTime.replace(" AM", ":AM");
cutTime = cutTime.replace(" PM", ":PM");
var cut_off_time_array = cutTime.split(":");
var cut_off_time = parseInt(cut_off_time_array[0]);
if (cut_off_time_array[2] == "PM" && cut_off_time != 12) cut_off_time += 12;
if (cut_off_time_array[2] == "AM" && cut_off_time == 12) cut_off_time += 12;
var time1 = parseInt(Date.parse(dateSelect)) + cut_off_time * 3600000;
if (time1 < parseInt(Date.parse(currentTime)) + processTime * 86400000) {
jQuery(this).remove();
}
}
});
if (holidayTime) {
testTimeslot.find('option').each(function() {
if (jQuery(this).attr('data-from-slot')) {
var holidayTimeFrom = convertTimeSlot(jQuery(this).attr('data-from-slot'));
if (holidayTimeFrom < holidayTime || jQuery(this).attr('data-holiday')) {
jQuery(this).attr('disabled');
jQuery(this).addClass('no-display');
}
}
});
}
testTimeslot.find('option.no-display').remove();
console.log('returning for ' + dateSelect + ": " + testTimeslot.find('option').length)
return testTimeslot.find('option').length;
}
function getTimeSlots(m1, d1, y1) {
var holidayTime;
var timeSelect = m1 + "/" + d1 + "/" + y1;
var dateSelect = new Date(timeSelect);
console.log(dateSelect);
var currentTime = new Date("2022/01/17 08:34:46");
jQuery('#shipping_arrival_timeslot option').attr('disabled', 'disabled');
jQuery('#shipping_arrival_timeslot option').addClass('no-display');
jQuery('#shipping_arrival_timeslot').html(timeslot_html);
jQuery('#shipping_arrival_timeslot option').each(function() {
var flag = 0;
fromday = jQuery(this).attr('data-fromday');
today = jQuery(this).attr('data-today');
var fromdayDate = new Date(fromday);
var todayDate = new Date(today);
datesku = jQuery(this).attr('data-date-sku');
var dateDateSku = new Date(datesku);
date = jQuery(this).attr('data-date');
var dateDate = new Date(date);
if (jQuery(this).attr('data-holiday')) flag = 1;
if (dateDateSku && currentTime < dateDateSku) {
if (dateDateSku.getDate() == dateSelect.getDate() && dateDateSku.getMonth() == dateSelect.getMonth() && dateDateSku.getFullYear() == dateSelect.getFullYear()) {
jQuery('#shipping_arrival_timeslot option').attr('disabled', 'disabled');
jQuery('#shipping_arrival_timeslot option').addClass('no-display');
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
return false;
}
// else{
// jQuery(this).attr('disabled','disabled');
// jQuery(this).addClass('no-display');
// jQuery(this).remove();
// }
// return false;
} else {
if (fromday && today && flag == 0) {
if ((Date.parse(fromday) < Date.parse(timeSelect) && Date.parse(timeSelect) < Date.parse(today)) || (fromdayDate.getDate() == dateSelect.getDate() && fromdayDate.getMonth() == dateSelect.getMonth() && fromdayDate.getFullYear() ==
dateSelect.getFullYear()) || (todayDate.getDate() == dateSelect.getDate() && todayDate.getMonth() == dateSelect.getMonth() && todayDate.getFullYear() == dateSelect.getFullYear())) {
if (!checkCutofftimeBefore(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this) && !checkCutofftimeCurrent(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this)) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
flag = 2;
jQuery('.timeslot-day').attr('disabled', 'disabled');
jQuery('.timeslot-day').addClass('no-display');
}
// jQuery('.timeslot-day').remove();
}
}
if (flag == 0 && flag != 2) {
if (dateSelect) {
if (dateSelect.getDay() == jQuery(this).attr('data-day')) {
if (!checkCutofftimeBefore(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this) && !checkCutofftimeCurrent(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'), this)) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
}
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
}
}
if (date && flag != 2) {
if (flag == 0) {
if (dateDate.getDate() == dateSelect.getDate() && dateDate.getMonth() == dateSelect.getMonth() && dateDate.getFullYear() == dateSelect.getFullYear()) {
if (!checkCutofftime(dateSelect, currentTime, jQuery(this).attr('data-cutofftime'))) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
// flag = 1;
}
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
} else {
if (dateDate.getDate() == dateSelect.getDate() && dateDate.getMonth() == dateSelect.getMonth() && dateDate.getFullYear() == dateSelect.getFullYear()) {
jQuery(this).removeAttr('disabled');
jQuery(this).removeClass('no-display');
holidayTime = convertTimeSlot(jQuery(this).attr('data-from-slot'));
// jQuery('.timeslot-day').attr('disabled','disabled');
// jQuery('.timeslot-day').addClass('no-display');
} else {
jQuery(this).attr('disabled', 'disabled');
jQuery(this).addClass('no-display');
// jQuery(this).remove();
}
}
}
}
// if(flag == 0){
// if(datesku){
// if(dateDateSku.getDate() == dateSelect.getDate() && dateDateSku.getMonth() == dateSelect.getMonth() && dateDateSku.getFullYear() == dateSelect.getFullYear()){
// jQuery(this).removeAttr('disabled');
// jQuery(this).removeClass('no-display');
// }else{
// jQuery(this).attr('disabled','disabled');
// jQuery(this).addClass('no-display');
// // jQuery(this).remove();
// }
// }
// }
});
checkProcess(dateSelect, currentTime);
if (holidayTime) {
jQuery('#shipping_arrival_timeslot option').each(function() {
if (jQuery(this).attr('data-from-slot')) {
var holidayTimeFrom = convertTimeSlot(jQuery(this).attr('data-from-slot'));
if (holidayTimeFrom < holidayTime || jQuery(this).attr('data-holiday')) {
jQuery(this).attr('disabled');
jQuery(this).addClass('no-display');
}
}
});
}
jQuery('#shipping_arrival_timeslot option.no-display').remove();
jQuery('.product-options input').each(function() {
if (jQuery(this).attr('type') == 'radio' && jQuery(this).is(':checked')) {
setTimeout(function() {
jQuery(this).trigger('click');
return false;
}, 0)
}
})
setTimeout(function() {
jQuery('#shipping_arrival_timeslot').trigger('change');
}, 0)
}
function convertTimeSlot(time) {
time = time.replace(" AM", ":AM");
time = time.replace(" PM", ":PM");
var timeSlot = time.split(":");
var timeHour = parseInt(timeSlot[0]);
if (timeSlot[2] == "PM" && timeHour != 12) timeHour += 12;
if (timeSlot[2] == "AM" && timeHour == 12) timeHour += 12;
return timeHour;
}
function checkCutofftimeBefore(dateSelect, currentTime, option, el) {
if (option != undefined) {
var tomorow = new Date(currentTime.getTime() + 24 * 60 * 60 * 1000);
if (tomorow.getDate() == dateSelect.getDate() && tomorow.getMonth() == dateSelect.getMonth() && tomorow.getFullYear() == dateSelect.getFullYear()) {
var from = jQuery(el).attr('data-from-slot');
from = from.replace(" AM", ":AM");
from = from.replace(" PM", ":PM");
var fromSlot = from.split(":");
var fromHour = parseInt(fromSlot[0]);
if (fromSlot[2] == "PM" && fromHour != 12) fromHour += 12;
if (fromSlot[2] == "AM" && fromHour == 12) fromHour += 12;
option = option.replace(" AM", ":AM");
option = option.replace(" PM", ":PM");
var cut_off_time_array = option.split(":");
var hours = parseInt(cut_off_time_array[0]);
var minutes = parseInt(cut_off_time_array[1]);
if (cut_off_time_array[2] == "PM" && hours != 12) hours += 12;
if (cut_off_time_array[2] == "AM" && hours == 12) hours += 12;
if (fromHour < hours) { //console.log(fromHour);console.log(hours);
if (currentTime.getHours() >= hours) {
return true;
}
}
}
}
return false;
}
function checkCutofftimeCurrent(dateSelect, currentTime, option, el) {
if (option != undefined) {
var processCate = parseInt('0');
if (currentTime.getDate() == dateSelect.getDate() && currentTime.getMonth() == dateSelect.getMonth() && currentTime.getFullYear() == dateSelect.getFullYear()) {
var from = jQuery(el).attr('data-from-slot');
from = from.replace(" AM", ":AM");
from = from.replace(" PM", ":PM");
var fromSlot = from.split(":");
var fromHour = parseInt(fromSlot[0]);
if (fromSlot[2] == "PM" && fromHour != 12) fromHour += 12;
if (fromSlot[2] == "AM" && fromHour == 12) fromHour += 12;
option = option.replace(" AM", ":AM");
option = option.replace(" PM", ":PM");
var cut_off_time_array = option.split(":");
var hours = parseInt(cut_off_time_array[0]);
var minutes = parseInt(cut_off_time_array[1]);
if (cut_off_time_array[2] == "PM" && hours != 12) hours += 12;
if (cut_off_time_array[2] == "AM" && hours == 12) hours += 12;
if (fromHour > hours) {
if (currentTime.getHours() >= hours) {
return true;
}
} else {
return true;
}
}
if (currentTime.getDate() + 1 == dateSelect.getDate() && currentTime.getMonth() == dateSelect.getMonth() && currentTime.getFullYear() == dateSelect.getFullYear()) {
var from = jQuery(el).attr('data-from-slot');
from = from.replace(" AM", ":AM");
from = from.replace(" PM", ":PM");
var fromSlot = from.split(":");
var fromHour = parseInt(fromSlot[0]);
if (fromSlot[2] == "PM" && fromHour != 12) fromHour += 12;
if (fromSlot[2] == "AM" && fromHour == 12) fromHour += 12;
option = option.replace(" AM", ":AM");
option = option.replace(" PM", ":PM");
var cut_off_time_array = option.split(":");
var hours = parseInt(cut_off_time_array[0]);
if (cut_off_time_array[2] == "PM" && hours != 12) hours += 12;
if (cut_off_time_array[2] == "AM" && hours == 12) hours += 12;
if (fromHour < hours) {
if (currentTime.getHours() >= hours) {
return true;
}
}
}
}
return false;
}
function checkCutofftime(dateSelect, currentTime, option) {
if (option != undefined) {
option = option.replace(" AM", ":AM");
option = option.replace(" PM", ":PM");
var cut_off_time_array = option.split(":");
var hours = parseInt(cut_off_time_array[0]);
var minutes = parseInt(cut_off_time_array[1]);
if (cut_off_time_array[2] == "PM") hours += 12;
if (currentTime.getDate() != dateSelect.getDate() || currentTime.getMonth() != dateSelect.getMonth() || currentTime.getFullYear() != dateSelect.getFullYear()) return false;
if (currentTime.getHours() < hours || currentTime.getHours() == hours && currentTime.getMinutes() < minutes) return false;
}
return true;
}
//MRD added disable field to only allow calendar input
//TODO: need to enable field when form is submitted
Form.Element.disable('shipping_arrival_date_display');
Event.observe($('link_reset'), 'click', function() {
$('shipping_arrival_date').setValue('');
$('shipping_arrival_date_display').setValue('');
});
//]]>
jQuery(document).ready(function() {
var dateSelect = jQuery('#deliverydate-info #shipping_arrival_date_display').val();
var dateSelectArray = dateSelect.split('-');
getTimeSlots(dateSelectArray[1], dateSelectArray[0], dateSelectArray[2]);
var keyArr = [],
key;
jQuery('#deliverydate-info #shipping_arrival_timeslot option:not(:disabled)').each(function() {
var from = jQuery(this).attr('data-from-slot');
if (from) {
from = from.replace(" AM", ":AM");
from = from.replace(" PM", ":PM");
var fromSlot = from.split(":");
var fromHour = parseInt(fromSlot[0]);
if (fromSlot[2] == "PM" && fromHour != 12) fromHour += 12;
if (fromSlot[2] == "AM" && fromHour == 12) fromHour += 12;
keyArr.push(fromHour);
jQuery(this).attr('data-select', fromHour);
}
});
key = Math.min(keyArr);
if (key) jQuery('[data-select=' + key + ']').prop('selected', true);
var button = 'shipping_arrival_date_trig';
var maxDays = 90;
jQuery('#' + button).click(function() {
jQuery('.calendar > table tbody').each(function() {
if (!jQuery(this).find('.maxtime-delivery').length) {
jQuery('.calendar > table tbody').append('<tr class="maxtime-delivery footrow"><td colspan="7" style="font-size:9px; font-style:italic; padding-bottom:5px; color:#545252; text-align:center">Up to ' + maxDays +
' days in advance</td></tr>');
}
});
var calendarH = jQuery('.calendar').height();
setTimeout(function() {
if (jQuery(window).width() > 420) {
jQuery('.calendar').height(calendarH);
jQuery('body > .calendar:last-of-type').css('cssText', 'top: 50% !important;left:50%!important;transform:translateY(-50%);-webkit-transform:translateY(-50%);z-index:99999;position:fixed;display:block');
} else {
jQuery('.calendar:last-of-type').height(calendarH);
jQuery('body > .calendar:last-of-type').css('cssText', 'top: 0 !important;left:0!important;transform:translateY(0);z-index:99999;position:fixed;display:block');
}
}, 20);
});
});
jQuery(window).resize(function() {
var button = 'shipping_arrival_date_trig';
var maxDays = 90;
jQuery('#' + button).click(function() {
jQuery('.calendar > table tbody').each(function() {
if (!jQuery(this).find('.maxtime-delivery').length) {
jQuery('.calendar > table tbody').append('<tr class="maxtime-delivery footrow"><td colspan="7" style="font-size:9px; font-style:italic; padding-bottom:5px; color:#545252; text-align:center">Up to ' + maxDays +
' days in advance</td></tr>');
}
});
var calendarH = jQuery('.calendar').height();
setTimeout(function() {
if (jQuery(window).width() > 420) {
jQuery('.calendar:last-of-type').height(calendarH);
jQuery('body > .calendar').css('cssText', 'top: 50% !important;left:50%!important;transform:translateY(-50%);-webkit-transform:translateY(-50%);z-index:99999;position:fixed;display:block');
} else {
jQuery('.calendar').height(calendarH);
jQuery('body > .calendar:last-of-type').css('cssText', 'top: 0 !important;left:0!important;transform:translateY(0);z-index:99999;position:fixed;display:block');
}
}, 20);
});
});
function checkProcess(dateSelect, currentTime) {
jQuery('#deliverydate-info #shipping_arrival_timeslot option:not(:disabled)').each(function() {
var cutTime = jQuery(this).attr('data-cutofftime');
var processTime = parseInt(jQuery(this).attr('data-process'));
if (processTime > 0) {
cutTime = cutTime.replace(" AM", ":AM");
cutTime = cutTime.replace(" PM", ":PM");
var cut_off_time_array = cutTime.split(":");
var cut_off_time = parseInt(cut_off_time_array[0]);
if (cut_off_time_array[2] == "PM" && cut_off_time != 12) cut_off_time += 12;
if (cut_off_time_array[2] == "AM" && cut_off_time == 12) cut_off_time += 12;
var time1 = parseInt(Date.parse(dateSelect)) + cut_off_time * 3600000;
if (time1 < parseInt(Date.parse(currentTime)) + processTime * 86400000) {
jQuery(this).remove();
}
}
});
}
</script>
<div class="add-to-cart">
<label for="qty">Qty:</label>
<select name="qty" id="qty">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<button type="button" title="Add to Cart" id="product-addtocart-button" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><i class="fa fa-shopping-cart" aria-hidden="true"></i>Add to Cart</span></span></button>
</div>
</div>
<script>
$$('.ampromo-gift img').each(function(img) {
img.observe('mouseover', ampromo_tooltip_show);
img.observe('mouseout', ampromo_tooltip_hide);
});
</script>
</div>
<div class="add-to-cart-wrapper">
<script type="text/javascript">
//<![CDATA[
var skipTierPricePercentUpdate = true;
var bundle = new Product.Bundle({
"options": {
"13090": {
"selections": {
"127599": {
"qty": 1,
"customQty": "1",
"price": 249.9,
"priceInclTax": 267.393,
"priceExclTax": 249.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "Love In Grandeur - Flower Bouquet",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
}
},
"title": "Size",
"isMulti": false,
"position": 0
},
"13091": {
"selections": {
"127877": {
"qty": 1,
"customQty": "1",
"price": 19.9,
"priceInclTax": 21.293,
"priceExclTax": 19.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "AA37 The Belgian Tiramisu Pralines 200g ",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
},
"127878": {
"qty": 1,
"customQty": "1",
"price": 44.9,
"priceInclTax": 48.043,
"priceExclTax": 44.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "AC29 Godiva Gold Hearts Chocolate Gift Box 6pcs",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
},
"127879": {
"qty": 1,
"customQty": "1",
"price": 24.9,
"priceInclTax": 26.643,
"priceExclTax": 24.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "AD10 Angel Bear White Plush",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
},
"127880": {
"qty": 1,
"customQty": "1",
"price": 24.9,
"priceInclTax": 26.643,
"priceExclTax": 24.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "AC08 Brown Bear Plush With Rose",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
},
"127881": {
"qty": 1,
"customQty": "1",
"price": 49.9,
"priceInclTax": 53.393,
"priceExclTax": 49.9,
"priceValue": 0,
"priceType": "0",
"tierPrice": [],
"name": "AA38 Giant Plush Bear 90cm",
"plusDisposition": 0,
"minusDisposition": 0,
"canApplyMAP": false,
"tierPriceHtml": "\n"
}
},
"title": "Gift Options",
"isMulti": true,
"position": 1
}
},
"selected": {
"13090": ["127599"]
},
"bundleId": "30652",
"priceFormat": {
"pattern": "$%s",
"precision": 2,
"requiredPrecision": 2,
"decimalSymbol": ".",
"groupSymbol": ",",
"groupLength": 3,
"integerRequired": 1
},
"basePrice": 0,
"priceType": "0",
"specialPrice": null,
"includeTax": "false",
"isFixedPrice": false,
"isMAPAppliedDirectly": false
});
var taxCalcMethod = "UNIT_BASE_CALCULATION";
var CACL_UNIT_BASE = "UNIT_BASE_CALCULATION";
var CACL_ROW_BASE = "ROW_BASE_CALCULATION";
var CACL_TOTAL_BASE = "TOTAL_BASE_CALCULATION";
//]]>
</script>
</div>
<div class="block block-related related-item-count-4">
<div class="product-collateral toggle-content tabs">
<ul class="toggle-tabs">
<li class="first current">
<span> Description </span>
</li>
<li>
<span> Delivery Info </span>
</li>
<li class="last">
<span> Substitution Info </span>
</li>
</ul>
<dl id="collateral-tabs" class="collateral-tabs hide">
<dt class="tab first current">
<span> Description </span>
</dt>
<dd class="tab-container first current">
<div class="tab-content">
<h2>Details</h2>
<div class="std">
<p>Big, bold and beautiful. Make his/her flutter and evoke delightful smiles with this romantic gathering of 30 roses this Valentine’s Day. </p>
<p>30 Premium roses </p>
<p>w 70cm h 65cm </p>
<p>Styling props featured are not included. Actual color tone of flowers may differ slightly from image. </p>
</div>
</div>
</dd>
<dt class="tab">
<span> Delivery Info </span>
</dt>
<dd class="tab-container">
<div class="tab-content">
<p><strong>Normal Delivery (non-peak and/or non-seasonal period).</strong></p>
<p>Delivery within Singapore is chargeable at $8.00 (w/gst $8.56) for all items with the exception of any delivery to remote and restricted locations. More information on shipping and delivery can be
found <b><a href="https://www.fareastflora.com/terms-delivery-policy">here</a></b>.</p>
<p>Restricted locations refer to airport cargo complexes, airline roads and vicinity, military camps and complexes, prisons, shipyards, Jurong Island and Seletar Aerospace. Remote locations refer to Sentosa Island, crematoriums, Marina
Coastal Drive and vicinity, turf clubs, Changi Loyang and Coastal vicinity. </p>
<p>Please make sure the delivery date, delivery address and recipient's contact details are accurate, and that the recipient is around to receive the gift. We can redeliver the gift if the first delivery fails at the next available time
zone at a charge of $10.00 (w/gst $10.70).</p>
<p>Delivery to Sentosa and delivery to Airport/Army Camps will be charged at $10.70 & $21.40 respectively. Our Customer Service Officers will contact you shortly to process the additional charges. Delivery can only be made
between 9am - 1pm. Orders are to be made at least 1 working day (before 530pm) before the delivery date.</p>
<p> </p>
<p><strong>Peak and Seasonal Period.</strong></p>
<p>During peak and seasonal periods, the normal delivery fee within Singapore may subject to changes and/or increase without further notice. You may wish to check the delivery fee at the billing page during checkout or call us at 62512323
to enquire further. </p>
<p>Seasonal periods: 9 February to 16 February and 2nd week of May. </p>
<p>Peak periods : 3 to 4 weeks leading up to Chinese New Year and Christmas. </p>
<p> </p>
<p><strong>Valentine's Day.</strong></p>
<p>Kindly note that there will be a price increase on orders for deliveries made between 9th to 16th February. This is due to a surge in raw material costs.</p>
<p>Please ensure that your recipient’s address, contact numbers, and gift messages are correct when placing your order. Due to the high influx of orders, we will not be able to accommodate any amendments made to your Valentine’s Day
orders.</p>
<p>During this time we will halt deliveries to the following locations: Jurong Island, Airline Road, Changi Airport Cargo and Airbase, PSA (Free Freight Zone), Sentosa, MBS Marina Bay Sands, all military
bases, school campuses and shopping malls. </p>
<p>We seek your kind understanding and patience for any inconvenience caused during this period. </p>
<p> </p>
<p><strong>Delivery to Marina Bay Sands and <strong>Jewel Changi Airport.</strong></strong></p>
<p>Due to security reasons, Marina Bay Sands (MBS) security office and Jewel Changi Airport requires the recipient to submit the license plate of our floral delivery vehicle. As such, the onus falls on the sender to notify MBS’s or
Jewel Changi Airport's security office to arrange the necessary paperwork. FarEastFlora.com will not be held responsible for any non-delivery if the above is not arranged prior to delivery.</p>
<p> </p>
<p><strong>Delivery During F1. </strong></p>
<p>Due to road closures, delivery to certain addresses are affected during F1. During the period of F1, we will not be delivered to the following addresses: Collyer Quay, St Andrew's Road, Nicoll Highway, Esplanade Drive, Stamford Road,
Republic Boulevard, Raffles Avenue, Bayfront Avenue, Bras Basah Road, Raffles Boulevard and Temasek Avenue. For more details, please contact us at 62512323.<br><br></p>
<p>Kindly refer here for more details: <a href="https://www.fareastflora.com/terms">Terms & Conditions</a></p>
</div>
</dd>
<dt class="tab last">
<span> Substitution Info </span>
</dt>
<dd class="tab-container last">
<div class="tab-content">
<p>Due to the Covid-19 situation and lockdowns around the world, our flower supply chain is currently facing disruptions. We are working hard to source from alternative channels but may face challenges getting exact colors and varieties.
If there is a need for substitution, our florists will substitute to an equal or greater value while still maintaining the general look and feel of the arrangement.</p>
<p>We seek your kind understanding during this period of time. If you have any queries with your current orders, do reach out to our friendly customer service team. Thank you, and stay safe everyone!</p>
<div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q">
<div dir="auto">----------------------------------------------------------------</div>
</div>
<p><strong>Substitution</strong><br><br>Due to the international precautionary measures against Covid-19, our flower shipments may experience delays, and items in<span> hampers may run out of stock. In the event of flower or hamper
items' unavailability, it will be substituted with a <strong>similar flower or hamper's item of equal or higher value</strong> while maintaining the overall aesthetics without prior notice. </span>Substitution may be necessary to
ensure your order arrives on time, i.e. a specific basket, vase, soft toy, items in the hamper etc.<span><br></span></p>
<p>We use only the freshest of flowers and so will make substitutions depending on seasonal availability. In single-variety arrangements, variety will take preference over color. For example, if we are out of 'yellow tulips', we will
substitute another color of tulips, not another flower. When substitution is necessary, our professional florists will ensure that the 'look and feel' of the arrangement will be maintained, with our florists paying special
attention to overall shape, size, style and color combination.</p>
<p><strong>For All International Orders</strong></p>
<p>The actual color tone of flowers and plants may differ slightly from the image. Please note that due to weather and seasons affecting flower quality and quantity available in the specific country, our partner florists may have to
substitute certain flowers for a similar variety without giving prior notice in order to fulfill the delivery on time. The substitution will not affect plants, in the event, a plant is out of stock our Customer Service Representative
will reach out to you personally.</p>
<p>To understand more about our International Flower and Plant delivery limitations, please head on over to our
<a href="https://www.fareastflora.com/faq-finding-a-gift"><b><span style="text-decoration: underline;">FAQ</span></b></a> page. </p>
</div>
</dd>
</dl>
</div>
<div class="block-title">
<h2>Recommended Gifts</h2>
</div>
<div class="block-content">
<p class="block-subtitle">Check items to add to the cart or <a href="#" onclick="selectAllRelated(this); return false;">select all</a></p>
<ol class="mini-products-list" id="block-related">
<li class="item odd">
<div class="product">
<a href="https://www.fareastflora.com/best-of-my-love-flower-bouquet-30817.html" title="Best of My Love - Flower Bouquet" class="product-image"><img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/280x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve51_2.jpg" alt="Best of My Love - Flower Bouquet" width="280" height="280/"></a>
<div class="product-details">
<p class="product-name"><a href="https://www.fareastflora.com/best-of-my-love-flower-bouquet-30817.html">VE51 - Best of My Love - Flower Bouquet</a></p>
<div class="price-box">
<p class="old-price">
<span class="price" id="old-price-30817"><span class="price">$299.90</span></span>
</p>
<p class="price-from">
<span class="price-label">From:</span>
<span class="price" style="color: rgb(241, 129, 45);">$249.90</span>
</p>
<p class="price-to">
<span class="price-label">To:</span>
<span class="price">$414.40</span>
</p>
<span class="price-including-tax oldman-price-including-tax catalog-only-view">
<span class="price">$267.39</span> <span class="label">(Incl. Tax)</span>
</span>
</div>
<a href="#" class="link-wishlist" onclick="customFormSubmit(
'https://www.fareastflora.com/wishlist/index/add/product/30817/form_key/Y2lQBkGb8gNR8YIp/',
'{"form_key":"Y2lQBkGb8gNR8YIp"}',
'post')">
Add to Wishlist </a>
</div>
</div>
</li>
<li class="item even">
<div class="product">
<a href="https://www.fareastflora.com/pompous-love-flower-bouquet.html" title="Pompous Love - Flower Bouquet" class="product-image"><img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/280x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve29-_1_.jpg" alt="Pompous Love - Flower Bouquet" width="280" height="280/"></a>
<div class="product-details">
<p class="product-name"><a href="https://www.fareastflora.com/pompous-love-flower-bouquet.html">VE29 - Pompous Love - Flower Bouquet</a></p>
<div class="price-box">
<p class="old-price">
<span class="price" id="old-price-30629"><span class="price">$139.90</span></span>
</p>
<p class="price-from">
<span class="price-label">From:</span>
<span class="price" style="color: rgb(241, 129, 45);">$99.90</span>
</p>
<p class="price-to">
<span class="price-label">To:</span>
<span class="price">$264.40</span>
</p>
<span class="price-including-tax oldman-price-including-tax catalog-only-view">
<span class="price">$106.89</span> <span class="label">(Incl. Tax)</span>
</span>
</div>
<a href="#" class="link-wishlist" onclick="customFormSubmit(
'https://www.fareastflora.com/wishlist/index/add/product/30629/form_key/Y2lQBkGb8gNR8YIp/',
'{"form_key":"Y2lQBkGb8gNR8YIp"}',
'post')">
Add to Wishlist </a>
</div>
</div>
</li>
<li class="item odd">
<div class="product">
<a href="https://www.fareastflora.com/love-me-tender-flower-bouquet.html" title="Love Me Tender - Flower Bouquet" class="product-image"><img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/280x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve45-lifestyle.jpg" alt="Love Me Tender - Flower Bouquet" width="280" height="280/"></a>
<div class="product-details">
<p class="product-name"><a href="https://www.fareastflora.com/love-me-tender-flower-bouquet.html">VE45 - Love Me Tender - Flower Bouquet</a></p>
<div class="price-box">
<p class="old-price">
<span class="price" id="old-price-30645"><span class="price">$189.90</span></span>
</p>
<p class="price-from">
<span class="price-label">From:</span>
<span class="price" style="color: rgb(241, 129, 45);">$159.90</span>
</p>
<p class="price-to">
<span class="price-label">To:</span>
<span class="price">$324.40</span>
</p>
<span class="price-including-tax oldman-price-including-tax catalog-only-view">
<span class="price">$171.09</span> <span class="label">(Incl. Tax)</span>
</span>
</div>
<a href="#" class="link-wishlist" onclick="customFormSubmit(
'https://www.fareastflora.com/wishlist/index/add/product/30645/form_key/Y2lQBkGb8gNR8YIp/',
'{"form_key":"Y2lQBkGb8gNR8YIp"}',
'post')">
Add to Wishlist </a>
</div>
</div>
</li>
<li class="item last even">
<div class="product">
<a href="https://www.fareastflora.com/pillar-of-support-flower-bouquet.html" title="Pillar Of Support - Flower Bouquet" class="product-image"><img src="https://www.fareastflora.com/media/catalog/product/cache/1/thumbnail/280x/9df78eab33525d08d6e5fb8d27136e95/v/e/ve06.jpg" alt="Pillar Of Support - Flower Bouquet" width="280" height="280/"></a>
<div class="product-details">
<p class="product-name"><a href="https://www.fareastflora.com/pillar-of-support-flower-bouquet.html">VE06 - Pillar Of Support - Flower Bouquet</a></p>
<div class="price-box">
<p class="old-price">
<span class="price" id="old-price-30620"><span class="price">$119.90</span></span>
</p>
<p class="price-from">
<span class="price-label">From:</span>
<span class="price" style="color: rgb(241, 129, 45);">$89.90</span>
</p>
<p class="price-to">
<span class="price-label">To:</span>
<span class="price">$254.40</span>
</p>
<span class="price-including-tax oldman-price-including-tax catalog-only-view">
<span class="price">$96.19</span> <span class="label">(Incl. Tax)</span>
</span>
</div>
<a href="#" class="link-wishlist" onclick="customFormSubmit(
'https://www.fareastflora.com/wishlist/index/add/product/30620/form_key/Y2lQBkGb8gNR8YIp/',
'{"form_key":"Y2lQBkGb8gNR8YIp"}',
'post')">
Add to Wishlist </a>
</div>
</div>
</li>
</ol>
<script type="text/javascript">
decorateList('block-related', 'none-recursive')
</script>
</div>
</div>
<div class="clearer"></div>
<div class="clearer">
</div>
</form>
POST https://www.fareastflora.com/reminder/add/index/
<form action="https://www.fareastflora.com/reminder/add/index/" method="post" id="schedulerForm">
<input type="hidden" name="item[product_id]" value="30652">
<input type="hidden" name="item[product_name]" value="Love In Grandeur - Flower Bouquet">
<input type="hidden" name="item[status]" value="1">
<div class="fieldset">
<ul class="form-list">
<li class="wide">
<label for="title" class="required"><em>*</em>Title</label>
<div class="input-box">
<input name="item[title]" placeholder="Brother's birthday" id="title" title="Title" value="" class="input-text required-entry" type="text">
</div>
</li>
<li class="wide">
<label for="item_date" class="required"><em>*</em>Date</label>
<div class="input-box">
<input name="item[date]" id="item_date" placeholder="dd/mm/yyyy" title="Date" value="" class="input-text required-entry" type="text">
</div>
</li>
</ul>
</div>
<div class="buttons-set">
<button type="submit" title="Add" class="button"><span><span>Add</span></span></button>
</div>
</form>
POST https://www.fareastflora.com/newsletter/subscriber/new/
<form action="https://www.fareastflora.com/newsletter/subscriber/new/" method="post" id="newsletter-validate-detail-footer">
<div class="row">
<div class="col-md-3 col-sm-3 col-xs-2 label-text">
<p for="newsletter" class="lable">Sign up to receive the latest news</p>
<p for="newsletter" class="lable">on offers, new arrivals and events</p>
</div>
<div class="col-md-9 col-xs-10 col-sm-9 input-field">
<input type="email" autocapitalize="off" autocorrect="off" spellcheck="false" name="email" id="newsletter-footer" title="Sign up for our newsletter" class="input-text required-entry validate-email" placeholder="Enter your E-mail">
<div class="g-recaptcha" id="rcaptcha-footer" data-sitekey="6Lcp9qkUAAAAACcRKDAj3_yXdMtkJjD63kqH4F1l" data-callback="correctCaptchaFooter"></div>
<input type="checkbox" id="recaptcha-checkbox-footer" class="required-entry" name="recaptcha-checkbox" style="visibility:hidden;">
</div>
</div>
<button type="submit" title="Subscribe" class="button" style="position:relative; top:10px;"><span><span>Subscribe</span></span></button>
</form>
POST https://www.fareastflora.com/ajaxlogin/index/login/
<form action="https://www.fareastflora.com/ajaxlogin/index/login/" method="post" id="ajaxlogin-login-form">
<div class="content">
<ul class="form-list">
<li>
<label for="email" class="required"><em>*</em>Email Address</label>
<div class="input-box">
<input type="text" name="login[username]" value="" id="email" class="input-text required-entry validate-email" title="Email Address">
</div>
</li>
<li>
<label for="pass" class="required"><em>*</em>Password</label>
<div class="input-box">
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="Password">
</div>
</li>
</ul>
</div>
<div class="buttons-set">
<button type="submit" class="button" title="Login" name="send" id="send2"><span><span>Login</span></span></button>
<div class="progress-indicator">
<span class="please-wait" id="login-please-wait" style="display:none;">
<img class="lozad" data-src="https://www.fareastflora.com/skin/frontend/rwd/default/images/opc-ajax-loader.gif" alt="">
</span>
</div>
</div>
<div class="close_popup">
<a>Use another email</a>
</div>
<div class="forgot_pass">
<a href="https://www.fareastflora.com/customer/account/forgotpassword/">Forgot password</a>
</div>
</form>
Text Content
Track Order Search My Account Logout Log In | Corporate (0) Search: All All Sale The Life Celebrant Occasion Flowers Gifts Plants Hampers Gourmet Corporate International Birthday Sympathy Congratulatory Disposal Fee Far East Flora Garden Centre Florist Same Day Delivery Search JavaScript seems to be disabled in your browser. You must have JavaScript enabled in your browser to utilize the functionality of this website. * Chinese New Year * Signature Vessel Hampers * Abalone & Bird's Nest * Oranges Hampers * Festive Flowers * Festive Plants * Valentine's Day * Flower Bouquets * Preserved Flowers * Birthday * Birthday Cakes & Flowers * Birthday Flower Bouquet * Birthday Table Flowers * Birthday Hampers * Sympathy * Funeral Flowers * Congratulatory * Congratulatory Flowers * Flowers * Collections * Chinese New Year Flowers * Valentine's Day Flowers * Flower Subscription * 99 Roses * Flower Bouquets * Giant Bouquets * Table Flowers * Fragrance x Bodycare Gift Sets * Cakes & Flowers * Box of Blooms * Hand Bouquets * Premium Roses * Preserved Flowers * Plush Toy & Flowers * Seasonal Flowers * Flower Type * Rose * Lily * Sunflower * Artificial Flower Arrangements * Baby's Breath * Carnation * Cotton Flower * Hydrangea * Gerbera * Tulips * Occasion * Seasonal Occasions * Chinese New Year Collection * Valentine's Day Flowers * January Up to 25% OFF Orchids * Horoscope Gift Guide * Winter Collection * Everyday Occasions * Anniversary Flowers * Get Well Soon Flowers * Graduation Flowers * Housewarming * Im Sorry * Love & Romance * Just Because * Newborn Baby * Retirement Flowers * Thank You * Wedding * Add On Gifts * Plants * Chinese New Year Plants * Orchid Plants * Plant Arrangements * Succulent Plants * Hampers * Chinese New Year Hampers * Baby Hampers * Get Well Soon Hampers * Fruit Hampers * Chocolate Hampers * Gourmet Hampers * Organic Baby Hampers * Wine Hampers * Subscription * International * Australia * China * Hong Kong * Malaysia * United Kingdom International Delivery to United Kingdom * United States * More Countries * Sale * Checkout SUPPORT: +65 6251 2323 You did not add any gift products to the cart VE52 - LOVE IN GRANDEUR - FLOWER BOUQUET 267.39 * * * * * add to reminder VE52 - Love In Grandeur - Flower Bouquet $299.90 From: Excl. Tax: $249.90 Incl. Tax: $267.39 To: Excl. Tax: $414.40 Incl. Tax $443.39 $267.39 (Incl. Tax) Price as configured: Excl. Tax $249.90 Incl. Tax $267.39 Kindly note there will be a price increase on orders for deliveries going out between 9th and 16th February due to Valentines Day. Thank you for your understanding. Due to the international precautionary measures against Covid-19, our flower shipments have experienced delays and hamper items may run out of stock. In the event of flower or hamper items unavailability, it will be substituted with a similar flower or hamper's item of equal or higher value while maintaining the overall aesthetics without prior notice. Thank you for your understanding. Big, bold and beautiful. Make his/her flutter and evoke delightful smiles with this romantic gathering of 30 roses this Valentine’s Day. 30 Premium roses w 70cm h 65cm Styling props featured are not included. Actual color tone of flowers may differ slightly from image. Size* * $249.90 Deluxe Gift Options * * AA37 The Belgian Tiramisu Pralines 200g +$19.90 ($21.29 Incl. Tax) * More options » Less options » * * AD10 Angel Bear White Plush +$24.90 ($26.64 Incl. Tax) * More options » Less options » * AC29 Godiva Gold Hearts Chocolate Gift Box 6pcs +$44.90 ($48.04 Incl. Tax) * AC08 Brown Bear Plush With Rose +$24.90 ($26.64 Incl. Tax) * AA38 Giant Plush Bear 90cm +$49.90 ($53.39 Incl. Tax) * Required Fields * Delivery Date: * Delivery Comments: * Time Slot: 07:00 PM - 11:00 PM Qty: 1 2 3 4 5 6 7 8 9 10 Add to Cart * Description * Delivery Info * Substitution Info Description DETAILS Big, bold and beautiful. Make his/her flutter and evoke delightful smiles with this romantic gathering of 30 roses this Valentine’s Day. 30 Premium roses w 70cm h 65cm Styling props featured are not included. Actual color tone of flowers may differ slightly from image. Delivery Info Normal Delivery (non-peak and/or non-seasonal period). Delivery within Singapore is chargeable at $8.00 (w/gst $8.56) for all items with the exception of any delivery to remote and restricted locations. More information on shipping and delivery can be found here. Restricted locations refer to airport cargo complexes, airline roads and vicinity, military camps and complexes, prisons, shipyards, Jurong Island and Seletar Aerospace. Remote locations refer to Sentosa Island, crematoriums, Marina Coastal Drive and vicinity, turf clubs, Changi Loyang and Coastal vicinity. Please make sure the delivery date, delivery address and recipient's contact details are accurate, and that the recipient is around to receive the gift. We can redeliver the gift if the first delivery fails at the next available time zone at a charge of $10.00 (w/gst $10.70). Delivery to Sentosa and delivery to Airport/Army Camps will be charged at $10.70 & $21.40 respectively. Our Customer Service Officers will contact you shortly to process the additional charges. Delivery can only be made between 9am - 1pm. Orders are to be made at least 1 working day (before 530pm) before the delivery date. Peak and Seasonal Period. During peak and seasonal periods, the normal delivery fee within Singapore may subject to changes and/or increase without further notice. You may wish to check the delivery fee at the billing page during checkout or call us at 62512323 to enquire further. Seasonal periods: 9 February to 16 February and 2nd week of May. Peak periods : 3 to 4 weeks leading up to Chinese New Year and Christmas. Valentine's Day. Kindly note that there will be a price increase on orders for deliveries made between 9th to 16th February. This is due to a surge in raw material costs. Please ensure that your recipient’s address, contact numbers, and gift messages are correct when placing your order. Due to the high influx of orders, we will not be able to accommodate any amendments made to your Valentine’s Day orders. During this time we will halt deliveries to the following locations: Jurong Island, Airline Road, Changi Airport Cargo and Airbase, PSA (Free Freight Zone), Sentosa, MBS Marina Bay Sands, all military bases, school campuses and shopping malls. We seek your kind understanding and patience for any inconvenience caused during this period. Delivery to Marina Bay Sands and Jewel Changi Airport. Due to security reasons, Marina Bay Sands (MBS) security office and Jewel Changi Airport requires the recipient to submit the license plate of our floral delivery vehicle. As such, the onus falls on the sender to notify MBS’s or Jewel Changi Airport's security office to arrange the necessary paperwork. FarEastFlora.com will not be held responsible for any non-delivery if the above is not arranged prior to delivery. Delivery During F1. Due to road closures, delivery to certain addresses are affected during F1. During the period of F1, we will not be delivered to the following addresses: Collyer Quay, St Andrew's Road, Nicoll Highway, Esplanade Drive, Stamford Road, Republic Boulevard, Raffles Avenue, Bayfront Avenue, Bras Basah Road, Raffles Boulevard and Temasek Avenue. For more details, please contact us at 62512323. Kindly refer here for more details: Terms & Conditions Substitution Info Due to the Covid-19 situation and lockdowns around the world, our flower supply chain is currently facing disruptions. We are working hard to source from alternative channels but may face challenges getting exact colors and varieties. If there is a need for substitution, our florists will substitute to an equal or greater value while still maintaining the general look and feel of the arrangement. We seek your kind understanding during this period of time. If you have any queries with your current orders, do reach out to our friendly customer service team. Thank you, and stay safe everyone! ---------------------------------------------------------------- Substitution Due to the international precautionary measures against Covid-19, our flower shipments may experience delays, and items in hampers may run out of stock. In the event of flower or hamper items' unavailability, it will be substituted with a similar flower or hamper's item of equal or higher value while maintaining the overall aesthetics without prior notice. Substitution may be necessary to ensure your order arrives on time, i.e. a specific basket, vase, soft toy, items in the hamper etc. We use only the freshest of flowers and so will make substitutions depending on seasonal availability. In single-variety arrangements, variety will take preference over color. For example, if we are out of 'yellow tulips', we will substitute another color of tulips, not another flower. When substitution is necessary, our professional florists will ensure that the 'look and feel' of the arrangement will be maintained, with our florists paying special attention to overall shape, size, style and color combination. For All International Orders The actual color tone of flowers and plants may differ slightly from the image. Please note that due to weather and seasons affecting flower quality and quantity available in the specific country, our partner florists may have to substitute certain flowers for a similar variety without giving prior notice in order to fulfill the delivery on time. The substitution will not affect plants, in the event, a plant is out of stock our Customer Service Representative will reach out to you personally. To understand more about our International Flower and Plant delivery limitations, please head on over to our FAQ page. RECOMMENDED GIFTS Check items to add to the cart or select all 1. VE51 - Best of My Love - Flower Bouquet $299.90 From: $249.90 To: $414.40 $267.39 (Incl. Tax) Add to Wishlist 2. VE29 - Pompous Love - Flower Bouquet $139.90 From: $99.90 To: $264.40 $106.89 (Incl. Tax) Add to Wishlist 3. VE45 - Love Me Tender - Flower Bouquet $189.90 From: $159.90 To: $324.40 $171.09 (Incl. Tax) Add to Wishlist 4. VE06 - Pillar Of Support - Flower Bouquet $119.90 From: $89.90 To: $254.40 $96.19 (Incl. Tax) Add to Wishlist * *Title * *Date Add CUSTOMER'S QUESTIONS & ANSWERS (HAVE A QUESTION?) view more questions Help * Contact Us * Track Your Order * Sign Up * Terms * FAQ About Us * Our Company * Our Parent Company * Our Brands * Careers * Retail Stores * Delivery Locations * Testimonials * Blog Services * Annual Catalog & Seasonal Catalogs * Request for Catalog * Corporate Flowers & Gifts * FreshBlooms Flower Subscription * Flower Workshops * Send Flowers to Hong Kong * Send Flowers to Malaysia * International Flowers Delivery Stay Connected Sign up to receive the latest news on offers, new arrivals and events Subscribe * * * * © 2017 FarEastFlora.com. All Rights Reserved. This email exists, want to login? * *Email Address * *Password Login Use another email Forgot password