﻿var fastflickrpage=1;
var flickrlastpage=1;

// 画像検索を行う関数
function photosearch ( param ) {

	if(param.text==''){
		$('result_flickr').innerHTML ='キーワード(タグ)が未入力です。'
		 return;
	}

	$('result_flickr').innerHTML =
	'<p><img src="image/ajax_load_gray.gif" \/> searching...</p>';
	myApp.tabs.set( 'activeIndex', 3 );


    // APIリクエストパラメタの設定
    param.api_key  = '019bfcfb0042440637d77c697545b99a';
    param.method   = 'flickr.photos.search';
    param.per_page = 20;
    param.sort     = 'interestingness-desc';
    param.format   = 'json';
    param.jsoncallback = 'jsonpFlickrApi';

    // APIリクエストURLの生成(GETメソッド)
    var url = 'http://www.flickr.com/services/rest/?'+
               obj_query( param );

    // script 要素の発行
    var script  = document.createElement( 'script' );
    script.type = 'text/javascript';
    script.src  = url;
    document.body.appendChild( script );
};

// 現在の表示内容をクリアする
function removechildren ( id ) {
    var div = $( id );
    while ( div.firstChild ) { 
        div.removeChild( div.lastChild );
   }

};

// オブジェクトからクエリ文字列を生成する関数
function obj_query ( obj ) {
    var list = [];
    for( var key in obj ) {
        var k = encodeURIComponent(key);
        var v = encodeURIComponent(obj[key]);
        list[list.length] = k+'='+v;
    }
    var query = list.join( '&' );
    return query;
}




// Flickr検索終了後のコールバック関数
function jsonpFlickrApi ( data ) {
    // データが取得できているかチェック
    if ( ! data ) return;
    if ( ! data.photos ) return;
    var list = data.photos.photo;
    if ( ! list ) return;
    if ( ! list.length ) return;

    // 現在の表示内容（Loading...）をクリアする
    removechildren( 'result_flickr' );

    flickrlastpage = data.photos.pages

   // 各画像を表示する
   var div = $( 'result_flickr' );
   var html="";

	html+='<p style="text-align:right">';
	html+=data.photos.page+'/'+data.photos.pages+'ページ&nbsp;&nbsp;'
	html +='<a href="javascript:void(0)" onclick="myApp.tabs.set(\'activeIndex\',0)">キーワード変更</a>';
	html+='<input type="button" name="prev" value="≪前へ" onclick="prev()">';
	html+='<input type="button" name="next" value="次へ≫" onclick="next()"></p>';
	html +='<div id="selFC"></div>';
	html +='<p style="text-align:center">';


   for( var i=0; i<list.length; i++ ) {
        var photo = list[i];

	html+= '<img id="'+ photo.id +'" class="shadowcss" src="'
	html+='http://static.flickr.com/'+photo.server+
                  '/'+photo.id+'_'+photo.secret+'_s.jpg'+'"';
	html+= ' onClick=GsFlash.ObjVew.showGameBox("'
	html+='http://static.flickr.com/'+photo.server+
                  '/'+photo.id+'_'+photo.secret+'.jpg';
	html+= '") alt="'+photo.title+'"';
	html+= ' onmouseover="myApp.imagePop(this,\''+photo.title+'\',\'selFC\')" width="100px" height="75">'
    }

	html +='</p>';

	html+='<p style="text-align:right"><input type="button" name="prev" value="≪前へ" onclick="prev()">';
	html+='<input type="button" name="next" value="次へ≫" onclick="next()"></p>';


	div.innerHTML=html;
	myApp.yahoo_image($('tag').value,24);

}

function  prev(){
 	if(fastflickrpage>0) {
		fastflickrpage=fastflickrpage-1;
	}else fastflickrpage=1;
	photosearch({text:$('tag').value,page :fastflickrpage})
}

function  next(){
 	if(fastflickrpage<flickrlastpage) {
 		fastflickrpage=fastflickrpage+1;
	}else fastflickrpage=flickrlastpage;
	photosearch({text:$('tag').value,page :fastflickrpage})
}






