//getElementsByClassNameをカスタマイズ
var getElementsByClassNameForFerret = (function(classname, tagname){
    //共通となる処理をfunctionにする
    var regClass = function(element, classname){
        var classElements = new Array();
        var regexe = new RegExp("\\b" + classname + "\\b");
        for( i = 0; i < element.length; i++ ) {
            if( regexe.exec(element[i].className) ) {
                classElements.push(element[i]);
            }
        }
        return classElements;
    }
    //IEの場合
    if( document.all ){
        return function(classname, tagname){
            if (arguments.length == 1) {
                element = document.all;
            }
            else{
                element = document.getElementsByTagName(tagname);
            }
            return regClass(element,classname);
        };
    }
    //IE以外の場合
    else{
        return function(classname, tagname){
            if (arguments.length == 1) {
                tagname = "*";
            }
            var element = document.getElementsByTagName(tagname);
            return regClass(element,classname);
        };
    }

})();


//-------------------------------
//プレミアム機能制限ポップアップ
//-------------------------------
GB_Premium = function(url) {
  var options = {
    caption: '',
    height: 56,
    width: 400,
    fullscreen: false,
    show_loading: false,
    reload_on_close: false,
    overlay_click_close: true,
    center_win: true
  }
  var win = new GB_Window(options);
  return win.show(url);
}


//-------------------------------
//クリップ追加ポップアップ
//-------------------------------
GB_Clip = function(url) {
  var options = {
    caption: '',
    height: 56,
    width: 400,
    fullscreen: false,
    show_loading: false,
    reload_on_close: false,
    overlay_click_close: true,
    center_win: true
  }
  
  var win = new GB_Window(options);
  return win.show(url);
}

//--------------------------------
// 推移ポップアップ
//--------------------------------
GB_Tkwgraph = function(url)
{
  var options = {
    caption: '検索回数の推移',
    height: 650,
    width: 840,
    fullscreen: false,
    show_loading: false,
    reload_on_close: false,
    overlay_click_close: true,
    center_win: true
  }
  var win = new GB_Window(options);
  return win.show(url);
}


function setTooltip(id, tpl) {
 var my_tooltip = new Tooltip(id, tpl);
}

function displayLoading(id) {
 return $(id).innerHTML = '<img src="/imgs/axload.gif">';
}

function displayLoading2(id) {
 return $(id).innerHTML = '<div class="ftpso-loading" width="100%"><div class="ftpso-detail"><img src="imgs/ajax-loader2.gif" style="padding-left: 4px; padding-top: 4px;"/></div></div>';
}

function displayLoading_b(id) {
 return $(id).innerHTML = '<img src="/imgs/ajax-loader2.gif">';
}



/*
function displayLoadingMypageSiteAnalysis(id) {
 return $(id).innerHTML = '<div style="height: 300px;"></div><div style="height: 600px; width: 536px; vertical-align: middle"><center><img src="/imgs/axload.gif"></center></div>';

}*/

function notKwdDetail() {
 alert('キーワードの詳細表示にはログインが必要です。');
}

function showKwdDetailTrendSearch(id, pv, kwd) {
 getGoogleCnt(id, pv, kwd);
 getGoogleKei(id, pv, kwd);
 getYahooCnt(id, pv, kwd);
 getYahooKei(id, pv, kwd);
 getAdwords(id, pv, kwd);
 getSponsored(id, pv, kwd);
}

function showKwdDetail(id, pv, kwd) {
 document.getElementById('detailTd' +id).style.background = '#CCCCCC';
 document.getElementById('kwddetail' +id).style.display   = 'block';

 kwd = kwd.replace(/\//g, '9fbbaa4');
 kwd = kwd.replace(/\&lt/g, '<');
 kwd = kwd.replace(/\&gt/g, '>');
 kwd = kwd.replace(/\&quot/g, '"');
 kwd = kwd.replace(/\&amp/g, '&');
 
 
 var encodeKwd = encodeURIComponent(kwd);
 getGoogleCnt(id, pv, encodeKwd);
 getGoogleKei(id, pv, encodeKwd);
 getYahooCnt(id, pv, encodeKwd);
 getYahooKei(id, pv, encodeKwd);
 getAdwords(id, pv, encodeKwd);
 getSponsored(id, pv, encodeKwd);
}

function closeKwdDetail(id) {
 document.getElementById('detailTd' +id).style.background = '';
 document.getElementById('kwddetail' +id).style.display   = 'none';
}

function getGoogleCnt(id, pv, kwd) {
    var dispId = 'gcnt' +id;
    displayLoading_b(dispId);
    jQuery.ajax({type: "GET",
        timeout: 5000,
        url: '/kwd/gcnt/' +kwd +'/' +pv,
        error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
        },
        success: function(result, status){
               $(dispId).innerHTML = result;
        }
    });
}

function getGoogleKei(id, pv, kwd) {
 var dispId = 'gkei' +id;
 displayLoading_b(dispId);
 
 jQuery.ajax({type: "GET",
     timeout: 5000,
     url: '/kwd/gkei/' +kwd +'/' +pv,
     error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
           },
     success: function(result, status){
               $(dispId).innerHTML = result;
           }
     
 });
}


