﻿function CallSvc(e, query, svcname, authcode, countonly, from, authenticated) {

    //determine if we only want to know the number of results
    //var countonly = (e[1] == null && e[0] != null);
    showLoading(e[0]);
    showLoading(e[1]);
    
    //Call the provided URL and subsequently update the page
    $.ajax({
        type: 'POST',
        url: 'wsExternalSearch.asmx/Search',
        data: '{"scode":"' + svcname + '","squery":"' + query + '","bcountonly":"' + countonly + '","sauthcode":"' + authcode + '","fromurl":"' + from + '","authenticated":"' + authenticated + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: 'json',
        success: oncomplete
    });

    function setcontent(e,msg) {
        if (e) {
            if (e[2] && (e[2] == 'counter')) {
                //Count item
                //[1] = results animater
                if (e[1]) {
                    $(e[1]).hide();
                }
                //[0] = count container
                if (e[0]) {
                    if (msg) {
                        $(e[0]).html(msg.Count);
                    } else {
                        $(e[0]).html("0");
                    }
                }
            } else {
                if (e[1]) {
                    $(e[1]).hide();
                }
                //[0] = count container
                if (e[0]) {
                    if (msg) {
                        $(e[0]).html(msg.Body);
                    } else {
                        //nothing
                    }
                }
            }
        }
    }

    function showLoading(e) {
        if (e) {
            if (e[2] && (e[2] == 'counter')) {
                //Count item
                //[1] = results animater
                if (e[1]) {
                    $(e[1]).show();
                }
            }
            else {
                if (e[1]) {
                    $(e[1]).show();
                }
            }
        }
    }

    function oncomplete(msg) {
        //e is an array of arrays
        
        var cArray = e[0];
        var bArray = e[1];

        setcontent(cArray,msg);
        setcontent(bArray,msg);
    }
}

