
function string_replaceAll(expression, org, dest){  
	if ( !expression )
	{
		return "";
	}
	return expression.split(org).join(dest);  
}  


function flickr_load(word)
{		
	
		var param = {};
		//param = { text: search_word, user_id: user_id, tags: flickr_tags, page: page, license: license };
		
		param.text = word;
		param.license = "4,5,6";
		
		

		
        flickr_photo_search(param);		
};
	
	

// 画像検索を行う関数	
function flickr_photo_search ( param ) {
	
	if ( param.license =="" )
	{
		// 現在の表示内容（Loading...）をクリアする
		remove_children( 'flickr_images' );

		return;
	}
    // APIリクエストパラメタの設定
    param.api_key  = '3971a892c3542cbdf3d63a9d947fb1d8';
    param.method   = 'flickr.photos.search';
    param.per_page = 100;
    param.sort     = 'date-posted-desc';
    param.format   = 'json';
    param.jsoncallback = 'jsonFlickrApi';

    // APIリクエストURLの生成(GETメソッド)
    var url = 'http://www.flickr.com/services/rest/?'+
               obj2query( param );

    // script 要素の発行
    var script  = document.createElement( 'script' );
    script.type = 'text/javascript';
    script.src  = url;
    document.body.appendChild( script );
};

// 現在の表示内容をクリアする
function remove_children ( id ) {
    var div = document.getElementById( id );
    while ( div.firstChild ) { 
        div.removeChild( div.lastChild );
    }
};

// オブジェクトからクエリー文字列を生成する関数
function obj2query ( 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;
};

function flickr_search_result(photo_id,image_url,page_url,img_index)
{		
	var submit_btn = document.forms['search_result'].elements['submit_btn'];
	submit_btn.disabled = false;
	
	document.forms['search_result'].elements['photo_id'].value = photo_id;
	document.forms['search_result'].elements['image_url'].value = image_url;
	document.forms['search_result'].elements['page_url'].value = page_url;	
	
    var div = document.getElementById( 'flickr_images' );
	var childs = div.childNodes;
	var len = childs.length;
	for(var i=0; i<len; i++) {
		var current_imgtag = childs[i];
		if ( i == img_index){
        	current_imgtag.style.border = 'solid 2px red';
		}else{
        	current_imgtag.style.border = 'solid 2px white';
		}
	}
	
	
};
	
// Flickr検索終了後のコールバック関数
function jsonFlickrApi ( data ) {
    // 現在の表示内容（Loading...）をクリアする
    remove_children( 'flickr_images' );
	
    // データが取得できているかチェック
    if ( ! data ) return;
    if ( ! data.photos ) return;
    var list = data.photos.photo;
    if ( ! list ) return;
    if ( ! list.length ) return;

	var randnum = Math.floor( Math.random() * list.length );

    // 各画像を表示する
    var div = document.getElementById( 'flickr_images' );
	div.align = "center";
	
	var photo = list[randnum];

	var photo_id = photo.id;
	var image_url = 'http://static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'.jpg';
	var page_url = 'http://www.flickr.com/photos/'+photo.owner+'/'+photo.id+'/';		
	
	// img 要素の生成
	var img = document.createElement( 'img' );
	img.src = 'http://static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'.jpg';
	img.style.border = 'solid 2px white';
	img.photo_id = photo_id;
	img.image_url = image_url;
	img.page_url = page_url;
	img.id = "flickr_img_src";
	//img.img_index = i;
	//img.width = 900;
	//img.onclick = function(){flickr_search_result(this.photo_id, this.image_url, this.page_url, this.img_index);};
	div.appendChild( img );
		
	var text_div = document.createElement( 'div' );
	var title = photo.title;
	var nsid = photo.owner;	
	text_div.id = "flickr_img_title";
	text_div.innerHTML = '"' +title.substring(0,30)+ '" from <a href="http://www.flickr.com/people/' + nsid + '" target="_blank"><img src="flickr.png" alt="flickr" class="icon"></a>  ';
	div.appendChild( text_div );
		
};

// 情報取得を行う関数	
function flickr_photo_getinfo ( param ) {
	
    // APIリクエストパラメタの設定
    param.api_key  = '3971a892c3542cbdf3d63a9d947fb1d8';
    param.method   = 'flickr.photos.getInfo';
    param.format   = 'json';
    param.jsoncallback = 'jsonFlickrApi2';

    // APIリクエストURLの生成(GETメソッド)
    var url = 'http://www.flickr.com/services/rest/?'+
               obj2query( param );

    // script 要素の発行
    var script  = document.createElement( 'script' );
    script.type = 'text/javascript';
    script.src  = url;
    document.body.appendChild( script );
};

// Flickr情報取得終了後のコールバック関数
function jsonFlickrApi2 ( data ) {
    // 現在の表示内容（Loading...）をクリアする
    remove_children( 'flickr_infos' );
	
    // データが取得できているかチェック
    if ( ! data ) return;
    if ( ! data.photo ) return;
    //var list = data.photos.photo;
    //if ( ! list ) return;
    //if ( ! list.length ) return;


    // 各情報を表示する
    var div = document.getElementById( 'flickr_infos' );
    
	var title = data.photo.title._content;
	var name = data.photo.owner.username;
	var nsid = data.photo.owner.nsid;
	//var description = data.photo.description._content;
	var license = data.photo.license;
	
	document.forms['fm'].elements['title'].value = title;
	document.forms['fm'].elements['username'].value = name;
	document.forms['fm'].elements['nsid'].value = nsid;
	
	if (license=="0")
	{
		license = '<strong>All rights reserved（無断複写・転載禁止）</strong>';
	}
	else if (license=="4")
	{
		license = '<a href="http://creativecommons.org/licenses/by/3.0/deed.ja" target="_blank"><strong>Attribution（表示）</strong></a>';
	}
	else if (license=="6")
	{
		license = '<a href="http://creativecommons.org/licenses/by-nd/3.0/deed.ja" target="_blank"><strong>Attribution-NoDerivs（表示-改変禁止）</strong></a>';
	}
	else if (license=="3")
	{
		license = '<a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.ja" target="_blank"><strong>Attribution-NonCommercial-NoDerivs（表示-非営利-改変禁止）</strong></a>';
	}
	else if (license=="2")
	{
		license = '<a href="http://creativecommons.org/licenses/by-nc/3.0/deed.ja" target="_blank"><strong>Attribution-NonCommercial（表示-非営利）</strong></a>';
	}
	else if (license=="1")
	{
		license = '<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.ja" target="_blank"><strong>Attribution-NonCommercial-ShareAlike （表示-非営利-継承）</strong></a>';
	}
	else if (license=="5")
	{
		license = '<a href="http://creativecommons.org/licenses/by-sa/3.0/deed.ja" target="_blank"><strong>Attribution-ShareAlike（表示-継承）</strong></a>';
	}
	
	
	div.innerHTML = '<font size="+1"><strong>' + title + '</strong></font><br />ORIGINAL UPLOADED BY <a href="http://www.flickr.com/people/' + nsid + '" target="_blank">' + name + '</a>.<br />LICENSE : '  + license;
	
	
};
