var mycart = {

	'messageOverId' 		: '#shipping-limit-message-over',
	'messageUnderId' 		: '#shipping-limit-message-under',
	'messageDifferenceId'	: '#shipping-limit-message-difference',
	'messageLimitId'		: '#shipping-limit-message-amount',
	'bannerId'				: '#shipping-limit-banner',
	'bannerLimitId'			: '#shipping-limit-banner-amount',
	'hideBannerOverLimit'	: true,

	'start' : function () {

		var me = this;
		var text, x;
		var subtotal = me.getSubtotal();
		// default limit values
		var subtotalMessageLimit = 75;
		var subtotalBannerLimit = 45;	

		// show stuff if subtotal value is found
		if (subtotal) {
			// get message limit value
			text = $(me.messageLimitId).text();
			if (text) {
				x = parseInt(text);
				if (x > 0 ) {
					subtotalMessageLimit = x;
				}
			}
			// get banner limit value
			text = $(me.bannerLimitId).text();
			if (text) {
				x = parseInt(text);
				if (x > 0 ) {
					subtotalBannerLimit = x;
				}
			}
			// show banner
			if (((subtotal - subtotalBannerLimit) >= 0) && !(me.hideBannerOverLimit && (subtotal >= subtotalMessageLimit))) {
				$(me.bannerId).css('display', 'block');
			}
			// show message
			var diff = subtotalMessageLimit - subtotal;
			if ((diff) > 0) {
				// show under message
				$(me.messageDifferenceId).text(diff.toFixed(2));
				$(me.messageUnderId).css('display', 'block');
			} else {
				// show over message
				$(me.messageOverId).css('display', 'block');
			}
		}

	},

	'getSubtotal' : function () {
		var labelText = 'Subtotal';
		var subtotal = null;
		var text, idx;
		$('.ys_orderLine').each(function(index, elem) {
			text = $(elem).find('.ys_first').text();
			idx = text.toLowerCase().indexOf(labelText.toLowerCase());
			if(idx >= 0) {
				text = $(elem).find('.ys_last').text();
				if (text) {
					idx = text.indexOf('$');
					idx = (idx < 0) ? 0 : idx = idx + 1;
					subtotal = parseInt(text.substr(idx, text.length - 1));
					return;
				}
			}
		});
		return subtotal;
	}

};

$(document).ready(function(){
	mycart.start();
});

