// JavaScript Document

var xxxurl = "http://xxx.asg.to";
var frontendurl = "http://asg.to";
var myLanguage = "ja";

// htmlエスケープ
function htmlEscape(str){
    filtered = "";
    for (i = 0; i < str.length; i++) {
        switch (str.charAt(i)) {
           case '<':
             filtered += "&lt;";
             break;
           case '>':
             filtered += "&gt;";
             break;
           case '&':
             filtered += "&amp;";
             break;
           case '"':
             filtered += "&quot;";
             break;
           case '\'':
             filtered += "&#39;";
             break;
           default:
             filtered += str.charAt(i);
        }
    }

    if (filtered.length>32) {
        return filtered.substring(0,32)+"...";
    } else {
        return filtered;
    }
}

function jstrlen(str) {
   len = 0;
   str = escape(str);
   for (i = 0; i < str.length; i++, len++) {
      if (str.charAt(i) == "%") {
         if (str.charAt(++i) == "u") {
            i += 3;
            len++;
         }
         i++;
      }
   }
   return len;
}

//チェックして削除

function CkDel(form) {
    if (confirm(" 一括削除します。\n本当に削除してよろしいですか？ ")) {
        var ix = document.createElement('input');
        ix.type = 'hidden';
        ix.name = 'delete_x';
        ix.value = '1';
        form.insertBefore(ix, form.lastChild);
        var iy = document.createElement('input');
        iy.type = 'hidden';
        iy.name = 'delete_y';
        iy.value = '1';
        form.insertBefore(iy, form.lastChild);
        return true;
    } else {
        return false;
    }
}

//ソート用
function sortCcdSubmit(sort, ccd, page){
    window.location.href=page+'?sort='+sort+'&ccd='+ccd;
}

function sortMovie(sort, term, ccd, url)
{
    window.location.href = url + '?term=' + term + '&sort=' + sort + '&ccd=' + ccd;
}
function sortTermSubmit(sort, term, page){
    window.location.href=page+'?sort='+sort+'&term='+term;
}

function sortVcdSubmit(sort, vcd, page){
    window.location.href=page+'?sort='+sort+'&vcd='+vcd;
}
function sortMcdSubmit(sort, mcd, page){
    window.location.href=page+'?sort='+sort+'&mcd='+mcd;
}

function sortPcdSubmit(sort, pcd, page){
    window.location.href=page+'?sort='+sort+'&pcd='+pcd;
}


//アダルトカテゴリ表示用
function adultDisp(){
    /*if(document.uploadContents.contents_category1.value==-1){
        document.all.adult_ctgr.style.display='';
    } else {
        document.all.adult_ctgr.style.display='none';
    }*/
}