function getYahooCnt(id, pv, kwd) {
 var dispId = 'ycnt' +id;
 displayLoading_b(dispId);
 
 jQuery.ajax({type: "GET",
     timeout: 5000,
     url: '/kwd/ycnt/' +kwd +'/' +pv,
     error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
           },
     success: function(result, status){
               $(dispId).innerHTML = result;
           }
     
 });
}

function getYahooKei(id, pv, kwd) {
 var dispId = 'ykei' +id;
 displayLoading_b(dispId);
 
 jQuery.ajax({type: "GET",
     timeout: 5000,
     url: '/kwd/ykei/' +kwd +'/' +pv,
     error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
           },
     success: function(result, status){
               $(dispId).innerHTML = result;
           }
     
 });

}

function getAdwords(id, pv, kwd) {
 var dispId = 'adwords' +id;
 displayLoading_b(dispId);
 
 jQuery.ajax({type: "GET",
     timeout: 5000,
     url: '/kwd/adwords/' +kwd +'/' +pv,
     error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
           },
     success: function(result, status){
               $(dispId).innerHTML = result;
           }
     
 });
 /*
 new Ajax.Updater(   dispId
                   , '/kwd/adwords/' +kwd +'/' +pv
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
                     */
}

function getSponsored(id, pv, kwd) {
 var dispId = 'sponsored' +id;
 displayLoading_b(dispId);
 
 jQuery.ajax({type: "GET",
     timeout: 5000,
     url: '/kwd/sponsored/' +kwd +'/' +pv,
     error:function(XHR, status, errorThrown){
               $(dispId).innerHTML = '';
           },
     success: function(result, status){
               $(dispId).innerHTML = result;
           }
     
 });
 
 /*
 new Ajax.Updater(   dispId
                   , '/kwd/sponsored/' +kwd +'/' +pv
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
                     */
}

function gotowiki(rk, keyword) {
 var g_wiki = "http://ja.wikipedia.org/wiki/";
 var url = "";
 url = g_wiki + encodeURI(rk);
 if (keyword != "") {
  arg = "#" + encodeURI(keyword).replace(/%/g, '.');   url += arg;
 }
 window.open(url);
}

