﻿/* CRUNCH[MemX.Configurator] */
// JScript File

////////////////////////////////////////////////////
/////////////// Start Ajax Functions ///////////////
////////////////////////////////////////////////////

var url = "/configurator.asmx";
var isMSIE = (navigator.appName=="Microsoft Internet Explorer") ? true : false;

//

function Config_init(){
    ProductsInBasket();
    GetDefaultValues();
}


//////////////////// Ajax Calls ////////////////////

function ItemSelect(id){
    
    // Set Loading Img
    document.getElementById('mask_'+id).innerHTML = "<div style=\"text-align:center\"><img src=\"/Images/Common/loading.gif\" width=\"130\" height=\"60\" alt=\"Loading...\" /></div>";
    
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var type_val = document.getElementById('Type_'+id);
    document.getElementById('Active_Pulldown').value = id;
    
    var pl = new SOAPClientParameters();
    pl.add("categoryName", type_val.value);
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    SOAPClient.invoke(url, "GetMainProductsForCategory", pl, true, ItemSelect_callBack);
}

function IPRSelect(){
    
    // Set Loading Img
    document.getElementById('mask_IPR').innerHTML = "<div style=\"text-align:center\"><img src=\"/Images/Common/loading.gif\" width=\"130\" height=\"60\" alt=\"Loading...\" /></div>";
    
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    document.getElementById('Active_Pulldown').value = "IPR";
    
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    SOAPClient.invoke(url, "GetIprValues", pl, true, IPRSelect_callBack);
}

function ProductDescription(pid){
    var pl = new SOAPClientParameters();
    pl.add("productId", pid);

    return SOAPClient.invoke(url, "GetProductDescription", pl, false, null);
}

function StockStatus(pid){
    var pl = new SOAPClientParameters();
    pl.add("productId", pid);

    return SOAPClient.invoke(url, "GetStockStatus", pl, false, null);
}

function AddProductToBasket(pid,qty,masterIndex,slaveIndex){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;

    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    pl.add("productId", pid);
    pl.add("quantity", qty);
    pl.add("masterIndex", masterIndex);
    pl.add("slaveIndex", slaveIndex);

    document.getElementById('Limit_' + slaveIndex).style.display = 'none';
    
    return SOAPClient.invoke(url, "AddProductToBasket", pl, false, AddProductToBasket_callBack);
}


function RemoveProductFromBasket(slaveIndex){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var Selected = document.getElementById('Selected_'+slaveIndex).value;
    
    // Reset the display & selected values
    var defaultVal = document.getElementById('Default_'+slaveIndex).value;
    document.getElementById('Pulldown_'+slaveIndex).value = defaultVal;
    document.getElementById('Price_'+slaveIndex).innerHTML = "$0.00";
    document.getElementById('Selected_'+slaveIndex).value = "";
    document.getElementById('SelPrice_'+slaveIndex).value = "";
    
    var Pimage = document.getElementById('Pimage_'+ slaveIndex);
    if(Pimage) {
        Pimage.src = "/Images/TransParency.gif";
        DivHide('Pimage_' + slaveIndex);
    }
    
    DivHide('details_' + slaveIndex);
    
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    pl.add("productId", Selected);
    pl.add("quoteCategory", slaveIndex);

    SOAPClient.invoke(url, "RemoveProductFromBasket", pl, false, null);
}

function RemoveIPRFromBasket()
{
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    
    // Reset the display & selected values
    var defaultVal = document.getElementById('Default_IPR').value;
    document.getElementById('Pulldown_IPR').value = defaultVal;
    document.getElementById('Price_IPR').innerHTML = "$0.00";
    document.getElementById('Selected_IPR').value = "";
    document.getElementById('SelPrice_IPR').value = "";
    
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    
    SOAPClient.invoke(url, "RemoveIprFromBasket", pl, false, null);
}

function AddIPRToBasket(pid){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;

    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    pl.add("productId", pid);
    return SOAPClient.invoke(url, "AddIprToBasket", pl, false, null);
}