//動画アップロード用
function dispConfirm(){

    strErrMsg = "";

    // エラーをクリア

    getDocumentByID("input_file").className = "";
    getDocumentByID("input_title").className = "";
    getDocumentByID("input_comment").className = "";
    getDocumentByID("input_url").className = "";


    // category
    /*
    if (document.all.adult_ctgr.style.display=="none"){
        strCategory = document.uploadContents.contents_category1.options[document.uploadContents.contents_category1.selectedIndex].text;
    } else {
        if (!confirm('18歳以上ですか？')) {
            return false;
        }
        strCategory = document.uploadContents.contents_category2.options[document.uploadContents.contents_category2.selectedIndex].text;
    }
    */
    /*
    arrFile = (document.uploadContents.contents.value).split('\\').reverse();
    if (!arrFile[0].match(/\.(wmv|mpg|mpeg|avi|ogg|3gp|vob)$/i)) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />アップロード可能なファイルを入力してください。</b><br />\n";
        getDocumentByID("input_file").className = "error";
    }
    */
    // title
    /*
    strTitle = document.uploadContents.contents_title.value;
    if (strTitle.replace(/^\s+|\s+$/g, "").length<1) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />動画タイトルを入力してください。</b><br />\n";
        getDocumentByID("input_title").className = "error";
    } else if(jstrlen(strTitle)>100) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />動画タイトルは最大30バイトです。</b><br />\n";
        getDocumentByID("input_title").className = "error";
    }
    */
    // comment
    /*
    strComment = document.uploadContents.contents_comment.value;
    if (strComment.replace(/^\s+|\s+$/g, "").length<1) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />紹介文を入力してください。</b><br />\n";
        getDocumentByID("input_comment").className = "error";
    } else if (strComment.length > 500) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />紹介文は最大500文字です。</b><br />\n";
        getDocumentByID("input_comment").className = "error";
    }
    */
    // keyword
    strKeyword = document.uploadContents.contents_keyword.value;
    // hp
    /*
    strHp = document.uploadContents.contents_hp.value;
    if(jstrlen(strHp)>100) {
        strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />ホームページ名は最大100バイトです。</b><br />\n";
        getDocumentByID("input_url").className = "error";
    }
    */
    // url
    /*
    strUrl = document.uploadContents.contents_url.value;
    for (i=0;i<strUrl.length;i++) {
        if(escape(strUrl.charAt(i)).length>=4){
            strErrMsg += "  <b><img src='/common_images/icon_error.gif' alt='' align='absmiddle' />URLの形式が間違っています。</b><br />\n";
            getDocumentByID("input_url").className = "error";
            break;
            //break out;
        }
    }
    */

    // original
    if (document.uploadContents.contents_original[1].checked){
        strOrg = "オリジナル ";
    } else {
        strOrg = "オリジナルでない";
    }

    /* unused in new upload form. free to drop.
    strConfirm  = "<div style='background-color:lightyellow'>";
    strConfirm += "<img src='/common_images/spacer.gif' width='1' height='20' />";
    strConfirm += "<p style='color:red'>　　この内容で投稿します。よろしいですか？</p>";
    strConfirm += "<div align='center'>";
    strConfirm += "<table>";
    strConfirm += "    <tr><td>";
    strConfirm += "    <table>";
    strConfirm += "        <tr><th align='left' width='35%' nowrap>動画タイトル</th><td width='65%' align='left'>"+htmlEscape(strTitle)+"</td></tr>";
    strConfirm += "        <tr><td colspan='2'><br /></td></tr>";
    //strConfirm += "        <tr><th align='left' nowrap>カテゴリ</th><td align='left'>"+htmlEscape(strCategory)+"</td></tr>";
    strConfirm += "        <tr><td colspan='2'><br /></td></tr>";
    strConfirm += "        <tr><th align='left' nowrap>紹介文</th><td align='left'>"+htmlEscape(strComment)+"</td></tr>";
    strConfirm += "        <tr><td colspan='2'><br /></td></tr>";
    strConfirm += "        <tr><th align='left' nowrap>キーワード</th><td align='left'>"+htmlEscape(strKeyword)+"</td></tr>";
    strConfirm += "        <tr><td colspan='2'><br /></td></tr>";
    strConfirm += "        <tr><th align='left' nowrap>ホームページ・アドレス</th><td align='left'>"+htmlEscape(strHp)+"<br />"+strUrl+"</td></tr>";
    strConfirm += "        <tr><td colspan='2'><br /></td></tr>";
    strConfirm += "    <tr><td colspan=2>"+strOrg+"</td></tr>";
    strConfirm += "    </td></tr>";
    strConfirm += "</table>";
    strConfirm += "<p>"
    strConfirm += "<label><img id=\"captcha_image\" src=\"captcha.php\"/>&nbsp;<a href=\"#captcha\" onclick=\"$('captcha_image').src = 'captcha.php?'+Math.random();$('captcha_error_message').style.display='none';\">認証文字を作り直す</a>";
    strConfirm += "<div class='red' id='captcha_error_message'></div><br />";
    strConfirm += "認証文字: <input type='text' id='captcha' name='captcha' onfocus=\"$('captcha_error_message').innerHTML=''\" /><br />"; // change this code into japanese
    strConfirm += "</label>";
    strConfirm += "</p>";
    strConfirm += "<img src='/common_images/spacer.gif' width='1' height='20' />";
    strConfirm += "<div id='loading_image' style='display:none'><img src='/common_images/loading.gif' alt='loading...'></div>";
    strConfirm += "<table width='80%'>";
    strConfirm += "    <tr><td><input type='button' id='back_button' value='もどる' onClick='cancelConfirm(); return false;' /></td>";
    strConfirm += "        <td><input id='submit_button' type='button' name='button' value='送信' onclick=\"check_captcha(this);\" /></td></tr>";
    strConfirm += "<input type='submit' name='submit' id='submit' style='display:none'>";
    strConfirm += "</table>";
    strConfirm += "<input type='hidden' name='ama' value='ama'>";
    strConfirm += "</div>";
    strConfirm += "</div>";
    */

    if (strErrMsg.length>0) {
        getDocumentByID('errorMsg').style.display='';
        getDocumentByID('errorMsg').innerHTML=strErrMsg;
        location.hash = 'top';
        return false;
    } else {
        getDocumentByID('errorMsg').style.display='none';
//        getDocumentByID('cuts').style.display='none';
//        getDocumentByID('confirmMsg').innerHTML = strConfirm;
        return true;
    }

}

