﻿// JScript File

function SetDue(Calendar_ClientID, Due_ClientID, Order_ID, Due) {
    FM_Website.Customers.Services.WS_Ordering.SetOrderDue(Calendar_ClientID, Due_ClientID, Order_ID, Due, ProcessAjaxResults, ProcessAjaxResults);
}

function ChangeDue(Calendar_ClientID, Due_ClientID, Order_ID) {
    FM_Website.Customers.Services.WS_Ordering.ChangeOrderDue(Calendar_ClientID, Due_ClientID, Order_ID, ProcessAjaxResults, ProcessAjaxResults);
}

function RefreshOrderPageElements(CurrentOrderBox, ProcessSteps) {    
    if (CurrentOrderBox == null) CurrentOrderBox = true;
    if (ProcessSteps == null) ProcessSteps = true;
    FM_Website.Customers.Services.WS_Ordering.RefreshOrderPageElements(CurrentOrderBox, ProcessSteps, ProcessAjaxResults);
}

function ShowCustomiseAction(Order_Item_ID, NoShowPanel) {    
    if (!NoShowPanel) ShowActionPanel(null,-1);
    if (!pnlAction || !FM_Website.Customers.Services || !FM_Website.Customers.Services.WS_Ordering) {
        setTimeout('ShowCustomiseAction(' + Order_Item_ID + ',true);',300);
        return
    }
    FM_Website.Customers.Services.WS_Ordering.LoadCustomiseItem(pnlAction.id, Order_Item_ID,ProcessAjaxResults,null,[Updating(pnlAction)]);
}

function RefreshBuilderHeader(Order_Item_ID) {
    FM_Website.Customers.Services.WS_Ordering.RefreshBuilderHeader(Order_Item_ID, ProcessAjaxResults);
}

function SaveRecurringOrderChanges(RecurrenceSettingsContainerClientID, rbRecurringClientID, CalRecurrenceEndDateClientID, LinksClientID, SavingClientID, PopupBehaviorClientID, Order_ID, ShowSameAgain) {
    var Container = $get(RecurrenceSettingsContainerClientID);
    var Links = $get(LinksClientID, Container);
    var Saving = $get(SavingClientID, Container);
    Links.style.display="none";
    Saving.style.display="inline";
    var rbRecurring = $get(rbRecurringClientID, Container);
    var CalRecurrenceEndDate = $get(CalRecurrenceEndDateClientID, Container);    
    var Popup = $find(PopupBehaviorClientID);
    FM_Website.Customers.Services.WS_Ordering.SaveRecurrenceSettings(RecurrenceSettingsContainerClientID, pnlAction.id, Order_ID, rbRecurring.checked, CalRecurrenceEndDate.value, ShowSameAgain, RecurringOrderProcessed, null, Popup);
}

function CancelRecurringOrderChanges(RecurrenceSettingsContainerClientID, LinksClientID, SavingClientID, PopupBehaviorClientID, UpdatingTextClientID, Order_ID, ShowSameAgain) {
    var Container = $get(RecurrenceSettingsContainerClientID);
    var Links = $get(LinksClientID, Container);
    var Saving = $get(SavingClientID, Container);
    var UpdatingText = $get(UpdatingTextClientID, Container);
    UpdatingText.innerHTML = 'Cancelling...';
    Links.style.display="none";
    Saving.style.display="inline";    
    var Popup = $find(PopupBehaviorClientID);
    FM_Website.Customers.Services.WS_Ordering.CancelRecurrenceSettings(RecurrenceSettingsContainerClientID, Order_ID, ShowSameAgain, RecurringOrderProcessed, null, Popup);
}

function StopRecurringOrder(Order_ID, ContainerClientID, ImgID, ShowSameAgain) {
    UpdatingImage(ImgID, ContainerID);
    FM_Website.Customers.Services.WS_Ordering.SaveRecurrenceSettings(ContainerClientID, Order_ID, false, '', ShowSameAgain, ProcessAjaxResults);
}

function SetupRecurringPayment() {
    if (!FM_Page_Valid(true)) return;
    var payment = new DataObject(pnlAction);
    FM_Website.Customers.Services.WS_Ordering.SetupRecurringPayment(payment.RecurringPaymentOption,ProcessAjaxResults,null,[Updating(pnlAction)])
}

function RecurringOrderProcessed(results,Popup) {
    Popup.hidePopup();
    Popup.dispose();
    ProcessAjaxResults(results,[Updating(pnlAction)]);
}

function CancelOrder(Order_ID, KeepRecurring, ContainerID, ImgID) {
    if (!confirm("This will cancel order #" + Order_ID + ".  Are you sure?\n\nPress 'OK' to continue with the cancellation.")) return;
    UpdatingImage(ImgID, ContainerID);
    FM_Website.Customers.Services.WS_Ordering.CancelOrder(Order_ID, KeepRecurring, ProcessAjaxResults);
}

function SameAgain(Order_ID, ContainerID, ImgID) {
    if (ContainerID != '' && ImgID != '') UpdatingImage(ImgID, ContainerID);
    FM_Website.Customers.Services.WS_Ordering.SameAgain(Order_ID, ProcessAjaxResults);
}

function PlaceFutureOrderNow(Order_ID, ContainerID, ImgID) {
    if (ContainerID != '' && ImgID != '') UpdatingImage(ImgID, ContainerID);
    FM_Website.Customers.Services.WS_Ordering.PlaceFutureOrderNow(Order_ID, ProcessAjaxResults);
}

function UpdatingImage(ImgID, ContainerID) {
   var Img = $get(ImgID, $get(ContainerID));
   Img.className = 'refresh';
   Img.parentNode.href='#NoLink';
}

function PlaceOrder(Payment, Fee, Method) {
    //if (typeof lbConfirm == 'undefined' || !lbConfirm) {lbConfirm = $get('Base_Page_ctl00_lbConfirm');}
    if (typeof lbConfirm == 'undefined' || !lbConfirm) {alert("We're sorry - there has been a problem placing your order.  Please refresh the page and try again, or contact our help line for assistance."); return;}
    if (Payment && Payment > 0) {
        if (!ConfirmPayment(Payment,Fee,Method)) return;
    }
    AllowedToClose=true;    
    eval(unescape(lbConfirm.href.replace("javascript:","")));
}
