function checkerAddToCart() {
	var domains = new Array();
	jQuery("input[id^='add_']:checked").each(function(i){
		domains[i] = jQuery(this).val();
	});
	cartAdd(1, domains, 0, 'register', 1, 'redirect');
}

function showCartMessage(message) {
	jQuery('#cartMessage').html(message);
}

function showCart() {
	if (jQuery('#itemsWrapper').is(':hidden')) {
		jQuery('#emptyWrapper').hide();
		if (jQuery('#selectAllItems').length > 0) {
			jQuery('#selectAllItems').removeAttr('disabled'); 
		}
		if (jQuery('.CartContinue').length > 0) {
			jQuery('#CartContinueDisabled').hide();
			jQuery('#CartContinueEnabled').show();			
		}
		if (jQuery('.CartRemove').length > 0) {
			jQuery('#ItemsRemoveDisabled').hide();
			jQuery('#ItemsRemoveEnabled').show();			
		}
		if (jQuery('.CartCheckout').length > 0) {			
			jQuery('#CartCheckoutDisabled').hide();
			jQuery('#CartCheckoutEnabled').show();
		}	
		jQuery('#itemsWrapper').show();	
	}	
}

function hideCart() {	
	if (jQuery('#itemsWrapper').is(':visible')) {
		jQuery('#itemsWrapper').hide();
		if (jQuery('#selectAllItems').length > 0) {
			jQuery('#selectAllItems').removeAttr('checked');
			jQuery('#selectAllItems').attr('disabled', 'disabled'); 
		}
		if (jQuery('.CartContinue').length > 0) {
			jQuery('#CartContinueEnabled').hide();
			jQuery('#CartContinueDisabled').show();
		}
		if (jQuery('.CartRemove').length > 0) {
			jQuery('#ItemsRemoveEnabled').hide();
			jQuery('#ItemsRemoveDisabled').show();
		}
		if (jQuery('.CartCheckout').length > 0) {
			jQuery('#CartCheckoutEnabled').hide();
			jQuery('#CartCheckoutDisabled').show();
		}
		jQuery('#emptyWrapper').show();		
	}
}

function loadMiniCart(mode) {
	if (!mode) {
		var mode = 'normal';
	}
	showLoader('miniShoppingCart');
	jQuery.ajax({
		type: 'post',
		url: g_cartPath + 'mini',
		data:  'mode=' + mode,	
		timeout: g_ajax_timeout,
		success: function(response) {
			jQuery('#miniShoppingCart').html(response);
			hideLoader();
		},
		error: displayError
	});
}

function cartAddMultiple(products) {
	if (isJSON(products)) {
		var strJson = JSON.stringify(products);
		if (jQuery('#ShoppingCart').length > 0) {
			showLoader('ShoppingCart');
		}
		jQuery.ajax({
			type: 'post',
			url: g_cartPath + 'add',
			data:  'data=' + strJson,
			timeout: g_ajax_timeout,
			success: function(response) {
				if(isJSON(response)) {							
					var objResponse = JSON.parse(response);
					if (objResponse.success == true) {
						for(var i = 0; i < objResponse.items.length; i++) {
							jQuery('#cartItems').append(objResponse.items[i]);	
						}							
						if (jQuery('.cartDiscount').length > 0) {
							jQuery('.cartDiscount').show();
							jQuery('#cartDiscount').html(objResponse.total['discount']);
							jQuery('#cartSubtotal').html(objResponse.total['subtotal']);
						}
						if (jQuery('#cartNumItems').length > 0) {
							jQuery('#cartNumItems').html(objResponse.numofitems);
						}
						jQuery('#cartTotal').html(objResponse.total['total']);
						showCart();
					} else {
						showCartMessage(objResponse.message);
					}			
				}
				hideLoader();
			},
			error: function(response) {
				var objResponse = JSON.parse(response);
				showCartMessage(objResponse.message);
			}
		});
	}
	return false;
}

function cartAdd(type, domains, id, action, quantity, request) {
	var obj = new Object;	
	obj.type = type;
	obj.domains = domains;
	if (id) { obj.id = id; }
	if (action) { obj.action = action; }
	if (quantity) { obj.quantity = quantity; }
	var strJson = JSON.stringify(obj);
	if (!request) { request = 'ajax'; };
	if (request == 'redirect') {		
		if (jQuery('#addItem').length > 0) {
			jQuery('#addItem #data').val(strJson);
			jQuery('#addItem').submit();
		} else {
			return false;
		}
	} else {
		if (jQuery('#ShoppingCart').length > 0) {
			showLoader('ShoppingCart');
		}
		jQuery.ajax({
			type: 'post',
			url: g_cartPath + 'add',
			data:  'data=' + strJson,
			timeout: g_ajax_timeout,
			success: function(response) {
				if(isJSON(response)) {		
					var objResponse = JSON.parse(response);
					if (objResponse.success == true) {	
						if (objResponse.items) {
							jQuery('#cartItems').append(objResponse.items);
						}
						if (jQuery('.cartDiscount').length > 0) {
							jQuery('.cartDiscount').show();
							jQuery('#cartDiscount').html(objResponse.total['discount']);
							jQuery('#cartSubtotal').html(objResponse.total['subtotal']);
						}
						if (jQuery('#cartNumItems').length > 0) {
							if (objResponse.numofitems > 1) {
								var numofitems = objResponse.numofitems + ' items';
							} else {
								var numofitems = objResponse.numofitems + ' item';
							}
							jQuery('#cartNumItems').html(numofitems);
						}
						jQuery('#cartTotal').html(objResponse.total['total']);
						showCart();
					} else {
						showCartMessage(objResponse.message);
					}			
				}
				hideLoader();
			},
			error: function(response) {
				var objResponse = JSON.parse(response);
				showCartMessage(objResponse.message);
			}
		});
	}
}