function cancelConfirm(){
    getDocumentByID('cuts').style.display='';
    getDocumentByID('confirmMsg').innerHTML = "";

    return false;
}

/*
 * 与えられた変数名をもつクッキーの値の配列を返す
 * @param name 変数名
 */
function getCookieAsArray(name)
{
    var cookie = document.cookie;
    if (cookie == "") return [];

    var start = cookie.indexOf(name + '=');
    if (start == -1) {
        var result = [];
        var regexp = new RegExp(name + "\\[[0-9]+\\]=", "i");
        var s = 0;
        var e = 0;
        while ( (s = cookie.search(regexp)) >= 0) {
            var temp = cookie.match(regexp);
            if (temp instanceof Array) {
                temp = temp[0];
            }
            e = cookie.indexOf(';', s + temp.length);
            if (e < 0) {
                e = cookie.length;
            }
            result.push(cookie.substring(s + temp.length, e));
            cookie = cookie.substring(e, cookie.length);
//              alert("cookie: " + cookie);
        }
        return result;
    } else {
        start += name.length + 1;
        var end = cookie.indexOf(';', start);
        if (end == -1) end = cookie.length;
        return [cookie.substring(start, end)];
    }
}

function vote(form, code, submitname, innerID)
{
    var arr = getCookieAsArray('vote_code');
    while (arr.length > 0) {
        if (code == arr.shift()) return alert("投票済みです。");
    }
    imageSubmit(form, submitname, innerID);
}

function parentGoTo(url)
{
    parent.location.href = url;
}

function searchSubmit(form, string) {
    if (string.length == 0) {
        return false;
    } else {
        form.submit();
    }
}
function getDocumentByID(id) {
    if (document.getElementById) {
        return document.getElementById(id);
    } else if(document.layers){
        return document.layers[id];
    } else {
        return document.all(id);
    }
}

function addXY(form, submitname, innerID) {
    var tags = '<input type="hidden" name="' + submitname + '_x" value="1" />'
        + '<input type="hidden" name="' + submitname + '_y" value="1" />';
    document.getElementById(innerID).innerHTML = tags;
}

function imageSubmit(form, submitname, innerID) {
    addXY(form, submitname, innerID);
    form.submit();
}

var _voted = false;