function getRireki(app) {
 var dispId = 'history'
 displayLoading2(dispId);
 new Ajax.Updater(   dispId
                   , '/partial/history/' +app
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
}

function clearHistory() {
 if(window.confirm('検索履歴を削除しますか？')){
   var dispId = 'history'
   displayLoading2(dispId);
   new Ajax.Updater(   dispId
                     , '/partial/clearHistory'
                     , {
                           asynchronous: true
                         , evalScripts:  false
                         , onSuccess:    function() { getRireki() }
                       });
 }
}

function getDesc() {
 var dispId = 'wiki-desc';
 displayLoading2(dispId);
 new Ajax.Updater(   dispId
                   , '/partial/wikiDesc'
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
}

function getRecommend(type, rec) {
 var dispId = 'recommend' +rec;
 displayLoading2(dispId);
 new Ajax.Updater(   dispId
                   , '/partial/kwdRecommend/' +rec + '/' +type
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
}

function getRecommendFp2(type, rec) {
 var dispId = 'recommend' + type + rec;
 displayLoading2(dispId);
 new Ajax.Updater(   dispId
                   , '/partial/kwdRecommend/' +rec + '/' +type
                   , {
                         asynchronous: true
                       , evalScripts:  false
                     });
}

function regword(kw, imgObj) {
    var kwenc = encodeURIComponent(kw);
    var pa = "rkw=" + kwenc;
    
    if(imgObj.src.indexOf('fstar_off.gif') > 0) {
        //登録
        if(document.getElementById('GB_overlay') == null) {
            new Ajax.Request(
                '/mypage/addword',
            {
                method: 'post',
                parameters: pa,
                onComplete: function (or) {
                    if(or.responseText == 1) {
                        //登録成功
                        //GB_Clip('/info/popup/clipkw');
                        //document.getElementById('GB_overlay').style.display = 'none';
                        imgObj.src='/imgs/fstar_on.gif';
                        //imgObj.onclick=new Function("delword("+kw + "," + imgObj + ")");
                    }else if(or.responseText == 2) {
                        //登録上限
                        GB_Clip('/info/popup/cliplimit');
                        document.getElementById('GB_overlay').style.display = 'none';
                    }else{
                        GB_Clip('/info/popup/error');
                        document.getElementById('GB_overlay').style.display = 'none';
                    }
                    //alert(or.responseText);
                }
            }
        );
        }
    }else{
        //削除
        if(confirm('クリップキーワードを削除しますか？')) {
            jQuery.ajax({
                type: "POST",
                url:  "/mypage/delword",
                data: "word=" + kw,
                success: function(res) {
                    if(res == 1) {
                        imgObj.src='/imgs/fstar_off.gif';
                        //削除成功
                        if(document.getElementById('GB_overlay') == null) {
                            GB_Clip('/info/popup/clipdel');
                            document.getElementById('GB_overlay').style.display = 'none';
                        }
                    }else{
                        GB_Clip('/info/popup/error');
                        document.getElementById('GB_overlay').style.display = 'none';
                    }
                }
            });
        }
    }
        
}

/*
function delword(kw, imgObj) {
    //削除
    if(confirm('クリップキーワードを削除しますか？')) {
        jQuery.ajax({
            type: "POST",
            url:  "/mypage/delword",
            data: "kw=" + kw,
            success: function(res) {
                if(res == 1) {
                    imgObj.src='/imgs/fstar_off.gif';
                    //削除成功
                    GB_Clip('/info/popup/clipdel');
                    document.getElementById('GB_overlay').style.display = 'none';
                }else{
                    GB_Clip('/info/popup/error');
                    document.getElementById('GB_overlay').style.display = 'none';
                }
            }
            
        })
    }
}
*/

//---------------------
//クリップサイト登録
//---------------------
function addClipsite(kw, url) {
  var result;
  new Ajax.Updater('clipreg'
          , '/mypage/clipsite/add'
          , {
                asynchronous: true
              , evalScripts:  false
              , method: 'post'
              , parameters: 'kw=' + kw + '&url=' + url
              , onComplete: function(request){
                    if(request.responseText == '') {
                        //
                        document.body.style.cursor = 'default';
                        alert('登録しました。');
                        result = true;
                        
                    } else if(request.responseText.indexOf("registed") != 0) {
                        document.body.style.cursor = 'default';
                        alert('同じURL・キーワードですでに登録されています。');
                        result = false;
                        return false;
                    } else if(request.responseText.indexOf("limit") != 0) {
                        document.body.style.cursor = 'default';
                        alert('登録は10件までとなっております。');
                        result = false;
                    }else{
                        alert('その他のエラー');
                        result = false;
                    }
                }
            });
    return result;
}


// CONTROL ALL/PARTS
function showallrec(type) {
 var all   = $('recommend-all' +type);
 var parts = $('recommend-parts' +type);
 var open  = $('recommend-open' +type);
 var close = $('recommend-close' +type);
 
 // ALL
 all.show();
 close.show();
 
 // PARTS
 parts.hide();
 open.hide();
}

// CONTROL ALL/PARTS
function showapartrec(type) {
 var all   = $('recommend-all' +type);
 var parts = $('recommend-parts' +type);
 var open  = $('recommend-open' +type);
 var close = $('recommend-close' +type);
 
 // ALL
 all.hide();
 close.hide();
 
 // PARTS
 parts.show();
 open.show();
}

//Ferret トレンドキーワード検索
function ferretTkwSearch (word) {
 document.getElementById('tkwForm').kw.value = word;
 document.getElementById('tkwForm').submit();
}

//Ferret キーワード検索
function fkwSearch (word) {
 document.getElementById('fkwForm').kw.value = word;
 document.getElementById('fkwForm').submit();
}

//ASP横断検索
function ferretAspSubmit(kw) {
 document.getElementById('aspSearch').kw.value = kw;
 document.getElementById('aspSearch').submit();
}

function gstart() {
	var oos = getElementsByClassNameForFerret('nowloading', 'DIV');
	try {
		if (oos[0].id == 'bi-fkw-resultlist') {
			var ww;
			var wh;
			var dw = 640;
			var ydiff = 0;
			var ie = 0;
		    if ( window.innerWidth ) { ww = window.innerWidth; wh = window.innerHeight; ydiff = pageYOffset;}  
		    else if ( document.documentElement && document.documentElement.clientWidth != 0 ) { ww = document.documentElement.clientWidth; wh = document.documentElement.clientHeight; }  
		    else if ( document.body ) { ie = 1; ww = document.body.clientWidth; wh = document.body.clientHeight; ydiff = document.body.scrollTop;}
			py = 200;
			if (ie == 1) {
				py += 250;
			}
			Glayer.show();
			$('glayer').innerHTML = '<p style="padding-top:' + py + 'px;"><center><a href="/account"><img style="background-color:white;filter: alpha(opacity=100); -moz-opacity:1; opacity:1;" src="/imgs/loading.gif" /></a></center><p>';
			setTimeout(waitDownloading, 4000);
		}
	} catch (e) {}
}

function waitDownloading() {
	$('bi-fkw-resultlist').removeClassName('nowloading');
	setTimeout(waitDownloading2, 500);
}

function waitDownloading2() {
	Glayer.fadeOut();
}

function setTkwSearchDisable (type) {
 var year = document.getElementById('tkw-tpradio').checked;
 if (year == true) {
   if (type == true) {
     freeSearch('1');
   } else {
     freeSearch('1');
     freeSearch('2');
   }
 }
}

function freeSearch (num) {
 document.getElementById('tkw-fyear' + num).disabled = true;
 document.getElementById('tkw-fmonth' + num).disabled = true;
}

function paySearch (num) {
 document.getElementById('tkw-fyear' + num).disabled = false;
 document.getElementById('tkw-fmonth' + num).disabled = false;
}



