﻿basket_summary = 'basket_summary';
request_count = 0;

function GetSelectedRadioButtonList(radioButtonListName, doc) {
    var radioButtons = doc.getElementsByName(radioButtonListName);

    for (var x = 0; x < radioButtons.length; x++) {
        if (radioButtons[x].checked) {
            return radioButtons[x].value;
        }
    }

    return "";
}


function submit_basket_form(productId, quantity, button_spinner_id) {


	basket_ajax_start(productId, quantity, button_spinner_id);

	

}

function show_basket_box() {
    if (!$('basket_summary_box').visible()) {

        cancel_idle_effects("basket_summary_box");
        if (!$("basket_summary_box").visible()) {
            Effect.BlindDown(
				"basket_summary_box",
				{
				    duration: 0.3,
				    queue:
					{
					    position: 'end',
					    scope: "basket_summary_box",
					    limit: 2
					},

				    scaleMode: 'contents'

				}
			);
        }

    }
}

function hide_basket_box() {
    $('basket_summary_box').hide()
}

function basket_ajax_start(productId, quantity, button_spinner_id) {
    $('basket_summary_box').show();
    if ($('basket_summary_box').visible()) {
        if (button_spinner_id) {
            $('miniCartIcon').src = $(button_spinner_id).src;
        }
    }

    J.cookie('MiniCart', 'ABCDEF');


    //show_basket_spinner();
    request_count++;

	J.ajax({
		type          : 'POST', //GET or POST or PUT or DELETE verb
		url           : '/CartService.asmx/AddSingleItemToCart', // Location of the service
		data          : '{productId:"' + productId + '",quantity:' + quantity + '}', //Data sent to server
		contentType   : 'application/json; charset=utf-8', // content type sent to server
		dataType      : 'json', //Expected data format from server
		processdata   : true, //True or False
		success       : function(msg) {//On Successfull service call
			show_basket_summary(msg.d, button_spinner_id, 'add');	

			//J("basket_summary").text(msg.d.Name);
		},
		error: function(msg)
		{
			alert(msg.responseText);
		}
	});


}

function basket_removeitem(productId, button_spinner_id) {

    if (button_spinner_id) {
        $('miniCartIcon').src = $(button_spinner_id).src;
    }

    //show_basket_spinner();
    request_count++;

	J.ajax({
		type          : 'POST', //GET or POST or PUT or DELETE verb
		url           : '/CartService.asmx/RemoveFromCart', // Location of the service
		data          : '{productId:"' + productId + '"}', //Data sent to server
		contentType   : 'application/json; charset=utf-8', // content type sent to server
		dataType      : 'json', //Expected data format from server
		processdata   : true, //True or False
		success       : function(msg) {//On Successfull service call

			show_basket_summary(msg.d, button_spinner_id, 'delete');	

			//J("basket_summary").text(msg.d.Name);
		},
		error: function(msg)
		{
			alert(msg.responseText);
		}
	});


}

