﻿function CheckAllFranchises(cat_id) {
    if (cat_id == "") {
        for (var i = 0; i < document.aspnetForm.elements.length; i++) {
            if (document.aspnetForm.elements[i].type == "checkbox") {
                document.aspnetForm.elements[i].checked = true;
            }
        }
    }
    else {
        for (var i = 0; i < document.aspnetForm.elements.length; i++) {
            if (document.aspnetForm.elements[i].type == "checkbox") {
                if (document.aspnetForm.elements[i].value.split("^")[0] == cat_id) {
                    document.aspnetForm.elements[i].checked = true;
                }
            }
        }
    }
}

function UncheckAllFranchises(cat_id) {
    if (cat_id == "") {
        for (var i = 0; i < document.aspnetForm.elements.length; i++) {
            if (document.aspnetForm.elements[i].type == "checkbox") {
                document.aspnetForm.elements[i].checked = false;
            }
        }
    }
    else {
        for (var i = 0; i < document.aspnetForm.elements.length; i++) {
            if (document.aspnetForm.elements[i].type == "checkbox") {
                if (document.aspnetForm.elements[i].value.split("^")[0] == cat_id) {
                    document.aspnetForm.elements[i].checked = false;
                }
            }
        }
    }
}

/* --------- 2 0 0 9    S H O P P I N G    C A R T    S T U F F ------------------------------------------------------------------------------ */

var page_name = window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1).toUpperCase();

function PositionFloatingCartDiv() {
    if (page_name != "FRANCHISE_CHECKOUT.ASPX") {
        
        //If there are no items in the cart on load, then don't even show the cart box (div)
        ShowOrHideCartOnLoad();
        //PopulateLittleCartDiv();
        
        var browser_width;
        var pos_of_left_side_of_cart;
        
        browser_width = document.body.clientWidth;
                    
        pos_of_left_side_of_cart = browser_width - 197;
        $get("FloatingCartDiv").style.left = pos_of_left_side_of_cart.toString() + "px";
    }
}

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    
    for (var i=0;i<vars.length;i++) { 
        var pair = vars[i].split("="); 
        if (pair[0] == variable) { 
            return pair[1]; 
        } 
    } 
  //alert('Query Variable ' + variable + ' not found'); 
} 


function ShowOrHideCheckOutLink() {
    //alert("CFP : Calling GetItemsCount from function ShowOrHideCheckOutLink");
    ShoppingCart.GetItemsCount(ShowOrHideCheckOutLink_results);
}

function ShowOrHideCheckOutLink_results(result) {
    var co_str;
    
    if (result == 0) {
        co_str = "";
    }
    else {
        co_str = "<div style=\"margin-top:15px;text-align:center;margin-left:auto;margin-right:auto;font-weight:bold;\">";
        co_str = co_str + "<a href=\"franchise_checkout.aspx\">Check Out</a>";
        co_str = co_str + "</div>";
    }
    $get("FloatingCartContentsDiv").innerHTML = $get("FloatingCartContentsDiv").innerHTML + co_str;
}

function ShowPleaseWaitImage_One_Param(function_to_execute, param1) {
    $get("FloatingCartContentsDiv").innerHTML = "<img src='images/mozilla_blu.gif' />";
    //alert("inside ShowPleaseWaitImage_One_Param, param1 = " + param1);
    
    window.setTimeout(function_to_execute + "('" + param1 + "')", 600);
}

//Retrieves the value of the querystring variable whose name is passed in as param1
function ShowPleaseWaitImage_One_Param_QS(function_to_execute, param1) {
    //alert("function_to_execute = " + function_to_execute + " -- param1 = " + getQueryVariable(param1));
    
    $get("FloatingCartContentsDiv").innerHTML = "<img src='images/mozilla_blu.gif' />";
    //alert("inside ShowPleaseWaitImage_One_Param, param1 = " + param1);
    
    //alert(getQueryVariable(param1))
    window.setTimeout(function_to_execute + "('" + getQueryVariable(param1) + "')", 600);
}

function AddToCart(aid) {
    $get("FloatingCartDiv").style.display = "block";
    //Call web method which adds item to cart (server-side session class) and returns cart contents as a string
    ShoppingCart.AddToCart(aid, DisplayCartContents_results);
}