function ProductsInBasket(){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    
    // Get the products
    SOAPClient.invoke(url, "GetProductsInBasket", pl, true, ProductsInBasket_callBack);
    
    var now = new Date();
    var month = (now.getMonth() < 10)   ? "0" + now.getMonth()   : now.getMonth();
    var day   = (now.getDate() < 10)    ? "0" + now.getDate()    : now.getDate();
    var hour  = (now.getHours() < 10)   ? "0" + now.getHours()   : now.getHours();
    var min   = (now.getMinutes() < 10) ? "0" + now.getMinutes() : now.getMinutes();
    var sec   = (now.getSeconds() < 10) ? "0" + now.getSeconds() : now.getSeconds();
    document.getElementById('Update_Last').value = month +""+ day +""+ hour +""+ min +""+ sec;
    
    BasketTotal();
}



function GetDefaultValues(){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    
    // Get the products
    SOAPClient.invoke(url, "GetDefaultItemsForBasket", pl, true, AddProductToBasket_callBack);
}



function BasketTotal(){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);


    // Get the Total
    SOAPClient.invoke(url, "GetBasketTotal", pl, true, BasketTotal_callBack);
    
    // Get IPR
    SOAPClient.invoke(url, "GetIprValues", pl, true, IPRInBasket_callBack);
}


function GetSubProducts(cat){
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    pl.add("categoryName", cat);
    return SOAPClient.invoke(url, "GetSubCategoriesForCategory", pl, false, null);
}




//////////////////// Ajax Callbacks ////////////////////
function ItemSelect_callBack(Items)
{
    var id = document.getElementById('Active_Pulldown').value;
    var mask = document.getElementById('mask_'+id);
    var Selected = document.getElementById('Selected_'+id).value;
    var type = document.getElementById('Type_'+id).value;
    var Default = document.getElementById('Default_'+id).value;
    
    mask.innerHTML = "";
    
    var noItemDiv =  "<div id=\"item_None\" style=\"border-bottom: solid 1px #d8dde0;cursor:pointer;background-Color:#f9f9f9;\" onmouseover=\"this.style.backgroundColor='#f0f2f4'\" onmouseout=\"this.style.backgroundColor='#f9f9f9'\" onclick=\"RemoveProductFromBasket('"+id+"');BasketTotal();\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
        noItemDiv += "<td style=\"width:300px;\"><div style=\"background-color:#f9f9f9;width:40px;height:40px;float:left;border-width:0px;padding-right:4px;\"></div><span style=\"font-size:10px; font-weight:bold;\"></span><br /><span class=\"quote_item_name\">" + Default + "</span></td>";
        noItemDiv += "<td class=\"list_price\" style=\"padding-left:8px; padding-right:8px\">$0.00</td></tr></table></div>";
    var noneDiv = document.createElement('div');
    noneDiv.innerHTML = noItemDiv;
    mask.appendChild(noneDiv);
    
    var c = 1;
    var cc = 1;
    for (var i in Items)
    {
        if(typeof(Items[i]) != "function"){
            if(Items[i].attributes.ID){
                var catDiv = "<div id=\"cat_"+ Items[i].attributes.ID+ "\" style=\"font-size:14px; color:#3333; text-align:center; padding:3px; background-color:#ccc;\">"+ Items[i].attributes.Name +"<\div>";
                var newCatDiv = document.createElement('div');
                newCatDiv.innerHTML = catDiv;
                mask.appendChild(newCatDiv);
                c++;
            }
        
            for (var a in Items[i])
            {
                if (a != "attributes" && typeof(Items[i][a]) != "function")
                {
                    var Recommended = Items[i][a].MemxRecommended == true ? "Recommended" : "";
                    var Inventory   = Items[i][a].Inventory != null ? Items[i][a].Inventory : "";
                    
                    //alert(Items[i][a].DisplayName);
                    var itemDiv =  "<div id=\"item_"+ Items[i][a].ProductId +"\" style=\"border-bottom: solid 1px #d8dde0;height:40px;cursor:pointer\" onmouseover=\"this.style.backgroundColor='#f0f2f4'\" onmouseout=\"this.style.backgroundColor=''\" onclick=\"ItemSelect_click('"+ Items[i][a].ProductId +"','"+ Items[i][a].Manufacturer +" - "+ Items[i][a].DisplayName +"','"+ Items[i][a].HQID +"','"+ Items[i][a].cy_list_price +"','" + Items[i][a].ImageUrl + "');\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
                    itemDiv += "<td style=\"width:300px;\"><img id=\"Img\" src=\"" + Items[i][a].ImageUrl + "\" align=\"left\" style=\"width:40px;border-width:0px;padding-right:4px;\" /> <span style=\"font-size:10px; font-weight:bold;\">"+ Items[i][a].Manufacturer +"</span> <span style=\"font-size:10px; font-weight:bold; color:Blue; padding-left:2px;\">"+ Recommended +"</span><br /><span class=\"quote_item_name\">"+ Items[i][a].DisplayName +"</span></td>";
                    itemDiv += "<td class=\"list_price\" style=\"padding-left:8px; padding-right:8px\">"+ formatCurrency(Items[i][a].cy_list_price) + "<div style=\"color:Navy;font-size:9px;\">" + Inventory + "</div></td></tr></table></div>";
        
                    var newDiv = document.createElement('div');
                    newDiv.id = "ItemBG_" + Items[i][a].ProductId;
                    newDiv.innerHTML = itemDiv;
        
                    // Set the selected item
                    if(Items[i][a].ProductId == Selected){
                        newDiv.style.backgroundColor='#f0f2f4';
                        mask.appendChild(newDiv);

                        //IE Scroll
                        if(isMSIE){
                            var HQID = Items[i][a].HQID;
                            var a=document.createElement("a"); 
                            a.id="jump_" + HQID;
                            mask.appendChild(a);
                            location.href="#jump_" + HQID;
                        }
                    }else{
                        mask.appendChild(newDiv);
                    }
                    cc++;
                }
            }
        }
    }
    //FireFox Scroll
    if(!isMSIE) ScrollItems(id);
}


