function change_box(elemname)
{
    elem = document.getElementById(elemname);
    if (elem.style.display=='block') {
        elem.style.display='none'
    } else {
        elem.style.display='block'
    }
    return true;
}

function enableSubmit(submit_buttn, annouce_area, msg) 
{
    document.getElementById(submit_buttn).disabled = false;
    noticeMsg(annouce_area, msg);
}
function noticeMsg(annouce_area, msg) 
{
    if (!msg) msg = '変更は反映されていません。「設定」ボタンをクリックしてください';
    document.getElementById(annouce_area).innerHTML = '<div class="announce"><ul class="notice"><li>'+msg+'</li></ul>';
}
function moveOption(target_from, movetype) {
    var fromlist = document.getElementById(target_from);
    target_id = fromlist.selectedIndex;
    if (target_id == -1) return false;
    if (target_id < 1 && movetype == -1) return false;
    if (target_id >= fromlist.length-1 && movetype == 1) return false;
    if (fromlist.options[target_id + movetype]) {
        tmp_option_text = fromlist.options[target_id + movetype].text;
        tmp_option_value = fromlist.options[target_id + movetype].value;
    } else {
        return false;
    }
    fromlist.options[target_id + movetype] = new Option(fromlist.options[target_id].text, fromlist.options[target_id].value);
    fromlist.options[target_id] = new Option(tmp_option_text, tmp_option_value);
    fromlist.options[target_id + movetype].selected = true;
    return true;
}
function moveList(target_from, target_to) {
    var fromlist = document.getElementById(target_from);
    var tolist   = document.getElementById(target_to);
    if (fromlist.options.length == 0) return false;
    var flg_selected = false;
    for (var i=0; i < fromlist.options.length; i++) {
        if (fromlist.options[i].selected) {
            flg_selected = true;
            tolist.options[tolist.options.length] = new Option(fromlist.options[i].text, fromlist.options[i].value);
            fromlist.options[i] = null;
            i--;
        }
    }
    return flg_selected;
}
function renameOption(target_elem, idx, optext) {
    var list1 = document.getElementById(target_elem);
    if (list1.options.length == 0) return false;
    var flg_change = false;
    for (var i=0; i < list1.options.length; i++) {
        if (list1.options[i].value == idx && optext != list1.options[i].text) {
            flg_change = true;
            list1.options[i].text = optext
            list1.options[i].value = idx;
        }
    }
    return flg_change;
}
function selectedAll(target_elem) {
    usercontents = document.getElementById(target_elem);
    if (usercontents.options.length > 0) {
        for(i=0; i<usercontents.options.length; i++) {
            usercontents.options[i].selected = true;
        }
    }
}

function showAliasBox(from_elem, box_name, text_name, id_name)
{
    if (from_elem.selectedIndex == -1) return false;
    document.getElementById(box_name).style.visibility = 'visible';
    document.getElementById(text_name).value = from_elem.options[from_elem.selectedIndex].text;
    document.getElementById(id_name).value = from_elem.options[from_elem.selectedIndex].value;
}

function setAlias(from_value, from_id, target_elem_name, set_elem_name)
{
    aliasid = document.getElementById(from_id).value;
    aliasval = document.getElementById(from_value).value;
    document.getElementById(target_elem_name+'['+aliasid+']').value = aliasval;
    return renameOption(set_elem_name, aliasid, aliasval);
}

function hideAliasBox(box_name, text_name, id_name)
{
    document.getElementById(box_name).style.visibility = 'hidden';
    document.getElementById(text_name).value = "";
    document.getElementById(id_name).value = "";
}

function showPhoto(aid)
{
    window.open('?action_album_popup=1&aid='+aid, 'win_photo', 
    'location=no,resizable=no,scrollbars=no,directories=no,status=0,titlebar=0,menubar=no,width=50,height=50')
    
}

var Async = false;
function AsyncGet(serverURL, returnFunction, arg1, arg2, arg3) {
    try {
        Async = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            Async = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            if (typeof XMLHttpRequest!='undefined') {
                Async = new XMLHttpRequest();
            } else {
                return false;
            }
        }
    }
    Async.onreadystatechange = function() {
        eval(returnFunction+"(Async.readyState, arg1, arg2, arg3)");
    }
    Async.open("GET", serverURL, true);
    Async.send(null);
}



var showLock = false;
function showComment(aid, ts)
{
    if (showLock == true) {
        setTimeout("ShowComment("+aid+")", 100);
        return;
    }
    var tgt = document.getElementById('comment_'+aid);
    if (tgt.innerHTML == '') {
        showLock = true;
        AsyncGet('?action_ajax_commentview=1&aid='+aid, '_showComment', aid);
    } else if (tgt.style.display == 'none') {
        showLock = true;
        AsyncGet('?action_ajax_commentview=1&aid='+aid, '_showComment', aid);
    } else {
        tgt.style.display = 'none';
    }
}

function sDecode(t)
{
    if (navigator.appVersion.indexOf("KHTML") > -1) {
        var esc = escape(t);
        if (esc.indexOf("%u") < 0 && esc.indexOf("%") > -1) {
            t = decodeURIComponent( esc );
        }
    }
    return t;
}

function _showComment(state, aid)
{
    var tgt = document.getElementById('comment_'+aid);
    if (state == 4) {
        tgt.innerHTML = sDecode(Async.responseText);
        showLock = false;
    } else {
        switch(state) {
            case 1:
                tgt.style.display = 'block';
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中.</div>';
                break;
            case 2:
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中..</div>';
                break;
            case 3:
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中...</div>';
                break;
        }
    }
}
function showTrackback(aid)
{
    if (showLock == true) {
        setTimeout("showTrackback("+aid+")", 100);
        return;
    }
    var tgt = document.getElementById('trackback_'+aid);
    if (tgt.innerHTML == '') {
        showLock = true;
        AsyncGet('?action_ajax_trackbackview=1&aid='+aid, '_showTrackback', aid);
    } else if (tgt.style.display == 'none') {
        showLock = true;
        AsyncGet('?action_ajax_trackbackview=1&aid='+aid, '_showTrackback', aid);
    } else {
        tgt.style.display = 'none';
    }
}

function _showTrackback(state, aid)
{
    var tgt = document.getElementById('trackback_'+aid);
    if (state == 4) {
        tgt.innerHTML = sDecode(Async.responseText);
        showLock = false;
    } else {
        switch(state) {
            case 1:
                tgt.style.display = 'block';
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中.</div>';
                break;
            case 2:
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中..</div>';
                break;
            case 3:
                tgt.innerHTML = '<div style="text-align:center;padding:5px">読み込み中...</div>';
                break;
        }
    }
}

function InitToolmenu() {
    for (var m = 1; m <= 7; m++) {
        if (document.getElementById('sm'+m)) {
            document.getElementById('sm'+m).onmouseover = mov;
            document.getElementById('sm'+m).onmouseout = mou;
        }
    }
}

function mov()
{
    this.className = 'm2';
}

function mou()
{
    this.className = 'm1';
}

