﻿/*************************************************************
    Blue Rhino Distportal Functions

    Common functions used within the Corporate Portal pages.
**************************************************************/
var updateBreadcrumbCache = false;

function highlightElement(id) {
    var element;
    if (typeof(id) == "object") {
        element = id;
    } else if (typeof(id) == "string") {
        element = getElementId(id);
    }
    element.className = "Highlight";
}

//SEARCH FUNCTIONS
function setSearchWindow() {
    setSearchWindowByName("SearchResults");
}

function setOrderSearchWindow() {
    setSearchWindowByName("OrderResults");
}

function setSearchWindowByName(name) {
    PopupPage(PATH_BASE + "BRCTools/SearchPlaceHolder.aspx", name, 1000, 400);
}

function gotoRetailerSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/Retailer-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoDistSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/Dist-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoDistParSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/DistPar-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoGPDistSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/DistGP-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoChainSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/Chain-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoChainParSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/ChainPar-Search-Results.aspx", "SearchResults", 1000, 400);
}

function gotoOrderSearchResults() {
    PopupPage(PATH_RHINOWAY + "Popups/Order-Search-Results.aspx", "OrderResults", 1000, 400);
}

//Refreshes the referenced window with the url passed in.
function gotoPage(windowRef, url) {
    windowRef.location = url;
    windowRef.focus();
}

function viewRetailer(windowRef, rid, product, reload) {
    if (reload == undefined) {
        reload = "false";
    }
    var retailerUrl = PATH_RHINOWAY + "View/Retailer.aspx?rid=" + rid + "&product=" + product + "&reload=" + reload;
    if (updateBreadcrumbCache) {
        retailerUrl += "&update=true";
    }
    gotoPage(windowRef, retailerUrl);
    return false;
}

function editRetailer(windowRef, rid, product) {
    var retailerUrl = PATH_RHINOWAY + "Edit/Retailer.aspx?rid=" + rid + "&product=" + product;
    gotoPage(windowRef, retailerUrl);
    return false;
}

function viewChainPar(windowRef, chainParID) {
    var chainParUrl = PATH_RHINOWAY + "View/Chain-Parent.aspx?chainParID=" + chainParID;
    if (updateBreadcrumbCache) {
        chainParUrl += "&update=true";
    }
    gotoPage(windowRef, chainParUrl);
    return false;
}

function editChainPar(windowRef, chainParID) {
    var chainParUrl = PATH_RHINOWAY + "Edit/Chain-Parent.aspx?chainParID=" + chainParID;
    gotoPage(windowRef, chainParUrl);
    return false;
}

function viewChain(windowRef, chainID, reload) {
    if (reload == undefined) {
        reload = "false";
    }
    var chainUrl = PATH_RHINOWAY + "View/Chain.aspx?chainID=" + chainID + "&reload=" + reload;
    if (updateBreadcrumbCache) {
        chainUrl += "&update=true";
    }
    gotoPage(windowRef, chainUrl);
    return false;
}

function editChain(windowRef, chainID) {
    var chainUrl = PATH_RHINOWAY + "Edit/Chain.aspx?chainID=" + chainID;
    gotoPage(windowRef, chainUrl);
    return false;
}

function viewDistGP(windowRef, distGPID) {
    var distGPURL = PATH_RHINOWAY + "View/Distributor-Grandparent.aspx?distGPID=" + distGPID;
    if (updateBreadcrumbCache) {
        distGPURL += "&update=true";
    }
    gotoPage(windowRef, distGPURL);
    return false;
}

function editDistGP(windowRef, distGPID) {
    var distGPURL = PATH_RHINOWAY + "Edit/Distributor-Grandparent.aspx?distGPID=" + distGPID;
    gotoPage(windowRef, distGPURL);
    return false;
}

function viewDistPar(windowRef, distParID) {
    var distParURL = PATH_RHINOWAY + "View/Distributor-Parent.aspx?distParID=" + distParID;
    if (updateBreadcrumbCache) {
        distParURL += "&update=true";
    }
    gotoPage(windowRef, distParURL);
    return false;
}

