// JavaScript Document

if(flav) {
}else{
    var flav={};
}

/* override flav/js/flav.js: product pages do not use minicart */
flav.miniCartActive = false;

// enhanced image: the window height is larger if we have alternate images
flav.showEnhancedImage = function()
{
    var largeImageHeight = 640;
    if (flav.product.alternateViews != null && flav.product.alternateViews.length > 1) {
        largeImageHeight = 686;
    }
    remote = open('/largeImage/index.jsp?productId='+flav.product.productId, 'largeImage'+flav.product.productId, 'width=500,height='+largeImageHeight+',left=0,top=0,scrollbars=no');
}

flav.showCustomPopUp = function(thisUrl,thisName,theseParams) {
	remote = open(thisUrl, thisName, theseParams);
}


// email a friend
flav.emailAFriend = function()
{
    remote = open('/emailAProduct/index.jsp?productId='+flav.product.productId, 'email_a_friend'+flav.product.productId, 'width=520,height=799,top=0,left=0,resizable=no,scrollbars=yes');
}

flav.radioButtonSel = function (event)
{
    if (event.target) {
        element = event.target;
    } else if (event.srcElement) {
        element = event.srcElement;
    }

    var selectElement = 'autoShipFrequencySelect';

    if (element.value == 'autoship') {
        $(selectElement).disabled = false;
    } else if (element.value == 'individual') {
        $(selectElement).disabled = true;
    }
    return true;
}