function show_basket_summary(cartEntity, button_spinner_id, method) {
	//if(cartEntity.Products.length > 0)
	//{
	    // This allows us to call this from different scopes.
	    var lastItemIndex = cartEntity.Products.length - 1;

		hide_basket_summary();
		show_basket_box();

		if (in_viewport('basket_summary_box') === false) {
			Effect.ScrollTo('basket_summary_box', { duration: 0.5 });
		}

		cancel_idle_effects("basket_content");
		$$('.buy_button_spinner').invoke('hide');
		$$('.currency_conversion').invoke('show');

		new Effect.BlindDown(
			"basket_content",
			{
			    duration: 0.3,

			    queue:
				{
				    position: 'end',
				    scope: "basket_content",
				    limit: 2
				},

			    beforeSetup: function(e) {
			        var innerHtml = '';

			        for (var i = 0; i < cartEntity.Products.length; i++) {
			            var variantName = '';

			            if (cartEntity.Products[i].VariantName != null && cartEntity.Products[i].VariantName != '')
			                variantName = '<br />' + cartEntity.Products[i].VariantName;

			            if (!cartEntity.Products[i].Discounted) {

			                innerHtml += '<div id="miniCartItem' + i + '" class="minicartprodtitle"><a href="' + cartEntity.Products[i].Url + '">' + cartEntity.Products[i].ProductName + '</a><div id="miniCartItemRemove' + i + '" class="minicartproddel"><a href="#" onclick="javascript:basket_removeitem(\'' + cartEntity.Products[i].ProductId + '\', \'btnspinner\')">x</a></div>' + variantName + '<br /><span id="convert" amount="' + cartEntity.Products[i].Price + '">' + cartEntity.Products[i].Price + '</span>' + '&nbsp;x&nbsp;' + cartEntity.Products[i].Quantity + '</div><div class="orangeline"></div>';
			            }
			            else {
			                innerHtml += '<div id="miniCartItem' + i + '" class="minicartprodtitle"><a href="' + cartEntity.Products[i].Url + '">' + cartEntity.Products[i].ProductName + '</a><div id="miniCartItemRemove' + i + '"  class="minicartproddel"><a href="#" onclick="javascript:basket_removeitem(\'' + cartEntity.Products[i].ProductId + '\', \'btnspinner\')">x</a></div>' + variantName + '<br /><strike><span id="convert" amount="' + cartEntity.Products[i].OriginalPrice + '">' + cartEntity.Products[i].OriginalPrice + '</span>' + '</strike>&nbsp;<span id="convert" amount="' + cartEntity.Products[i].Price + '">' + cartEntity.Products[i].Price + '</span>' + '&nbsp;x&nbsp;' + cartEntity.Products[i].Quantity + '</div></div><div class="orangeline"></div>';
			            }
			        }

			        $('basket_summary').innerHTML = innerHtml;

			        if (cartEntity.Products.length > 0) {
			            $('minicart_totalgoods_text').innerHTML = 'Total Goods:&nbsp;';
			            $('minicart_checkout_button').show();
			            $('minicart_totalgoods_price').innerHTML = '<span id="convert" amount="' + cartEntity.SubTotal + '">' + cartEntity.SubTotal + '</span>';

			        }
			        else {
			            $('minicart_totalgoods_text').innerHTML = 'No items in cart.';
			            $('minicart_checkout_button').hide();
			            $('minicart_totalgoods_price').innerHTML = '';

			        }

			        
			        //$('basket_summary').innerHTML = innerHtml; //new_html;
			        $('basket_content').show(); // required as were using scaleMode: contents
			        //$('basket_buy_button').show();

			        function dc_ld() { var dc_dlay = document.createElement("script"); dc_dlay.setAttribute('type', 'text/javascript'); dc_dlay.setAttribute('language', 'javascript'); dc_dlay.setAttribute('id', 'dcdlay'); dc_dlay.setAttribute("src", "http" + (window.location.protocol.indexOf("https:") == 0 ? "s://converter" : "://converter2") + ".dynamicconverter.com/accounts/3/3584.js"); document.getElementsByTagName("head")[0].appendChild(dc_dlay); } setTimeout('dc_ld()', 10);
			    },

			    scaleMode: 'contents',

			    afterFinish: function() {
			        $('miniCartIcon').src = "/BVModules/Themes/Satya0710Theme/Images/Cart/minicart_edit.gif";

			        if (method == 'add') {
			            if ($('miniCartItem' + lastItemIndex)) {
			                new Effect.Highlight($('miniCartItem' + lastItemIndex), { duration: 2, keepBackgroundImage: true, startcolor: '#ffe5b2', endcolor: '#fef5e2' });
			            }

			            if ($('miniCartItemRemove' + lastItemIndex)) {
			                new Effect.Highlight($('miniCartItemRemove' + lastItemIndex), { duration: 2, keepBackgroundImage: true, startcolor: '#ffe5b2', endcolor: '#fef5e2' });
			            }

			        }
			    }
			}
		);

	//}
	//else
	//{
		//hide_basket_box();
	//}


	if (button_spinner_id)
		$(button_spinner_id).hide();
}


function hide_basket_summary() {
    cancel_idle_effects("basket_content");
    if ($("basket_content").visible()) {
        Effect.BlindUp(
			"basket_content",
			{
			    duration: 0.3,
			    queue:
				{
				    position: 'end',
				    scope: "basket_content",
				    limit: 2
				},

			    scaleMode: 'contents',

			    afterFinish: function() {
			        hide_buy_button();
			    }

			}
		);
    }
}

function cancel_idle_effects(queue) {
    var queue = Effect.Queues.get(queue);
    queue.each(function(effect) {
        if (effect.state == "idle") {
            effect.cancel();
        }
    });
}

function in_viewport(dom_id) {
    offset = $(dom_id).viewportOffset();
    dimensions = $(dom_id).getDimensions();
    viewport = document.viewport.getDimensions();

    var dom_top = offset.top;
    var dom_bottom = offset.top + dimensions.height;

    if (dom_bottom < 0 || dom_top > viewport.height) {
        return false;
    } else {
        return true;
    }
} var wishlist_outbound_request_count = 0;


function addbuttons_ajax_submission(javascript_to_call) {
    setTimeout(javascript_to_call, 10);
    //stop submission propagating to form
    return false;
}