function editDistPar(windowRef, distParID) {
    var distParURL = PATH_RHINOWAY + "Edit/Distributor-Parent.aspx?distParID=" + distParID;
    gotoPage(windowRef, distParURL);
    return false;
}

function viewDist(windowRef, distID) {
    var distURL = PATH_RHINOWAY + "View/Distributor.aspx?distID=" + distID;
    if (updateBreadcrumbCache) {
        distURL += "&update=true";
    }
    gotoPage(windowRef, distURL);
    return false;
}

function editDist(windowRef, distID) {
    var distURL = PATH_RHINOWAY + "Edit/Distributor.aspx?distID=" + distID;
    gotoPage(windowRef, distURL);
    return false;
}

//MOVE RETAILER INFO
function MoveRetailerInfo(type, action, rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "type", type);
    searchParams = buildParamList(searchParams, "action", action);
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Move-Retailer-Information.aspx?" + searchParams;
    var options = "width=350,height=250," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "moveInfo", options);
    mvWindow.focus();
    return false;
}

function MoveRetailerSellingHistory(rid, product, resultsFunction) {
    return MoveRetailerInfo("selling", "pull", rid, product, resultsFunction);
}

function MoveRetailerIssueLog(rid, product, resultsFunction) {
    return MoveRetailerInfo("issue", "pull", rid, product, resultsFunction);
}

function MoveRetailerStatusHistory(rid, product, resultsFunction) {
    return MoveRetailerInfo("status", "pull", rid, product, resultsFunction);
}

function MoveRetailerCompleteHistory(rid, product, resultsFunction) {
    return MoveRetailerInfo("all", "pull", rid, product, resultsFunction);
}

//PULL CHAIN PROPERTIES TO RETAILER
function PullChainToRetailer(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Pull-Chain-to-Retailer.aspx?" + searchParams;
    var options = "width=390,height=480," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "pullToRetailer", options);
    mvWindow.focus();
    return false;
}

//PUSH CHAIN PROPERTIES TO RETAILER
function PushChainToRetailer(chainID, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "chainID", chainID);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Push-Chain-to-Retailer.aspx?" + searchParams;
    var options = "width=390,height=530," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "pushToRetailer", options);
    mvWindow.focus();
    return false;
}

//ADD RETAILER PRODUCT
function AddRetailerProduct(rid, product, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", product);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Add-Retailer-Product.aspx?" + searchParams;
    var options = "width=380,height=380," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "addProduct", options);
    mvWindow.focus();
    return false;
}

//DEINSTALL CHAIN RETAILERS
function DeinstallChain(chainID, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "chainID", chainID);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Chain-Deinstall.aspx?" + searchParams;
    var options = "width=390,height=530," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "deinstallChain", options);
    mvWindow.focus();
    return false;
}

//NEW MARKETING OUTCALL
function NewMarketingOutcall(chainID, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "chainID", chainID);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/New-Marketing-Outcall.aspx?" + searchParams;
    var options = "width=400,height=510," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "marketingOutcall", options);
    mvWindow.focus();
    return false;
}

//MANAGE CONTACTS
function ManageContacts(entityID, entityType, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "entityID", entityID);
    searchParams = buildParamList(searchParams, "entityType", entityType);
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Manage-Contacts.aspx?" + searchParams;
    var options = "width=1000,height=500," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "marketingOutcall", options);
    mvWindow.focus();
    return false;
}

//EDIT ORDER
function EditOrder(callNumber, rid, resultsFunction) {
    var searchParams = "";
    searchParams = buildParamList(searchParams, "callNumber", callNumber);
    searchParams = buildParamList(searchParams, "rid", rid);
    searchParams = buildParamList(searchParams, "product", "R");
    searchParams = buildParamList(searchParams, "rFN", resultsFunction);
    var popupUrl = PATH_RHINOWAY + "Popups/Edit-Order.aspx?" + searchParams;
    var options = "width=500,height=750," + popupDisplayOptions;
    var mvWindow = window.open(popupUrl, "editOrder", options);
    mvWindow.focus();
    return false;
}