function create_request()
{
	var request = null;
    try {
        request = new XMLHttpRequest();
    } catch (trymicrosoft) {
        try {
            request = new ActiveXObject('Msxm12.XMLHTTP');
        }
        catch(othermicrosoft) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (failed) {
                request = null;
            }
        }
    }
	return request;
}

var fav_request = null;
function change_favorite_state(place_id) {
	fav_request = create_request();
	var icon_src = document.getElementById("favorite_icon").src;
	var fav_state = icon_src.charAt(icon_src.length - 5);
	var url = "/action/change_favorite_state.php?place_id=" + place_id + "&state=";
	if (fav_state == "0") {
		fav_state = "1";
		url += "1";
	} else {
		fav_state = "0";
		url += "0";
	}
	
    fav_request.open("GET", url, true);
    fav_request.onreadystatechange = function() {update_favorite_state(fav_state)};
    fav_request.send(null);
}

function update_favorite_state(fav_state) {
	if (fav_request.readyState == 4) {
		if (fav_request.status == 200) {
			var favorite_icon = document.getElementById("favorite_icon");
			favorite_icon.src = "/image/icon/star" + fav_state + ".png";
		} else {
			// TODO
			// Something wrong
		}
	}
}

var comment_request = null;
function add_comment(place_id)
{
	comment_request = create_request();
    var content = document.getElementById('comment_form_textarea').value;
    var url = "/action/add_comment.php?place_id=" + place_id + "&content=" + content;
    comment_request.open('GET', url, true);
    comment_request.onreadystatechange = update_comment;
	comment_request.send(null);
}

function update_comment()
{
	if (comment_request.readyState == 4) {
		if (comment_request.status == 200) {
			// Update Comments
			// TODO
		} else {
			// TODO
			// Something wrong
		}
	}
}


