﻿var oWSProxy;

// Initializes global and proxy default variables.
function pageLoad()
{
    // Instantiate the service proxy.
    oWSProxy = new ConsumerWS();

    // Set the default call back functions.
    oWSProxy.set_defaultSucceededCallback(SucceededCallback);
    oWSProxy.set_defaultFailedCallback(FailedCallback);
}

function GetHardwoodDetailJson(bIsPopup, sId, sStyleId, sColorId)
{
    oWSProxy.HardwoodLoadDetailJson(sStyleId, sColorId, SucceededHardwoodCallback, FailedCallback);
    var oModal = $find(sId);
    oModal.show();
}

function SucceededHardwoodCallback(sResult, sUserContext, sMethodName)
{
    document.getElementById("divHardwoodEmail").style.visibility = 'hidden';
    document.getElementById("divPopupHardwoodSwatchSaved").style.visibility = 'hidden';
    document.getElementById("ctl00_ContentPlaceHolder1_hidStyle").value = sResult.SellingStyle;
    document.getElementById("ctl00_ContentPlaceHolder1_hidColor").value = sResult.SellingColor;
    document.getElementById("ctl00_ContentPlaceHolder1_hidPrintPage").value = sResult.PrintPage;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgSwatchPrint").src = sResult.SwatchPrintImage;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblStyleName").innerHTML = sResult.SellingStyleName;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblColorName").innerHTML = sResult.SellingStyleColorName;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblSize").innerHTML = sResult.Width + ' x ' + sResult.Thickness;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblInstallation").innerHTML = sResult.Installation + ' on ' + sResult.SubFloor;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblSpecies").innerHTML = sResult.WoodCategory;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblConstruction").innerHTML = sResult.Construction;
    document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_lblWarranty").innerHTML = sResult.FinishWarranty + ' years';
    document.getElementById("imgHardnessSlider").src = sResult.HardnessImage;
    document.getElementById("imgVariationSlider").src = sResult.VariationImage;

    if (!sResult.CollectionPrintImage == '')
    {
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgCollection").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgCollection").src = sResult.CollectionPrintImage;
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgCollection").style.visibility = 'hidden';

    if (!sResult.RoomScene == '')
    {
        document.getElementById("ctl00_ContentPlaceHolder1_hidRoomScene").value = sResult.RoomScene;
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlRoom").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlRoom").style.height = '40';
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlRoom").style.visibility = 'hidden';

    if (sResult.Greenworks.length > 1)
    {
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlGreenworks").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlGreenworks").style.height = '90px';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlGreenworksUniclic").style.visibility = 'visible';
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlGreenworks").style.visibility = 'hidden';

    if (sResult.Uniclic.length > 0)
    {
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlUniclic").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlUniclic").style.height = '40px';
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlGreenworksUniclic").style.visibility = 'visible';
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_pnlUniclic").style.visibility = 'hidden';

    if (sResult.ScotchgardImage == 1)
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgScotchgard").style.visibility = 'visible';
    else
        document.getElementById("ctl00_ContentPlaceHolder1_HardwoodPopup1_imgScotchgard").style.visibility = 'hidden';
}

function GetCarpetDetailJson(bIsPopup, sId, sStyleId, sColorId)
{
    oWSProxy.CarpetLoadDetailJson(sStyleId, sColorId, SucceededCarpetCallback, FailedCallback);
    var oModal = $find(sId);
    oModal.show();
}

