/*global-block-begin*/
<!--

function tagSearchWordCloudCtrl(args, nestedHtmlGetter) {
    var html = '';
    html += '<div id="SearchWordCloudCtrlDiv" class="search-wordcloud-ctrl" style="background-color:inherit;">Loading...';
    html += '</div>';
    var searchCallback = { onOk: onSearchWordCloudCtrlResult, onError: onSearchWordCloudResultError };
    var path = args.artifact.getRelationPath().getPath();
    serverManager.asyncRequest('search/WordCloud', null, searchCallback, { scope: path });
    return html;
}

function onSearchWordCloudCtrlResult(responseAttributes) {
    if (responseAttributes.keywords && responseAttributes.keywords.length > 0) {
        var keywords = responseAttributes.keywords, 
            maxWeight = keywords[0].weight,
            tagvars = '<tags>',
            searchHref = barrique.contextPath+'/sx/search/Search?scope='+
                encodeURIComponent(responseAttributes.scope)+'%26query=';
        dojo.forEach(keywords, function(kw) {
            tagvars += "<a href='"+searchHref+encodeURIComponent(kw.text)+
                "' style='"+(30*(kw.weight/maxWeight)).toFixed(1)+"'>"+kw.text+"</a>";
        });
        tagvars += '</tags>';
        
        var containerNode = document.getElementById('SearchWordCloudCtrlDiv'),
            fontColor = new dojo.Color(dojo.style(containerNode, 'color')).toHex(),
            backgroundColor = new dojo.Color(dojo.style(containerNode, 'backgroundColor')).toHex();
        if (fontColor == backgroundColor) {
            backgroundColor = '#FFFFFF'; 
            fontColor = '#000000';
        }

        var so = new SWFObject(
                barrique.contextPath+'/pages/'+barrique.buildNumber+'/barrique/module/search/wp-cumulus/tagcloud.swf', 
                "tagcloud", "100%", "240", "7", backgroundColor); //"#ffffff");
        //so.addParam("wmode", "transparent");
        //console.log('tcolor', '0x'+fontColor.substring(1, fontColor.length));
        so.addVariable("tcolor", '0x'+fontColor.substring(1, fontColor.length)); //"0x333333");
        so.addVariable("mode", "tags");
        so.addVariable("distr", "true");
        so.addVariable("tspeed", "180");
        so.addVariable("tagcloud", tagvars);
        so.write("SearchWordCloudCtrlDiv");
    } else {
        dojo.byId('SearchWordCloudCtrlDiv').innerHTML = 'No keywords found';
    }
}

function onSearchWordCloudResultError(exception) {
    dojo.byId('SearchWordCloudCtrlDiv').innerHTML = 'Error while calculating word cloud...';
    console.error(exception);
}


/*global-block-end*/
/*function-begin (getHeadHtml2q) */
function getHeadHtml2q() {
    var html = '';
    html += '\n\n\n\<script language=\"javascript\" src=\"';
    var scriptlet = barrique.contextPath+'/pages/'+barrique.buildNumber; if (scriptlet != null) html += scriptlet;
    html += '\/barrique\/module\/search\/wp-cumulus\/swfobject.js\"\>\<\/script\>\n\n';
    return html;
}
/*function-end (getHeadHtml2q) */
/*function-begin (getBodyHtml2q) */
function getBodyHtml2q() {
    var html = '';
    return html;
}
/*function-end (getBodyHtml2q) */
