function showNotice() {
  setTimeout('Effect.Fade("notice", {duration:1.0});' ,1000);
}


function showAlert() {
  Effect.Pulsate("alert", {duration:2});
}


function notice_disp(num) {
  if($("check"+num).checked) {
    Effect.Appear("notice"+num, {duration:0.5});
  } else {
    Effect.Fade("notice"+num, {duration:0.5});
  }
}

function confirmLogout() {
  if(confirm("ログアウトしてよろしいですか？")) location.href="login.php?mode=logout";
}


// Result and Studybook
function notice_disp(num) {
  if($("check"+num).checked) {
    Effect.Appear("notice"+num, {duration:0.3});
  } else {
    Effect.Fade("notice"+num, {duration:0.3});
  }
}


function check_relate(sw, num) {
  if(sw=="s") {
    if($("check_s"+num).checked==true) {
      $("check"+num).checked=true;
      notice_disp(num);
    } else {
      $("check"+num).checked=false;
      notice_disp(num);
    }
  } else {
    if($("check"+num).checked==true) {
      $("check_s"+num).checked=true;
    } else {
      $("check_s"+num).checked=false;
    }
  }
}

function ex_sw(num, sw) { //EXplanation SWitch
  if(sw=="on") {
    $("ex_show"+num).style.display="none";
    $("ex_hide"+num).style.display="inline";
    Effect.Appear("ex"+num, {duration:0.5});
  } else {
    $("ex_show"+num).style.display="inline";
    $("ex_hide"+num).style.display="none";
    Effect.Fade("ex"+num, {duration:0.5});
  }
}

var focusFlg = false;
function bgChange(tg, sw) {
  if(sw=="over" && focusFlg==false) $(tg).style.backgroundColor = "#FFFFEE";
  else if(sw=="out" && focusFlg==false) $(tg).style.backgroundColor = "#FFFFFF";
  else if(sw=="focus") {
    $(tg).style.backgroundColor = "#FFFFDD";
    focusFlg = true;
  } else if(sw=="blur") {
    $(tg).style.backgroundColor = "#FFFFFF";
    focusFlg = false;
  }
}

function wrongCheck(n) {
  if($("wc").checked==true) {
    for(i=0;i<n;i++) {
      if($("check_s" + i)) {
        if($("check_s" + i).value=="wrong") $("check_s" + i).checked=true;
        check_relate("s", i)
      }
    }
  } else {
    for(i=0;i<n;i++) {
      if($("check_s" + i)) {
        $("check_s" + i).checked=false;
        check_relate("s", i)
      }
    }
  }
}


var adMaxNum = 3;
var adNum = adMaxNum + 1;
function changeAd() {
  if($('ad' + adNum)) Effect.Fade('ad' + adNum);
  do {
    adNum--;
    if(adNum < 1) adNum = adMaxNum;
  } while(!$('ad' + adNum))
  Effect.Appear('ad' + adNum);
  setTimeout("changeAd()", 10000);
}


function ans_right() {
  if(!ansFlg) {
    $("btn_true").disabled = true;
    $("btn_false").disabled = true;

    Effect.Appear("right", {duration:0.3});
    Effect.Pulsate("judge_right");

    Element.show("btn_next_right_box");
    $("btn_next_right").focus();

    Element.show("icon_right");
    Effect.Pulsate("icon_right");
    Element.toggle("num_pre", "num_post");
    Element.toggle("link_quit", "link_quit_right");

    ansFlg = true;
  }
  $('question_data').style.color = '#CCC';
}

function ans_wrong() {
  if(!ansFlg) {
    $("btn_true").disabled = true;
    $("btn_false").disabled = true;

    Effect.Appear("wrong", {duration:0.3});
    Effect.Pulsate("judge_wrong");

    Element.show("btn_next_wrong_box");
    $("btn_next_wrong").focus();

    Element.show("icon_wrong");
    Effect.Pulsate("icon_wrong");
    Element.toggle("num_pre", "num_post");
    Element.toggle("link_quit", "link_quit_wrong");

    ansFlg = true;
  }
  $('question_data').style.color = '#CCC';
}

function ans_right_guest() {
  if(!ansFlg) {
    $("btn_true").disabled = true;
    $("btn_false").disabled = true;

//    if(!$("mute_sw").checked) ring.src='sound/right.mp3';

    Effect.Appear("right", {duration:0.3});
    Effect.Pulsate("judge_right");

    Element.show("btn_next_right_box");
    $("btn_next_right").focus();

    Element.show("icon_right");
    Effect.Pulsate("icon_right");
    Element.toggle("num_pre", "num_post");

    ansFlg = true;
  }
}

function ans_wrong_guest() {
  if(!ansFlg) {
    $("btn_true").disabled = true;
    $("btn_false").disabled = true;

//    if(!$("mute_sw").checked) ring.src='sound/wrong.mp3';

    Effect.Appear("wrong", {duration:0.3});
    Effect.Pulsate("judge_wrong");

    Element.show("btn_next_wrong_box");
    $("btn_next_wrong").focus();

    Element.show("icon_wrong");
    Effect.Pulsate("icon_wrong");
    Element.toggle("num_pre", "num_post");

    ansFlg = true;
  }
}