function SucceededCarpetCallback(sResult, sUserContext, sMethodName)
{
    document.getElementById("divOuterAlertMsgCw").style.height = '0';
    document.getElementById("divOuterAlertMsgWw").style.height = '0';
    document.getElementById("divDetailContentArea").setAttribute("className", "detail_contentArea");
    document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblStyle").setAttribute("className", "DetailStyleLabel");
    document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblColor").setAttribute("className", "DetailStyleLabel");
    document.getElementById("divCarpetEmail").style.visibility = 'hidden';
    document.getElementById("divPopupSwatchSaved").style.visibility = 'hidden';
    document.getElementById("ctl00_ContentPlaceHolder1_hidStyle").value = sResult.SellingStyle;
    document.getElementById("ctl00_ContentPlaceHolder1_hidColor").value = sResult.SellingColor;
    document.getElementById("ctl00_ContentPlaceHolder1_hidPrintPage").value = sResult.PrintPage;
    document.getElementById("imgSwatchPrint").src = sResult.SwatchPrintImage;
    document.getElementById("spanStyleName").innerHTML = sResult.SellingStyleName;
    document.getElementById("spanColorName").innerHTML = sResult.SellingColorName;
    document.getElementById("spanWidths").innerHTML = sResult.Width;
    document.getElementById("spanConstruction").innerHTML = sResult.ConstructionName;
    document.getElementById("spanFiber").innerHTML = sResult.FiberType;
    document.getElementById("imgWeightSlider").src = sResult.WeightImage;
    document.getElementById("imgDensitySlider").src = sResult.DensityImage;
    document.getElementById("imgTwistSlider").src = sResult.TwistImage;
    document.getElementById("imgPileSlider").src = sResult.PileImage;
    document.getElementById("imgEasychoice").src = sResult.EasyChoiceImage;

    // Hide the floorscapes header image because it's not a true collection
    if (sResult.CollectionPrintImage == '/product_images/collection_logos/header/' || sResult.CollectionPrintImage == '/product_images/collection_logos/header/soft-floorscapes.png' || sResult.CollectionPrintImage == '/product_images/collection_logos/header/soft-colorcenter.png')
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_imgCollection").style.visibility = 'hidden';
    else
    {
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_imgCollection").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_imgCollection").src = sResult.CollectionPrintImage;
    }

    // Swap styles for WundaWeve Gallery and CustomWeve collections
    if (trim(sResult.Collection.toLowerCase()) == 'wundaweve gallery')
    {
        document.getElementById("divDetailContentArea").style.background = 'url(../App_Themes/Mohawk/contentBkgd_ww.png) repeat-x';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblStyle").style.color = '#543729';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblColor").style.color = '#543729';

        if (document.getElementById("ctl00_ContentPlaceHolder1_hidDealerCarriesSpecialProduct").value == '')
        {
            document.getElementById("divOuterAlertMsgWw").style.height = '80px;';
            document.getElementById("divOuterAlertMsgWw").style.visibility = 'visible';
        }
    }

    if (trim(sResult.Collection.toLowerCase()) == 'customweave')
    {
        document.getElementById("divDetailContentArea").style.background = 'url(../App_Themes/Mohawk/contentBkgd_ww.png) repeat-x';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblStyle").style.color = '#543729';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_lblColor").style.color = '#543729';

        if (document.getElementById("ctl00_ContentPlaceHolder1_hidDealerCarriesSpecialProduct").value == '')
        {
            document.getElementById("divOuterAlertMsgCw").style.height = '80px';
            document.getElementById("divOuterAlertMsgCw").style.visibility = 'visible';
        }
    }

    if (!sResult.RoomSceneGraphic == '')
    {
        document.getElementById("ctl00_ContentPlaceHolder1_hidRoomScene").value = sResult.RoomSceneGraphic;
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_pnlRoom").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_pnlRoom").style.height = '40px';
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_pnlRoom").style.visibility = 'hidden';

    if (sResult.ScotchGard)
    {
        document.getElementById("pnlScotchGard").style.visibility = 'visible';
        document.getElementById("pnlScotchGard").style.height = '80px';
    }
    else
    {
        document.getElementById("pnlScotchGard").style.visibility = 'hidden';
        document.getElementById("pnlScotchGard").style.height = '0px';
    }

    if (sResult.WearDated)
    {
        document.getElementById("pnlWearDated").style.visibility = 'visible';
        document.getElementById("pnlWearDated").style.height = '50px';
        //document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_pnlWearDated").style.visibility = 'visible';
    }
    else
    {
        document.getElementById("pnlWearDated").style.visibility = 'hidden';
        document.getElementById("pnlWearDated").style.height = '0px';
    }

    if (sResult.StainMaster)
    {
        document.getElementById("pnlStainmaster").style.visibility = 'visible';
        document.getElementById("pnlStainmaster").style.height = '50px';
        //document.getElementById("ctl00_ContentPlaceHolder1_CarpetPopup1_pnlStainmaster").style.visibility = 'visible';
    }
    else
    {
        document.getElementById("pnlStainmaster").style.visibility = 'hidden';
        document.getElementById("pnlStainmaster").style.height = '0px';
    }
}

