//map position save cookie.
function fn_save_cookie(latlng) {
      //現在の倍率を取得
      zoom = map.getZoom();
      var maptype     = map.getCurrentMapType();
      var maptypetext = "";

      switch (maptype) { 
        case G_NORMAL_MAP:    maptype = "G_NORMAL_MAP";    break; 
        case G_SATELLITE_MAP: maptype = "G_SATELLITE_MAP"; break; 
        case G_HYBRID_MAP:    maptype = "G_HYBRID_MAP";    break; 
      } 

      //経緯度・倍率をcookieに記憶
      setCookie('geeeo', latlng.y+','+latlng.x+','+zoom+','+maptype);
}


//save cookie.
function setCookie(key,val){
    //clear cookie
    tmp = key+"=;";
    tmp += "expires=Fri, 31-Dec-1999 23:59:59 GMT;";
    document.cookie = tmp;

    //set cookie
    tmp = key+"="+escape(val)+";";
    tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
    tmp += "path=/;";
    document.cookie = tmp;
}

function fm_map_operation() {
    latlng = map.getCenter();
    fn_save_cookie(latlng);
    map.clearOverlays();
    fn_request_mapping(latlng.y, latlng.x);
}


function fn_create_bbs() {
    var frm = document.create_form;

    if (frm.create_bbs_btn.disabled) {
        return false;
    }

    frm.create_bbs_btn.disabled = true;

    frm_title = frm.title.value;
    frm_name  = frm.name.value;
    frm_email = frm.email.value;
    frm_trip  = frm.trip.value;
    frm_body  = frm.body.value;
    frm_x     = frm.x.value;
    frm_y     = frm.y.value;
    if (frm.cookie.checked) {
      frm_cookie= 1;
    } else {
      frm_cookie= 0;
    }

    send_data  = "frm_title="   +encodeURIComponent(frm_title);
    send_data += "&frm_name="   +encodeURIComponent(frm_name);
    send_data += "&frm_email="  +encodeURIComponent(frm_email);
    send_data += "&frm_trip="   +encodeURIComponent(frm_trip);
    send_data += "&frm_body="   +encodeURIComponent(frm_body);
    send_data += "&frm_x="      +encodeURIComponent(frm_x);
    send_data += "&frm_y="      +encodeURIComponent(frm_y);
    send_data += "&frm_cookie=" +encodeURIComponent(frm_cookie);

  new Ajax.Request('/create_bbs.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
      if (res == 1) {
        location.href="/";
      } else {
        res = '<span class="caution">Error!<br />'+res+'</span>';
        $('err').innerHTML = res;
//        alert(res);
//        alert("Creating BBS has failed.");
        frm.create_bbs_btn.disabled = false;
      }
    },
    onFailure:function(httpObj){
      alert("Creating BBS has failed.");
      frm.create_bbs_btn.disabled = false;
    }
  });
}


//marker mapping
function fn_request_mapping(y, x, id) {
  var zoom = map.getZoom();

  send_data  = "map_lat="  +encodeURIComponent(y);
  send_data += "&map_lng=" +encodeURIComponent(x);
  send_data += "&zoom="    +encodeURIComponent(zoom);
  send_data += "&mk_idx="  +encodeURIComponent(mk_idx);
  send_data += "&id="      +encodeURIComponent(id);
//alert(send_data);

  new Ajax.Request('/marker_mapping.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
//alert(res);
      eval(res);
    },
    onFailure:function(httpObj){
    }
  });
}

//load bbs
function load_bbs(bbs_id, lat, lng, ptop) {

  latlng = new GLatLng(lat, lng);
  map.panTo(latlng);
  fn_save_cookie(latlng)
  send_data  = "bbs_id="+bbs_id;
  send_data += "&disp=limit";
  new Ajax.Request('/bbs_read.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
      if (res) {
        document.getElementById('bbs_list').innerHTML = res;
      } else {
        alert("BBS Loading has failed.");
      }
    },
    onFailure:function(httpObj){
      alert("BBS Loading has failed.");
    }
  });
  if (ptop) {
    window.scroll(0,0);
  }
}


