﻿var ColorTag = "Color";
var SizeTag = "Size"; 
var AllDropDownTag = "All";
var AmpersandSeparator = '&';
var SemicolumnSeparator = ';';
var EqualSeparator = '=';
var PipeSeparator = "||";

var ForwardSlashSeparator = "//";

var ProductColorDropdown;
var ProductSizeDropdown;
var BackOrderScriptHolder;
var BackOrderDivName;

function getBackOrderDetails(extendedArg)
{
    if(extendedArg != '')
    {
        var parameters = new Array();
        parameters = extendedArg.toString().split(PipeSeparator);
        if(parameters.length == 2)
        {
            BackOrderDivName = parameters[0];
            BackOrderScriptHolder = parameters[1];
        }
    }
}


function ReceiveServerData(returnValue)
{   
    if (returnValue.indexOf(PipeSeparator) != -1) // Reset both drop downs (clor and sizes)
    {
        var parameters = new Array();
        parameters = returnValue.toString().split(PipeSeparator);
        loadClientControls(parameters[0].toString(), ProductSizeDropdown);
        loadClientControls(parameters[1].toString().substring(1,parameters[1].toString().Length) , ProductColorDropdown);
    }
    else
    {
        if (returnValue.toString().indexOf(SizeTag) != -1)
        {
            loadClientControls(returnValue.toString(), ProductSizeDropdown);
        }
        else
        {
            loadClientControls(returnValue.toString(), ProductColorDropdown);
        }
    }
}

function loadClientControls (returnValue, dropDownName)
{ 
    var aDropDown = document.getElementById(dropDownName);
    
    var parameters = new Array();
    var dropDownValues = new Array();
    var slectedItem = new Array();
    var shoWBackOrderMessage;
    parameters = returnValue.split(AmpersandSeparator); // delimiter between drop down elements and the supposed selected value
    dropDownValues = parameters[0].toString().split(SemicolumnSeparator);
    slectedItem = parameters[1].toString().split(EqualSeparator);
    shoWBackOrderMessage = parameters[2];
    var showBackOrderScript = parameters[3];
    
    // Empty the given drop down
    for (var index = aDropDown.options.length; index > 0; index--) 
    {
        aDropDown.options[(index-1)] = null;
    }
    // Populate Dropdown values
    for (var index = 0 ; index < dropDownValues.length  ; index++ ) 
    {
        if (dropDownValues[index].toString().length != 0)     
        {
            var optionEntry = new Array();
            optionEntry = dropDownValues[index].toString().split(ForwardSlashSeparator);
            if (optionEntry[0].toString().length != 0) 
            {
                aDropDown.options[index] = new Option (optionEntry[1].toString(), optionEntry[0].toString());
                //Set the selected item
                if (aDropDown.options[index].value.toString() == slectedItem[1].toString().replace(";", ""))
                {
                    aDropDown.options[index].selected = true;
                }
            }
        }
    }
     //Check if need to display the back order message
     var BackOrderDiv = document.getElementById(BackOrderDivName);
     //Ensure that there is in fact a reference obtained
     //This check is necessary whereby a control may not use back order display at all
     if (shoWBackOrderMessage == '1' && BackOrderDiv != null)
     {
        var showBackOrderScriptHolderId = document.getElementById(BackOrderScriptHolder);
        showBackOrderScriptHolderId.value = showBackOrderScript;
        BackOrderDiv.style.display = "";
     }
     else if(BackOrderDiv != null)
     {
        BackOrderDiv.style.display = "none";
     }
}

function loadViewer(popupUrl,backOrderScriptHolder) {
    var parameters = new Array();
    var scriptHolder = document.getElementById(backOrderScriptHolder);
        
    parameters = scriptHolder.value.split(ForwardSlashSeparator);
    var daysToParam = parameters[0];
    var weekOfParam = parameters[1];
    var load = window.open(popupUrl + '&' + daysToParam + '&' + weekOfParam,'','scrollbars=no,menubar=no,height=450,width=800,resizable=no,toolbar=no,location=no,status=no');
}

function toggleSeeMore(part2,dotLabel, button, expandText, collapseText) {
    var part2element=document.getElementById(part2);
    var dotelement=document.getElementById(dotLabel);
    var buttonelement=document.getElementById(button);
    
    if(!part2element)return true;
    
    if(part2element.style.display=="none")
    {
        part2element.style.display="inline";
        dotelement.style.display="none";
        buttonelement.innerHTML=collapseText;
    } 
    else 
    {
        part2element.style.display="none";
        dotelement.style.display="inline";
        buttonelement.innerHTML=expandText;
    }
    
    return true;
}


