﻿/*************************************************************
    Blue Rhino Distportal Functions

    Common functions used within the Distributor Portal pages.
**************************************************************/
var ajaxPath = "/BRWEB/BRCAjax/";
var dpPath = "/BRWEB/Distportal/";
var popupDisplayOptions = "scrollbars=1,resizable=1,status=1,menubar=0,toobar=0";

//--SendToVCI(rid, product)-----------------------------------------
function SendToVCI(rid, product) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    var popupUrl = dpPath + "Customers/ViewCustomerInfo.aspx?" + searchParams;
    var options = "";
    var vciWindow = window.open(popupUrl, "popupVCI", options);
    vciWindow.focus();
    
    return false;
}

function GoToVCI() {
    var popupUrl = dpPath + "Customers/ViewCustomerInfo.aspx";
    var options = popupDisplayOptions;
    var vciWindow = window.open(popupUrl, "popupVCI", options);
    vciWindow.focus();
    
    return false;
}

function GoToInstallStore() {
    var popupUrl = dpPath + "Work-Centers/Install-Center/Install-Store.aspx";
    var options = popupDisplayOptions;
    var installWindow = window.open(popupUrl, "popupInstallStore", options);
    installWindow.focus();
    
    return false;
}

//--CustomerSearch(resultsFunction, searchType)----------------------------
// Pops up the Customer Search screen. The resultsFunction parameter
// is the name of the function the search popup should return it's
// results to (the resultsFunction must take a single string parameter)
//-------------------------------------------------------------------------
function CustomerSearch(resultsFunction, searchType) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    searchParams = buildParamList(searchParams, "type", searchType);
    var popupUrl = dpPath + "Popups/CustomerSearch.aspx?" + searchParams;
    var options = "width=400,height=600," + popupDisplayOptions;
    var srchWindow = window.open(popupUrl, "customerSearch", options);
    srchWindow.focus();
    return false;
}

//--PopulateVCIResults(results)-------------------------------------
// Takes a comma-delimited list of rid||product||storeName||status
// pairs and adds them to the VCI Search Results <select> as options.
//------------------------------------------------------------------
function PopulateVCIResults(results) {
    var numOfResults;
    numOfResults = PopulateSearchResults("selSearchResults", results);
    if (numOfResults == 1) {
        //only one search result found, automatically load the retailer
        getElement("selSearchResults").options[0].selected = true;
        LoadRetailerFromSelect("selSearchResults");
    }
}

function PopulateDependentResults(results) {
    PopulateSearchResults("selAvailDependents", results);
    FilterDependents();
}

//--PopulateSearchResults(selID, results)-------------------------------
// Takes a comma-delimited list of rid||product||storeName||status pairs
// and adds them to the select element passed in.
//----------------------------------------------------------------------
function PopulateSearchResults(selID, results) {
    var selSearch = getElement(selID);
    removeDropdownOptions(selID);
    var newitem, itemValue, displayValue;
    if (results != "") {
        var newResults = results.split(",");
        for (var i=0; i<newResults.length; i++) {
            newitem = newResults[i].split("||");
		    itemValue = newitem[0] + "||" + newitem[1] + "||" + newitem[3];
		    displayValue = newitem[0] + " " + newitem[1] + " " + newitem[2];
		    selSearch.options[i] = new Option(displayValue,itemValue);
        }
        return newResults.length;
    } else {
        selSearch.options[0] = new Option("No Retailers Found", "0||T");
        return 0;
    }
}

//--PopulateInstallResults(results)---------------------------------
// Takes a comma-delimited list of rid||product||storeName||status
// pairs and adds them to the Install Search Results <select> as options.
// Does not use PopulateSearchResults because the Install screen uses
// a different display order.
//------------------------------------------------------------------
function PopulateInstallResults(results) {
    var selSearch = getElement("selSearchResults");
    removeDropdownOptions("selSearchResults");
    var newitem, itemValue, displayValue;
    if (results != "") {
        var newResults = results.split(",");
        for (var i=0; i<newResults.length; i++) {
            newitem = newResults[i].split("||");
		    itemValue = newitem[0] + "||" + newitem[1] + "||" + newitem[3];
		    displayValue = newitem[3] + " " + newitem[0] + " " + newitem[1] + " " + newitem[2];
		    selSearch.options[i] = new Option(displayValue,itemValue);
        }
        if (newResults.length == 1) {
            //only one search result found, automatically load the retailer
            selSearch.options[0].selected = true;
            LoadRetailerFromSelect('selSearchResults');
        }
    } else {
        selSearch.options[0] = new Option("No Retailers Found", "0||T");
    }
}

function PopupLegend() {
    var popupUrl = dpPath + "Popups/Legend.aspx";
    var options = "width=500,height=600," + popupDisplayOptions;
    var lgndWindow = window.open(popupUrl, "viewLegend", options);
    lgndWindow.focus();
    return false;
}

function PopInstallStore(rid, product, status) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "status", status);
    var popupUrl = dpPath + "Work-Centers/Install-Center/Install-Store.aspx?" + searchParams;
    var options = "";
    var insWindow = window.open(popupUrl, "InstallStore", options);
    insWindow.focus();
    return false;
}

function ChangeIssue(rid, product, callid, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "callid", callid);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/ChangeIssue.aspx?" + searchParams;
    var options = "width=500,height=750," + popupDisplayOptions;
    var ciWindow = window.open(popupUrl, "changeIssue", options);
    ciWindow.focus();
    return false;
}

function ApproveStore(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/ApproveStore.aspx?" + searchParams;
    var options = "width=400,height=300," + popupDisplayOptions;
    var asWindow = window.open(popupUrl, "approveStore", options);
    asWindow.focus();
    return false;
}