function GetLaminateDetailJson(bIsPopup, sId, sStyleId, sColorId, sBrand)
{
    oWSProxy.LaminateLoadDetailJson(sStyleId, sColorId, sBrand, SucceededLaminateCallback, FailedCallback);
    var oModal = $find(sId);
    oModal.show();
}

function SucceededLaminateCallback(sResult, sUserContext, sMethodName)
{
    document.getElementById("divLaminateEmail").style.visibility = 'hidden';
    document.getElementById("divPopupSwatchSaved").style.visibility = 'hidden';
    document.getElementById("ctl00_ContentPlaceHolder1_hidStyle").value = sResult.SellingStyle;
    document.getElementById("ctl00_ContentPlaceHolder1_hidColor").value = sResult.SellingColor;
    document.getElementById("ctl00_ContentPlaceHolder1_hidPrintPage").value = sResult.PrintPage;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_imgSwatchPrint").src = sResult.SwatchPrintImage;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_imgCollection").src = sResult.CollectionPrintImage;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblStyleName").innerHTML = sResult.SellingStyleName;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblColorName").innerHTML = sResult.StoneOrWood;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblSpecies").innerHTML = sResult.AppearanceSpecies;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblEmbossing").innerHTML = sResult.Embossing;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblLength").innerHTML = sResult.Length.toString() + ' in.';
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblWidth").innerHTML = sResult.Width.toString() + ' in.';
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblThickness").innerHTML = sResult.Thickness;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblFeetPerCarton").innerHTML = sResult.SquareFeetPerCarton;
    document.getElementById("ctl00_ContentPlaceHolder1_LaminatePopup1_lblWarranty").innerHTML = sResult.ResidentialWarranty.toString() + ' years';
}

function GetCeramicDetailJson(bIsPopup, sId, sStyleName, sColorId)
{
    oWSProxy.CeramicLoadDetailJson(sStyleName, sColorId, SucceededCeramicCallback, FailedCallback);

    if (bIsPopup == 0)
    {
        document.getElementById("ctl00_ContentPlaceHolder1_CeramicPopup1_pnlDetailFavorite").style.visibility = 'hidden';
        document.getElementById("ctl00_ContentPlaceHolder1_CeramicPopup1_pnlDetailFavorite").style.height = '0px';
    }

    var oModal = $find(sId);
    oModal.show();
}