function AddProductToBasket_callBack(Items) {
    if (Items != null && Items.attributes != null && Items.attributes.Category != null) {
        var limit = Items.attributes.SaleLimit;
        var extPrice = Items.attributes.ExtPrice;
        var category = Items.attributes.Category;

        if (limit != null) {
            var limitBlock = document.getElementById('Limit_' + category);
            limitBlock.style.display = 'block';
            limitBlock.innerHTML = 'Limit ' + limit + ' per';
        }

        if (extPrice != null) {
            document.getElementById('Price_' + category).innerHTML = formatCurrency(extPrice);
        }
    }

    for (var i in Items) {
        if (i == "attributes")
            continue;
    
        if(typeof(Items[i]) != "function" && Items[i] != null){
            var Category = Items[i].Category;
            var Value = Items[i].Value;
        
            document.getElementById('Default_'+Category).value = Value;
            document.getElementById('Pulldown_'+Category).value = unescape(Value);
         }
    }
}


function IPRSelect_callBack(Items)
{
    var id = 'IPR';
    var mask = document.getElementById('mask_'+id);
    var Selected = document.getElementById('Selected_'+id).value;
    mask.innerHTML = "";
    
    var noItemDiv =  "<div id=\"item_None\" style=\"border-bottom: solid 1px #d8dde0;cursor:pointer;background-Color:#f9f9f9;\" onmouseover=\"this.style.backgroundColor='#f0f2f4'\" onmouseout=\"this.style.backgroundColor='#f9f9f9'\" onclick=\"RemoveIPRFromBasket();BasketTotal();\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
    noItemDiv += "<td style=\"width:280px;\"><div style=\"background-color:#f9f9f9;width:40px;height:40px;float:left;border-width:0px;padding-right:4px;\"></div><span style=\"font-size:10px; font-weight:bold;\"></span><br /><span class=\"quote_item_name\">None</span></td>";
        noItemDiv += "<td class=\"list_price\" style=\"padding-left:8px; padding-right:8px\">$0.00</td></tr></table></div>";
    var noneDiv = document.createElement('div');
    noneDiv.innerHTML = noItemDiv;
    mask.appendChild(noneDiv);
    
    
    
    
    var c =1;
    var cc = 1;
    for (var i in Items)
    {
        if(typeof(Items[i]) != "function"){
            if(Items[i].attributes.Name){
                var catDiv = "<div id=\"cat_"+ Items[i].attributes.ID+ "\" style=\"font-size:14px; color:#333; text-align:center; padding:3px; background-color:#ccc;\">"+ Items[i].attributes.Name+ "<\div>";
                var newCatDiv = document.createElement('div');
                newCatDiv.innerHTML = catDiv;
                mask.appendChild(newCatDiv);
                c++;
            }
        
            for (var a in Items[i])
            {
                if (a != "attributes" && typeof(Items[i][a]) != "function")
                {
                    var price = Items[i][a].Price > 1 ? Items[i][a].Price : "0.00";
                    var itemDiv =  "<div id=\"item_"+ Items[i][a].ProductId +"\" style=\"border-bottom: solid 1px #d8dde0;cursor:pointer\" onmouseover=\"this.style.backgroundColor='#f0f2f4'\" onmouseout=\"this.style.backgroundColor=''\" onclick=\"IPRSelect_click('"+ Items[i][a].ProductId +"','"+ Items[i][a].Name +"','HQID','"+ Items[i][a].Price +"');\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
                    itemDiv += "<td style=\"width:280px;\"><img id=\"Img\" src=\"/Images/Common/IPR-s.jpg\" align=\"left\" style=\"width:40px;border-width:0px;padding-right:4px;\" /> <span style=\"font-size:10px; font-weight:bold;\">Memory Express</span><br /><span class=\"quote_item_name\">"+ Items[i][a].Name +"</span></td>";
                    itemDiv += "<td class=\"list_price\" style=\"padding-left:8px;\">"+ formatCurrency(price) +"</td></tr></table></div>";
        
                    var newDiv = document.createElement('div');
                    newDiv.innerHTML = itemDiv;
        
                    // Set the selected item
                    if(Items[i][a].Selected == "True"){
                        newDiv.style.backgroundColor='#f0f2f4';
                        document.getElementById('Selected_'+id).value = Items[i][a].ProductId;
                    }
                    mask.appendChild(newDiv);
                    cc++;
                }
            }
        }
    }
}

