var reqSave;
var saveItemUrl = "/app/SaveItem";

var savedItemIds = "";
var savedItemsCount = 0;
var curSaveItemCountIndex = -1;

function saveItem(index, id, type) {
	//alert("index "+index+" id "+id+" type "+type);
	if (savedItemIds.indexOf(id) >= 0) {
		showMessage("This " + type + " is already saved in your list.");
		return;
	}
	
	savedItemIds = savedItemIds +"|"+ id;
	curSaveItemCountIndex = index;
	//var oLabel = getHtmlControl("save" + type + "Label" + curSaveItemCountIndex);
	// oLabel.innerHTML = "Saving";
	showMessage("Saving selected " + type + "...");

	processSaveItem(type, id);
}

function processSaveItem(type, id) {
	var url;
	if (type == 'Deal') {
		url = saveItemUrl+"?dkey="+id;
	} else {
		url = saveItemUrl+"?ckey="+id;
	}

	if (window.XMLHttpRequest) { // Non-IE browsers
		reqSave = new XMLHttpRequest();
		if (type == 'Deal') {
			reqSave.onreadystatechange = processSaveDeal;
		} else {
			reqSave.onreadystatechange = processSaveCoupon;
		}
		try {
			reqSave.open("GET", url, true);
		} catch (e) {
			alert(e);
		}
		reqSave.send(null);
	} else if (window.ActiveXObject) { // IE
		reqSave = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqSave) {
			if (type == 'Deal') {
				reqSave.onreadystatechange = processSaveDeal;
			} else {
				reqSave.onreadystatechange = processSaveCoupon;
			}
			reqSave.open("GET", url, true);
			reqSave.send();
		}
	}
}

function processSaveDeal() {
	if (reqSave.readyState == 4) { // Complete
		if (reqSave.status == 200) { // OK response
			// alert(reqSave.responseText);
			var oCount = getHtmlControl("SavedDealCount");
			//var oLabel = getHtmlControl("saveDealLabel" + curSaveItemCountIndex);
			if (reqSave.responseText.indexOf("SUCCESS") >= 0) {
				oCount.innerHTML = reqSave.responseText.substring(reqSave.responseText.indexOf(":")+1);
				//oLabel.innerHTML = "<b>Saved!</b>";
				showMessage("Saved selected Deal.");
			} else {
				showMessage(reqSave.responseText.substring(reqSave.responseText.indexOf(":")+1));
			}
		} else {
			// Unknown server exception - do nothing
			showMessage("We're sorry... error encountered while saving selected deal.");
		}
	}
}

function processSaveCoupon() {
	if (reqSave.readyState == 4) { // Complete
		if (reqSave.status == 200) { // OK response
			// alert(reqSave.responseText);
			var oCount = getHtmlControl("SavedCouponCount");
			//var oLabel = getHtmlControl("saveCouponLabel" + curSaveItemCountIndex);
			if (reqSave.responseText.indexOf("SUCCESS") >= 0) {
				oCount.innerHTML = reqSave.responseText.substring(reqSave.responseText.indexOf(":")+1);
				//oLabel.innerHTML = "<b>Saved!</b>";
				showMessage("Saved selected Coupon.");
			} else {
				showMessage(reqSave.responseText.substring(reqSave.responseText.indexOf(":")+1));
			}
		} else {
			// Unknown server exception - show message
			showMessage("We're sorry... error encountered while saving selected coupon.");
		}
	}
}