function voteAsync(code, type)
{
    if (type == 'age' || type == 'sage') {
        if (_voted) {
            return alert('投票済みです。');
        } else {
            var viewed = false;
            var vrr = getCookieAsArray('view_code');
            while (vrr.length > 0) {
                if (code == vrr.shift()) {
                    viewed = true;
                    break;
                }
            }
            //if (!viewed) return alert('Cookie を有効にしてください。');
            if (!viewed) return;
            _voted = true;
        }

        var arr = getCookieAsArray('vote_code');
        while (arr.length > 0) {
            if (code == arr.shift()) return alert("投票済みです。");
        }

        var field = document.getElementById('num_' + type);

        try {
            field.innerHTML = (parseInt(field.innerHTML) + 1);
            var age = document.getElementById('age-btn');
            age.src = age.src.split('up').join('down');
            age.onmouseout = age.onmouseover = null;
            var sage = document.getElementById('sage-btn');
            sage.src = sage.src.split('up').join('down');
            sage.onmouseout = sage.onmouseover = null;
        } catch (e) {
            // nothing to do
        }

        xmlhttp = new XMLHttpRequest();
        if (xmlhttp) {
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    // nothing to do
                }
            }

            if (type == 'age'){
                xmlhttp.open('GET', '/movie/count.html?type=positive&mcd=' + code, false);
            } else {
                xmlhttp.open('GET', '/movie/count.html?type=negative&mcd=' + code, false);
            }
            xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
            var body = '';
            body += type + '_x=1&';
            body += type + '_y=1';
            xmlhttp.send(body);
        }
    }
}

function putXY(form, prefix)
{
    var ix = document.createElement('input');
    var iy = document.createElement('input');
    ix.type = 'hidden';
    iy.type = 'hidden';
    ix.name = prefix + '_x';
    iy.name = prefix + '_y';
    ix.value = '1';
    iy.value = '1';
    try {
        form.insertBefore(ix, form.lastChild);
        form.insertBefore(iy, form.lastChild);
        return true;
    } catch (e) {
        return false;
    }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}




//-----------------------共通ヘッダー広告------------------------------------------------------

adBody = [
          ['<a href="http://click-count.info/?m=ag_ss002" target="_blank"><img src="'+xxxurl+'/ad/ad01-01.jpg" alt="バナー" onmouseover="AdHead()" /></a>',
           '<a href="http://click-count.info/?m=ag_ss002" target="_blank"><img src="'+xxxurl+'/ad/ad01-001.gif" alt="バナー" border="0" onmouseout="AdHeadHide()" /></a>'],
          ['<a href="http://click-count.info/?m=ag_sc01" target="_blank"><img src="'+xxxurl+'/ad/ad01-02.gif" alt="バナー" border="0" onmouseover="AdHead()" /></a>',
           '<a href="http://click-count.info/?m=ag_sc01" target="_blank"><img src="'+xxxurl+'/ad/ad01-02_ov.gif" alt="バナー" border="0" onmouseout="AdHeadHide()" /></a>']
];

adRand = Math.floor(Math.random() * adBody.length);

function AdHead() {
    if(document.all){
        document.all['ad-over'].style.display = 'block';
        document.all['gnavi'].style.display = 'none';
    }
    if(document.layers){
        document.layers['ad-over'].display = 'block';
        document.layers['gnavi'].display = 'none';
    }
    if(!document.all && document.getElementById) {
        document.getElementById('ad-over').style.display = 'block';
        document.getElementById('gnavi').style.display = 'none';
    }
}

function AdHeadHide() {
    if(document.all){
        document.all['ad-over'].style.display = 'none';
        document.all['gnavi'].style.display = 'block';
    }
    if(document.layers){
        document.layers['ad-over'].display = 'none';
        document.layers['gnavi'].display = 'block';
    }
    if(!document.all && document.getElementById) {
        document.getElementById('ad-over').style.display = 'none';
        document.getElementById('gnavi').style.display = 'block';
    }
}

/* ------------------------------------------------------------------------ */

var modal = false;
var clipSelection = 0;