function ProductsInBasket_callBack(Items)
{
    if(typeof(Items.XmlCategory1) != "function"){
        
        for (var i in Items.XmlCategory)
        {
            if (i != "attributes" && typeof(Items.XmlCategory[i]) != "function" && Items.XmlCategory[i].error != "An order must have at least one item.")
            {
                document.getElementById('Config_Warning_div').style.display = "block";
                document.getElementById('Config_Warning_msg').innerHTML += "<li>" + Items.XmlCategory[i].error + "</li>";
            }
        }
        
        for (var a in Items.XmlCategory1)
        {
            if (a != "attributes" && typeof(Items.XmlCategory1[a]) != "function")
            {
                var id = Items.XmlCategory1[a].SlaveIndex;
                var MasterIndex = Items.XmlCategory1[a].MasterIndex;
                Pulldown = document.getElementById('Pulldown_'+ id);
    
                if(Pulldown){
                    // This is a trick to show (c) and TM correctly
                    var Display = document.createElement('div');
                    Display.innerHTML = Items.XmlCategory1[a].Manufacturer +" - "+ Items.XmlCategory1[a].DisplayName;
                
                    Pulldown.value = Display.innerHTML;
                    document.getElementById('Qty_'+ id).value = Items.XmlCategory1[a].Quantity;
                    document.getElementById('HQID_'+ id).value = Items.XmlCategory1[a].HQID;
                    document.getElementById('Selected_'+ id).value = Items.XmlCategory1[a].ProductId;
                    document.getElementById('SelPrice_'+ id).value = Items.XmlCategory1[a].cy_list_price;
                
                    var Pimage = document.getElementById('Pimage_'+ id);
                    if (Pimage) {
                        Pimage.src = Items.XmlCategory1[a].ImageUrl;
                        DivShow('Pimage_' + id);
                    }
                    DivShow('details_' + id);

                    //document.getElementById('Price_'+ id).innerHTML = formatCurrency(Items.XmlCategory1[a].cy_list_price*Items.XmlCategory1[a].Quantity);
                    document.getElementById('Price_' + id).innerHTML = formatCurrency(Items.XmlCategory1[a].cy_extended_price);

                    var SubId = document.getElementById('SubId_' + id).value;

                    document.getElementById('Limit_' + id).style.display = 'none';

                    var pl = new SOAPClientParameters();
                    pl.add("slaveIndex", id);
                    pl.add("productId", Items.XmlCategory1[a].ProductId);
                    SOAPClient.invoke(url, "GetProductLimitation", pl, true, GetProductLimitation_callBack);
                }
            }
        }
    }
}

