$(function() {
	$('div.toggle_container').hide();

	add_handler();
	$('div.sideslide_inner').hide();
	$('form').submit(function(){
		var q = this.q;
		if (!q.value) return false;
		add(q.value);
		return false;
	})

	function add_add_handler(el) {
		$(el).next().find('a').click(function(){
			$('input[name=q]').val($(this).text());
			$('form').submit();
			return false;
		});
	}
	var side = {
		google: function(){
			var feed = new google.feeds.Feed("http://www.google.co.jp/trends/hottrends/atom/hourly");
			feed.load(function(result) {
				if (!result.error) {
					var words = result.feed.entries[0].contentSnippet.replace(/ \.\.\./,'').split("\n");
					var $ul = $('<ul>');
					for(var i=1;i<words.length;i++) {
						var w = words[i];
						$ul.append(
							$('<li>').append(
								document.createTextNode(i+". "),
								$('<a>').attr({href: "#" + w}).append(
									document.createTextNode(w)
								)
							))
					}
					$('#google').next().append($ul);
					add_add_handler($('#google'));
				}
			});
		},
		yahoo: function(){
			//var feed = new google.feeds.Feed("http://searchranking.yahoo.co.jp/rss/burst_ranking-rss.xml");
		},
		goo: function(){
			//var feed = new google.feeds.Feed("http://ranking.goo.ne.jp/rss/keyword/keyrank_all1/index.rdf");
		},
		kizasi: function(){
			//var feed = new google.feeds.Feed("http://kizasi.jp/rss.xml");
		}
	}
	$('h3.side_trigger').click(function() {
		var $this = $(this);
		if ($this.hasClass('active')) {
			$this.removeClass('active');
			$this.next('.sideslide_inner').slideUp('fast');
		}
		else {
			$this.addClass('active');
			if ($this.next('.sideslide_inner').html()=="") {
				side[this.id]();
			};
			$this.next('.sideslide_inner').slideDown('fast');
		}
		return false;
	});

});
function add_handler()
{
	$('#results h2.trigger .word_title  a').click(function() {
		var $this = $(this).parent().parent();
		if ($this.hasClass('active')) {
			$this.removeClass('active');
			$this.next('.toggle_container').slideUp('fast');
		}
		else {
			$this.addClass('active');
			var $next = $this.next('.toggle_container');
			if ($next.html()==="") {
				$this.next('.toggle_container').html(loading()).slideDown('fast');
				more(this);
			}
			else {
				$next.slideDown('fast');
			}
		}
		//$this.next('.toggle_container').html(loading()).slideToggle('fast');
		return false;
	});
}

function add(q){
	var q = q;
    post('./add', q, function(r){
        $('#results').html(r).find('h2.trigger').corner("4px");
		add_handler();
    });
	google.language.translate(''+q, "ja", "en", function(result) {
		if (result.status.code == 200 && result.translation) {
			var flickr_url = 'http://www.flickr.com/services/rest/?method=flickr.photos.search&format=json&api_key=cf7a8327754147f26527ea7aa3bf6bbf&per_page=20&license=1,2,3,4,5,6&extras=owner_name&callback=showImage&text=' + escape(q+" OR "+result.translation);
			var script = document.createElement('script');
			script.src = flickr_url;
			document.body.appendChild(script);
		} else {
		}
	});
    return false;
}

function more(e){
	var q = $(e).text();
    post('./more', q, function(r){
		$(e).parent().parent().next('.toggle_container').html(r);
    });
    return false;
}

function post(u, q, fn){
    $.post(u, { q: q }, fn);
    return false;
}
function loading(){
	return '<img src="/img/loading.gif"';
}


function jsonFlickrApi(res){
	if (res.stat === "ok" && res.photos.photo && res.photos.photo.length > 0) {
		var photos = res.photos.photo;
		var $image = $('<ul>').appendTo($('#images .images_inner').html(''));
		for (var i=0; i<photos.length; i++) {
			var photo = photos[i];
			var img = new Image();
			img.src = 'http://farm' + photo.farm + '.static.flickr.com/' + photo.server + '/' + photo.id + '_' + photo.secret + '_t.jpg';
			$image.append(
				$('<li>').append(
					$('<a>').attr({target: '_blank', href: 'http://www.flickr.com/photos/' + photo.owner + '/' + photo.id}).append(
						img
					)));
		}

		$('#images').show();
	} else {
		$('#images').hide();
	}
}


/*
function image(q, e){
    post('./image', q, function(r){
        $(e).parent().parent().find('ul').prepend(r);
    });
    return false;
}
function preview(src){
    $('#image_preview').html('<img src="' + src + '" />')
    return false;
}
*/

