function buildUrl (accnt, aid, pid, server, queryString, iframeHeight, authToken) {
	var gatewayUrl = server + '/gateway_co.asp?accnt=' + accnt;

	if(isCJMode(aid, pid)) {
		gatewayUrl += '&aid=' + aid + '&pid=' + pid;
	} else {
		if(isRTExtraMode(aid, pid)) {
			gatewayUrl += '&' + aid + '=' + pid;
		}
	}

	if(typeof(authToken) != 'undefined' && authToken != 'undefined') {
		gatewayUrl += '&authToken=' + authToken;
	}

	if(queryString && queryString != '') {
		queryString = GetOriginalSearchParameters(queryString);
		gatewayUrl += '&' + queryString;
	}

	var iframeUrl = server + '/DataLink/WhiteSiteHost.aspx?gatewayUrl=' + escape(gatewayUrl) + '&accntList=' + accnt + '&accnt=' + accnt + '&setY=' + iframeHeight;

	if(typeof(authToken) != 'undefined' && authToken != 'undefined') {
		iframeUrl += '&authToken=' + escape(authToken)
	}

	var qs = escape(window.location.search);
	iframeUrl += '&qs=' + qs;

	if(typeof(g_ShowSubDomainHeader) != "undefined") {
		iframeUrl += '&subdomain=' + g_ShowSubDomainHeader;
	}

	return iframeUrl;
}
		
function renderWidgetUrl (iframeHeight, iframeWidth, url) {
	var iframeSrc = '<iframe src="' + url + '" name="WhiteSiteFrame" id="WhiteSiteFrame" width="' + iframeWidth + '" height="' + iframeHeight + '" scrolling="no" frameborder="0"></iframe>'
	document.write(iframeSrc);
}

function renderWidget(accnt, aid, pid, server, queryString, setY, authToken)
{
    var iframeHeight = (setY > 0)?setY:1300;
    iframeHeight = (iframeHeight < 800)?800:iframeHeight;
    
    var gatewayUrl = server + '/gateway_co.asp?accnt=' + accnt;
    
    if(isCJMode(aid, pid))
    {
        gatewayUrl += '&aid=' + aid + '&pid=' + pid;
    }
    else
    {
        if(isRTExtraMode(aid, pid))
        {
            gatewayUrl += '&' + aid + '=' + pid;
        }
    }
    
    if(typeof(authToken) != 'undefined' && authToken != 'undefined')
    {
      gatewayUrl += '&authToken=' + authToken;
    }
       
    if(queryString && queryString != '')
    {
        queryString = GetOriginalSearchParameters(queryString);
        gatewayUrl += '&' + queryString;
    }
        
    var iframeUrl = server + '/DataLink/WhiteSiteHost.aspx?gatewayUrl=' + escape(gatewayUrl) + '&accntList=' + accnt + '&accnt=' + accnt + '&setY=' + iframeHeight;

    if(typeof(authToken) != 'undefined' && authToken != 'undefined')
    {
      iframeUrl += '&authToken=' + escape(authToken)
    }
    
    var qs = escape(window.location.search);
    iframeUrl += '&qs=' + qs;    

    if(typeof(g_ShowSubDomainHeader) != "undefined")
    {
        iframeUrl += '&subdomain=' + g_ShowSubDomainHeader;
    }

    var iframeSrc = '<iframe src="' + iframeUrl + '" name="WhiteSiteFrame" id="WhiteSiteFrame" width="800" height="' + iframeHeight + '" scrolling="no" frameborder="0"></iframe>'        

    document.write(iframeSrc);
}

function isRTExtraMode(aid, pid)
{
    return pid != null && pid != '' && aid != null && !aid.match(/^\d*$/);
}

function isCJMode(aid, pid)
{
    return !isRTExtraMode(aid, pid) && aid != null && aid != '' && pid != null && pid != '';
}

function GetOriginalSearchParameters(iFrameQuery)
{
    var pageQuery = window.location.search;
    var parameters;
    var keyValuePair;
    var key;
    var value;
    var zip = "";
    var city = "";
    var county = "";
    var state = "";
    var hasSearchParameters = false;
    var newQuery = "a=b&pageNumD=1&id=0&db=R&srtfld=sdCreated&srtdir=DESC&type=D&tabs=DTR&ItemsPer=25&ws=true";
    
    if (pageQuery && pageQuery.length > 0)
    {
        pageQuery = pageQuery.replace("?","");
        parameters = pageQuery.split("&");
        
        for (var i in parameters)
        {
            keyValuePair = parameters[i].split("=");
            if (keyValuePair.length == 2)
            {
                key = keyValuePair[0];
                value = keyValuePair[1];
                
                switch (key)
                {
                    case "txtZip":
                        zip = value;
                        break;
                    case "txtCity":
                        if (city == "")
                        {
                            city = value;
                        }
                        else
                        {
                            state = value;
                        }
                        break;
                    
                    //If we need to get county from query string add parameters here.
                    
                }
                  
            }            
        }
        if (zip != "" || (city != "" && state != ""))
        {
            if (zip != "")
            {
                iFrameQuery = newQuery + "&zip=" + zip;

            }
            else if (city != "" && state != "")
            {
                iFrameQuery = newQuery + "&city=" + city + "&state=" + state;
            }
        }
    }
    
    return iFrameQuery;
    
}