// Packaging option trickery
// billc -C2

var slideInterval = 250;

getCSSSelectorString = function(inputString) {
    inputString = inputString.replace(/\W/g,"");

    return inputString;
}

hidePackagingBlock = function(optionPassed, myParentForm) {
    var selectorString = "div." + getCSSSelectorString($(optionPassed).attr("value")) + "PackagingContent";
    var myPackagingBlock = myParentForm.children(selectorString);
    if (myPackagingBlock.length > 0) {
        // ok - there's a block, we need to hide is and disable all it's input elements
        $(selectorString + " :input").attr("disabled", true);
        
        myPackagingBlock.slideUp(slideInterval);
    }
}

showPackagingBlock = function(optionPassed, myParentForm) {
    var selectorString = "div." + getCSSSelectorString($(optionPassed).attr("value")) + "PackagingContent";
    var myPackagingBlock = myParentForm.children(selectorString);
    if (myPackagingBlock.length > 0) {
        // ok - there's a block, we need to hide is and disable all it's input elements
        $(selectorString + " :input").removeAttr("disabled");

        myPackagingBlock.slideDown(slideInterval);
    }
}

setPackagingStatus = function(dropdown) {
    // find the form that contains me...
    var myParentForm = $(dropdown).parents("form:first");

    // first, hide all the packaging blocks
    // associated with this packaging dropdown
    $.each($(dropdown).find("option"), function() {
        hidePackagingBlock(this, myParentForm);       
    });

    // then, show block based on selected option
    showPackagingBlock($(dropdown).find("option:selected"), myParentForm);
}

$(".GiftPackagingDropdown").change(function() {
    setPackagingStatus(this);
});

$(document).ready(function() {
    $.each($(".GiftPackagingDropdown"), function() {
        setPackagingStatus(this);
    });
 });


