/**
 * Copyright 2006 Association Press All Right Reserved.
 * bar.js
 * 20061005
 */
var NO_SEARCH_CORPUS = ["topic-words", "db-list"];
function callbackSearch(res, target) {
var data = eval("("+ res.responseText +")");
document.getElementById("result").innerHTML=data.articles;
searchEnd(target);
}
function search(target) {
if (QUERY == null || QUERY == "") {
return;
}
searchBegin("result");
var data = "&target=" + target + QUERY;
sendRequest(callbackSearch, data, ASSOC_SERVER_URL, target);
}
function searchAll() {
var elements = document.getElementsByName("corpus");
for(var i=0;i<elements.length;i++){
var element=elements[i];
if (checkSearchCorpus(element) == false) {
continue;
}
search(element.value);
}
}
function emptyQuery() {
alert("気に入った項目にチェックしてから、もう一度押してください");
}
function searchBegin(value) {
var loading = 'Loading...' + 
'<!--仕切線 -->' + 
'<table width="100%" border="0" cellspacing="0" cellpadding="0">' + 
'<tr>' + 
'<td height="1" bgcolor="#CCCCCC"></td>' + 
'</tr>' + 
'</table>' + 
'<!--仕切線// -->';
document.getElementById(value).innerHTML = loading;
}
function searchEnd(value) {
}
function callbackGetVector(res, data) {
var hidden = document.createElement("input");
hidden.type = "hidden";
hidden.name = "article_vector";
hidden.value = res.responseText;
hidden.id = data + "_article_vector";
document.searchForm.appendChild(hidden);
actionGetVectorEnd(data);
}
function getVector(checkBoxData) {
var data = checkBoxData.value;
if (checkBoxData.checked == true) {
actionGetVectorBegin(data);	
sendRequest(callbackGetVector, data, ARTICLE_VECTORS_SERVER_URL, data);
} else {
actionGetVectorReset(data);
var hidden = document.getElementById(data + "_article_vector");
document.searchForm.removeChild(hidden);
}
}
function actionGetVectorBegin(value) {
document.getElementById(value).style.backgroundColor  = "#EAEAEA";
}
function actionGetVectorEnd(value) {
new Effect.Highlight(value,{endcolor:'#B7D3F4', restorecolor:'#B7D3F4', startcolor:'#EAEAEA', duration:0.3});
}
function actionGetVectorReset(value) {
document.getElementById(value).style.backgroundColor  = "#FFFFFF";
}
function init(target) {
search(target);
}
function updateCheck(data) {
if (data.checked == true) {
if (QUERY != null && QUERY != "" && checkSearchCorpus(data) == true) {
search(data.value);
}
} else {
}
setColumn();
}
function searchSubmit(form) {
if (checkAssocEmpty(form) == false) {
emptyQuery();
return false;
}
return true;
}
function checkAssocEmpty(form) {
for(var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
if (element.type == "hidden" && element.name == "article_vector") {
return true;
}
if (element.type == "checkbox" && element.name == "keyword" && element.checked == true) {
return true;
}
}
return false;
}
function checkTextEmpty(form) {
if (form.freetext.value != null && form.freetext.value != "") {
return true;
}
return false;
}
function setColumn() {
var elements = document.getElementsByName("corpus");
var checkedCount = countCheckd(elements);
var newWidth = Math.floor(100 / checkedCount);
for(var i = 0; i < elements.length; i++){
var elemnet=elements[i];
var tempElement = document.getElementById(elemnet.value + "_col");
if(elemnet.type=="checkbox" && elemnet.checked){
tempElement.style.width = newWidth + "%";
tempElement.style.display="";
} else {
tempElement.style.width = "0%";
tempElement.style.display="none";
}
}
for(var i = 0; i < elements.length; i++){
var elemnet=elements[i];
var tempElement = document.getElementById(elemnet.value + "_words");
if(checkSearchCorpus(elemnet) == true && tempElement != null){
tempElement.style.display="";
} else if (tempElement != null) {
tempElement.style.display="none";
}
}
}
function countCheckd(checkboxs) {
var count = 0;
for(var i = 0; i < checkboxs.length; i++){
if (checkboxs[i].checked == true) {
count++;
}
}
return count;
}
function checkSearchCorpus(elemnet) {
if (elemnet.type != "checkbox" || elemnet.checked == false) {
return false;
}
for (var i = 0; i < NO_SEARCH_CORPUS.length; i++) {
if (NO_SEARCH_CORPUS[i] == elemnet.value) {
return false;
}
}
return true;
}