function GetProductLimitation_callBack(limitation)
{
    if (limitation != null && limitation.attributes != null) {
        var category = limitation.attributes.Category;
        var limit = limitation.attributes.Limit;

        if (limit != null) {
            var limitBlock = document.getElementById('Limit_' + category);
            limitBlock.style.display = 'block';
            limitBlock.innerHTML = 'Limit ' + limit + ' per';
        }
    }
}

function IPRInBasket_callBack(Items){


for (var i in Items)
    {
        if(typeof(Items[i]) != "function"){
            for (var a in Items[i])
            {
                if (a != "attributes" && typeof(Items[i][a]) != "function")
                {
                    var id = 'IPR';
                    Pulldown = document.getElementById('Pulldown_'+ id);
        
                    if(Pulldown && Items[i][a].Selected == "True"){
                        Pulldown.value = Items[i][a].Name;
                        document.getElementById('HQID_'+ id).value = 'HQID';
                        document.getElementById('Selected_'+ id).value = Items[i][a].ProductId;
                        document.getElementById('Price_'+ id).innerHTML = formatCurrency(Items[i][a].Price);
                        //AddIPRToBasket(Items[i][a].ProductId);
                    }
                }
            }
        }
    }
}

function BasketTotal_callBack(Items)
{
    var Sub_Total = document.getElementById('Sub_Total');
    var Sub_Total2 = document.getElementById('Sub_Total2');
    
    Sub_Total.innerHTML = Items;
    Sub_Total2.innerHTML = Items;
}





//////////////////// Events ////////////////////


function ItemSelect_click(prod,name,hqid,price,img)
{
    //ProductsInBasket();
    var id = document.getElementById('Active_Pulldown').value;
    
    var now = new Date();
    var month = (now.getMonth() < 10)   ? "0" + now.getMonth()   : now.getMonth();
    var day   = (now.getDate() < 10)    ? "0" + now.getDate()    : now.getDate();
    var hour  = (now.getHours() < 10)   ? "0" + now.getHours()   : now.getHours();
    var min   = (now.getMinutes() < 10) ? "0" + now.getMinutes() : now.getMinutes();
    var sec   = (now.getSeconds() < 10) ? "0" + now.getSeconds() : now.getSeconds();
    document.getElementById('Update_Last').value = month +""+ day +""+ hour +""+ min +""+ sec;
    document.getElementById('Update_'+id).value = month +""+ day +""+ hour +""+ min +""+ sec;
    
    // This is a trick to show (c) and TM correctly
    var Display = document.createElement('div');
    Display.innerHTML = name;

    document.getElementById('Pulldown_' + id).value = name;// unescape(Display.innerHTML);
    document.getElementById('HQID_'+ id).value = hqid;
    
    var Pimage = document.getElementById('Pimage_'+ id);
    if(Pimage) {
        Pimage.src = img;
        DivShow('Pimage_' + id);
    }
    DivShow('details_' + id);
    
    document.getElementById('SelPrice_'+ id).value = price;
    
    var selectedItem = document.getElementById('Selected_'+ id);
    var Old_Prod_Div = (selectedItem.value)? document.getElementById('ItemBG_'+selectedItem.value) : null;
    var New_Prod_Div = document.getElementById('item_'+ prod);
    if(Old_Prod_Div)Old_Prod_Div.style.backgroundColor='';
    
    New_Prod_Div.parentNode.style.backgroundColor='#f0f2f4';
    document.getElementById('Selected_'+id).value = prod;
    
    var Qty = document.getElementById('Qty_'+ id);
    var MasterIndex = document.getElementById('MasterIndex_'+ id).value;
    
    if(Qty.value == 0) Qty.value = 1;
    document.getElementById('Price_'+ id).innerHTML = formatCurrency(price*Qty.value);
    AddProductToBasket(prod,Qty.value,MasterIndex,id);
    
    var SubId = document.getElementById('SubId_'+ id).value;

    BasketTotal();
}

