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

function okTag(params) 
{
    this.initialize(params);
}
okTag.names = [];
okTag.prototype = {
    name                : "okTag",
    apiURL              : "/api",
    moduleId            : 0,
    moduleTypeId        : 0,
    containerId         : '',
    inputId             : '',
    msgId               : '',
    tagUrl              : '/business/search/?search=',
    login               : null,
    params              : null,
    tagSet              : null,
    userTagSet          : null,
    profile_id          : 0,
    e_id                : '',
    loginMsg            : 'You must be logged in to tag.',
    
    initialize : function (params)
    {
        this.params = params;

        okTag.names[params.name] = this;
        if(typeof(params.name) != 'undefined')              { this.name             = params.name;              }
        if(typeof(params.moduleId) != 'undefined')          { this.moduleId         = params.moduleId;          }
        if(typeof(params.moduleTypeId) != 'undefined')      { this.moduleTypeId     = params.moduleTypeId;      }
        if(typeof(params.apiURL) != 'undefined')            { this.apiURL           = params.apiURL;            }
        if(typeof(params.tagUrl) != 'undefined')            { this.tagUrl           = params.tagUrl;            }
        if(typeof(params.containerId) != 'undefined')       { this.containerId      = params.containerId;       }
        if(typeof(params.inputId) != 'undefined')           { this.inputId          = params.inputId;           }
        if(typeof(params.msgId) != 'undefined')             { this.msgId            = params.msgId;             }
        if(typeof(params.e_id) != 'undefined')              { this.e_id             = params.e_id;              }
    },
    setTag : function(tag)
    {
        if (tag == null) return; 
        if (tag == "Add Tags") return; 
        queryString  = "method="        + "Tag.SetTag";
        queryString += "&moduleId="     + this.moduleId;
        queryString += "&moduleTypeId=" + this.moduleTypeId;
        queryString += "&e_id="         + this.e_id;
        queryString += "&tag="          + encodeURIComponent(tag);
        loadJSON(this.apiURL,'callback='+this.name+".display&"+queryString,'script');
    },
    getTags : function(moduleId, moduleTypeId)
    {
        if (typeof(moduleId) == 'undefined' && typeof(moduleTypeId) == 'undefined') return;
        this.moduleId       = moduleId;
        this.moduleTypeId   = moduleTypeId;

        queryString  = "method=Tag.GetTags";
        queryString += "&moduleId="      + moduleId;
        queryString += "&moduleTypeId="  + moduleTypeId;
        queryString += "&e_id="          + this.e_id;

        loadJSON(this.apiURL,'callback='+this.name+".display&"+queryString,'script');
    },
    display : function(data)
    {
    }
}
