/* statick class to create an okRating object */
function getFlickrSearchFeed(params)
{
    return getFlickrSearchFeed.initialize(params);
}
getFlickrSearchFeed.entries = []
getFlickrSearchFeed.initialize = function(params)
{
    if (typeof(params)=='undefined') params = {};
    params.name = 'getFlickrSearchFeed.entries['+getFlickrSearchFeed.entries.length+']';
    return getFlickrSearchFeed.entries[getFlickrSearchFeed.entries.length] = new flickrSearchFeed(params);
}
/* -------------------------------------------------------------------------- */

function flickrSearchFeed(params) 
{
    this.initialize(params);
}

flickrSearchFeed.names = [];
flickrSearchFeed.prototype = {
    name                  : 'flickrSearchFeed',
    containerId           : '',
    apiURL                : '/api',
    method                : 'flickr.photos.search',
    args:{
      api_key               : '0336020d0c4d0348f95e2b6fe4783f62',
      user_id               : '',
      tags                  : '',
      tag_mode              : 'any',
      text                  : '',
      min_upload_date       : '',
      max_upload_date       : '',
      min_taken_date        : '',
      max_taken_date        : '',
      license               : '',
      sort                  : '',
      privacy_filter        : '',
      bbox                  : '',
      accuracy              : '',
      safe_search           : '',
      content_type          : '',
      machine_tags          : '',
      machine_tag_mode      : '',
      group_id              : '',
      contacts              : '',
      woe_id                : '',
      place_id              : '',
      media                 : '',
      has_geo               : '',
      geo_context           : '',
      lat                   : '',
      lon                   : '',
      radius                : '',
      radius_units          : '',
      is_commons            : '',
      extras                : '',
      per_page              : '',
      page                  : ''
    },
    initialize : function (params)
    {
        this.params = params;

        if(params.method)      this.method = params.method;
        if(params.containerId) this.containerId = params.containerId;
        if(params.name)        this.name = params.name;

        for(var key in params){
            if (this.args[key] !== undefined) {
                this.args[key] = params[key];
            }
        }
        flickrSearchFeed.names[this.name] = this;
    },
    getSearch : function()
    {
        if(this.query != ''){
            var qstring = "method=Flickr.apiCall&api="+this.method;
            for(var key in this.args){
                if(typeof this.args[key] != 'function' && typeof this.args[key] != 'object' && this.args[key] != ''){
                    qstring+="&a["+key+"]="+escape(this.args[key]);
                }
            }
            loadJSON(this.apiURL,"callback="+this.name+".display&"+qstring,'script');
        }
    },
    display : function(data)
    {
    },
    prepText : function(text)
    {
    },
    prepUrl : function(text)
    {
        var re = /(http:\/\/[-_\.a-zA-Z0-9]+)/gi;
        return text.replace(re,"<a target=\"blank\" href=\"$1\">$1</a>");
    }
}
