/*

 * Mylistライト-----------------------------------------------------

主要なfunction
ML_list()
ML_init()
ML_write(ID)
ML_clear()
*/

    max_num   = 25;
    max_num_r = 20;

function ML_init() {
    www    = getCookie("ML_data");
    if(www) {
        ID_w = www.split("|||");
        number=ID_w.length;
    }
    document.write("MyListライト　記録した物質数：" + number + "<BR>");
    document.write("MyListライト　ID：" + www + "<BR>");

}

function ML_number_w(MT,mode) {
    ID_w1 =new Array();
    ID_n1 =new Array();
    number_r = 0;

    www1   = getCookie("ML_number");
    if(www1) {
        ID_w1 = www1.split("&");
        number_r=ID_w1.length;
    }

    for(i=0;i<number_r;i++) {
        if(MT!=ID_w1[i]) ID_n1.push(ID_w1[i]);
    }

    if(mode != "del") ID_n1.unshift(MT);

    www1   = ID_n1.join("&");
    setCookie("ML_number", www1);
}

function ML_check(MT,check) {
    ID_w =new Array();
    ID_n =new Array();
    data =new Array();

    if(check=="check") {
        yn=confirm("MyListに記録します。物質名の前に「○」が表示されます。");
        if (yn != true) return;
    } else {
        yn=confirm("MyListから削除します。物質名の前に「○」が消去されます。");
        if (yn != true) return;
    }

    www    = getCookie("ML_data");
    if(www) {
        ID_w = www.split("|||");
        number=ID_w.length;
    }

    while (ID_w.length > 0) {
        xx=ID_w.shift();
        if (xx.indexOf(MT) != -1) {
            data = xx.split("&");
            if(check != data[3] ) xx = data[0]+"&"+data[1]+"&"+data[2]+"&"+check;
        }
        ID_n.push(xx);
    }

    www = ID_n.join("|||");    

    setCookie("ML_data", www);

    if(check=="check") {
        ML_number_w(MT,"");
    } else {
        ML_number_w(MT,"del");
    }

    location.reload(true);
}

function ML_write(ID,MT,mat,check) {
    number   = 0;
    number_r = 0;
    x_check  = "";
    ID_w =new Array();
    ID_x =new Array();
    ID_n =new Array();

    www    = getCookie("ML_data");
    if(www) {
        ID_w = www.split("|||");
        number=ID_w.length;
    }

    www1   = getCookie("ML_number");
    if(www1) {
        ID_w1 = www1.split("&");
        number_r=ID_w1.length;
    }

    while (ID_w.length > 0) {
        xx=ID_w.shift();
        if (xx.indexOf("ID") == -1 || xx.indexOf("MT") == -1) continue; 
        if (xx.indexOf(ID+"&"+MT) != -1 && 
                check!="" && xx.indexOf("&check") != -1) {
            ML_number_w(MT,"");  //MyListライト：表示順の先頭に
            alert("すでに登録されています。");
            return;
        }

        if (xx.indexOf(MT) != -1) {
            if(xx.indexOf("&check") != -1) x_check="check";
            continue;
        }
        ID_x.push(xx);
    }

    if (number_r>=max_num_r && check == "check") {
        alert("限度数"+max_num_r+"を超えたため、登録できません。");
        return;
    }

    number =ID_x.length;
    while (ID_x.length > 0) {
        xx = ID_x.pop();
        if(number >= max_num && xx.indexOf("check") == -1) {
            number--;
            continue;
        }
        ID_n.push(xx);
    }

    if(check == "check") {
        x_check = "check";
    }

    xx = ID+"&"+MT+"&"+mat+"&"+x_check;
    ID_n.push(xx);
    ID_n.reverse();

    www = ID_n.join("|||");    

    setCookie("ML_data", www);
    if (check == "check") {
        ML_number_w(MT,"");   //MyListライト：先頭に登録
        alert("登録しました。");
    }
}

function ML_clear() {
    yn=confirm("MyListのすべてデータを削除します。");
    if (yn == true) {
        clearCookie("ML_number");
        clearCookie("ML_data");
        alert("データを削除しました。");
        window.location.reload(true);
    }
}

function getCookie(key,  tmp1, tmp2, xx1, xx2, xx3) {
    tmp1 = " " + document.cookie + ";";
    xx1 = xx2 = 0;
    len = tmp1.length;
    while (xx1 < len) {
        xx2 = tmp1.indexOf(";", xx1);
        tmp2 = tmp1.substring(xx1 + 1, xx2);
        xx3 = tmp2.indexOf("=");
        if (tmp2.substring(0, xx3) == key) {
            //return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
            return(tmp2.substring(xx3 + 1, xx2 - xx1 - 1));
        }
        xx1 = xx2 + 1;
    }
    return("");
}
function setCookie(key, val, days) {
     var str = key + "=" + val + ";";                   // 書き出す値１ : key=val
     if (days != 0) days=365;                           /* 日数 0 の時は365 */
     var dt = new Date();                               // 現在の日時
     dt.setDate(dt.getDate() + days);                   // days日後の日時
     str += "expires=" + dt.toGMTString() + ";";        // 書き出す値２ : 有効期限
     document.cookie = str;                             // Cookie に書き出し
    //tmp = key + "=" + escape(val) + "; ";
    //tmp = key + "=" + val + "; ";
    //tmp += "path=" + location.pathname + "; ";
    //tmp += "expires=Fri, 31-Dec-2030 23:59:59; ";
    //document.cookie = tmp;
}
function clearCookie(key) {
    document.cookie = key + "=" + "; expires=Fri, 31-Dec-1999 23:59:59 GMT";
}


