/******************  以下是ajax用的js  *******************/
var http_request = false;
var strData = '';
var cMind = 0;
var cMindo = '';

//月曆
function calendarData(owner, y, m){
  home_makeRequest('calendar', '?owner='+owner+'&y='+y+'&m='+m);
  return strData;
}

function home_makeRequest(where, para){

    //判斷瀏覽器建立XMLHTTP實體
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if( 'blogMind' != where ){
          if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
          }
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        } finally {
            //http_request.SetRequestHeader("Content-Type", "text/xml;charset=big5");
        }
    }

    if (!http_request) {
        alert('資料查詢失敗！');
        return false;
    }

    //開啟http request
    var url, sync;
    switch(where){
      case 'calendar':
        url = 'http://home.gamer.com.tw/blogGetCalender.php'+para;
        sync = false;
        //http_request.onreadystatechange = function() { home_setContents(http_request); };

        break;
      case 'calendar2':
        url = 'http://home.gamer.com.tw/galleryGetCalender.php'+para;
        sync = false;
        break;
      case 'sayloud':
        url = 'http://home.gamer.com.tw/sayloudRand.php'+para;
        sync = true;
        http_request.onreadystatechange = home_setContents_sayloud;

        break;
      case 'blogMind':  //Blog 表情符號
        url = 'http://home.gamer.com.tw/blog_setMind.php'+para;
        sync = true;
        http_request.onreadystatechange = function() { blog_setMind(http_request); };
        
        break;

      case 'bloghit':   // 勇者大廳部落格文章列表
        url = 'http://home.gamer.com.tw/blogHit.php'+para;
        sync = true;
        http_request.onreadystatechange = function(){
          switch(http_request.readyState){
          case 4:
            var targetdiv = document.getElementById('bloghit');
            if(http_request.status == 200)
              targetdiv.innerHTML = http_request.responseText;
            else
              alert("http response code error!");

          break;
          default:
          }
        };
        break;
      case 'mission':
        url = 'mission.php'+para;
        sync = true;
        http_request.onreadystatechange = function() { showmission(http_request); };
        break;
      default:
        return;
    }
    http_request.open('GET', url , sync);
    http_request.send(null);

    if( 'calendar' == where || 'calendar2' == where ){
      strData=http_request.responseText;
    }

    return strData;
}

// 給勇者大廳部落格文章列表用
function showBlogHit(type){
   home_makeRequest('bloghit','?t=' + type);
}

function home_setContents(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            strData = http_request.responseText;
        } else {
            alert('資料查詢失敗！');
        }
    }
}

function home_setContents_sayloud() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            strData = http_request.responseText;
            showSayloud(strData);
        } else {
            alert('資料查詢失敗！');
        }
    }
}

function blog_setMind(http_request) {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      if(ckerror(http_request) ) {
        return 0;
      }
      showmind(http_request);
    }
  }
}

function blog_voteMind(owner, sn, voter) {
  var oo = document.frmMind.elements['rMind'];
  for(i=0;i<oo.length;i++) {
    if( oo[i].checked ) {
      cMind = oo[i].value;
      cMindo = i;
      break;
    }
  }
  if(0 != cMind) { 
    home_makeRequest('blogMind','?type=mind&owner='+owner+'&sn='+sn+'&voter='+voter+'&mind='+cMind);
  }
  else {
    alert('請選擇一個表情符號喔');
  }
}

function ckerror(http_request) {
  var xmldoc = http_request.responseXML;
  var nodes = xmldoc.getElementsByTagName('error');
  if(nodes.length) {
    alert(nodes[0].firstChild.nodeValue);
    return true;
  }
  return false;
}