function createModal(parent, html, w, h)
{
    if (modal === false) {
        modal = document.createElement('div');
        modal.id = 'modal';
    } else {
        return;
    }
    //var l = -5;
    //var t = 20;
    var l = 7;
    var t = 20;
    var obj = parent;
    t += obj.offsetTop;
    /*while (obj.offsetParent) {
        l += obj.offsetLeft;
        t += obj.offsetTop;
        obj = obj.offsetParent;
    }*/
    with (modal.style) {
        backgroundColor = '#eeeeee';
        padding = '5px';
        position = 'absolute';
        left = l + 'px';
        top = t + 'px';
        width = w + 'em';
        minHeight = h + 'px';
        zIndex = '10';
        border = '1px solid #cccccc';
        display = 'block'
    }
    modal.innerHTML = html;
    parent.insertBefore(modal, null);
}

function cancelModal()
{
    modal.parentNode.removeChild(modal);
    modal = false;
}

function controlModal(mcd, memberName, proc)
{
    if (modal === false) {
        proc(mcd, memberName);
    } else {
        cancelModal();
    }
}


function popUpClipStep(mcd, memberName)
{
    var tag = '<script type="text/javascript" src="'+frontendurl+'/js/past_uraui.js"></script>';
    var lang = myLanguage != 'ja' ? '&lang='+myLanguage : '';
    tag += '<script type="text/javascript">Purauifla("mcd=' + mcd + lang + '", 450, 372);</script>';
    var html = '';
    html += '<form id="clip_form">';
    html += '<p style="text-align:right;margin:0px;padding:0px;"><span style="font-size:small;color:white;background-color:gray;" onmouseover="this.style.cursor=\'pointer\'" onclick="cancelModal();">x</span></p>'
    html += '<p style="padding:0px;margin:0px;font-weight:bold;">URL</p>';
    html += '<textarea name="url" cols="45" rows="1" onclick="this.focus();this.select();clipSelection=0;" readonly>' + window.location.href + '</textarea>';
    html += '<p style="padding:0px;margin:0px;font-weight:bold;">ビデオ埋め込み</p>';
    html += '<textarea name="tag" cols="45" rows="20" onclick="this.focus();this.select();clipSelection=1;" readonly>' + tag.escapeHTML() + '</textarea>';
    html += '<p id="modal_copy" style="text-align:center;margin:3px;padding:0px;"><a id="clip_step" href="javascript:submitClipStep();">クリップボードにコピー</a></p>';
    html += '</form>';
    createModal(document.getElementById('copy_to_paste'), html, 31, 450);
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
}

function submitMailForm(mcd, callback)
{
    var form = document.getElementById('mail_form');
    var name = form.elements[0].value;
    var from = form.elements[1].value;
    var to   = form.elements[2].value;
    var body = form.elements[3].value;
    var regexp = /^[A-Za-z0-9]+[\w-]+@[\w\.-]+\.\w{2,}$/;
    var failed = false;
    var options = {startcolor:'#ff9999',endcolor:'#ffffff',duration:2.0};
    if (name.length == 0) {failed = true; new Effect.Highlight(form.elements[0], options);}
    if (from.length == 0 || !from.match(regexp)) {failed = true; new Effect.Highlight(form.elements[1], options);}
    var arrTo = to.split(',');
    var i;
    for (i = 0; i < arrTo.length; i++) {
        arrTo[i] = arrTo[i].trim();
        if (arrTo[i].length == 0 || !arrTo[i].match(regexp)) {failed = true; new Effect.Highlight(form.elements[2], options); break;}
    }
    if (body.length == 0) {failed = true; new Effect.Highlight(form.elements[3], options);}
    if (failed) return;
    var xmlhttp = new XMLHttpRequest();
    if (xmlhttp) {
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                form.elements[0].value = form.elements[1].value = form.elements[2].value = form.elements[3].value = "";
            }
        }

        xmlhttp.open('POST', '/movie/notifyFriend.html', false);
        xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        var data = '';
        data += 'mcd='  + mcd + '&';
        data += 'name=' + encodeURIComponent(name) + '&';
        data += 'from=' + from + '&';
        data += 'to='   + to   + '&';
        data += 'body=' + encodeURIComponent(body);
        xmlhttp.send(data);
    }
    callback();
}

