
function SDBasket() {
	this.addToBasket  = function (form) {
	
		var post = new basketPost(form);
		return post.Go();										
	}
	this.applyVoucher = function(form) {
		var post = new voucherPost(form);
		return post.Go();
	}	
}


function basketPost(form) {
	var request;
	var basketForm = form;
			
	this.Go = function() {
		request = getXHR();
		if (!request) {
			return true;
		} else {
			//Show loading		
			//Set loading function...						
			document.getElementById('basketProgressInd').style.display = 'inline';
			//Get and send data
			var basketData = formData(basketForm);
			request.onreadystatechange = completeRequest;
			request.open("POST", "/stores/ajax/addtobasketctrl.aspx", true);
			request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			request.send(basketData);									
			return false;	
		}
	};
	
	var completeRequest = function() {
		if (request.readyState == 4) {
			if (request.status == 200 || request.status == 304) {			
				//Success
						
				document.getElementById("pnlBasket").innerHTML = request.responseText;
				showToolTip('ttBasket','giftLink',15,-15,'BL');
			//	alert(request.responseText);
				if (document.getElementById('basketAdded') != undefined) {
				//	Fat.fade_element('basketAdded', 30, 1000, colHLInfo);
					
				}
				else {
					if (document.getElementById('basketTotal') != undefined) {
					//	Fat.fade_element('basketTotal', 30, 1000, colHLInfo);		
					} else {
					//	Fat.fade_element('basketMessage', 30, 1000, colHLInfo);
					}
				}				
				document.getElementById('basketProgressInd').style.display = 'none';										
			} else {
//				//Error
				//document.getElementById("basketMessage").innerHTML = "<small>An error occured!</small>";
				//Fat.fade_element('basketMessage', 30, 1000, colHLError);
				document.getElementById('basketProgressInd').style.display = 'none';
			}
		}	
	};
}

function voucherPost(form) {
	var request;
	var voucherForm = form;
	
	this.Go = function() {
		request = getXHR();
		if (!request) {
			return true;
		} else {
			//Show loading
			//Set loading function...						
			document.getElementById('basketProgressInd').style.display = 'inline';		
			
			//Get and send data
			var voucherData = formData(voucherForm);
			request.onreadystatechange = completeRequest;
			request.open("POST", "/stores/ajax/UseVoucher.aspx");
			request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			request.send(voucherData);
			return false;
		}
	};
	
	var completeRequest = function() {
		document.getElementById('basketProgressInd').style.display = 'none';
		if (request.readyState == 4) {
			if (request.status == 200 || request.status == 304) {
				//Success, update the voucher form and basket
				sdbskt.addToBasket(form);
				document.getElementById("pnlVoucher").innerHTML = request.responseText;
			} else {
				//Error
				document.getElementById("pnlVoucher").innerHTML = "<small>An error occured!</small><br class=\"clear\"/>";
			//	Fat.fade_element("voucherCode", 30, 1000, colHLError);
			}
		}	
	};
}