function showmind(http_request) {
  var xmldoc = http_request.responseXML;
  var nodes = xmldoc.getElementsByTagName('mind');

  var max = 1;
  var allticket = 0; 
  for(var i=0; i<nodes.length; i++) {
    if(parseInt(nodes[i].firstChild.nodeValue) > max) {
      max = parseInt(nodes[i].firstChild.nodeValue);
    }
    allticket += parseInt(nodes[i].firstChild.nodeValue);
  }

  listData = new Array();
  for(var i=0; i<nodes.length; i++) {
    listData[i] = nodes[i].firstChild.nodeValue;
  }
  
  showMindData(max, allticket, listData);
}

function showMindData(mMax, mTotal, mData){
  var mesg = '<table width="650px" border="0" cellspacing="6" cellpadding="0" align="center">';
  mesg += '     <tr>';
  mesg += '       <td class="box1"><table width="100%" border="0" cellspacing="0" cellpadding="0">';
  mesg += '     <tr>';
  mesg += '       <td width="84%" class="box_title home_h1">這篇文章讓你覺得？(總票數:'+mTotal+'票)</td>';
  mesg += '     </tr>';
  mesg += '   </table>';
  mesg += '   <table width="650px" border="0" cellspacing="5" cellpadding="0">';
  mesg += '     <tr>';
  
  for(var i=0; i<mData.length; i++) {
    if( i == cMindo && '' != cMindo ) {  //選擇的
      mesg += '<td width="10%" align="center"><img src="http://pic.bahamut.com.tw/gnn/dark.jpg" width="10" height="'+(50-50*mData[i]/mMax)+'"><br><img src="http://pic.bahamut.com.tw/gnn/red.gif" width="10" height="'+(50*mData[i]/mMax)+'"></td>';
    }else{
      mesg += '<td width="10%" align="center"><img src="http://pic.bahamut.com.tw/gnn/dark.jpg" width="10" height="'+(50-50*mData[i]/mMax)+'"><br><img src="http://pic.bahamut.com.tw/gnn/blue.gif" width="10" height="'+(50*mData[i]/mMax)+'"></td>';
    }
  }
  
  mesg += '      </tr><tr>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_01.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_02.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_03.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_05.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_08.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/gnn/face_09.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/home/face_10.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/home/face_11.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/home/face_12.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td align="center"><img src="http://pic.bahamut.com.tw/home/face_13.gif" width="40" height="40" align="absmiddle"></td>';
  mesg += '        <td width="10%" rowspan="2" align="right" valign="bottom">&nbsp;</td>';
  mesg += '      </tr>';
  mesg += '   </table></td>';
  mesg += '          </tr>';
  mesg += '        </table>';
  var oo = document.getElementById('mind');
  oo.innerHTML = mesg;
}

/******************  顯示功勳的js  *******************/

function showHonor(uid, data){
  honorArr = honorData();
  harr = data.split(",");
  for(i=0; i<harr.length; i++){
    if(!harr[i]){
      continue;
    }
    if(1 == honorArr[harr[i]][1]){
      document.write('<a href="http://avatar1.gamer.com.tw/switchhonor.php?uid='+uid+'&htype='+harr[i]+'" target="_blank"><img src="http://pic.bahamut.com.tw/avatar/honorpic/'+harr[i]+'.gif" border="0" align="absmiddle" title="'+honorArr[harr[i]][0]+'"></a>');
    }
    else{
      document.write('<img src="http://pic.bahamut.com.tw/avatar/honorpic/'+harr[i]+'.gif" border="0" align="absmiddle" title="'+honorArr[harr[i]][0]+'">');
    }
  }
}



/******************  複製功能的js  *******************/

function CopyURL(o){
  var format = "Text";
  var data = o;
  var cpboard = window.clipboardData;
  if( cpboard ){
    cpboard.clearData();
    cpboard.setData(format, data);
  }else if( window.netscape ){
    try {
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    }
    catch (e)
    {
      alert("您的瀏覽器拒絕存取此項功能！\n請使用【Ctrl+C 複製】/【Ctrl+v 貼上】代替。"); 
    }

    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
    if (!clip) return;
    var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
    if (!trans) return;
    trans.addDataFlavor('text/unicode');
    var str = new Object();
    var len = new Object();
    var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
    var copytext = o;
    str.data = copytext;
    trans.setTransferData("text/unicode",str,copytext.length*2);
    var clipid = Components.interfaces.nsIClipboard;
    if (!clip) return false;
    clip.setData(trans,null,clipid.kGlobalClipboard);
  }
  alert('連結已複製，您將可以在任何地方按右鍵貼上(paste)');
}


