﻿$(document).ready(function() {
    $(".compareProducts").click(function() {
        var selectedCheckBoxes = $(".compareProductsCheckbox:checked");
        if (selectedCheckBoxes.length < 2)
        {
			alert(document.getElementById("MsgSelectTwoProduct").value);
			return;
        }
        
        var parts = "";
        for (i = 0; i < selectedCheckBoxes.length; i++)
        {
            var checkboxId = selectedCheckBoxes[i].id;
            if (i == 0)
            {
                parts+= String(checkboxId.toString().split("_")[1]).replace('#', escape('#'));
            }
            else
            {
                parts+= "|" + String(checkboxId.toString().split("_")[1]).replace('#', escape('#'));
            }
        }
        
		location.href = "ProductComparison.aspx?compareproducts=" + parts;
    });
});

function customizeProduct( catalogId, partNumber ) {
	if ( (String(catalogId).length != 0) && (String(partNumber).length != 0) ) {
		location.href = "ProductConfiguration.aspx?hpcat=" + catalogId + "&PartNumber=" + partNumber;
	}
}

function addToWishList( partNumber ) {
	if ( String( partNumber ).length != 0 ){
		var loc = window.location;
		var protocol = loc.protocol;
		var hostname = loc.hostname;
		var pathname = loc.pathname;
		var query = loc.search;
			protocol = String(protocol).replace("http:", "https:");
		var newPath = pathname.substring(pathname.indexOf("/"), (pathname.lastIndexOf("/")+1));
			newPath += "Secured/WishList.aspx?ppart=" + escape(partNumber);	//alert("newPath: " + newPath);
		var newURL = String(protocol + "//" + hostname + newPath);
		window.location.href = newURL;
	} else {
		alert('Product sku: ' + partNumber + ' unavailable.  Please try again later.');
	}
}

var AjaxCartDiv = null;
function addToCart( qty, hierarchyDesc, isExternal, catalogId, partNumber, productType, country, language, shopperID  ) {
	var ServerLaodDiv = document.getElementById("ServerLaodDiv");
		ServerLaodDiv.style.display = "none";
		AjaxCartDiv = document.getElementById("AjaxCartDiv");
		AjaxCartDiv.style.display = "inline";
    var showprogress = document.getElementById("showprogress"); 
		showprogress.style.display = "inline";
		if(shopperID == null) 
		{
		    var uniqueShopperIdElement = document.getElementById("uniqueId");
		    shopperID=uniqueShopperIdElement.value;
		}
		var PriceInExtentendedFormat;
		var txtPriceInExtentendedFormat= document.getElementById("PriceInExtentendedFormat");
        if(txtPriceInExtentendedFormat!=null)
        {
            PriceInExtentendedFormat=txtPriceInExtentendedFormat.value;
        }
		HP.Ecommerce.Iscs.Base.Presentation.Web.App_Code.Ajax.Services.AJAXServices.AddItemToCart(
								qty, hierarchyDesc, isExternal, catalogId, partNumber, shopperID, productType, '', country, 
                                language, '', '', '', PriceInExtentendedFormat, OnCompleteAddToCart, OnAddToCartTimeout, OnError);
}

function OnCompleteAddToCart( result ) {
    var newResult = result.split("*");
    var showprogress = document.getElementById("showprogress");
		AjaxCartDiv = document.getElementById('AjaxCartDiv');
		
	if ( AjaxCartDiv != null )
		AjaxCartDiv.style.display = "inline";

    if(newResult[0] != 'error')
    {
        var AjaxDetailedMiniCart = document.getElementById("AjaxDetailedMiniCart");
        var imageSec = document.getElementById("imageSec");
        var AjaxPartDesc = document.getElementById("AjaxPartDesc");
        var AjaxPartPrice = document.getElementById("AjaxPartPrice");
        var LeftNavCheckoutDiv = document.getElementById("LeftNavCheckoutDiv");
        var ProductImage = document.getElementById("ProductImage");   
            
        showprogress.style.display = "none";
        AjaxDetailedMiniCart.style.display = "inline";  
        imageSec.style.display = 'inline';  
        ProductImage.src = newResult[2];
        AjaxPartDesc.innerHTML = newResult[1];
        AjaxPartPrice.innerHTML = newResult[0];
        LeftNavCheckoutDiv.style.display = "inline";       
        GetCartItems();
    }
    else
    {
        showprogress.style.display = "none";
        GetCartItems();
        alert(document.getElementById("ProdNotAvailErrMsg").value);
    }
    return false;
}
    
function OnTimeout( result ) {
    try
    {
        alert(document.getElementById("MsgTimeOut").value);//"TimeOut");
    }   
    catch (e) {}
    finally
    {
        OnAfterAJAXCall(); 
    }
}

function OnError( result ) {
    try
    {
        var errMsg = result.get_message();
    
        if (AjaxCartDiv)
            AjaxCartDiv.innerHTML = document.getElementById("msgNotAvailable").value;
        else
            alert(errMsg);
    }
    catch (e) {}
    finally
    {
        OnAfterAJAXCall(); 
    }   
}

function GetCartItems() {
    var showprogress = document.getElementById("showprogress");
    var currencyElement = document.getElementById("currency");
    var uniqueIdElement = document.getElementById("uniqueId");
    
		showprogress.align = "center";   
		showprogress.style.display = "inline";
		HP.Ecommerce.Iscs.Base.Presentation.Web.App_Code.Ajax.Services.AJAXServices.GetCartDetails(currencyElement.value, uniqueIdElement.value, OnCompleteGetCartItems, OnTimeout, OnError);         
        
}

function OnCompleteGetCartItems(result) {
    var newResult = result.split("*");
    var AjaxCartTotalHeader=document.getElementById("AjaxCartTotalHeader");
    var AjaxCartItemsHeader=document.getElementById("AjaxCartItemsHeader");
    var AjaxCartTotal = document.getElementById("AjaxCartTotal");
    var MiniCartCol = document.getElementById("MiniCartCol");
    var AjaxCartItems = document.getElementById("AjaxCartItems");
    var AjaxPartsDesc = document.getElementById("AjaxPartsDesc");
    var LeftNavCheckoutDiv = document.getElementById("LeftNavCheckoutDiv");
    var InvalidItems = document.getElementById("InvalidItems"); 
    var showprogress = document.getElementById("showprogress");   
		showprogress.style.display = "none";

    if(newResult[0] == "0")
    {
        AjaxCartTotal.innerHTML = document.getElementById("msgYourCartEmpty").value;
        MiniCartCol.align = "center";  
    }
    else
    {
        MiniCartCol.align = "center";
        AjaxPartsDesc.innerHTML = newResult[0];
        AjaxCartTotalHeader.innerHTML = "Total Price";
        AjaxCartTotal.innerHTML = newResult[1];
        AjaxCartItemsHeader.innerHTML = "Total Items ";
        AjaxCartItems.innerHTML = newResult[2];
        LeftNavCheckoutDiv.style.display = "inline";
        if (newResult[3] != "")
        {
            InvalidItems.innerHTML = newResult[3];
        }
    }
}

//clean up and reinitialize variables in preparation for the next AJAX call.
function OnAfterAJAXCall() {
   AjaxCartDiv = null;
   isExecuting = false;
}

function categorySelect(categoryID, categoryLevel) {
    window.location.href = "SubCategories.aspx?pid=" + categoryID;
}

function productSelect(productID) {
    window.location.href = "Product.aspx?pdetail=" + productID;
}