var request = null;

function CreateHttpRequest() {
        try {
                request = new XMLHttpRequest();
        } catch(e) {
                try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e) {
                        request = new ActiveXObject("Msxml2.XMLHTTP");
                }
        }
}

function SendRequest(method,url,value,exec_function) {
        if(request == null) {
                CreateHttpRequest();
        }

        if(request.readyState != 0) { request.abort(); }

        request.onreadystatechange = exec_function;

        request.open(method,url,true);
        if(method.toLowerCase() == "post") {
                request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        }
        request.send(value);
}

function GetResponseText() {
        if(request.readyState == 4) {
                if(request.status == 200) {
                        return request.responseText;
                } else {
                        return false;
                }
        }

        return false;
}

function GetResponseXML() {
        if(request.readyState == 4) {
                if(request.status == 200) {
                        return request.responseXML;
                } else {
                        return false;
                }
        }

        return false;
}

function URLEncode(str) {
        str = str.replace(/&/g ,'%26');
        str = str.replace(/#/g ,'%23');
        str = str.replace(/\+/g,'%28');
        str = str.replace(/ /g ,'%20');
        str = str.replace(/=/g ,'%3D');
        str = str.replace(/;/g ,'%3B');

        return str;
}

function CheckFavorite(mid, co_id) {
        SendRequest("post","/js/ajax/check-favorite.php","mid=" + mid + "&co_id=" + co_id,function () {
                var ret = GetResponseText();

                if(ret === false) {
                        return;
                } else {
                        if(ret != "") {
                                alert(ret);
                        } else {
                                AddFavorite(mid, co_id);
                        }
                }
        });
}

function AddFavorite(mid, co_id) {
        //if(confirm("この商品をお気に入りに登録しますか？")) {
                SendRequest("post","/js/ajax/insert-favorite.php","mid=" + mid + "&co_id=" + co_id,function () {
                        var ret = GetResponseText();

                        if(ret === false) {
                                return;
                        } else {
                                if(ret != "") alert(ret);
                        }
                });
        //}
}