/******************  以下是排序用的js  *******************/

function homeSortDown(id){
  s = id;
  document.getElementById(id).style.backgroundColor = "#969696";
}
function homeSortUp(total){
  for(i=1; i<=total; i++){
    document.getElementById(i).style.backgroundColor = "white";
  }
    
  s = '';
  e = '';
}
function homeSortOver(id){
  document.getElementById(id).style.cursor = "hand";
  if(s >= 1){
    
    document.getElementById(id).style.backgroundColor = "#969696";
    e = id;

    if(e > s){
      tmpsn = sort_id2sn[s];
      sort_id2sn[s] = sort_id2sn[s+1];
      sort_id2sn[s+1] = tmpsn;

      tmp = document.getElementById(s).innerHTML;
      document.getElementById(s).innerHTML = document.getElementById((s+1)).innerHTML;
      document.getElementById((s+1)).innerHTML = tmp;
      s = e;
    }
    
    if(e < s){
      tmpsn = sort_id2sn[s-1];
      sort_id2sn[s-1] = sort_id2sn[s];
      sort_id2sn[s] = tmpsn;

      tmp = document.getElementById((s-1)).innerHTML;
      document.getElementById((s-1)).innerHTML = document.getElementById(s).innerHTML;
      document.getElementById(s).innerHTML = tmp;
      s = e;
    }    

  }
}

function homeSortOut(id){
  if(s >= 1){
    document.getElementById(id).style.backgroundColor = "white";
  }
  document.selection.empty();
}

function init(id, sn){
  sort_id2sn[id] = sn;
}

var s = '';
var e = '';
var sort_id2sn = new Array();