function SucceededCeramicCallback(sResult, sUserContext, sMethodName)
{
    document.getElementById("divCeramicEmail").style.visibility = 'hidden';
    document.getElementById("divPopupSwatchSaved").style.visibility = 'hidden';
    document.getElementById("ctl00_ContentPlaceHolder1_hidStyle").value = sResult.StyleName;
    document.getElementById("ctl00_ContentPlaceHolder1_hidColor").value = sResult.ColorName;
    document.getElementById("ctl00_ContentPlaceHolder1_hidPrintPage").value = sResult.PrintPage;
    document.getElementById("imgSwatchPrint").src = sResult.PhotoFileName;
    document.getElementById("spanCeramicStyleName").innerHTML = sResult.StyleName;
    document.getElementById("spanCeramicColorName").innerHTML = sResult.ColorName;
    document.getElementById("spanCeramicDescription").innerHTML = sResult.Description;
    document.getElementById("spanSizes").innerHTML = sResult.Sizes;

    if (!sResult.RoomSceneGraphic == '')
    {
        document.getElementById("ctl00_ContentPlaceHolder1_hidRoomScene").value = sResult.RoomSceneGraphic;
        document.getElementById("ctl00_ContentPlaceHolder1_CeramicPopup1_pnlRoom").style.visibility = 'visible';
        document.getElementById("ctl00_ContentPlaceHolder1_CeramicPopup1_pnlRoom").style.height = '40px';
    }
    else
        document.getElementById("ctl00_ContentPlaceHolder1_CeramicPopup1_pnlRoom").style.visibility = 'hidden';

    document.getElementById("divCeramicEmail").style.visibility = 'hidden';

    // Floors
    document.getElementById("spanIndoor").setAttribute("className", sResult.Indoor)
    document.getElementById("spanOutdoor").setAttribute("className", sResult.Outdoor)
    document.getElementById("spanCoveredOutdoor").setAttribute("className", sResult.CoveredOutdoor)
    document.getElementById("spanIndoor").setAttribute("class", sResult.Indoor)
    document.getElementById("spanOutdoor").setAttribute("class", sResult.Outdoor)
    document.getElementById("spanCoveredOutdoor").setAttribute("class", sResult.CoveredOutdoor)

    // Walls    
    document.getElementById("spanWall").setAttribute("className", sResult.Wall)
    document.getElementById("spanBacksplash").setAttribute("className", sResult.Backsplash)
    document.getElementById("spanWall").setAttribute("class", sResult.Wall)
    document.getElementById("spanBacksplash").setAttribute("class", sResult.Backsplash)

    // Other
    document.getElementById("spanCountertops").setAttribute("className", sResult.Countertops)
    document.getElementById("spanCommercial").setAttribute("className", sResult.Commercial)
    document.getElementById("spanSlipResistant").setAttribute("className", sResult.SlipResistant)
    document.getElementById("spanCountertops").setAttribute("class", sResult.Countertops)
    document.getElementById("spanCommercial").setAttribute("class", sResult.Commercial)
    document.getElementById("spanSlipResistant").setAttribute("class", sResult.SlipResistant)

    // Images
    document.getElementById("divLower").innerHTML = sResult.prodImgs
    document.getElementById("divAccessories").innerHTML = sResult.prodExtra
}


function SaveSwatch(sProductType, sStyle, sColor, sConsumerId)
{
    var ret = ConsumerWS.SaveSwatch(sProductType, sStyle, sColor, sConsumerId);
}

// This function calls the Web service method 
// that returns an XmlDocument type.  
function GetXmlDocument()
{
    oWSProxy.GetXmlDocument(SucceededCallbackWithContext, FailedCallback, "XmlDocument")
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the sResult object, the user context, and the 
// calling method name as parameters.
function SucceededCallbackWithContext(sResult, sUserContext, sMethodName)
{
    var output;

    // Page element to display feedback.
    var oRsltElem = document.getElementById("ResultId");
    var sReadResult;

    if (sUserContext == "XmlDocument")
    {
        if (document.all)
            sReadResult = sResult.documentElement.firstChild.text;
        else
        {
            // Firefox
            sReadResult = sResult.documentElement.firstChild.textContent;
        }
        
        oRsltElem.innerHTML = "XmlDocument content: " + sReadResult;
    }
}

// Callback function that
// processes the service return value.
function SucceededCallback(sResult)
{
    var oRsltElem = document.getElementById("ResultId");
    oRsltElem.innerHTML = sResult;
}

// Callback function invoked when a call to 
// the  service methods fails.
function FailedCallback(sError, sUserContext, sMethodName)
{
    if (sError !== null)
    {
        var oRsltElem = document.getElementById("ResultId");

        oRsltElem.innerHTML = "An error occurred: " + sError.get_message();
    }
}

function trim(stringToTrim)
{
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();