
var selectLibrary = function(){
  $("#selectedlib_sentence").css("display", "block");
  $("#selectedlib").css("display", "block");
  $(this).unbind();
  $(this).parent(":first").clone().appendTo("#selectedlib").children().unbind();
};

var clickTodouhuken = function(town, code){
  $("#selectlib").css("display", "block").empty();
  $("#selectlib_sentence").css("display", "block");
  $("#selectlib").append(
      "<img src='./img/load.gif'>"
  );
  $.ajax({
    type: "GET",
    url: "./generator/list.rb",
    data: "towncode="+ code,
    dataType: "json",
    success: function(json){
      if(json["xxx"]){
	$("#selectlib").empty().append(json["xxx"]);
	return;
      }
      var outer_div = $("<div/>");
      for(var n in json){
	var inner_div = $("<div/>");
	inner_div.append(
	  $("<input type='checkbox'/>").click(selectLibrary)
	);
	inner_div.append(json[n]);
	inner_div.append(
	  $("<input type='hidden'/>").attr("value", code + n)
	);
	outer_div.append(inner_div);
      }
      $("#selectlib").empty().append(outer_div);
    }
  });
};

var clickGeneratebutton = function(){
  $("#gbutton_div").empty();
  if($("#selectedlib > div > input:checked").size() == 0){
    $("#gbutton_div").append(
      $("<div/>").html(
	"<img src='./img/cancel.png'> 図書館を選択して下さい。"
      )
    );
    $("#gbutton_div").css("display", "block");
    return;
  }
  $("#gbutton_div").css("display", "block");
  $("#gbutton_div").append(
    $("<div/>").html(
      "作成中<br><img src='./img/load2.gif'>"
    )
  );

  var query_array = new Array;
  $("#selectedlib > div > input:checked").each(
    function(){
      query_array.push("lib="+ $(this).nextAll("input:hidden").attr("value"));
    }
  );
  $("#searchlayout > div > input:checked").each(
    function(){
      query_array.push("css="+ $(this).attr("value"));
    }
  );
  $("#insertlink > div > input:checked").each(
    function(){
      query_array.push("type="+ $(this).attr("value"));
    }
  );
  query_array.push("service=amazon");

  $.ajax({
    type: "GET",
    url: "./generator/run.rb",
    data: query_array.join("&"),
    dataType: "json",
    success: function(json){
      if(json["xxx"]){
      }
      $("#gbutton_div").empty();
      $("#gbutton_div").html(
	"<div>" +
	"以下のファイルをクリックして、インストールして下さい。" +
	"<br>" +
	"<a href='"+ json["script"] +"'>tosyoken.user.js</a>" +
	"<br><br>" +
	"上記をインストールしないと下記は動作しません。" +
	"<br>"+
	"<a href='"+ json["search"] +"'>専用検索ページ</a>" +
	"<br>" +
	"<a href='javascript:window.addPlugin" +
	  '("'+ json['plugin'] +'");' +
	  ">Firefox用検索プラグイン</a>" +
	"<br><br>" +
	"Read, read ,read. Read everything !!" +
	"</div>"
      );
    }
  });
};

function addPlugin(url){
  if((typeof window.external == "object") &&
    (typeof window.external.AddSearchProvider == "function")){
      window.external.AddSearchProvider(url);
  }else{
    alert("このブラウでは利用出来ません。");
  }
}


$(document).ready(function(){
  var hash = {
    id: "todouhuken",
    separater: " ",
    callback: clickTodouhuken
  };
  var ins = new Todouhuken_Lib();
  ins.viewTodouhuken(hash);
  $("#gbutton").bind('click', clickGeneratebutton);
  $("#gbutton").bind('click', clickGeneratebutton);
});