﻿//This function is called when the "checkout" button of the Google Shopping Cart is clicked        
function googlecartOnCheckoutClick()
{
    if($('#googleCartTermsDialog').length > 0 && $('#googleCartTermsDialog').text().length > 0)
    {
        if (!AreTermsAccepted())
        {
            $('#googleCartTermsDialog').dialog('open');
        }
        else
        {
            return true;
        }
     }
     else
        return true;
}

$(function(){
    // Terms Acceptance Dialog
    if($('#googleCartTermsDialog').length > 0){
        $('#googleCartTermsDialog').dialog({
            modal: true,
            resizable: false,
            autoOpen: false,
		    width: 466,
		    height: 200,
		    buttons: {
		        "Accept": function(){		                    
		                    SetTermsAcceptance();
		                    $(this).dialog("close");
		                  },
		        "Cancel": function() { 
				            $(this).dialog("close"); 
			              } 
		    }
	    });								
    }
});

function AreTermsAccepted()
{
    var cartItems = googlecart.getItems();
    if(cartItems && cartItems.length > 0)
    {
        for(i=0; i < cartItems.length; i++)
        {
            if(!ItemTermsExist(cartItems[i]))
                return false;
        }
    }
    
    return true;
}

function ItemTermsExist(cartItem)
{
    var itemTermsValue = cartItem.getCustomAttribute('Terms');
    if(!(typeof(itemTermsValue) != "undefined" && itemTermsValue.length > 0))
        return false;
    else
        return true;
}

function SetTermsAcceptance()
{
	var cartItems = googlecart.getItems();
	if(cartItems && cartItems.length > 0)
	{
	    var termsAgreedString = 'Agreed to Terms and Conditions';
	    if($('#googleCartTermsAgreed').length > 0 && $('#googleCartTermsAgreed').text().length > 0)
	        termsAgreedString = $('#googleCartTermsAgreed').text();
	         
		for(i=0; i < cartItems.length; i++)
		{
		    if(!ItemTermsExist(cartItems[i]))
		    {
			    cartItems[i].setCustomAttribute('Terms', termsAgreedString);
			}
		}
	}
	googlecart.checkout();
}


