﻿$.extend({
    GenericWebCall: function(params) {
        var $jsonToReturn;
        var $id = params.id;
        var $url = params.url;
        var $container = params.container;
        var $template = params.template;
        var $noResultsMessage = params.noResultsMessage;
        var $resultsContainer = params.resultsContainer;

        $.WebServiceCall({
            url: $url,
            data: "{id: '" + $id + "'}"
        }, function(json) {
            $jsonToReturn = json.d;
            if (json.d.length > 0) {
                $.SetHtml({ html: '', control: $($container) });
                $($template).tmpl(json.d).appendTo($container);
                $($container).show();

                if ($noResultsMessage !== undefined)
                    $($noResultsMessage).hide();

                if ($resultsContainer !== undefined)
                    $($resultsContainer).show();
            }
            else {
                $($container).hide();

                if ($noResultsMessage !== undefined)
                    $($noResultsMessage).show();

                if ($resultsContainer !== undefined)
                    $($resultsContainer).hide();
            }
        });

        return $jsonToReturn;
    },

    LoadQuestions: function(params) {
        var $jsonToReturn;
        var $id = params.id;
        var $url = params.url;
        var $container = params.container;
        var $template = params.template;
        $.WebServiceCall({
            url: $url,
            data: "{id: '" + $id + "'}"
        }, function(json) {
            $jsonToReturn = json;
            $.SetHtml({ html: '', control: $($container) });
            $($template).tmpl(json.d).appendTo($container);
            $($container).show();
        });

        return $jsonToReturn;
    },

    LoadActionPlans: function(params) {
        var $id = params.id;
        var $url = params.url;
        var $container = params.container;
        var $template = params.template;

        var json = $.GenericWebCall({
            id: $id,
            url: $url,
            template: $template,
            container: $container
        });

        $(".actionPlanTable").show();

        if (json.length === 0) {
            $(".newActionPlanRow").show();
            $(".newActionPlanDiv").hide();
        }

        $(".truncateMe").jTruncate({
            length: 200,
            minTrail: 0,
            moreText: 'more >>',
            lessText: '<< less'
        });
    },

    EmbedVideo: function(params) {
        var $index = params.index;
        var $source = params.source;
        var $webroot = params.webroot;

        var flashvars = {
            file: $webroot + 'BSEContent/Media/QualityAssurance/Videos/' + $source, autostart: 'true', repeat: 'always'
        };

        var flashparams = { allowfullscreen: 'true', allowscriptaccess: 'always', bgcolor: "#FFFFFF" };
        var attributes = { id: 'player' + $index, name: 'player' + $index };
        swfobject.embedSWF('/swf/Twofour.BSE.LoopingPlayer.swf', 'divPlayer' + $index, '480', '270', '9.0.115', 'false', flashvars, flashparams, attributes);
    }
});
