var reqAdd;
var reqRemove;

var addOrRemoveFavUrl = "/cashback/add-remove-fav-store";

function addStore(id) {
	//Check if user is logged in....
	showMessage("Adding store to Favorites...");
	processAddStore(id);
}

function removeStore(id){
	showMessage("Removing store from Favorites...");
	processRemoveStore(id);
}

function processAddStore(id) {
	var url;
	url = addOrRemoveFavUrl+"?sid="+id+"&action=add"+"&rand="+Math.random();
	if (window.XMLHttpRequest) { // Non-IE browsers
		reqAdd = new XMLHttpRequest();
		reqAdd.onreadystatechange = processAdd;
		try {
			reqAdd.open("GET", url, true);
		} catch (e) {
			alert(e);
		}
		reqAdd.send(null);
	} else if (window.ActiveXObject) { // IE
		reqAdd = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqAdd) {
			reqAdd.onreadystatechange = processAdd;
			reqAdd.open("GET", url, true);
			reqAdd.send();
		}
	}
}

function processRemoveStore(id) {
	var url;
	url = addOrRemoveFavUrl+"?sid="+id+"&action=remove"+"&rand="+Math.random();
	if (window.XMLHttpRequest) { // Non-IE browsers
		reqRemove = new XMLHttpRequest();
		reqRemove.onreadystatechange = processRemove;
		try {
			reqRemove.open("GET", url, true);
		} catch (e) {
			alert(e);
		}
		reqRemove.send(null);
	} else if (window.ActiveXObject) { // IE
		reqRemove = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqRemove) {
			reqRemove.onreadystatechange = processRemove;
			reqRemove.open("GET", url, true);
			reqRemove.send();
		}
	}
}


function processAdd() {
	if (reqAdd.readyState == 4) { // Complete
		if (reqAdd.status == 200) { // OK response
			if (reqAdd.responseText.indexOf("SUCCESS") >= 0) {
				showMessage("Store Added.");
			} else {
				if(reqAdd.responseText.indexOf("FAILURE") >=0){
					index = reqAdd.responseText.indexOf(":");
					text = (reqAdd.responseText).substr(index+1);
					alert(text);
				}else{
					showMessage("Selected store is already a favorite store.");
				}
			}
		} else {
			// Unknown server exception - do nothing
		}
	}
}

function processRemove() {
	if (reqRemove.readyState == 4) { // Complete
		if (reqRemove.status == 200) { // OK response
			if (reqRemove.responseText.indexOf("SUCCESS") >= 0) {
				showMessage("Store removed from Favorites.");
			} 
		} else {
			// Unknown server exception - do nothing
		}
	}
}