//BBS comment write
function fn_bbs_comment_write() {
  var frm = document.bbs_comment;

  if (frm.submit_btn.disabled) {
    return false;
  }
  frm.submit_btn.disabled = true;

  send_data  = "frm_comment_name="   +encodeURIComponent(frm.comment_name.value);
  send_data += "&frm_subject=" +encodeURIComponent(frm.subject.value);
  send_data += "&frm_comment_email=" +encodeURIComponent(frm.comment_email.value);
//  send_data += "&frm_comment_trip="  +encodeURIComponent(frm.comment_trip.value);
  send_data += "&frm_comment_body="  +encodeURIComponent(frm.comment_body.value);
  send_data += "&frm_bbs_id="        +encodeURIComponent(frm.bbs_id.value);
  send_data += "&frm_sid="           +encodeURIComponent(frm.sid.value);
  send_data += "&frm_tmp_ext="       +encodeURIComponent(frm.tmp_ext.value);
  send_data += "&szj="               +encodeURIComponent(frm.szj.value);
  if (frm.cookie.checked) {
    send_data += "&frm_cookie=1";
  } else {
    send_data += "&frm_cookie=0";
  }
  new Ajax.Request('/bbs_comment_write.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
      if (res==1) {
        load_bbs(frm.bbs_id.value, frm.lat.value, frm.lng.value, 0);
      } else {
        alert(res);
        res = '<span class="caution">書き込みができません!<br />'+res+'</span>';
        $('err').innerHTML = res;
//        alert("BBS comment writing has failed.");
        frm.submit_btn.disabled = false;
      }
    },
    onFailure:function(httpObj){
      alert("BBS comment writing has failed.");
      frm.submit_btn.disabled = false;
    }
  });
}


function fn_search_bbs() {
  var frm = document.search;
  send_data  = "frm_keyword="   +encodeURIComponent(frm.keyword.value);

  new Ajax.Request('./bbs_search.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
      if (res) {
        document.getElementById('bbs_list').innerHTML = res;
      } else {
        alert("Not found.");
      }
    },
    onFailure:function(httpObj){
        alert("Not found.");
    }
  });
}

//HOME contents request.
function fn_request_home_contents() {
  new Ajax.Request('./bbs_request_home.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
      if (res) {
        document.getElementById('bbs_list').innerHTML = res;
      } else {
        alert("Not found.");
      }
    },
    onFailure:function(httpObj){
        alert("Not found.");
    }
  });
  window.scroll(0,0);
}

function scrollTop() {
   if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
      sctop = document.body.parentNode.scrollTop;
   }
   else if(window.pageYOffset){
      sctop = window.pageYOffset;
   } else {
      sctop = document.body.scrollTop;
   }

   if(sctop){
      scup = Math.ceil(sctop*.2);
      scrollBy(0,-scup);
      if (sctop-scup) setTimeout("scrollTop()",20);
   }
}

//delete bbs
function delete_bbs(bbs_id) {
  var frm = document.search;
  send_data  = "bbs_id="   +encodeURIComponent(bbs_id);

  new Ajax.Request('./bbs_delete.php', {
    method: "post",
    parameters: send_data,
    onSuccess:function(httpObj){
      res = decodeURIComponent(httpObj.responseText);
//alert(res);
      if (res==1) {
        location.reload();
      } else {
        alert("Failed.");
      }
    },
    onFailure:function(httpObj){
        alert("Failed.");
    }
  });
}



function file_format_check() {
    //var fname = $F('imgfile');
    var fname = document.userfile.imgfile.value;
    var d  = $("cabinet");
    //var d  = document.getElementById("cabinet");
    var len   = fname.length;
    var ext   = fname.substr(len-4, 4);

    //拡張子チェック
    if (!ext_chk(ext)) {
        alert('このファイルは投稿できません!!\n再指定してください。');
        return false;
    }
    fn_img_upload();
}

function ext_chk(ext) {
    switch (ext) {
        case '.jpg':
        case '.JPG':
        case '.jpeg':
        case '.JPEG':
        case '.gif':
        case '.GIF':
        case '.png':
        case '.PNG':
            return true;
            break;
        default:
            return false
            break;
    }
}

function fn_img_upload() {
    var buf_action = $('userfile').action;
    var buf_method = $('userfile').method;

    $('userfile').action = '/bbs_img_upload.php';
    $('userfile').target = 'up_iframe';

    $('userfile').submit();
    $("cabinet").innerHTML='<span style="color:#aaa;">ファイル転送中です...</span>';
    document.bbs_comment.submit_btn.disabled = true;

    $('userfile').action=buf_action;
    $('userfile').action=buf_method;
    $('userfile').target=null; 
}