function submitClipStep()
{
    var parent = document.getElementById('modal_copy');

    /* cross-browser hack */
    var data;
    var form = document.getElementById('clip_form');
    var start, end;
    var ecs = form.elements[clipSelection];
    if ( (start = ecs.selectionStart) != (end = ecs.selectionEnd) ) {
        data = escape(ecs.value.substr(start, end - start));
    } else if (window.getSelection) {
        data = escape(window.getSelection().toString());
    } else if (document.getSelection) {
        data = escape(document.getSelection().toString());
    } else if (document.selection
               && document.selection.createRange
               && (data = document.selection.createRange().text) ) {
        data = escape(data);
    } else {
        return alert('選択されていません。');
    }

    var e = document.createElement('span');
    e.innerHTML = '<embed style="width:1px;height:1px;" src="/cb.swf" type="application/x-shockwave-flash" flashvars="data=' + data + '" ></embed>';
    try {
        var previous = document.getElementById('clip_swf');
        if (previous) {
            parent.replaceChild(e, previous);
        } else {
            parent.insertBefore(e,document.getElementById('clip_step'));
        }
        e.id = 'clip_swf';
    } catch (ex) {
        alert(ex.message);
    }
}

function resizeToInner(x, y) {
    if (window.outerWidth) {
        document.body.style.width = x + 'px';
        document.body.style.height = y + 'px';
        x -= window.innerWidth;
        y -= window.innerHeight;
        window.resizeBy(x, y);
    } else if (document.body && document.body.clientWidth) {
        window.resizeTo(x + 30, y + 30);
//      x -= document.body.clientWidth;
//      y -= document.body.clientHeight;
//      window.resizeBy(x, y);
    } else if (document.documentElement && document.documentElement.clientWidth) {
        window.resizeTo(x + 30, y + 30);
//      x -= document.documentElement.clientWidth;
//      y -= document.documentElement.clientHeight;
//      window.resizeBy(x, y);
    }
}

/* ------------------------------------------------------------------------ */

function deleteComment(f)
{
    var inputs = f.elements;
    var n = -1;
    var i;
    for (i=0; i<inputs.length; i++) {
        if (inputs[i].name == 'del_comment_password'
            && inputs[i].value.length == 0) {
            this.disnabled = false;
            alert('パスワードを入力してください。');
            return false;
        }
    }
    for (i=0; i<inputs.length; i++) {
        if (inputs[i].name == 'del_comment_no') {
            try {
                n = parseInt(inputs[i].value);
            } catch (e) {
                return false;
            } finally {
                break;
            }
        }
    }
    if (n >= 0) {
        for (i=0; i<inputs.length; i++) {
            if (inputs[i].name == ('d' + n)) {
                var id = parseInt(inputs[i].value);
                var e = document.createElement('input');
                e.name = 'del_comment_id';
                e.type = 'hidden';
                e.value = id.toString();
                f.insertBefore(e, null);
                return f.submit();
            }
        }
    }
    return false;
}

function checkComment(nickname, comment, delkey){
    nickname=nickname.trim();
    comment=comment.trim();
    delkey=delkey.trim();

    var errors=new Array();
    if(nickname.length == 0) { errors.push('no nicknames'); }
    if(comment.length == 0)  { errors.push('no comments'); }
    if(nickname.length > 100){ errors.push('nickname too long'); }
    if(delkey.length > 4)    { errors.push('delkey too long'); }
    if(!checkForbiddenWords(comment)) { errors.push('forbidden words'); }
    return errors;
}