function AddToCartMultiple(aid_str) {
    $get("FloatingCartDiv").style.display = "block";
    //Call web method which adds one or more items to cart (server-side session class) and returns cart contents as a string
    ShoppingCart.AddToCartMultiple(aid_str, DisplayCartContentsCheckout_results);
}

//Display cart contents as returned (as a string) from web service (as RESULT parameter)
//This gets called after adding an item to the cart
function DisplayCartContents_results(result) {
    //alert("Inside DisplayCartContents_results");

    $get("FloatingCartContentsDiv").innerHTML = result.split("^^")[0];
    ShowOrHideCheckOutLink();
    PopulateLittleCartDiv();
    
    if (result.split("^^")[1] == "FULL") {
        alert("THE FRANCHISE CART IS FULL\n\nYou can only add 20 franchises to the cart.\nIf you'd like information on more than 20 franchises, then please first check\nout with these 20 franchises, and then start again with an empty cart.");
    }
}

//Display cart contents as returned (as a string) from web service (as RESULT parameter).
//Afterwards, redirect to checkout screen.
//This gets called after adding one or more items to the cart.
function DisplayCartContentsCheckout_results(result) {
    //No need to do this since we're hiding the floating cart on the check out screen anyway.
    //$get("FloatingCartContentsDiv").innerHTML = result;
    //PopulateLittleCartDiv();
    
    //alert(result.split("^^")[1]);
    if (result.split("^^")[1] == "FULL") {
        alert("THE FRANCHISE CART IS FULL\n\nYou can only add 20 franchises to the cart, therefore one or more\nof the franchises you selected may not have been added to your cart.\nIf you'd like information on more than 20 franchises, then please first check\nout with these 20 franchises, and then start again with an empty cart.");
    }
    window.location.href = "franchise_checkout.aspx";
    
}

function DisplayInitialCartContents() {
    if (page_name != "FRANCHISE_CHECKOUT.ASPX") {
        ShoppingCart.GetCartContents(DisplayCartContents_results);
    }
}

function RemoveFromCart(aid) {
    //Call web method which removes item from cart (server-side session class) and returns cart contents as a string
    ShoppingCart.RemoveFromCart(aid, DisplayCartContents_results);
}

function ShowOrHideCartOnLoad() {
    //alert("CFP : Calling GetItemsCount from function ShowOrHideCartOnLoad");
    ShoppingCart.GetItemsCount(ShowOrHideCartOnLoad_results);
}

function ShowOrHideCartOnLoad_results(result) {
    if (page_name == "FRANCHISE_CHECKOUT.ASPX") {
        $get("FloatingCartDiv").style.display = "none";
    }
    else if (result == 0) {
        $get("FloatingCartDiv").style.display = "none";
    }
    else {
        $get("FloatingCartDiv").style.display = "block";
    }
}

function PopulateLittleCartDiv() {
    //alert("CFP : Calling GetItemsCount from function PopulateLittleCartDiv");
    ShoppingCart.GetItemsCount(PopulateLittleCartDiv_results);
}

function PopulateLittleCartDiv_results(result) {
    var cart_str;
       
    if (result == 0) {
        cart_str = "<div style=\"text-align:center;margin-top:17px;\">Your Franchise Cart is Empty</div>"
    }
    else {
        cart_str = "<div style=\"text-align:center;margin-top:9px;margin-bottom:7px;font-size:7pt;\">Your Cart Contains " + result + " Item"
        if (result > 1) {cart_str = cart_str + "s"}
        cart_str = cart_str + "</div>"
        if (page_name != "FRANCHISE_CHECKOUT.ASPX") {
            cart_str = cart_str + "<div style=\"text-align:center;font-size:7pt;\">"
            cart_str = cart_str + "<a style=\"color:white;\" href=\"#\" onclick=\"javascript:document.getElementById('FloatingCartDiv').style.display='block';return false;\">Show Cart</a>"
            cart_str = cart_str + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
            cart_str = cart_str + "<a style=\"color:white;\" href=\"franchise_checkout.aspx\">Check Out</a>"
            cart_str = cart_str + "</div>"
        }
    }
    $get("LittleCartInternalDiv").innerHTML = cart_str;
}