flav.observeProductSkuChangeAvailMessage = function(sku)
{
	$('prodErr-size').style.display = "none";
    if (sku!=null && sku != '' && $('availMsg'))
    {
        var skuFlag = flav.product.getSkuById(sku).avail;
        var shipMin =  flav.product.getSkuById(sku).ship_Min;
        var shipMax =  flav.product.getSkuById(sku).ship_Max;
        var shipUnits =  flav.product.getSkuById(sku).ship_Units;
        var estDate =  flav.product.getSkuById(sku).estimatedShipmentDate;
		var nextExpectedDate =  flav.product.getSkuById(sku).nextExpectedDate;
        var month;
        var day;
        var year;
        if(estDate!=''){
            estDate = new Date(estDate);
            month = estDate.getMonth() + 1;
            day = estDate.getDate();
            year = estDate.getFullYear();
        }

        if((skuFlag == 'ADVANCE_SALE' || skuFlag == 'ADVANCED_SALE_LIMITED') && nextExpectedDate == null)
        {
            $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Advance Sale, Leaves warehouse in 2-4 weeks. - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
        }
		else if((skuFlag == 'ADVANCE_SALE' || skuFlag == 'ADVANCED_SALE_LIMITED') && nextExpectedDate != null)
        {
            $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Advance Sale, Buy now for shipping by " + month +"/"+ day +"/"+ year  + " - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
        }
        else if(skuFlag == 'RELEASE_DATE')
        {
            $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Release Date, Buy now for shipping by " + month +"/"+ day +"/"+ year  + " - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
        }
        else
        {
            $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: In stock, Usually ships in " + shipMin +" - "+ shipMax +" " + shipUnits + ". - (<a class=\"details\" href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
        }
    }
    else
    {
        $('availMsg').innerHTML = "";

    }
}

flav.validateProduct = function(pForm, cartAction)
{
    var isCartable = true;

    //clear errors
    $('prodErr-size').style.display = 'none';
    $('prodErr-qty').style.display = 'none';

    //check size
    if (pForm.htmlProd_0.value == '')
    {
        $('prodErr-size').innerHTML = 'Please select a size.';
        $('prodErr-size').style.display = 'block';
        isCartable = false;
    }

    var isBadNumber = false;
    if (isNaN(parseInt(pForm.qty_0.value))) isBadNumber = true;
    if (!isBadNumber)
    {
        for (j = 0; j < pForm.qty_0.value.length; j++)
        {
            if (isNaN(parseInt(pForm.qty_0.value.charAt(j)))) isBadNumber = true;
        }
    }
    //check quantity
    if (pForm.qty_0.value < 1 || pForm.qty_0.value == 'undefined' || isBadNumber)
    {
        $('prodErr-qty').innerHTML = 'Please enter a valid quantity.';
        $('prodErr-qty').style.display = 'block';
        isCartable = false;
    }

    var purchaseTypes = document.getElementsByName('purchaseType');
    for (var x = 0; x < purchaseTypes.length; x++)
    {
        var purchaseType = purchaseTypes[x];
        if (purchaseType.checked && purchaseType.value == 'autoship') {
            purchaseType.value = purchaseType.value + '|' + pForm.autoShipFrequencySelect.value;
        }
    }

    // add to cart
    if (isCartable)
    {
        if (cartAction == 'wishList')
        {
            pForm.wlName.value = 'default';
            /* pForm.async.value = '0'; */
            pForm.submit();
        }
        else if (flav.miniCartActive)
        {
            ajaxAddToCart(pForm);
            hideUnderElements();
        }
        else
        {
            pForm.submit();
        }
    }
}

flav.validateTheDrink = function(pForm, cartAction)
{
	 var isCartable = true;

    $('prodErr-size').style.display = 'none'
    $('prodErr-qty').style.display = 'none'

    //check size
    if (pForm.htmlProd_0.value == '')
    {
        $('prodErr-size').innerHTML = 'Please select a size.'
        $('prodErr-size').style.display = 'block'
        isCartable = false;
    }

    var isBadNumber = false;
    if (isNaN(parseInt(pForm.qty_0.value))) isBadNumber = true;
    if (!isBadNumber)
    {
        for (j=0; j < pForm.qty_0.value.length; j++)
        {
            if(isNaN(parseInt(pForm.qty_0.value.charAt(j)))) isBadNumber = true;
        }
    }
    //check quantity
    if (pForm.qty_0.value < 1 || pForm.qty_0.value == 'undefined' || isBadNumber)
    {
        $('prodErr-qty').innerHTML = 'Please enter a valid quantity.'
        $('prodErr-qty').style.display = 'block'
        isCartable = false;
    }
    purchaseTypes = document.getElementsByName('purchaseType');

	var purchaseType = '';
	if (purchaseTypes.length > 0) {
		for (var x=0; x< purchaseTypes.length; x++) {
			 purchaseType = purchaseTypes[x];
			 if (purchaseType.checked && purchaseType.value == 'autoship') {
				  purchaseType.value = purchaseType.value + '|' + pForm.autoShipFrequencySelect.value;
			 }
		}
	}

    // add to cart
    if (isCartable) {
        if (cartAction == 'wishList') {
            pForm.wlName.value = 'default';
            pForm.submit();
        }
		else if($('isDashboard')){
			pForm.submit();
		}
		else {
            var ajax = new Ajax.Request('/cartHandler/index.jsp', {
				  method: 'post',
				  parameters: {
						qty_0: pForm.qty_0.value,
						prod_0: pForm.prod_0.value,
						async: pForm.asynch.value,
						action: pForm.action.value,
						purchaseType: purchaseType.value
				  },
				  onComplete: function(e){
					  if (e.status == '200') {
                    try {
                        var m = e.responseText.match(/\<itemCount\>([0-9]+)\<\/itemCount\>/)
								//console.dir(m);
                        var newQty = m[1] + ' Item'
                        if (m[1] > 1) { newQty += 's' }
                        $('shoppingBag').innerHTML = newQty

								location.href = '/cart/index.jsp'
                    } catch(x) {
								//if exception occurs, submit to the cartHandler so it performs the proper redirect
                        location.href = '/cartHandler/index.jsp?qty_0=' + pForm.qty_0.value + '&prod_0=' + pForm.prod_0.value + '&action=' + pForm.action.value + '&purchaseType=' + purchaseType.value
                    }
					  }
				  },
				  onException: function(e,m){
						//if exception occurs, submit to the cartHandler so it performs the proper redirect
						location.href = '/cartHandler/index.jsp?qty_0=' + pForm.qty_0.value + '&prod_0=' + pForm.prod_0.value + '&action=' + pForm.action.value + '&purchaseType=' + purchaseType.value
				  },
				  onError: function(e,m){
					  location.href = '/cart/index.jsp'
				  }
				})
         }
    }
}

// brewer/machine add to cart/add to wishlist
flav.validateBrewer = function(pForm, cartAction) {
    var orderFormProd = $('orderFormProd');
	var isCartable = true;
	$('prodErr-qty').style.display = 'none'
	var isBadNumber = false;
    if (isNaN(parseInt(pForm.qty_0.value))) isBadNumber = true;
    if (!isBadNumber)
    {
        for (j=0; j < pForm.qty_0.value.length; j++)
        {
            if(isNaN(parseInt(pForm.qty_0.value.charAt(j)))) isBadNumber = true;
        }
    }
	 if (pForm.qty_0.value < 1 || pForm.qty_0.value == 'undefined' || isBadNumber)
    {
        $('prodErr-qty').innerHTML = 'Please enter a valid quantity.'
        $('prodErr-qty').style.display = 'block'
        isCartable = false;
    }
	 if (isCartable) {
    if (cartAction == 'wishList') {
        orderFormProd.wlName.value = 'default';
        orderFormProd.submit();
    }
	else if($('isDashboard')){
			orderFormProd.submit();
		}
	else {
         var ajax = new Ajax.Request('/cartHandler/index.jsp', {
				  method: 'post',
				  parameters: {
						async: true,
						prod_0: orderFormProd.prod_0.value,
						qty_0: orderFormProd.qty_0.value,
						action: orderFormProd.action.value,
						purchaseType_0: orderFormProd.purchaseType_0.value
				  },
				  onComplete: function(e){
					  if (e.status == '200') {
                    try {
                        var m = e.responseText.match(/\<itemCount\>([0-9]+)\<\/itemCount\>/)
								//console.dir(m);
                        var newQty = m[1] + ' Item'
                        if (m[1] > 1) { newQty += 's' }
                        $('shoppingBag').innerHTML = newQty

								location.href = '/cart/index.jsp'
                    } catch(x) {
								//if exception occurs, submit to the cartHandler so it performs the proper redirect
                        location.href = '/cartHandler/index.jsp?action=' + orderFormProd.action.value + '&wlName=' + orderFormProd.wlName.value + '&prod_0=' + orderFormProd.prod_0.value + '&qty_0=' + orderFormProd.qty_0.value + '&purchaseType_0=' + orderFormProd.purchaseType_0.value + '&prodCounter=1'
                    }
					  }
				  },
				  onException: function(e,m){
						//if exception occurs, submit to the cartHandler so it performs the proper redirect
						location.href = '/cartHandler/index.jsp?qty_0=?action=' + orderFormProd.action.value + '&wlName=' + orderFormProd.wlName.value +	'&prod_0=' + orderFormProd.prod_0.value + '&qty_0=' + orderFormProd.qty_0.value + '&purchaseType_0=' + orderFormProd.purchaseType_0.value + '&prodCounter=1'
				  },
				  onError: function(e,m){
					  location.href = '/cart/index.jsp'
				  }
			})
		}
	 }
}


// brewer/machine accessories add to cart
flav.validateBrewerAccessories = function()
{
    var errorCount = 0;
    var qtyCount = 0;
    var pc = 0;
    var pid, pidValue;
    var validOrder = false;

    /* validate all quantity elements, and their values, in the accessories form */
    var accessoriesForm = $('accessoriesForm');
    var prodQtys = accessoriesForm.select('.quantity');

    /* reset previous error displays */
	 $('prodErrAcc-qty').setStyle({display:'none'});
	 $('itemAddedMsg').setStyle({display:'none'});
	 $('accessoriesAdded2').setStyle({display:'none'});

    for (var i=0; i < prodQtys.length; i++)
    {
        pid = prodQtys[i].id.replace('qty_','');

        if (!isNumeric(prodQtys[i].value))
        {
				$('prodErrAcc-qty').setStyle({display:'block'});
            errorCount++;
        }
        else if (prodQtys[i].value != 0)
        {
            qtyCount++;
            validOrder = true;
        }
    }

    if (!validOrder)
    {
        $('prodErrAcc-qty').innerHTML = 'Please enter a valid quantity.';
        $('prodErrAcc-qty').style.display = 'block';
        $('prodErrAcc-qty').style.visibility = 'visible';
    }

    /* if there are no errors and at least one non-zero quantity was found, process the form for submission */
    if (errorCount == 0 && qtyCount > 0)
    {
        var orderFormProd = $('orderFormProd');
        var ajaxParamName = '';
        var ajaxParmValue = '';
        var ajaxParams = '';
        ajaxParams = ajaxParams + 'action=' + orderFormProd.action.value + '&';
        ajaxParams = ajaxParams + 'wlName=' + orderFormProd.wlName.value + '&';

        /* determine the starting point for our product counter */
        var orderFormInputs = orderFormProd.select('input');
        for (i=0; i < orderFormInputs.length; i++)
        {
            if (orderFormInputs[i].type == 'hidden' && orderFormInputs[i].name.startsWith('prod_'))
            {
                pc++;
            }
        }

        /* loop through all of the products on the page */
        for (i=0; i < prodQtys.length; i++)
        {
            /* does the current product have any user specified quantities? */
            if (prodQtys[i].value != 0)
            {
                pid = prodQtys[i].id.replace('qty_','');
                pidValue = $('size_'+pid).value;

                /* if so, add the product */
                ajaxParamName = 'prod_' + pc;
                ajaxParmValue = pidValue;
                ajaxParams = ajaxParams + ajaxParamName + '=' + ajaxParmValue + '&';

                /* then add the quantity */
                ajaxParamName = 'qty_' + pc;
                ajaxParmValue = prodQtys[i].value;
                ajaxParams = ajaxParams + ajaxParamName + '=' + ajaxParmValue + '&';

                /* then add the purchase type */
                ajaxParamName = 'purchaseType_' + pc;
                ajaxParmValue = 'individual';
                ajaxParams = ajaxParams + ajaxParamName + '=' + ajaxParmValue + '&';

                pc++;
            }
        }

        /* add the prodCounter */
        ajaxParamName = 'prodCounter';
        ajaxParmValue = pc;
        ajaxParams = ajaxParams + ajaxParamName + '=' + ajaxParmValue;

        /* make the ajax request */
        var ajax = new Ajax.Request('/cartHandler/index.jsp',
        {
            method: 'get',
            parameters: ajaxParams + '&async=true',
            onComplete: function(e)
            {
                if (e.status == '200')
                {
                    var m = e.responseText.match(/\<itemCount\>([0-9]+)\<\/itemCount\>/);
                    var newQty = m[1] + ' Item';
                    if (m[1] > 1) { newQty += 's'; }
                    $('shoppingBag').innerHTML = newQty;
                    $('itemAddedMsg').setStyle({display:'block'});
                    $('accessoriesAdded2').setStyle({display:'block'});
                }
            },
            onException: function(e,m){
               location.href = '/cartHandler/index.jsp?' + ajaxParams;
            },
            onError: function(e,m){
                location.href = '/cart/index.jsp';
            }
        })
    }
}


document.observe('dom:loaded',function(e)
{
	/* Create instance of Product */
    flav.product = new flav.Product(flav.productJSON)
	 flav.altContentWidth = 0

	 /* Alternate Views */
    if ($('moreViews')){
        var altViewContainer = $("moreViews")
        var altViews = altViewContainer.getElementsByTagName("li")

        for(var i=0; i<altViews.length;i++){
            var view = altViews[i]
	         flav.altContentWidth += $(view).getWidth()
            $(view).select('a')[0].href='javascript:void(0)'
            $(view).select('a')[0].observe('click', function(e){
                flav.product.changeView(this+1)
            }.bind(i))
        }

        if (flav.altContentWidth > 0){
            $('alt-img').select('.slider')[0].setStyle({width: flav.altContentWidth + 'px'})
        }

        altViewContainer.observeProductColorChange = function(product){
            product.currentView = null;
        }

        $('moreViews').observeProductColorChange = function(product){
            var innerHTML = "<li id=\"more0\"><a href=\"javascript:flav.product.changeView(0);\"><img src=\""+product.getCurrentColorSliceValue().thumbnailImageURL+"\" alt=\"alternate product view\" /></a></li>";
            for(var i=0; i<product.getCurrentColorSliceValue().alternateViews.length; i++) {
                innerHTML = innerHTML + "<li id=\"more"+(i+1)+"\"><a href=\"javascript:flav.product.changeView("+(i+1)+");\"><img src=\""+product.getCurrentColorSliceValue().alternateViews[i].thumbnailImageURL+"\" alt=\"alternate product view\" /></a></li>";
            }
            $('moreViews').update(innerHTML);
        }

        flav.product.addColorChangeListener($('moreViews'));
    }

    /* Main Product Image */
	if(!$('isDashboard')){
		if($('mainProductImage')){
			flav.mainProductImage = {};

			/* zoom box */
			flav.mainProductImage.zoomImg = new Df.EmbeddedZoom(
				Df.e('div', $('main-img'), {className:'zoom-img'})
			).set({
				loader: Df.e('div', document.body, {className:'loader'})
			})
			var imageObject={base: flav.product.mainImageURL}
			if(flav.product.enhancedImageURL){
				imageObject.zoom=flav.product.enhancedImageURL
			}

			flav.mainProductImage.zoomImg.load(imageObject);

			flav.mainProductImage.zoomImg.element.observe(':zoomIn', function(){
				flav.mainProductImage.zoomImg.element.addClassName('zoomed')
				$('enhImgLink').setStyle({backgroundImage: 'url(../images/flav_reduce.jpg)'});
				$('enhImgLink').title = 'REDUCE IMAGE'
			})

			flav.mainProductImage.zoomImg.element.observe(':zoomOut', function(){
				flav.mainProductImage.zoomImg.element.removeClassName('zoomed')
				$('enhImgLink').setStyle({backgroundImage: 'url(../images/flav_enlarge.jpg)'});
				$('enhImgLink').title = 'ENLARGE IMAGE'
			})

			flav.mainProductImage.toggleZoom = function(){
				if(new Number(flav.mainProductImage.zoomImg.decimal) > 0){
					flav.mainProductImage.zoomImg.element.fire(':zoomOut')
				}else {
					flav.mainProductImage.zoomImg.element.fire(':zoomIn')
				}
			}

			flav.mainProductImage.observeProductViewChange = function(product){
				var currentView = product.getCurrentView();
				if(currentView!=null && currentView.mainImageURL!=''){
					var imageObject={base: currentView.mainImageURL}
					if(currentView.enhancedImageURL){
						imageObject.zoom=currentView.enhancedImageURL
					}
				}
				else{

					var imageObject={base: flav.product.mainImageURL}
					if(flav.product.enhancedImageURL){
						imageObject.zoom=flav.product.enhancedImageURL
					}

				}
				this.zoomImg.load(imageObject)
			}
			flav.product.addViewChangeListener(flav.mainProductImage);
		}
	}

	if($('enhImgLink')){
		$('enhImgLink').href="javascript:flav.mainProductImage.toggleZoom()"
		$('enhImgLink').observeProductViewChange = function(product) {
			if(product.getCurrentView().enhancedImageURL=='') {
				this.style.display="none"
			} else {
				this.style.display="block"
			}
		}
		flav.product.addViewChangeListener($('enhImgLink'));
	}

    if ($('availMsg') && $('size'))
    {
        var sku = $('size').value;

        if(sku!=null && sku != '' && $('availMsg')){
            var skuFlag = flav.product.getSkuById(sku).avail;
            var shipMin =  flav.product.getSkuById(sku).ship_Min;
            var shipMax =  flav.product.getSkuById(sku).ship_Max;
            var shipUnits =  flav.product.getSkuById(sku).ship_Units;
            var estDate =  flav.product.getSkuById(sku).estimatedShipmentDate;
			var nextExpectedDate =  flav.product.getSkuById(sku).nextExpectedDate;
            var month;
            var day;
            var year;
            if(estDate!=''){
                estDate = new Date(estDate);
                month = estDate.getMonth() + 1;
                day = estDate.getDate();
                year = estDate.getFullYear();
            }
            if((skuFlag == 'ADVANCE_SALE' || skuFlag == 'ADVANCED_SALE_LIMITED') && nextExpectedDate == null)
			{
                $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Advance Sale, Leaves warehouse in 2-4 weeks. - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
            }
			else if((skuFlag == 'ADVANCE_SALE' || skuFlag == 'ADVANCED_SALE_LIMITED') && nextExpectedDate != null)
			{
				$('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Advance Sale, Buy now for shipping by " + month +"/"+ day +"/"+ year  + " - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
			}
            else if(skuFlag == 'RELEASE_DATE')
            {
                $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: Release Date, Buy now for shipping by " + month +"/"+ day +"/"+ year  + " - (<a class=\"details\"    href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
            }
            else
            {
                $('availMsg').innerHTML = "<p class=\"avail\">AVAILABILITY: In stock, Usually ships in " + shipMin +" - "+ shipMax +" " + shipUnits + ". - (<a class=\"details\" href=\"javascript:flav.showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes')\">Details</a>)</p>";
            }
        }
        else
        {
            $('availMsg').innerHTML = "";
        }
    }
	if($('drinksProdForm'))
    {
		// HTML size drop down
		if(flav.product.skus.length >1)
		{
			if ($('size'))
			{

					$('size').observe('change', function(e){
						flav.product.changeSku(this.value);
					});

					$('size').observeProductSkuChange = function(product) {
						this.value = product.skuId;
					};


			}
			flav.product.addSkuChangeListener($('size'));
		}
		else if(flav.product.skus.length ==1)
		{
			document.orderFormProd.prod_0.value = flav.product.productId + '|' + document.orderFormProd.htmlProd_0.value;
		}
	}
    //dynamically changing the value of prod_0 field
    if($('drinksProdForm'))
    {
        document.orderFormProd.prod_0.observeProductSkuChange = function(product) {
            this.value = product.productId + '|' + product.skuId;
        }
        document.orderFormProd.prod_0.observeProductSkuChange = function(product) {
            this.value = product.productId + '|' + product.skuId;
        }
        flav.product.addSkuChangeListener(document.orderFormProd.prod_0);
    }

    //on Load radio button.
    var totalPurchaseTypes = document.getElementsByName('purchaseType');
    var selectDropDown= 'autoShipFrequencySelect';
    for (var x=0; x< totalPurchaseTypes.length; x++) {
        var purchaseType = totalPurchaseTypes[x];
        if (purchaseType.checked && purchaseType.value == 'autoship') {
            $(selectDropDown).disabled = false;
        }
        else if (purchaseType.checked && purchaseType.value == 'individual') {
            $(selectDropDown).disabled = true;
        }
    }
});

Event.observe(window,'load',function(e)
{
// Fix the width of the slider element
 if(document.getElementById("rv-products")!=null)
 {
 var rvProds = document.getElementById("rv-products");
 var rvProdListItems = rvProds.getElementsByTagName("li");
 var width = 0;
 for(var i = 0; i<rvProdListItems.length; i++) {
     width = width+rvProdListItems[i].offsetWidth;
 }
 var productSlider = document.getElementById("rv-product-slider");
 productSlider.style.width = ""+width+"px";




 var ins3 = new Df.Slider('rv-products')

 ins3.pars.animate = {
 time: 100,
 pause: 20
 }

 ins3.pars.iterateBy = 'li'
 ins3.set();
 }
 });

// initialize tabset and dynamically change the height of the tabset wrapper on the Product page
document.observe('dom:loaded', function(e) {
    if($('tabset1')){
        $$('dl#tabset1 dd').each(function(v){
            v.setStyle({opacity: 0})
        })

        var para = {
            animate: {
                time: 1,
                opacity: 1
            },
            onShow: function(e) {
                var elem = e.getElement()
                var minHeight = $('leftPanel').scrollHeight;
                var offset = 68;
                var newHeight = elem.scrollHeight + offset;
                if (newHeight < minHeight) { newHeight = minHeight; }

					e.getElement().removeClassName('df_element_hidden')
               elem.up().up().up().setStyle({height: newHeight + 'px'})
					e.getElement().addClassName('df_element_visible')
            },
				onHide: function(e) {
					//alert('hide')
					e.getElement().removeClassName('df_element_visible')
					e.getElement().setStyle({height: '0px'})
					e.getElement().addClassName('df_element_hidden')
				}
        }
        $('tabset1').tabset(para).df.tabset.showItem(0);

		$('tabset1').select('dd').each(function(v){
			v.observe('click', function(e){
				var elem = e.element()
				var elemTag = e.element().tagName.toUpperCase()
				if(elemTag != 'DD'){ elem = e.element().up('dd') }

				elem.setStyle({height:'auto'})
				flav.resizePanels(elem)
			});
		});

		// resize the left or right side of the tabset/related-items section
		$('tabset1').select('dd').each(function(v){
			v.observe(':shown', function(e){
				flav.resizePanels(e.element())
			});
		});
    }
});

flav.resizePanels = function(e){
	var ddHeight = e.scrollHeight
	var heightOffset = 88
	var leftPanelHeight = parseInt($('leftPanel').scrollHeight - heightOffset)
	var rightDDHeight = parseInt(e.scrollHeight)

	if (leftPanelHeight >= ddHeight) {
		e.setStyle({height: leftPanelHeight + 'px'})
	}else{
		e.setStyle({height: ddHeight + 'px'})
		$('related-items').setStyle({height: (rightDDHeight + heightOffset) + 'px'})
	}
}


// initialize alt img slider on the Product page
Event.observe(window, 'load', function(e)
{

		if($('alt-img')){
			var ins5 = new Df.Slider('alt-img')

			ins5.pars.animate = {
				time: 100,
				pause: 20
			}

			ins5.pars.iterateBy = 59

			ins5.set()
		}
});


function isNumeric(v)
{
    var isNumeric = false;
    if (notEmpty(v))
    {
        var vChars = '0123456789';
        isNumeric = true;
        var Char;
        for (var i = 0; i < v.length && isNumeric; i++)
        {
            Char = v.charAt(i);
            if (vChars.indexOf(Char) == -1)
            {
                isNumeric = false;
                break;
            }
        }
    }
    return isNumeric;
}

function notEmpty(v)
{
    var notEmpty = notNull(v);
    if (notEmpty)
    {
        try
        {
            if (v.length == 0) notEmpty = false;
        }
        catch(e1)
        {
            try
            {
                if (v.size == 0) notEmpty = false;
            }
            catch(e2)
            {
            }
        }
    }
    return notEmpty;
}

function notNull(v) {
	if (v != undefined && v != null) {
    return true;
	} else {
		return false;
	}
}