function checkForbiddenWords (comment) {
    var xmlhttp = getXmlHttp();
    xmlhttp.open('GET', '/movie/validateComment.html?value=' + encodeURIComponent(comment) + "&r=" + Math.random(), false);
    xmlhttp.send(null);
    if(xmlhttp.status == 200) {
        if ("1" == xmlhttp.responseText) {
            return true;
        }
    }
    return false;
}

function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function getCookie(name) {
    if (document.cookie.length > 0) {
        var start = document.cookie.indexOf(name + "=");
        if (start != -1) {
            start = start + name.length + 1;
            var end = document.cookie.indexOf(";", start);
            if (end == -1) end = document.cookie.length;
            return document.cookie.substring(start, end);
        }
    }
    return "";
}

function setCookie(name, value, seconds, path) {
    var expires = "";
    if (seconds) {
        var date = new Date();
        date.setTime(date.getTime() + (seconds * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    document.cookie = name + "=" + value + expires + "; path=" + (path ? path : "/");
}

function delCookie(name) {
    setCookie(name, "", -1);
}

function markLinksForPopUp(className, hrefStart) {
    hrefStart = hrefStart ? hrefStart + "" : "/";
    var host = location.protocol+'//'+location.host;
    var cont = document.getElementById('main');
    var links = cont.getElementsByTagName('a');
    for(i=0;i<links.length;i++) {
        if (links[i]) {
            var href = links[i].getAttribute('href');
            if (href) {
                href = href.replace(host, '');
                href = href.substr(0, hrefStart.length);
                if (href == hrefStart) {
                    links[i].className += " "+className;
                }
            }
        }
    }
}

if (typeof(Prototype) !== 'undefined') {
        var closedTitle='ボックスを開く';
        var openedTitle='ボックスを閉じる';
	Event.observe(window, 'load', function() {
		$$('.shadable .shaderbutton').each(function(e) {
                        if($(e).up('.shadable').hasClassName('block_hidden')) {
                            $(e).setAttribute('title', closedTitle);
                        } else {
                            $(e).setAttribute('title', openedTitle);
                        }
			$(e).observe('click', function(event) {
				var schema = 'http';
                                var button = Event.element(event);
				var shadable = button.up('.shadable');
				var blockcode = shadable.getAttribute('blockcode');
				if (window.location.href.substr(0,5) == 'https') schema = 'https';
				if (shadable.hasClassName('block_hidden')) {
					shadable.removeClassName('block_hidden');
                                        button.setAttribute('title', openedTitle);
					new Ajax.Request('/member/blockShow.html?code='+blockcode);
				} else {
					shadable.addClassName('block_hidden');
                                        button.setAttribute('title', closedTitle);
					new Ajax.Request('/member/blockHide.html?code='+blockcode);
				}
			});
		});
	});
} else {
    if(typeof(jQuery) !== 'undefined') {
        $(document).ready(function() {
            $('.shadable .shaderbutton').each(function(e) {
                if ($(this).closest('.shadable').hasClass('block_hidden')) {
                    $(this).attr('title', closedTitle);
                } else {
                    $(this).attr('title', openedTitle);
                }
            });
            $('.shadable .shaderbutton').click(function(event) {
            var schema = 'http';
            var shadable = $(this).closest('.shadable');
            var blockcode = shadable.attr('blockcode');
            if (window.location.href.substr(0,5) == 'https') schema = 'https';
            if (shadable.hasClass('block_hidden')) {
                shadable.removeClass('block_hidden');
                        $(this).attr('title', openedTitle);
                        shadable.trigger('shadable.unshade');
                $.get('/member/blockShow.html?code='+blockcode);
            } else {
                shadable.addClass('block_hidden');
                        $(this).attr('title', closedTitle);
                        shadable.trigger('shadable.shade');
                $.get('/member/blockHide.html?code='+blockcode);
            }
            });
        });
    }
}



