VS M08 - VELUX Manual Venting Skylight - 30 1/16" x 54 7/16" (2024)

Zoom

VS M08 - VELUX Manual Venting Deck Mount Skylight

Shipping Included!

Rough opening measures 30 1/16" x 54 7/16".

Designed for deck mounted installations, the VS manual venting skylight enables any home to embrace the best of what nature has to offer. Opening for maximum fresh air, the venting skylight contributes to a home's proper moisture balance and comfort level by allowing stale, humid air to be released.

The VS package includes the operator hook and insect screen. Operating controls are sold as an additional option, but are required to open and close the skylight.

Installation slope


The VS skylight installs on roofs with slopes between 14° (3:12) and 85° (137:12).

SKU: VS M08

Availability: In stock

$845.00

  • Buy 3 for $820.00 each andsave3%
  • Buy 10 for $803.00 each andsave5%
  • Add to Compare

'; } }.bind(this)); } }.bind(this)); imageBox.innerHTML = imageHTML; imageBox.show(); } else if (imageMode==4) { // Overlay Main Image var mainImage = this.getMainImage(); if (mainImage) { if (!mainImage.src) { mainImage = mainImage.down('img'); if (!mainImage) return; } // remove prev overlay_image if (el.type=='radio') { var radios = el.up(2).getElementsByClassName('radio'); for (i=0; i < radios.length; i++) { if (!radios[i].checked) { var overlayImage = $('overlay_image_' + radios[i].value); if (overlayImage) overlayImage.remove(); } } } else if (el.type=='checkbox') { if (!el.checked) { var overlayImage = $('overlay_image_' + el.value); if (overlayImage) overlayImage.remove(); } } else { // drop-down, multiselect for (i=0; i < el.options.length; i++) { if (!el.options[i].selected && el.options[i].value) { var overlayImage = $('overlay_image_' + el.options[i].value); if (overlayImage) overlayImage.remove(); } } } if (((el.type=='checkbox' || el.type=='radio') && el.checked && !el.disabled) || ((el.type=='select-one' || el.type=='select-multiple') && el.value!='')) { // overlay option image elValueArr.each(function(optionValueId) { if (optionValueId!='' && opConfig.config[optionId][optionValueId] && opConfig.config[optionId][optionValueId].images) { opConfig.config[optionId][optionValueId].images.each(function(image, index) { if (((excludeFirstImage==0 && index==0) || index > 0) && image[1]) { var overlayImageId = 'overlay_image_' + optionValueId; var overlayImage = $(overlayImageId); if (!overlayImage) { mainImage.up(1).style.position = 'relative'; var overlayImage = new Image(); overlayImage.width = mainImage.width; overlayImage.height = mainImage.height; overlayImage.style.display = 'none'; overlayImage.style.position = 'absolute'; overlayImage.style.top = 0; overlayImage.style.left = 0; overlayImage.style.zIndex = this.overlayZIndex; this.overlayZIndex++; overlayImage.id = overlayImageId; overlayImage.src = image[1]; Element.insert(mainImage, {'after':overlayImage}); overlayImage.show(); } } }.bind(this)); } }.bind(this)); } } } else { // replace and append variant var ul = $$(this.ulId.join(', ')).first(); var optionClass = 'option-image-'+optionId; if (el.type=='checkbox') optionClass += '-' + el.value; var productImageLis = $$(this.ulId.join(' li.li-product-image, ') + ' li.li-product-image'); // hide product gallery if (imageMode==2 && productImageLis) { productImageLis.each(function(li) { li.hide(); }); } // remove option images $$('li.' + optionClass).each(function(li) { li.remove(); }); if (typeof(ProductMediaManager)=='undefined') { $$('img.' + optionClass).each(function(img) { img.remove(); }); } // set default main image this.newMainImageUrl = this.mainImageUrl; this.newMainImageTitle = this.mainImageTitle; this.newMainImageThumbnail = this.mainImageThumbnail; this.newMainImageIndex = 0; if (((el.type=='checkbox' || el.type=='radio') && el.checked && !el.disabled) || ((el.type=='select-one' || el.type=='select-multiple') && el.value!='')) { var liHtml = ''; if (ul) { // var li = ul.down('li'); var li = productImageLis.last(); if (this.dataImageIndex===false) this.dataImageIndex = $$(this.ulId.join(' li, ') + ' li').length; if (li) { liHtml = ul.down('li').innerHTML; liHtml = liHtml.replace(/(data\-image\-index\=[\'\"])[0-9]+?([\'\"])/,"$1{{data_image_index}}$2"); if (typeof(ProductMediaManager)=='undefined') liHtml = liHtml.replace(/https?\:\/\/.+?([\'\"])/,"{{big_image_url}}$1"); liHtml = liHtml.replace(/https?\:\/\/.+?([\'\"])/g,"{{small_image_url}}$1"); liHtml = liHtml.replace(/(\s(?:title|alt)\=[\'\"]).*?([\'\"])/g,"$1{{title}}$2"); liHtml = '

  • ' + liHtml + '
  • '; } } var imageBox = $('customoptions_images_' + optionId); if (imageBox) imageBox.hide(); // append option images elValueArr.each(function(optionValueId) { if (optionValueId!='' && opConfig.config[optionId][optionValueId] && opConfig.config[optionId][optionValueId].images) { opConfig.config[optionId][optionValueId].images.each(function(image, index) { if ((excludeFirstImage==0 && index==0) || index > 0) { if (liHtml) { if (image[1]) { imageHTML += liHtml.replace(new RegExp("{{data_image_index}}",'g'), this.dataImageIndex).replace(new RegExp("{{big_image_url}}",'g'), image[1]).replace(new RegExp("{{small_image_url}}",'g'), image[0]).replace(new RegExp("{{title}}",'g'), opConfig.config[optionId][optionValueId].title); if (typeof(ProductMediaManager)!='undefined') mainImageHTML += 'VS M08 - VELUX Manual Venting Skylight - 30 1/16" x 54 7/16" (6)'; this.dataImageIndex++; } } else { if (index==0 || (excludeFirstImage==1 && index==1)) { this.newMainImageUrl = image[1]; this.newMainImageThumbnail = image[1]; this.newMainImageTitle = opConfig.config[optionId][optionValueId].title; } } } else if (el.type=='select-one' || el.type=='select-multiple') { if (imageBox) { imageBox.hide(); imageBox.innerHTML = ''+ ''+ '';; imageBox.show(); } } }.bind(this)); } }.bind(this)); if (imageHTML) ul.innerHTML += imageHTML; // for ProductMediaManager if (mainImageHTML) { var mainImageDiv = this.getMainImage().up('div'); if (mainImageDiv) mainImageDiv.innerHTML += mainImageHTML; } } // show product gallery if (!this.hasOptionImages() && productImageLis) { productImageLis.each(function(li) { li.show(); }); } $$('.cloud-zoom-gallery').each(function(a) { if (a.up('li').style.display=='') a.up('li').style.display = 'list-item'; a.addClassName('cboxElement'); jQuery(a).CloudZoom(); }); if (typeof(ProductMediaManager)!='undefined') ProductMediaManager.init(); // change main image if (imageMode==2) { if (typeof(ProductMediaManager)=='undefined') this.changeMainImage(); else setTimeout('optionImages.changeMainImage()', 100); } } }, markProduct: function() { $$(this.ulId.join(' li, ') + ' li').each(function(li) { li.addClassName('li-product-image'); }); if (this.mainImageUrl=='') { var mainImage = this.getMainImage(); if (mainImage) { if (mainImage.hasClassName('MagicToolboxContainer')) { var elA = mainImage.down('a'); if (elA) { this.mainImageUrl = elA.href; var elImg = elA.down('img'); if (elImg.width) this.mainImageWidth = elImg.width; this.mainImageThumbnail = elImg.src; this.mainImageTitle = elImg.alt; } } else if (mainImage.hasClassName('zoom-image') || (mainImage.up('a') && mainImage.up('a').hasClassName('cloud-zoom'))) { // Easy Zoom 1.0 - jQuery plugin // Cloud Zoom V1.0.2 var elA = mainImage.up('a'); if (elA) { this.mainImageUrl = elA.href; } else { this.mainImageUrl = mainImage.src; } this.mainImageTitle = mainImage.alt; this.mainImageThumbnail = mainImage.src } else { this.mainImageUrl = mainImage.src; this.mainImageTitle = mainImage.alt; } } } this.prevMainImageUrl = this.mainImageUrl; }, getMainImage: function() { return $$('div.product-img-box div.MagicToolboxContainer', 'div.product-img-box div.main-image img', 'div.product-img-box .product-image img', '#image', '#image-main', 'div.img-box .product-image img').first(); }, changeMainImage: function() { if (!this.newMainImageUrl || this.newMainImageUrl==this.prevMainImageUrl) return; var mainImage = this.getMainImage(); if (!mainImage) return; if (!this.pageLoaded) { mainImage.hide(); setTimeout('optionImages.changeMainImage()', 100); return; } if (mainImage.hasClassName('MagicToolboxContainer')) { var elA = mainImage.down('a'); if (elA) { elA.down('img').width = this.mainImageWidth; MagicZoomPlus.update(elA.id, this.newMainImageUrl, this.newMainImageThumbnail, 'show-title: false; drag-mode: false'); } } else if (typeof(ProductMediaManager)!='undefined') { $$(this.ulId.join(' li, ') + ' li').each(function(li) { var elA = li.down('a'); if (elA && elA.readAttribute('data-image-index')==this.newMainImageIndex) { elA.click(); } }.bind(this)); } else if (mainImage.hasClassName('zoom-image')) { // Easy Zoom 1.0 - jQuery plugin var elA = mainImage.up('a'); if (elA) elA.href = this.newMainImageUrl; mainImage.src = this.newMainImageUrl; mainImage.alt = this.newMainImageTitle; mainImage.title = this.newMainImageTitle; jQuery('#zoom').easyZoom({parent: 'div.zoom-container',preload: '', lightboxBtn: '.lightbox-btn .lightbox'}).data('easyZoom').gallery('a.zoom-thumbnail'); } else if (mainImage.up('a') && mainImage.up('a').hasClassName('cloud-zoom')) { // ultimo + Cloud Zoom V1.0.2 var elA = mainImage.up('a'); if (elA) elA.href = this.newMainImageUrl; mainImage.src = this.newMainImageUrl; mainImage.alt = this.newMainImageTitle; mainImage.title = this.newMainImageTitle; if ($("zoom-btn")) { $("zoom-btn").href = this.newMainImageUrl; $("zoom-btn").title = this.newMainImageTitle; } jQuery("#"+elA.id).CloudZoom(); } else { mainImage.src = this.newMainImageUrl; mainImage.alt = this.newMainImageTitle; mainImage.title = this.newMainImageTitle; } this.prevMainImageUrl = this.newMainImageUrl; mainImage.show(); }, hasOptionImages: function() { var result = false; var firstImageUrl = ''; $$(this.ulId.join(' li, ') + ' li').each(function(li) { if (li.hasClassName('li-product-image')==false) { // change main image if (!firstImageUrl) { var firstImageMatch = li.innerHTML.match(/(https?\:\/\/.+?)[\'\"]/); if (firstImageMatch) firstImageUrl = firstImageMatch[1]; this.newMainImageUrl = firstImageUrl; this.newMainImageThumbnail = firstImageUrl; this.newMainImageTitle = li.down('img').alt; if (typeof(ProductMediaManager)!='undefined') this.newMainImageIndex = li.down('a').readAttribute('data-image-index'); } result = true; } }.bind(this)); return result; } }; Event.observe(window, 'load', function() { opConfig.reloadPrice(); }); var dependentOptions = { dependentData: {"7020":[1572844]}, inGroupIdData: {"1572844":{"dependency":1,"out_of_stock":false,"view_mode":"1","options_1693_1":1}}, defaultData: [], dependentChanges: {"m":[], "d":[]}, dependentHide: true, select: function(el) { var i, ii = 0; if (el.type=='radio') { var radios = this.upDiv(el).getElementsByClassName('radio'); for (i=0; i < radios.length; i++) { this.returnSelect(radios[i]); } } else { this.returnSelect(el); } if (el.type && el.type=='checkbox' && !el.checked) { this.decorateIsLast(); return false; } if (el.disabled) return false; if (el.value>0) { // prepare value var elValueArr = []; if (el.multiple) { for (i=0; i < el.options.length; i++) { if (el.options[i].selected) elValueArr.push(el.options[i].value); } } else { elValueArr.push(el.value); } var mElementId = el.id; var dSelects = []; var isRequire = false; for (i=0; i < elValueArr.length; i++) { if (!this.dependentData[elValueArr[i]]) continue; this.dependentData[elValueArr[i]].each(function(IGI){ if (this.inGroupIdData[IGI]) { for(var dElementId in this.inGroupIdData[IGI]) { if (dElementId!='dependency' && dElementId!='out_of_stock' && dElementId!='view_mode' && $(dElementId)) { if (this.inGroupIdData[IGI][dElementId]) { var dElement = $(dElementId); if (!this.dependentChanges['m'][mElementId]) this.dependentChanges['m'][mElementId] = []; if (!this.dependentChanges['m'][mElementId][dElementId]) this.dependentChanges['m'][mElementId][dElementId] = []; this.dependentChanges['m'][mElementId][dElementId]['disabled'] = true; if (this.dependentChanges['m'][mElementId][dElementId]['is_require']) { isRequire = true; } else { isRequire = $(dElement).hasClassName('required-dependent'); } this.dependentChanges['m'][mElementId][dElementId]['is_require'] = isRequire; if (!this.dependentChanges['d'][dElementId]) this.dependentChanges['d'][dElementId] = []; if ((dElement.type=='select-one' || dElement.type=='select-multiple') && !$(dElement).hasClassName('datetime-picker')) { // if [multi]select var selectValue = 's'+this.inGroupIdData[IGI][dElementId]; // if el not modified -> backup default options and clear if (!this.dependentChanges['d'][dElementId]['options']) { this.dependentChanges['d'][dElementId]['options'] = []; var opSelected = false; for (ii=0; ii < dElement.options.length; ii++) { if (this.defaultData[dElementId] && (this.defaultData[dElementId]==dElement.options[ii].value || this.defaultData[dElementId][dElement.options[ii].value])) opSelected = true; else opSelected = false; if (dElement.options[ii].value) this.dependentChanges['d'][dElementId]['options']['s'+dElement.options[ii].value] = {'text':dElement.options[ii].text, 'selected':opSelected, 'sel-def':opSelected, 'disabled':dElement.options[ii].disabled}; } if (dElement.multiple) dElement.length = 0; else dElement.length = 1; // clear select } if (this.dependentChanges['d'][dElementId]['options'][selectValue]) { // set [multi]select flag use if (!this.dependentChanges['d'][dElementId]['options'][selectValue]['use']) this.dependentChanges['d'][dElementId]['options'][selectValue]['use'] = []; this.dependentChanges['d'][dElementId]['options'][selectValue]['use'].push(mElementId); this.dependentChanges['d'][dElementId]['options'][selectValue]['dependency'] = this.inGroupIdData[IGI].dependency; // commit changes if (!this.dependentChanges['m'][mElementId][dElementId]['options']) this.dependentChanges['m'][mElementId][dElementId]['options'] = []; this.dependentChanges['m'][mElementId][dElementId]['options'].push(selectValue); } } else { // if radio, checkbox, text, etc. if (!this.dependentChanges['d'][dElementId]['use']) this.dependentChanges['d'][dElementId]['use'] = []; this.dependentChanges['d'][dElementId]['use'].push(mElementId); this.dependentChanges['d'][dElementId]['dependency'] = this.inGroupIdData[IGI].dependency; } if ((this.dependentChanges['d'][dElementId]['use'] && this.dependentChanges['d'][dElementId]['use'].length >= this.inGroupIdData[IGI].dependency) || ((dElement.type=='select-one' || dElement.type=='select-multiple') && this.dependentChanges['d'][dElementId]['options'][selectValue] && this.dependentChanges['d'][dElementId]['options'][selectValue]['use'].length >= this.inGroupIdData[IGI].dependency)) { // set visibility if (!this.inGroupIdData[IGI].out_of_stock) dElement.disabled = false; if (this.dependentHide && this.inGroupIdData[IGI].view_mode!=2) { if (dElement.type=='checkbox' || dElement.type=='radio') { $(dElement).up('li').style.display = 'block'; } dependentOptions.upDiv(dElement).style.display = 'block'; } // set class required-entry if (isRequire) { $(dElement).removeClassName('required-dependent'); if (dElement.type=='checkbox' || dElement.type=='radio') { $(dElement).addClassName('validate-one-required-by-name'); } else { $(dElement).addClassName('required-entry'); } } // add or init dependent element if ((dElement.type=='select-one' || dElement.type=='select-multiple') && !$(dElement).hasClassName('datetime-picker')) { // if [multi]select var selectValue = 's'+this.inGroupIdData[IGI][dElementId]; if (this.dependentChanges['d'][dElementId]['options'][selectValue]) { dSelects.push(dElement); // after add data to this [multi]select } } else { // if radio, checkbox, text, etc. if (this.defaultData[dElementId] && ($(dElementId).type=='checkbox' || $(dElementId).type=='radio') && this.inGroupIdData[IGI].dependency==this.dependentChanges['d'][dElementId]['use'].length) $(dElementId).click(); } } } } } } }.bind(this)); } if (dSelects.length>0) { dSelects =this.removeArrayDuplicates(dSelects); for (i=0; i < dSelects.length; i++) { var dElement = dSelects[i]; var dElementId = dElement.id; // add data to [multi]select this.rememberNewSelected(dElement, dElementId); if (dElement.multiple) dElement.length = 0; else dElement.length = 1; // clear select for(var opValue in this.dependentChanges['d'][dElementId]['options']) { if (!this.dependentChanges['d'][dElementId]['options'].hasOwnProperty(opValue) || !this.dependentChanges['d'][dElementId]['options'][opValue] || !this.dependentChanges['d'][dElementId]['options'][opValue]['use'] || this.dependentChanges['d'][dElementId]['options'][opValue]['use'].length < this.dependentChanges['d'][dElementId]['options'][opValue]['dependency']) continue; var newOpt = new Option(this.dependentChanges['d'][dElementId]['options'][opValue]['text'], opValue.substr(1)); newOpt.disabled = this.dependentChanges['d'][dElementId]['options'][opValue]['disabled']; if (this.dependentChanges['d'][dElementId]['options'][opValue]['selected']) { newOpt.selected = true; //if (!newOpt.disabled) setTimeout('dependentOptions.select($("'+dElementId+'"));', '100'); } dElement.options.add(newOpt); } dElement.onchange(); } } this.decorateIsLast(); } }, removeArrayDuplicates:function(a) { var seen = {}; var out = []; var len = a.length; var j =0; for(var i =0;i

    0) { this.dependentChanges['d'][dElementId]['options'][opValue]['use'] = this.dependentChanges['d'][dElementId]['options'][opValue]['use'].without(mElementId); if (this.dependentChanges['d'][dElementId]['options'][opValue]['use'].length < this.dependentChanges['d'][dElementId]['options'][opValue]['dependency']) { $$("#"+dElementId+" option[value='"+opValue.substr(1)+"']").each(function(elOp){ elOp.remove(); }); } else { disableElFlag = false; } } } if (disableElFlag && (dElement.length>1 || (dElement.multiple && dElement.length>0))) disableElFlag = false; dElement.onchange(); } else { // to radio, checkbox, text, etc. if (this.dependentChanges['d'][dElementId]['use'] && this.dependentChanges['d'][dElementId]['use'].length > 0) { this.dependentChanges['d'][dElementId]['use'] = this.dependentChanges['d'][dElementId]['use'].without(mElementId); if (this.dependentChanges['d'][dElementId]['use'].length >= this.dependentChanges['d'][dElementId]['dependency']) disableElFlag = false; } } if (disableElFlag) { dElement.disabled = true; // restore default if [multi]select if ((dElement.type=='select-one' || dElement.type=='select-multiple') && !$(dElement).hasClassName('datetime-picker')) { for(var opValue in this.dependentChanges['d'][dElementId]['options']) { if (!this.dependentChanges['d'][dElementId]['options'].hasOwnProperty(opValue) || !this.dependentChanges['d'][dElementId]['options'][opValue]) continue; var newOpt = new Option(this.dependentChanges['d'][dElementId]['options'][opValue]['text'], opValue.substr(1)); newOpt.disabled = this.dependentChanges['d'][dElementId]['options'][opValue]['disabled']; newOpt.selected = this.dependentChanges['d'][dElementId]['options'][opValue]['sel-def']; dElement.options.add(newOpt); } dElement.onchange(); } // hide if (this.dependentHide) { var hideDivFlag = true; if (dElement.type=='checkbox' || dElement.type=='radio') { $(dElement).up('li').style.display = 'none'; ulEl = $(dElement).up('li').up('ul'); if (ulEl) { lis = ulEl.getElementsByTagName('li'); for (i=0; i < lis.length; i++) { if (lis[i].style.display=='block') { hideDivFlag = false; break; } } } } if (hideDivFlag) this.upDiv(dElement).style.display = 'none'; } // require if (this.dependentChanges['m'][mElementId][dElementId]['is_require']) { if (dElement.type=='checkbox' || dElement.type=='radio') { $(dElement).removeClassName('validate-one-required-by-name'); } else { $(dElement).removeClassName('required-entry'); } $(dElement).addClassName('required-dependent'); } optionImages.showImage(dElement); } } // return dependent->dependent etc.. if (disableElFlag && (dElement.type=='checkbox' || dElement.type=='radio') && dElement.checked) { dElement.checked = false; if (dElement.type=='checkbox') optionSetQtyProduct.checkboxQty(dElement); dependentOptions.returnSelect(dElement); } else if ((dElement.type=='select-one' || dElement.type=='select-multiple') && !$(dElement).hasClassName('datetime-picker')) { dependentOptions.select(dElement); // that's right! } else if (disableElFlag && (dElement.type=='text' || dElement.type=='textarea' || dElement.type=='file')) { if (this.defaultData[dElementId]) dElement.value = this.defaultData[dElementId]; else dElement.value = ''; } } delete this.dependentChanges['m'][mElementId]; } }, rememberNewSelected: function(dElement, dElementId) { // remember new selected if (this.dependentChanges['d'][dElementId] && this.dependentChanges['d'][dElementId]['options']) { var opSelected = false; for (i=0; i < dElement.options.length; i++) { if (this.dependentChanges['d'][dElementId]['options']['s'+dElement.options[i].value]) { if (dElement.options[i].selected && dElement.options[i].value>0) opSelected = true; else opSelected = false; this.dependentChanges['d'][dElementId]['options']['s'+dElement.options[i].value]['selected'] = opSelected; } } } }, // for ie to work upDiv: function(el) { if (el.type=='checkbox' || el.type=='radio') { var div = el.up(4); if (!$(div).hasClassName('option')) div = div.up(1); return div; } else { return el.up('div.option'); } }, decorateIsLast: function() { var divs = $$('div.option'); if (divs) { var dl = false; var dd = false; divs.each(function(div, index){ if (div.style.display!='none' && !$(div).hasClassName('hidden')) { dl = div.down('dl'); if (dl) { if ($(dl).hasClassName('last')) $(dl).removeClassName('last'); dd = dl.down('dd'); if (dd && $(dd).hasClassName('last')) $(dd).removeClassName('last'); } } }.bind(this)); if (dl) $(dl).addClassName('last'); if (dd) $(dd).addClassName('last'); } }, applyDefaultValues: function(el) { for(var elementId in this.defaultData) { if (!this.defaultData.hasOwnProperty(elementId)) continue; if ($(elementId) && this.upDiv($(elementId)) && this.upDiv($(elementId)).style.display!="none") { this.returnSelect($(elementId)); if ($(elementId).type=='select-one' || $(elementId).type=='text' || $(elementId).type=='textarea') { $(elementId).value = this.defaultData[elementId]; } else if ($(elementId).type=='select-multiple') { el = $(elementId); for (i=0; i < el.options.length; i++) { if (this.defaultData[elementId][el.options[i].value]) el.options[i].selected = true; } } else if ($(elementId).type=='checkbox' || $(elementId).type=='radio') { if ($(elementId).checked!=true) $(elementId).click(); } this.select($(elementId)); } } } }; // for correct decorating of options if (typeof(decorateGeneric)!='undefined') { (function(){ var parentDecorateGeneric = decorateGeneric.bind(window); decorateGeneric = function(elements, decorateParams) { parentDecorateGeneric(elements, decorateParams); dependentOptions.decorateIsLast(); }; })(); } // Change Qty Input Invetory var optionsInventory = { changeInputQty: function(el) { if (!el) { return false; } var optionId = this._getOptionId(el); var valueId = el.value; if (el.type == 'radio') { var optionQty = $('options_'+optionId+'_qty'); } else if (el.type == 'checkbox') { var optionQty = $('options_'+optionId+'_'+valueId+'_qty'); } if (!optionQty) { return; } var minQty = 1; if (valueId != '' && opConfig.config[optionId][valueId].min_qty) { minQty = opConfig.config[optionId][valueId].min_qty; } $(optionQty).addClassName('validate-greater-than-zero'); if (!el.checked) { minQty = 0; $(optionQty).removeClassName('validate-greater-than-zero'); } this._changeDisabledQty(el, optionQty); optionQty.value = minQty; }, changeSelectQty: function(el) { if (!el) { return false; } var optionId = this._getOptionId(el); var valueIds = this._getValueIds(el); var optionQty = $('options_'+optionId+'_qty'); if (!optionQty) { return; } for (i=0; i < valueIds.length; i++) { var valueId = valueIds[i]; var minQty = 1; if (opConfig.config[optionId][valueId].min_qty) { minQty = opConfig.config[optionId][valueId].min_qty; } optionQty.value = minQty; } $(optionQty).addClassName('validate-greater-than-zero'); }, changeMultiSelectQty: function(optionId, valueId, selected) { var optionQty = $('options_'+ optionId +'_'+ valueId +'_qty'); if (!optionQty) { return; } optionQty.disabled = !selected; if (selected) { var minQty = 1; if (opConfig.config[optionId][valueId].min_qty) { minQty = opConfig.config[optionId][valueId].min_qty; } if (optionQty.value<=0) { optionQty.value = minQty; } $(optionQty).addClassName('validate-greater-than-zero'); } else { $(optionQty).removeClassName('validate-greater-than-zero'); } }, _getValueIds: function(el) { var ids = []; for (i=0; i < el.options.length; i++) { if (el.options[i].selected && el.options[i].value != '') { ids.push(el.options[i].value); } } return ids; }, _getOptionId: function(el) { var optionId = 0; el.name.sub(/[0-9]+/, function(match){ optionId = match[0]; }); return optionId; }, _changeDisabledQty: function(el, qty) { qty.disabled=!el.checked; }, }; Event.observe(window, 'load', function() { $$("input[type^='checkbox'].product-custom-option, input[type^='radio'].product-custom-option").each(function(element){ Event.observe(element, 'change', function() { optionsInventory.changeInputQty(element); opConfig.reloadPrice(); }); }); $$("select[id^='select_'].product-custom-option").each(function(element){ Event.observe(element, 'change', function() { optionsInventory.changeSelectQty(element); opConfig.reloadPrice(); }); }); }); // end Change Qty Input Invetory //]]>

    Choose the glass based on location or energy efficiency

    Choose a flashing to match your roof type

    Chose a blind to control the light from your skylight!
    *No Returns on Factory Installed Blinds

    Choose the control to open and close your manual venting skylight.

    * Required Fields

    '); // Initialize plus/minus buttons $('.qty-button').on('click', function() { var $button = $(this); var $input = $button.parent().parent().find('input'); var oldValue = $input.val(); var newVal = 0; if (isNaN(oldValue)) { $input.css('color', 'red'); } else { if ($button.hasClass('increase')) { newVal = qtyAdd(parseFloat(oldValue), 1, 4); $input.css('color', ''); } else { var candidateNewValue = qtySubtract(parseFloat(oldValue), 1, 4); if (oldValue > 0 && candidateNewValue > 0) { newVal = candidateNewValue; } else { newVal = 0; $input.css('color', 'red'); } }//ZDevWeb - add .change() to automatically update price $input.val(newVal).change(); } }); }); //]]>

    VS M08 - VELUX Manual Venting Skylight - 30 1/16" x 54 7/16" (2024)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Dean Jakubowski Ret

    Last Updated:

    Views: 6013

    Rating: 5 / 5 (50 voted)

    Reviews: 89% of readers found this page helpful

    Author information

    Name: Dean Jakubowski Ret

    Birthday: 1996-05-10

    Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

    Phone: +96313309894162

    Job: Legacy Sales Designer

    Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

    Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.