function ScheduleStore(rid, product, callid, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "callid", callid);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/ScheduleStore.aspx?" + searchParams;
    var options = "width=500,height=650," + popupDisplayOptions;
    var ssWindow = window.open(popupUrl, "scheduleStore", options);
    ssWindow.focus();
    return false;
}

function ScheduleStoreInstall(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/ScheduleStoreInstall.aspx?" + searchParams;
    var options = "width=500,height=650," + popupDisplayOptions;
    var ssWindow = window.open(popupUrl, "scheduleStoreInstall", options);
    ssWindow.focus();
    return false;
}

function HoldStore(rid, product, callid, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "callid", callid);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/HoldStore.aspx?" + searchParams;
    var options = "width=400,height=300," + popupDisplayOptions;
    var holdWindow = window.open(popupUrl, "holdStore", options);
    holdWindow.focus();
    return false;
}

function HoldStoreInstall(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/HoldStoreInstall.aspx?" + searchParams;
    var options = "width=400,height=300," + popupDisplayOptions;
    var holdWindow = window.open(popupUrl, "holdStoreInstall", options);
    holdWindow.focus();
    return false;
}

function CloseCall(rid, product, callid, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "callid", callid);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/CloseCall.aspx?" + searchParams;
    var options = "width=600,height=420," + popupDisplayOptions;
    var ccWindow = window.open(popupUrl, "closeCall", options);
    ccWindow.focus();
    return false;
}

function ReleaseToHHT(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/ReleaseToHHT.aspx?" + searchParams;
    var options = "width=400,height=300," + popupDisplayOptions;
    var ccWindow = window.open(popupUrl, "closeCall", options);
    ccWindow.focus();
    return false;
}

function StatusHistoryComment(rid, product, statusOnly, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "so", statusOnly);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/StatusHistoryComment.aspx?" + searchParams;
    var options = "width=500,height=500," + popupDisplayOptions;
    var shcWindow = window.open(popupUrl, "statusHistoryComment", options);
    shcWindow.focus();
    return false;
}

//--UpdateCallAction(rid, product, callid, txtFieldId)------------------
// 
//----------------------------------------------------------------------
function UpdateCallAction(rid, product, callid, txtFieldId, resultsFunction) {
    if (confirm("Update this Action?")) {
        var saveParams = "";
        saveParams = buildParamList(saveParams, "rid", rid);
        saveParams = buildParamList(saveParams, "product", product);
        saveParams = buildParamList(saveParams, "callid", callid);
        var e = getElement(txtFieldId);
        var newAction = e.value;
        if (newAction == "") {
            alert("Cannot apply an empty action.");
            e.focus();
            return false;
        }
        
        saveParams = buildParamList(saveParams, "action", escape(newAction));
        readHTML(ajaxPath + "InsertUpdate/ajUpdateCall.aspx", saveParams, "", "", "POST", resultsFunction);
    }
}

function ViewResOutcall(callid) {
   var searchParams = "";
    searchParams = buildParamList(searchParams, "callid", callid);
    var popupUrl = dpPath + "Popups/ResOutcall.aspx?" + searchParams;
    var options = "width=520,height=450," + popupDisplayOptions;
    var rWindow = window.open(popupUrl, "updateRetailer", options);
    rWindow.focus();
    return false; 
}

function UpdateRetailerInfo(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/UpdateRetailerInfo.aspx?" + searchParams;
    var options = "width=500,height=450," + popupDisplayOptions;
    var rWindow = window.open(popupUrl, "updateRetailer", options);
    rWindow.focus();
    return false;
}

function PONumber(poNum, rid, resultsFunction) {
    var searchParams = ""
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "ponum", poNum);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/PODisplay.aspx?" + searchParams;
    var options = "width=300,height=200," + popupDisplayOptions;
    var poWindow = window.open(popupUrl, "poNum", options);
    poWindow.focus();
    return false;
}

function SetPermitRequired(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/UpdatePermit.aspx?" + searchParams;
    var options = "width=650,height=400," + popupDisplayOptions;
    var permitWindow = window.open(popupUrl, "permit", options);
    permitWindow.focus();
    return false;
}

/**************** ROUTING INFO ********************/
function SetCallFreqFixed(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/CallFrequencyFixed.aspx?" + searchParams;
    var options = "width=500,height=420," + popupDisplayOptions;
    var cffWindow = window.open(popupUrl, "cff", options);
    cffWindow.focus();
    return false;
}

function SetSeasonal(rid, product, curSeasonal, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "seasonal", curSeasonal);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/Seasonal.aspx?" + searchParams;
    var options = "width=500,height=375," + popupDisplayOptions;
    var sWindow = window.open(popupUrl, "seas", options);
    sWindow.focus();
    return false;
}

function SetWillCall(rid, product, curWillcall, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "willcall", curWillcall);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/WillCall.aspx?" + searchParams;
    var options = "width=500,height=220," + popupDisplayOptions;
    var wcWindow = window.open(popupUrl, "wc", options);
    wcWindow.focus();
    return false;
}

function SetSafetyStock(rid, product, curSafetyStock, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "sstock", curSafetyStock);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = dpPath + "Popups/SafetyStock.aspx?" + searchParams;
    var options = "width=500,height=430," + popupDisplayOptions;
    var ssWindow = window.open(popupUrl, "ss", options);
    ssWindow.focus();
    return false;
}

function PopupSearch(url) {
    window.open(url, "popupSearch", "width=550,height=550," + popupDisplayOptions);
}

/**********GENERAL***************************************/
//pops up a Kentico page
function PopupDistportalPage(url) {
    url = dpPath + url;
    window.open(url, "popupKenticoPage", popupDisplayOptions);
}