/* All Web Promotion Floating Shopping Cart v1.4.1 */
/* modified for thecollectorate.net */

;(function($){

$.awpFloatingCart = function (settings) {

	function showit () {
		$(settings.cartItemsIds)
			.css('left', '0')
			.css('top', '0')
			.animate({
				"height": "show",
				"opacity": "show"
				}, "500");
		$(settings.cartShowImgIds).animate({
			"opacity": "hide"
			}, "500");
	}

  //$(document).ready(function() {

	var delimiter = '|';
	var delimiterField  = '^';
	var itemStart = 4;

	if ($('#ys_cart .ys_basket').size() > 0) {

		var size = 0;
		var sizeMax = 1700;
		var val = new Array();
		var items = new Array();
		var numItems = 0;
		var quantity = 0;
		var subtotal = '$0.00';
		var total = '$0.00';

		$('.ys_basket .ys_orderLine').each(function () {
			var x = $(this).find("td:contains('Subtotal')").next().text();
			if (x) {
				subtotal = x;
				return;
			}
		});
		val[2] = subtotal;

		$('.ys_basket .ys_orderLine').each(function () {
			var x = $(this).find("td:contains('Total')").next().text();
			if (x) {
				total = x;
				return;
			}
		});
		val[3] = total;

		var ctr = itemStart;
		var jCartItemRows = $('#ys_cart .ys_basket .ys_evenRow, #ys_cart .ys_basket .ys_oddRow');
		if (jCartItemRows.size() > 0) {
			jCartItemRows.each(function () {
				var name = $(this).find('.ys_items .ys_itemInfo strong a').text();
				if (name) {
					var itm = new Array();
					numItems++;
					// NAME
					itm[0] = name;
					/*// OPTIONS	
					var opts = '';
					var opt;
					$(this).find('.ys_options ul li').each(function () {
						opt = $(this).text();
						if (opt) {
							if ((opts) && (opts.length > 0) ) {
								opts = opts + '<br />';
							}
							opts = opts + opt;
						}
					});
					itm[1] = (opts) ? opts : '';*/
					itm[1] = '';
					
					// QUANTITY
					var quan = $(this).find('.ys_quantity label input').val();
					if (quan) {
						var x = parseInt(quan);
						quantity += x;
					}
					itm[2] = (quan) ? quan : '';
					// PRICE
					var price = $(this).find('.ys_cost').text();
					itm[3] = (price) ? price : '';
					// HREF
					itm[4] = $(this).find('.ys_items .ys_itemInfo strong a').attr('href');
					// CODE
					//itm[5] = $(this).find('.item-code').text() + '';

					// get item id from item link href
					var itemCode = ''
					var itemId = itm[4];
					itemId = itemId.toString().match(/.*\/(.+?)\./);
					// get item code from item id
					if (itemId) {
						itemId = itemId[1];
						// extract item code from end of item id
						var lastIndex = itemId.lastIndexOf('-');
						if (lastIndex != -1) {
							itemCode = itemId.substr(lastIndex + 1);
						}
					}
					itm[5] = itemCode + '';

					// CTR stuff
					val[ctr] = itm.join(delimiterField);
					if ((size + val[ctr].length) > sizeMax) { return; }
					size += val[ctr].length;
					ctr++;
				}
			});
		}

		val[0] = quantity;
		val[1] = numItems;

		var data = val.join(delimiter).replace('+', '{plus}');
		var src = settings.url	+ '?n=' + settings.cookieName
								+ '&c=' + data
								+ '&e=' + settings.cookieDays
								+ '&d=' + settings.storeDomainName
								+ '&u=' + settings.urlX;

		$('<img width="1" height="1" border="0" src="' + src + '" />').appendTo('body'); // must append IMG for IE6

	}

	if (cookiesEnabled()) {

		var msg = null;
		var valc = getCookie(settings.cookieName);

		if (valc) {
			var val = valc.replace('{plus}', '+').split(delimiter);
			if (settings.cartQuantityIds) {
				$(settings.cartQuantityIds).html((val[0]) ? val[0] : '&nbsp;');
			}
			if (settings.cartNumItemsIds) {
				$(settings.cartNumItemsIds).html((val[1]) ? val[1] : '&nbsp;');
			}
			if (settings.cartSubtotalIds) {
				$(settings.cartSubtotalIds).html((val[2]) ? val[2] : '&nbsp;');
			}
			if (settings.cartTotalIds) {
				$(settings.cartTotalIds).html((val[3]) ? val[3] : '&nbsp;');
			}
			var jRowOriginal = $($(settings.cartRowIds)[0]);
			if (val.length >= (itemStart + 1)) {
				for (var i=itemStart;i<val.length;i++) {
					var itm = val[i].split(delimiterField);
					if (itm[0]) {
						var jRow = jRowOriginal.clone();
						if ((itm[0]) && (itm[4])) {
							$('<a href="#"></a>')
								.attr('href', itm[4])
								.html(itm[0])
								.appendTo(jRow.find(settings.cartRowNameIds));
						} else {
							jRow.find(settings.cartRowNameIds).html(	(itm[0]) ? itm[0] : ' &nbsp; ');
						}
						jRow.find(settings.cartRowQuantityIds).html(	(itm[2]) ? itm[2] : ' &nbsp; ');
						jRow.find(settings.cartRowPriceExtIds).html(	(itm[3]) ? itm[3] : ' &nbsp; ');
						//jRow.find(settings.cartRowCodeIds).html(		(itm[1]) ? itm[1] : ' &nbsp; ');
						jRow.find(settings.cartRowOptionsIds).html(		(itm[1]) ? itm[1] : ' &nbsp; ');
						jRow.find(settings.cartRowCodeIds).html(		(itm[5]) ? itm[5] : ' &nbsp; ');
						jRow.appendTo($(settings.cartRowIds).parent());
					}
				}
				jRowOriginal.remove();
			} else {
				msg = '(no items in cart)';
			}
		} else {
			msg = '(view cart first to see items here)';
		}

		if (msg) {
			var jRowOriginal = $($(settings.cartRowIds)[0]);
			jRowOriginal.find(settings.cartRowNameIds).html(msg);
			jRowOriginal.find(settings.cartRowOptionsIds).html(' &nbsp; ');
			jRowOriginal.find(settings.cartRowQuantityIds).html(' &nbsp; ');
			jRowOriginal.find(settings.cartRowPriceExtIds).html(' &nbsp; ');
			jRowOriginal.parents(settings.cartContainerIds).find('.footer').remove();
		}

		if (settings.cartContainerIds) {
			$(settings.cartContainerIds).css('display', 'block');
		}

		if (settings.cartClickIds) {
			$(settings.cartMouseOverIds).click(function(e) {
				e.stopPropagation();
				showit();
				return false;
			});
		}

		if (settings.cartOpenIds) {
			$(settings.cartOpenIds).click(function() {
				$(settings.cartItemsIds)
					.css('left', '0')
					.css('top', '0')
					.animate({
						"height": "show",
						"opacity": "show"
    					}, "500");
				$(settings.cartShowImgIds).animate({
					"opacity": "hide"
    				}, "500");
			});
		}

		$(settings.cartCloseIds).click(function() {
			$(settings.cartItemsIds).animate({
				"height": "hide",
				"opacity": "hide"
    			}, "500");
			$(".cart-info .show img").animate({
				"opacity": "show"
    			}, "500");
		});

	} else if (settings.cartContainerIds) {
		$(settings.cartContainerIds).css('display', 'none');
	}

  //});

};

})(jQuery);

function getCookie (name) {
	var beg = document.cookie.indexOf(name + '=' );
	var len = beg + name.length + 1;
	if ((!beg) && (name != document.cookie.substring(0, name.length))) {
		return null;
	}
	if (beg == -1) { return null; }
	var end = document.cookie.indexOf(';', len );
	if (end == -1) { end = document.cookie.length; }
	return unescape(document.cookie.substring(len, end));
}

function cookiesEnabled () {
	document.cookie =	name + "=none;path=/";
	return (getCookie(name));
}