function emergency() {
    document.getElementsByTagName('body')[0].style.display = 'none';
    window.location = 'http://www.google.co.jp/';        
}

function addressCheck(email, sbmt, theForm) {
  sbmt = $(sbmt);
  sbmt.disabled = true;
  email = $(email).value;
  if(!email) {
    alert("メールアドレスが入力されていません。");
    sbmt.disabled = false;
  } else if(!email.match(/[!#-9A-~]+@[a-z0-9\-]+\.+[a-z0-9]+/i)) {
    alert("メールアドレスの書式が正しくありません。");
    sbmt.disabled = false;
  } else theForm.submit();
}

function namePwCheck(username, pw, sbmt, theForm) {
  sbmt = $(sbmt);
  sbmt.disabled = true;
  username = $(username).value;
  pw = $(pw).value;
  if(!username) {
    alert("ユーザー名が入力されていません。");
    sbmt.disabled = false;
  } else if(!pw) {
    alert("パスワードが入力されていません。");
    sbmt.disabled = false;
  } else if(pw.match(/[^0-9a-zA-Z]/)) {
    alert("パスワードに使えるのは半角英数字のみです。");
    sbmt.disabled = false;
  } else theForm.submit();
}

function levelCheck(theForm) {
  if(!$('level1').checked && !$('level2').checked) {
    alert("レベルが選択されていません。");
  } else {
    var level = 0;
    if($("level1").checked==true) level+=1;
    if($("level2").checked==true) level+=2;

    $("level").value = level;

    theForm.submit();
  }
}

function sbmtAddresses(sbmtBtn, addresses, theForm) {
  $(sbmtBtn).disabled = true;
  var addresses = $(addresses).value;
  addresses = addresses.replace(/\r\n/g, "\n");
  addresses = addresses.replace(/\r/g, "\n");
  var address = addresses.split("\n");
  var errorCheck = false;
  var exists = false;
  for(i=0;i<address.length;i++) {
    if(address[i]) {
      exists = true;
      if(!address[i].match(/[!#-9A-~]+@[a-z0-9\-]+\.+[a-z0-9]+/i)) {
        alert("\"" + address[i] + "\"\nの書式を確認してください。");
        errorCheck = true;
      }
    }
  }

  if(!exists) alert("メールアドレスが入力されていません。");
  else if(!errorCheck) $(theForm).submit();
  $(sbmtBtn).disabled = false;
}

function honkiConfirm() {
  $("sbmt_honki").disabled = true;
  honki = confirm("本気モードの申し込みを行います。\nよろしいですか？");
  if(honki) $("form_honki").submit();
  else {
    $("sbmt_honki").disabled = false;
    return false;
  }
}


function tabSw(tab) {
  var tabs = document.getElementsByClassName("setting_tab_on");
  for(var i = 0; i<tabs.length; i++) {
    Element.hide(tabs[i]);
    Element.show("tab" + i + "off");
    Element.hide("body" + i);
  }

  Element.show("body" + tab);
  Element.show("tab" + tab + "on");
  Element.hide("tab" + tab + "off");
}

function linkInitialize() {
  linkBase = "http://www.sharoad.com/";
  linkOptionBanner = "";
  linkOptionMail = "";
  bannerSrc = "http://www.sharoad.com/banners/"
  bannerFileaName = "banner150x30_1.png"
  linkSw = "banner";
}

function linkWriteBanner() {
  $("linktag_banner").value = '<a href="' + linkBase + linkOptionBanner + '" target="_blank"><img src="' + bannerSrc + bannerFileaName + '" style="border-width:0;" /></a>';
}

function linkWriteMail() {
  $("linktag_mail").value = linkBase + linkOptionMail;
}

function bannerStep1() {
  Effect.Appear('banner_step2', {duration:0.3});
  Element.hide('mail_step2');
}

function bannerStep2(banner) {
  bannerFileaName = $(banner).value;
  linkWriteBanner();
  Effect.Appear('banner_step3', {duration:0.3});
}

function bannerStep3(option) {
  linkOptionBanner = $(option).value;
  linkWriteBanner();
  Effect.Appear('banner_step4', {duration:0.3});
}

function mailStep1() {
  Effect.Appear('mail_step2', {duration:0.3});
  Element.hide('banner_step2');
}

function mailStep2(option) {
  linkOptionMail = $(option).value;
  linkWriteMail();
  Effect.Appear('mail_step3', {duration:0.3});
}

function sbmtDiary(mode) {
  if(!$("body").value) {
    alert("本文が入力されていません。");
    return false;
  } else {
    if(!$("title").value) $("title").value = "（タイトルなし）";
    var sbmt = document.getElementsByName("sbmt");
    var sbmtLen = sbmt.length;
    for(var i = 0; i<sbmtLen; i++) sbmt[i].disabled = true;
    $("mode").value = mode;
    $("form_diary").submit();
  }
}

function sbmtCmt(mode) {
  if(!$("cmt").value) {
    alert("コメントが入力されていません。");
    return false;
  } else {
    var sbmt = document.getElementsByName("sbmt");
    var sbmtLen = sbmt.length;
    for(var i = 0; i<sbmtLen; i++) sbmt[i].disabled = true;
    $("mode").value = mode;
    $("form_cmt").submit();
  }
}

function delCmt(id) {
  if(confirm("このコメントを削除してもよろしいですか？")) {
    $("cmt_del_id").value = id;
    $("form_cmt_del").submit();
  } else return false;
}

function delDiary(id) {
  if(confirm("この日記を削除してもよろしいですか？\n（この日記についたコメントもすべて削除されます。）")) {
    $("diary_del_id").value = id;
    $("form_diary_del").submit();
  } else return false;
}


function subjLevel(num_q_round) {
  for(var i = 1; i<=11; i++) {
    $("a" + i).style.backgroundColor = "#FFF";
    $("b" + i).style.backgroundColor = "#FFF";
    $("a" + i).style.fontWeight = "normal";
    $("b" + i).style.fontWeight = "normal";
  }

  var subj = $("subject").value;
  var level1 = $("level1");
  var level2 = $("level2");

  var totalNum = 0;
  if(level1.checked) totalNum += Number($("a" + subj).innerHTML);
  if(level2.checked) totalNum += Number($("b" + subj).innerHTML);

  if(!level1.checked && !level2.checked) {
    $("start").value = "レベルが選択されていません";
    $("start").disabled = true;
    Effect.Fade('max_num_over', {duration:0.3});
  } else if(totalNum==0) {
    $("start").value = "問題がありません";
    $("start").disabled = true;
    var bgc = "#F99", numExists = false;
    Effect.Fade('max_num_over', {duration:0.3});
  } else {
    $("start").value = "学習開始";
    $("start").disabled = false;
    var bgc = "#CCF", numExists = true;
    if(num_q_round > totalNum) {
      $('selected_num_q_1').innerHTML = totalNum;
      $('selected_num_q_2').innerHTML = totalNum;
      Effect.Appear('max_num_over', {duration:0.3});
    } else Effect.Fade('max_num_over', {duration:0.3});
  }

  var level = 0;
  if(level1.checked) {
    $("a" + subj).style.backgroundColor = bgc;
    $("a" + subj).style.fontWeight = "bold";
    if(!numExists) Effect.Pulsate("a" + subj, {duration:2.5});
    level += 1;
  }
  if(level2.checked) {
    $("b" + subj).style.backgroundColor = bgc;
    $("b" + subj).style.fontWeight = "bold";
    if(!numExists) Effect.Pulsate("b" + subj, {duration:2.5});
    level += 2;
  }

  var dateObj = new Date();
  dateObj.setTime(dateObj.getTime()+1000*60*60*24*180);
  document.cookie = "level=" + level + ";expires=" + dateObj.toGMTString() + ";";
  document.cookie = "subject=" + subj + ";expires=" + dateObj.toGMTString() + ";";
}


function honkiReport() {
  if(confirm("お支払い完了報告を送信してよろしいですか？")) $("form_honki_report").submit();
  else return false;
}


function mailSendr() {
  $("mssengr").value = "mailSendr";
  $("form_sendmail").submit();
}

function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
}

function slctGrphSbjct(mode) {
  var userid = $('graph_userid').value;
  var subject = $('graph_subject').value;
  var dateObj = new Date();
  var t = dateObj.getTime();
  var option = 'id=' + userid + '&s=' + subject + '&t=' + t;
  var mode = $('graph_mode').value;
  var everyDay = $('graph_every_day');
  var withData = $('graph_with_data');

  for(var i=0; i<=11; i++) Element.hide('num_q' + i);
  Element.show('num_q' + subject);

  if(mode=='no_skip') {
    option += "&m=no_skip";
    everyDay.innerHTML = '<b>毎日表示</b>';
    withData.innerHTML = '<a href="#" onClick="$(\'graph_mode\').value=\'\';slctGrphSbjct();return false;">記録がある日のみ</a>';
    dateObj.setTime(dateObj.getTime()+1000*60*60*24*180);
    document.cookie = "gmode=ns;expires=" + dateObj.toGMTString() + ";";
  } else {
    everyDay.innerHTML = '<a href="#" onClick="$(\'graph_mode\').value=\'no_skip\';slctGrphSbjct();return false;">毎日表示</a>';
    withData.innerHTML = '<b>記録がある日のみ</b>';
    document.cookie = "gmode=;expires=Thu, 01 Jan 1970 00:00:00 GMT;";
  }

  $('index_user_record_graph').src = "graph_m.php?" + option;
}

function studybookSubject() {
    $('subject_sw').value = '1';
    $('form_studybook').submit();
}