function IPRSelect_click(prod,name,hqid,price) {

    if (price == "0") return;
    //ProductsInBasket();
    var id = 'IPR';
    
    document.getElementById('Pulldown_'+ id).value = name;
    document.getElementById('HQID_'+ id).value = hqid;
    document.getElementById('Price_'+ id).innerHTML = formatCurrency(price);
    document.getElementById('SelPrice_'+ id).value = price;
    
    var selectedItem = document.getElementById('Selected_'+ id);
    var Old_Prod_Div = (selectedItem.value)? document.getElementById('item_'+ selectedItem.value) : null;
    var New_Prod_Div = document.getElementById('item_'+ prod);
    if(Old_Prod_Div)Old_Prod_Div.parentNode.style.backgroundColor='';
    
    New_Prod_Div.parentNode.style.backgroundColor='#f0f2f4';
    
    selectedItem.value = prod;
    
    // Add the IPR Item to the basket
    AddIPRToBasket(prod);
    
    
    // Update the Totals
    var basketGuid = document.getElementById('basketGuid').value;
    var userGuid = document.getElementById('userGuid').value;
    var pl = new SOAPClientParameters();
    pl.add("basketGuid", basketGuid);
    pl.add("userGuid", userGuid);
    
    // Get the Total
    SOAPClient.invoke(url, "GetBasketTotal", pl, true, BasketTotal_callBack);
}

function Prod_Info_Click(sender, id){

    var Prod_Body;
    if(document.getElementById('Prod_Info_Body-hsOrig')){
        Prod_Body = document.getElementById('Prod_Info_Body-hsOrig');
    }else if(document.getElementById('Prod_Info_Body')){
        Prod_Body = document.getElementById('Prod_Info_Body');
    }
 
    
    var Prod = document.getElementById('Selected_'+id).value;
    var HQID = document.getElementById('HQID_'+id).value;
    var Price = document.getElementById('Price_'+id).innerHTML;

    if(Prod != "undefined" && Prod != "" && Prod_Body){
        
        var Items = ProductDescription(Prod);
        var Inv   = StockStatus(Prod);
        
        
        
        var html =  "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"200\"><img src=\"" + Items.ImageUrl + "\" /></td>";
            html += "<td style=\"padding-left:4px\">Only <span class=\"prod_price\">" + formatCurrency(Items.cy_list_price) + "</span><br /><br />";
            html += "<span style=\"font-size:11px; font-weight:bold; color:#003366\">Item Availability</span> ";
            html += "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
            
            //for(var i = 0; i < Inv.length; i++)
            for (var i in Inv)
            {
                if(Inv[i].StoreName != 'Online') html += "<tr><td style=\"font-size:10px;\">"+Inv[i].StoreName+": </td><td style=\"font-size:10px;\">&nbsp;"+Inv[i].StockStatus+"</td></tr>";
            }

            html += "</table></td></tr></table>";

            if (typeof Items.Description == "object") {
                var body = '';
                for(var key in Items.Description) {
                    body += Items.Description[key];
                }
                
                html += "<div style=\"color:#191970;font-weight:bold;\">" + Items.DisplayName + "</div>" + body;
            } else {
                html += "<div style=\"color:#191970;font-weight:bold;\">" + Items.DisplayName + "</div>" + Items.Description;    
            }
            
        
        Prod_Body.innerHTML = html;
        hs.htmlExpand(sender, { contentId: 'Prod_Info' } );
    }
}