function confirmLink(cURL){
  re = /^(http|https):\/\/[^\.]+.gamer.com.tw/;
  if( cURL.match(re) ){
    window.open(cURL);
  }
  else if( confirm( "您即將開啟下列連結，確定嗎?\n\n" + cURL +"\n\n(巴哈姆特提醒您，不明連結可能包含木馬程式)" ) ){
    window.open( cURL, "_blank", "menubar=1,status=1,location=1,scrollbars=1,resizable=1" );
  }

/*
  var a = cURL.indexOf('//', 0);
  if( cURL.substr(0, a) == 'http:' || cURL.substr(0, a) == 'https:' ){
    var b = cURL.substr(a+2);
    var c = b.indexOf('/');
    var d = b.substr(0, c);
    var f = d.split('.');
    f.shift(f);
    g = f.join('.');
    if( g == 'gamer.com.tw' ){
      window.open(cURL);
    }else{
      if( confirm( "您即將開啟下列連結，確定嗎?\n\n" + cURL +"\n\n(巴哈姆特提醒您，不明連結可能包含木馬程式)" ) ){
      window.open( cURL, "_blank", "menubar=1,status=1,location=1,scrollbars=1,resizable=1" );
      }
    }
  }
*/
}

  function ALBUM_apply(ln, step_w){
    if( BAHA_checkLogin(ln) )
    {
      if( 1 === step_w ){
        var album_apply_step1 = '<div style="width:360px; height:130px; padding:35px 20px 35px 35px; border:1px solid #000000; background-color:#FFFFFF; font-size:13px; color:#464646;" align="left">申請畫家審核之基本資格：<br><br>';
          album_apply_step1 += '    1.持有<font color="red">手機認證以上</font>的權限。<br>';
          album_apply_step1 += '    2.至少需投稿<font color="red">10篇</font>畫作。<br>';
          album_apply_step1 += '    3.現有上傳畫作累積GP數達到<font color="red">100GP</font>。<br /><br /><div align="center"><input type="button" value="我要提出申請" style="width:100px; height:25px;" onClick="ALBUM_apply(\'yes\', 2)">　　　<input type="button" value="離開" style="width:100px; height:25px;" onClick="BAHA_destroyObj()"></div>';
          album_apply_step1 += ' </div>';

        BAHA_getDialog(album_apply_step1, 360, 150);
      }else{
        ajaxHttp = BAHA_createAJAX();
        if( !ajaxHttp ){
          alert( 'Your browser does not support AJAX!' );
          return;
        }

        var album_apply_step1 = '<div style="width:360px; height:130px; padding:35px 20px 35px 35px; border:1px solid #000000; background-color:#FFFFFF; font-size:13px; color:#464646;" align="left">申請畫家審核之基本資格：<br><br>';
          album_apply_step1 += '    1.持有<font color="red">手機認證以上</font>的權限。<br>';
          album_apply_step1 += '    2.至少需投稿<font color="red">10篇</font>畫作。<br>';
          album_apply_step1 += '    3.現有上傳畫作累積GP數達到<font color="red">100GP</font>。<br /><br /><div align="center"><input type="button" value="我要提出申請" style="width:100px; height:25px;" disabled></div>';
          album_apply_step1 += ' </div>';

        url='indexalbum-apply.php?' + new Date().getTime();
        ajaxHttp.onreadystatechange = function (){
          var msg_str = '';
          if( 4 === ajaxHttp.readyState ){
            if( 200 === ajaxHttp.status ){
              var text = ajaxHttp.responseText;
              switch( text ){
                case 'CLOSE': msg_str = '<br />目前尚未開放畫家申請。';      break;
                case 'ERROR_LOGIN': BAHA_checkLogin('no');                   break;
                case 'APPLYED': msg_str = '<br />你已申請過，請靜待審核！';  break;
                case 'PAINTER': msg_str = '<br />你已經是畫家。';            break;
                case 'NOT_AGAIN':
                case 'ERROR':
                case 'MOBILE':
                case 'NOT_ENOUGH':
                case 'ERROR2':
                case 'ERROR3': msg_str = '<br />很抱歉，您不符合申請資格。'; break;
                case 'FINISH': msg_str = '提出申請後，站方會以投稿作品進行審核，作品<br>符合站方要求之標準者，才可取得畫家資格。'; break;
                default: msg_str = '<br />發生不明錯誤，請稍候再試。';
              }

              album_apply_step1 = '  <div style="width:360px; height:130px; padding:35px 20px 35px 35px; border:1px solid #000000; background-color:#FFFFFF; font-size:13px; color:#464646;" align="center"><br />' + msg_str;
              album_apply_step1 += '    <br /><br /><br /><input type="button" value="確定" style="width:100px; height:25px;" onClick="BAHA_destroyObj()">';
              album_apply_step1 += ' </div>';
            }
          }

          BAHA_getDialog(album_apply_step1, 360, 150);
        };

        ajaxHttp.open("GET", url, true);
        ajaxHttp.send(null);
      }
    }
  }

  function mission(page) {
    home_makeRequest('mission', '?p='+page) 
  }

  function clearmission(page) {
    clear = getCookie('HOME_CM');
    setCookie('HOME_CM',clear | page);
    
    home_makeRequest('mission','?p='+page+'&c=1')
  }

  function showmission(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
          oo = document.getElementById('newsmission');
          oldmission = oo.innerHTML.split('-->')[0];
          newmission = http_request.responseText.split('-->')[0];
          if( 'nomission' == http_request.responseText  ) {
            alert('沒有任務了');
          }else if(oldmission == newmission) {
            alert('沒有任務了');
          }else if( '' != http_request.responseText ){
            oo.innerHTML = http_request.responseText;
          }else{
            document.getElementById('missiontable').style.display='none';
          }
        }
    }
  }