function cartRemove(id) {
	if (jQuery('#ShoppingCart').length > 0) {
		showLoader('ShoppingCart');
	}
	if (id instanceof Array) {
	} else {
		var tmp = id;
		id = new Array();
		id[0] = tmp;		
	}
	jQuery.ajax({
		type: 'post',
		url: g_cartPath + 'remove',
		data:  'id=' + id.toString(),
		timeout: g_ajax_timeout,
		success: function(response) {
			if(isJSON(response)) {
				var objResponse = JSON.parse(response);
				if (objResponse.success == true) {					
					if (objResponse.items == 0) {
						hideCart();
					}
					/*var i;
					for(i in id) {
						jQuery('tr#item' + id[i]).remove();
					}*/
					jQuery.each(id, function(i, val) {
						jQuery('tr#item' + val).empty().remove();
					});
					if (jQuery('.cartDiscount').length > 0) {
						jQuery('.cartDiscount').show();
						jQuery('#cartDiscount').html(objResponse.total['discount']);
						jQuery('#cartSubtotal').html(objResponse.total['subtotal']);
					}
					if (jQuery('#cartNumItems').length > 0) {
						if (objResponse.numofitems > 1 || objResponse.numofitems == 0) {
							var numofitems = objResponse.numofitems + ' items';
						} else  {
							var numofitems = objResponse.numofitems + ' item';
						}
						jQuery('#cartNumItems').html(numofitems);
					}
					jQuery('#cartTotal').html(objResponse.total['total']);					
				}
				showCartMessage(objResponse.message);
			}
			hideLoader();
		},
		error: function(response) {
			var objResponse = JSON.parse(response);
			showCartMessage(objResponse.message);
		}
	});
}

function cartUpdateQty(id, quantity) {
	var obj = new Object;	
	obj.id = id;
	obj.quantity = quantity;
	var strJson = JSON.stringify(obj);	
	var oldPrice = jQuery('#cartPrice' + id).html();
	jQuery('#itemPrice' + id).html('<img src="/img/loaders/loading_small.gif" style="margin: 0 auto;" />');
	jQuery('#itemQuantity' + id).attr('disabled', 'disabled'); 
	jQuery.ajax({
		type: 'post',
		url: g_cartPath + 'update',
		data:  'data=' + strJson,
		timeout: g_ajax_timeout,
		success: function(response) {
			if(isJSON(response)) {
				var objResponse = JSON.parse(response);
				if (objResponse.success == true) {
					jQuery('#itemQuantity' + id + ' option:selected').removeAttr('selected');
					jQuery('#itemQuantity' + id + " option[value='" + quantity + "']").attr('selected', 'selected');
					jQuery('#itemQuantity' + id).removeAttr('disabled');
					jQuery('#itemPrice' + id).html(objResponse.price);
					if (jQuery('.cartDiscount').length > 0) {
						jQuery('.cartDiscount').show();
						jQuery('#cartDiscount').html(objResponse.total['discount']);
						jQuery('#cartSubtotal').html(objResponse.total['subtotal']);
					}
					jQuery('#cartTotal').html(objResponse.total['total']);
				} else {
					jQuery('#itemPrice' + id).html(oldPrice);
					jQuery('#itemQuantity' + id).removeAttr('disabled');
					showCartMessage(objResponse.message);					
				}
			}
		},
		error: function(response) {
			var objResponse = JSON.parse(response);
			showCartMessage(objResponse.message);
		}
	});
}

function cartContinueClick(){	    
    location.href = '/'+g_domainsModule+'cart';	
}

function cartCheckoutClick() {
//	location.href = '/'+g_domainsModule+'domainsignup';
	location.href = '/'+g_domainsModule+'checkout';
}

function checkAllItems() {
	jQuery('input.removeItem').attr('checked', jQuery('#selectAllItems').is(':checked'));
}

function removeItems() {
	if (!jQuery('input.removeItem:checked').length) {
		showModalMessage('You must select items to remove!', 'warning');	
		return false;
	}
	var ids = new Array();
	jQuery('input.removeItem:checked').each(function(){
		ids.push(this.value);	
	});	
	cartRemove(ids);
}