function txt_pulldown_event(id){
    document.onclick=check;
    if(document.getElementById('div_'+id).style.display == "none"){
        var last_update = document.getElementById('Update_Last');
        var pull_update = document.getElementById('Update_'+id);
        var active = document.getElementById('Active_Pulldown').value;
    
        // Make sure the last active pulldown is set to hide
        DivHide('div_' + active);
        
        document.getElementById('Active_Pulldown').value = id;
    
        //if(last_update.value != pull_update.value){
        //if(pull_update.value == "never" || (last_update.value > pull_update.value)){
            var now = new Date();
            var month = (now.getMonth() < 10)   ? "0" + now.getMonth()   : now.getMonth();
            var day   = (now.getDate() < 10)    ? "0" + now.getDate()    : now.getDate();
            var hour  = (now.getHours() < 10)   ? "0" + now.getHours()   : now.getHours();
            var min   = (now.getMinutes() < 10) ? "0" + now.getMinutes() : now.getMinutes();
            var sec   = (now.getSeconds() < 10) ? "0" + now.getSeconds() : now.getSeconds();
            pull_update.value = month +""+ day +""+ hour +""+ min +""+ sec;
            ItemSelect(id);
        //}
    }
}

function IPR_pulldown_event(){
    document.onclick = check;
    var last_update = document.getElementById('Update_Last');
    var pull_update = document.getElementById('Update_IPR');
    var active = document.getElementById('Active_Pulldown').value;
    
    // Make sure the last active pulldown is set to hide
    DivHide('div_' + active);

    var now = new Date();
    last_update.value = now;
    pull_update.value = now;
    IPRSelect();

}

function type_event(id){
    var now = new Date();
    document.getElementById('Update_Last').value = now;
    document.getElementById('type_value').value = id.value;
    document.getElementById('selectedItem').value = '';
}


function setQty_event(id,qty){

    var pid = document.getElementById('Selected_'+ id).value;
    var MasterIndex = document.getElementById('MasterIndex_'+ id).value;
    var price = document.getElementById('SelPrice_'+ id).value;
    
    if(qty > 0){
        AddProductToBasket(pid,qty,MasterIndex,id);
        //document.getElementById('Price_'+ id).innerHTML = formatCurrency(price * qty);
    }else{
        RemoveProductFromBasket(pid,id);
        document.getElementById('Price_'+ id).innerHTML = "$0.00";
    }
    
    BasketTotal();
}

//////////////////////////////////////////////
///////////// End Ajax Functions /////////////
//////////////////////////////////////////////




document.onclick=check; 
function check(e){ 
    var id = document.getElementById('Active_Pulldown').value;
    if(id){
        var target = (e && e.target) || (event && event.srcElement);
        var obj = document.getElementById('div_'+id);
        var obj2 = document.getElementById('show_'+id);
        var obj3 = document.getElementById('Pulldown_'+id);
        //checkParent(target)?obj.style.display='none':null;
        //obj3.value = obj.style.display;
        //(target==obj2 || target==obj3) ? obj.style.display='block' : obj.style.display='none';
        (target == obj2 || target == obj3) ? ShowHideDiv('div_' + id) : obj.style.display = 'none';
        
    }
} 

function checkParent(t){
    var id = document.getElementById('Active_Pulldown').value;
    if(id){
        while(t.parentNode){
            if(t==document.getElementById('div_'+id)){ 
                return false;
            } 
            t=t.parentNode;
        }
    } 
    return true;
}


function ScrollItems(id)
{
    var sItem = document.getElementById('Selected_'+id);
    if(sItem.value){
        var sItem_Div = document.getElementById("item_" + sItem.value);
        if(sItem_Div)sItem_Div.scrollIntoView(false);
    }
}



function numbersonly(myfield, e, dec)
{
    var key;
    var keychar;

    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
    return true;
    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==0) || (key==8) || 
        (key==9) || (key==13) || (key==27) )
    return true;

    // numbers
    else if ((("0123456789").indexOf(keychar) > -1))
        return true;

    // decimal point jump
    else if (dec && (keychar == "."))
    {
        myfield.form.elements[dec].focus();
        return false;
    }
    else
        return false;
}


function ConfigNameValidation(){
    var length = document.getElementById('ctl00_SecondaryNavigation_SysConfigCtl_SaveName').value.length;
    if(length < 3)
    {
        alert('Configuration Names Must Have 3 Or More Characters'); 
        return false;
    }
}
