/*Scrolls window to top on every ajax postback*/
function pageLoadedHandler(sender, args) 
{
         window.scrollTo(0,0);
}

/*Cart Count Display*/
function showCartDetails()
{
	document.getElementById("ShowDetailsButton").style.display='none';
	document.getElementById("HideDetailsButton").style.display='block';
	document.getElementById("ShowDetails").style.display='block';
}

function hideCartDetails()
{
	document.getElementById("ShowDetailsButton").style.display='block';
	document.getElementById("HideDetailsButton").style.display='none';
	document.getElementById("ShowDetails").style.display='none';
}

/*Open PopUp Window*/
function OpenWindow(page, height, width)
{
	popup = window.open(page,"","height=" + height + ",width=" + width + ",scrollbars=yes,toolbar=yes,resizable=yes,menubar=no");
}

function NewWindow(mypage, myname, w, h, scroll) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=yes,toolbar=no,menubar=no';
    win = window.open(mypage, myname, winprops);
}

/*Close PopUp Window*/
function CloseWindow()
{
    popup = window.close();
}

/*Close PopUp Window, Redirect Parent Window*/
function redirectAndClose(linkid)
{
    opener.location.href = linkid;
    window.close();
}

function redirect(linkid)
{
    opener.location.href = linkid;
}

/*Star Rating for Customer Reviews*/
function highlightStar(e, imgPath, starFull, starEmpty) {
    var oSrc = e ? (e.srcElement ? e.srcElement : e.target) : window.event.srcElement;

    var oOriginalSrc = oSrc;
        
    if(oSrc && oSrc.tagName == "IMG") {
        if(oSrc.src.toLowerCase().endsWith(starEmpty)) {
            oSrc.src = imgPath + starFull;

            oSrc = oSrc.previousSibling;

            while(oSrc != null) {       
                if(oSrc.tagName == "SPAN") {
                    break;
                } else if(oSrc.tagName =='IMG') {
                    if(oSrc.stars != '1') {
                        if(oSrc.src.toLowerCase().endsWith(starEmpty)) {
                            oSrc.src = imgPath + starFull;
                        }
                    }
                }
                oSrc = oSrc.previousSibling;
            }
        }    
        oOriginalSrc = oOriginalSrc.nextSibling;
        while(oOriginalSrc != null) {
            if(oOriginalSrc.tagName == "SPAN") {
                break;
            } else if(oOriginalSrc.tagName =='IMG') {
                if(oOriginalSrc.stars != '1') {
                    if(oOriginalSrc.src.toLowerCase().endsWith(starFull)) {
                        oOriginalSrc.src = imgPath + starEmpty;
                    }
                }
            }
            oOriginalSrc = oOriginalSrc.nextSibling;
        }
    }
}

function selectStar(e, imgPath, starFull, starEmpty) {
    var oOriginalSrc = e ? (e.srcElement ? e.srcElement : e.target) : window.event.srcElement;
    var oSrc = e ? (e.srcElement ? e.srcElement : e.target) : window.event.srcElement;
    if(oSrc && oSrc.tagName == 'SPAN') {
        return; // in between stars
    }
    
    while(oSrc.tagName != 'SPAN') {
        oSrc = oSrc.parentNode;
    }            
    
    oSrc.onmouseover = "style.cursor = 'hand';";
    oSrc.onmouseout = '';
    
    highlightStar(imgPath, starFull, starEmpty, oOriginalSrc);
        
    var oHidden = oOriginalSrc.parentNode.nextSibling;
    oHidden.value = oOriginalSrc.getAttribute("stars");
}

function unhighlightStar(e, imgPath, starFull, starEmpty) {
    var oSrc = e ? (e.srcElement ? e.srcElement : e.target) : window.event.srcElement;
    if(oSrc && oSrc.tagName == "IMG") {
        if(oSrc.src.toLowerCase().endsWith(starFull)) {
            if(oSrc.stars != '1') {
                oSrc.src = imgPath + starEmpty;

                oSrc = oSrc.previousSibling;

                while(oSrc != null) {
                    if(oSrc.tagName == "SPAN") {
                        break;
                    } else if(oSrc.tagName =='IMG') {
                        if(oSrc.stars != '1') {
                            if(oSrc.src.toLowerCase().endsWith(starFull)) {
                                oSrc.src = imgPath + starEmpty;
                            }
                        }
                    }
                    oSrc = oSrc.previousSibling;
                }
            }
        }
    }
}

/*Find the Top and Left Coordinates of any page object*/
function findPos(obj) 
{
	var curleft = curtop = 0;
    if (obj.offsetParent) 
    {
        do {
	        curleft += obj.offsetLeft;
	        curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }

	return [curleft,curtop];
}

/*Display div to the left of img on mouse roll-over. Position determined by size and position of img.*/
function showRolloverL(div, img)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(img)[1] + (img.height/2) - (document.getElementById(div).offsetHeight/2)) + 'px';    
    document.getElementById(div).style.left=(findPos(img)[0] - (document.getElementById(div).offsetWidth)) + 'px';
}

/*Display div to the right of img on mouse roll-over. Position determined by size and position of img.*/
function showRolloverR(div, img)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(img)[1] + (img.height/2) - (document.getElementById(div).offsetHeight/2)) + 'px';
    document.getElementById(div).style.left=(findPos(img)[0] + img.width) + 'px';
}

/*Hide div on mouse roll-off.*/
function hideRollover(div)
{
    document.getElementById(div).style.display='none';
}

/*Display div to the right of search box.  Position determined by size and position of search box.*/
function showCategorySearchR(div, box, boxId, cols)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(box)[1] + 11 - (document.getElementById(div).offsetHeight/2)) + 'px';
    document.getElementById(div).style.left=(findPos(box)[0] + (cols*7.5)) + 'px';
    setTimeout(function() { clickAnyWhereToClose(boxId,div,div); }, 300);
}

var dpScrollIntervalId = 0;
function moveDPScroll(div, img, top, left)
{
    if(document.getElementById(div) != null)
    {
        document.getElementById(div).style.display='block';
        document.getElementById(div).style.top=(findPos(img)[1] + top) + 'px';
        document.getElementById(div).style.left=(findPos(img)[0] + img.width + left) + 'px';
    }
    else
    {
        top +=findPos(img)[1];
        left +=findPos(img)[0] + img.width;
        dpScrollIntervalId = setInterval("moveDiv('dpscroll'," + top + "," + left + ")", 1000);
    }
}

function moveDiv(div, top, left)
{
    if(document.getElementById(div) != null)
    {
        clearInterval(dpScrollIntervalId);
        document.getElementById(div).style.display= 'block';
        document.getElementById(div).style.top= top + 'px';
        document.getElementById(div).style.left= left + 'px';
    }
}

function clickAnyWhereToClose(excludeObj1,excludeObj2,hideThisObj) {
	orig_on_click = document.body.onclick;
	document.body.onclick = function (e) {
		if(e) { //FireFox
			var count=0;
			var target = e.srcElement ? e.srcElement : e.target;
			if(target) {
			    while(count < 15 && target && target.nodeName != 'BODY') {
				    if(target.id && target.id!="" && (target.id == excludeObj1 || target.id == excludeObj2)) {
					    return true;
				    } else {
					    target = target.parentNode;					
				    }
				    count++;
			    }
			}
		}
		else if(event && event.srcElement) //IE
	    {
	        var count=0;
		    var target = event.srcElement;
		    if(target) {
		        while(count < 15 && target && target.nodeName != 'BODY') {
			        if(target.id && target.id!="" && (target.id == excludeObj1 || target.id == excludeObj2)) {
				        return true;
			        } else {
				        target = target.parentNode;					
			        }
			        count++;
		        }
		    }
	    }
		elem1 = getID(excludeObj1);
		elem2 = getID(excludeObj2);
		if (elem1 && elem1.className.indexOf('dontHideMe') == -1 && elem2 && elem2.className.indexOf('dontHideMe') == -1) {
			hideID(hideThisObj);
			document.body.onclick = orig_on_click;
		}
	}
}

function getID(id) {
	return document.getElementById(id);
}

function hideID(name) {
	if(getID(name)) {
		getID(name).style.display = 'none';
	}
}

function showID(name) {
	if(getID(name)) {
		getID(name).style.display = 'block';
	}
}

function toggleDisplayID(name) {
	if(getID(name)) {
		if(getID(name).style.display = 'none') {
			showID(name);
		} else {
			hideID(name);
		}
	}
}

var searchURL = "";
var selectIds = new Array();
var brandId = -1;
var deptId = -1;
var maxPrice = -1;
var minPrice = -1;
var key = "";
var terms = new Array();
function setSelectId(index, val)
{
    selectIds[index] = val;
}
function setBrandId(val)
{
    brandId = val;
}
function setMinPrice(val)
{
    minPrice = val;
}
function setMaxPrice(val)
{
    maxPrice = val;
}
function setTerm(index, val)
{
    terms[index] = val;
}
function setDeptId(val)
{
    deptId = val;
}
function setKey(val)
{
    key = val;
}
function validateSearch()
{
    var isValid = false;
    
    if(key!= "")
    {
        isValid = true;
    }
    if(brandId > 0)
    {
        isValid = true;
    }
    if(deptId > 0)
    {
        isValid = true;
    }
    if(minPrice > 0)
    {
        isValid = true;
    }
    if(maxPrice > 0)
    {
        isValid = true;
    }
    var ids = ":";
    for(var i=0; i<selectIds.length; i++)
    {
        if(selectIds[i] != null)
        {
            ids += selectIds[i] + ":";
        }
    }
    if(ids != ":")
    {
        isValid = true;
    }
    var tids = ":";
    for(var i=0; i<terms.length; i++)
    {
        if(terms[i] != null)
        {
            tids += terms[i] + ":";
        }
    }
    if(tids != ":")
    {
        isValid = true;
    }
    return isValid;    
}
function getSearchURL()
{
    var index = 0;
    var queryString = new Array();
    if(key!= "")
    {
        queryString[index++] = "key=" + key.replace(" ", "_");
    }
    if(brandId > 0)
    {
        queryString[index++] = "m_id=" + brandId;
    }
    if(deptId > 0)
    {
        queryString[index++] = "d_id=" + deptId;
    }
    if(minPrice > 0)
    {
        queryString[index++] = "min=" + minPrice;
    }
    if(maxPrice > 0)
    {
        queryString[index++] = "max=" + maxPrice;
    }
    var ids = ":";
    for(var i=0; i<selectIds.length; i++)
    {
        if(selectIds[i] != null)
        {
            ids += selectIds[i] + ":";
        }
    }
    if(ids != ":")
    {
        queryString[index++] = "val=" + ids;
    }
    var tids = ":";
    for(var i=0; i<terms.length; i++)
    {
        if(terms[i] != null)
        {
            tids += terms[i] + ":";
        }
    }
    if(tids != ":")
    {
        queryString[index++] = "terms=" + tids;
    }
    
    for(var j=0; j<queryString.length; j++)
    {
        searchURL = searchURL + (searchURL.indexOf("?") > 0 ? "&" : "?") + queryString[j];
    }
    return searchURL;
} 

var megaMenus = new Array();
var MM_ActiveTab = "";

function setMegaMenu(index, val)
{
    megaMenus[index] = val;
}

function openMega(index)
{
    if(megaMenus[index] == 1)
    {
        getID('mega' + index).style.display='block';
        getID('nav' + index).className='nav-open';
    }
}

function closeMega(index)
{
    if(megaMenus[index] == 0)
    {
        getID('mega' + index).style.display='none';
        getID('nav' + index).className='nav'
    }
}

function openFirstMega(index)
{
    if(megaMenus[index] == 1)
    {
        getID('mega' + index).style.display='block';
        getID('nav' + index).className='nav-open first';
    }
}

function closeFirstMega(index)
{
    if(megaMenus[index] == 0)
    {
        getID('mega' + index).style.display='none';
        getID('nav' + index).className='nav first'
    }
}

function openLastMega(index)
{
    if(megaMenus[index] == 1)
    {
        getID('mega' + index).style.display='block';
        getID('nav' + index).className='nav-open last';
    }
}

function closeLastMega(index)
{
    if(megaMenus[index] == 0)
    {
        getID('mega' + index).style.display='none';
        getID('nav' + index).className='nav last'
    }
}
    
function toggleMegaMenuTab(activeTab)
{
    if(MM_ActiveTab != "")
    {
        getID('tab' + MM_ActiveTab).className='mm-tabfalse';
        getID('page' + MM_ActiveTab).style.display='none';
    }
    
    MM_ActiveTab = activeTab;
    getID('tab' + MM_ActiveTab).className='mm-tabtrue';
    getID('page' + MM_ActiveTab).style.display='block';
}

/*Assumes preexistance of variants, values, and items array */
function PopulateMultiSelectDDL(selectedValues)
{
    var selectedArray = selectedValues.split('|');

    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];

        var displayName = 'Select ' + variantName;
        if(myVarArray.length > 3)
        {
            displayName = myVarArray[3];
        }
        
        addOption(variantDDLId, displayName, '-1');
        
        for(var j=0; j<values.length; j++)
        {
            var myValArray = values[j].split('|');
            if(variantId == myValArray[0])
            {
                var valueId = myValArray[1];
                var valueName = myValArray[2];
                
                addOption(variantDDLId, valueName, valueId);
            }
        }
        
        SetSelectedValue(variantDDLId, selectedArray[i]);
    }
}

function addOption(selectbox,text,value )
{
    var optn = document.createElement("OPTION");
    optn.text = text;
    optn.value = value;
    getID(selectbox).options.add(optn);
}

function clear(selectbox)
{
    getID(selectbox).length = 0;
}

function GetSelectedValue(selectbox)
{
    return getID(selectbox).options[getID(selectbox).selectedIndex].value;
}

function SetSelectedValue(selectbox, val)
{
    for(var i=0; i<getID(selectbox).length; i++)
    {
        if(getID(selectbox).options[i].value == val)
        {
            getID(selectbox).selectedIndex=i;
        }
    }
}

var _DisplayItemPricing = false;
var _DisplaySKU = false;
function FilterMultiSelectDDL(allowRedirect)
{    
    //Need to build a filter string x | y | z
    var filter = '';   
    var isValid = true; 
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            isValid = false;
        }
        
        if(filter != '')
        {
            filter += '|';
        }
        filter += selected;        
    }
    
    var filterArray = filter.split('|');
    
    if(isValid && allowRedirect)
    {
        ToggleAddToCart(filterArray);
        if(_DisplayItemPricing)
        {
            ToggleItemPricing(filterArray);
        }
    }    
    
    //Rewrite the drop down lists using this filter compared to the items array
    
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        var displayName = 'Select ' + variantName;
        if(myVarArray.length > 3)
        {
            displayName = myVarArray[3];
        }
        
        clear(variantDDLId);
        
        addOption(variantDDLId, displayName, '-1');
        
        var selectedValue = filterArray[i];
        var selectedImage = null;
        
        for(var j=0; j<values.length; j++)
        {
            var myValArray = values[j].split('|');
            if(variantId == myValArray[0])
            {
                var valueId = myValArray[1];
                var valueName = myValArray[2];
                
                //Create filter for this variant filterx | value | filterz
                //Add all matches to the dropdownlist
                var variantFilter = filter.split('|');
                
                //Now replace variantFilter[i] with the values, and try to find a match in the items table
                variantFilter[i] = myValArray[1];
                if(ValidItem(variantFilter))
                {
                    addOption(variantDDLId, valueName, valueId);
                }
            
                if(selectedValue == valueId)
                {
                    selectedImage = myValArray[3];
                }
            }
        }
                
        //Is there a selected value for this variant?
        if(selectedValue != -1)
        {
            SetSelectedValue(variantDDLId, selectedValue);
            
            if(selectedImage != null)
            {
                getID('PrimaryImage').src=selectedImage;
            }
        }
    }
}

function ValidItem(filterArray)
{    
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(filterArray[j] != -1 && itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            return true;
        }
    }
    
    return false;
}

function ToggleAddToCart(filterArray)
{            
    //Find the item
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            var id = itemsArray[j];
            
            //Set all of the items to display none
            for(var a=0; a<items.length; a++)
            {
                var citemsArray = items[a].split('|');
                getID('addtocart'+citemsArray[j]).style.display='none';
            }
            getID('addtocart'+id).style.display='block';
            break;
        }
    }
}

function ToggleItemPricing(filterArray)
{            
    //Find the item
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            var id = itemsArray[j];
            
            //Set all of the items to display none
            for(var a=0; a<items.length; a++)
            {
                var citemsArray = items[a].split('|');
                getID('pricing'+citemsArray[j]).style.display='none';
            }
            getID('pricing'+id).style.display='block';
            break;
        }
    }
}

function ValidateMultiSelectDisplay()
{ 
    var isValid = true; 
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            isValid = false;
        }      
    }
    
    return isValid;
}

function InvalidMultiSelectDisplayMessage()
{  
    var index = 0;
    var invalidVars = new Array();
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            invalidVars[index++] = variantName;
        }       
    }    
    
    var message = 'Please select a '; 
    
    for(var i=0; i<invalidVars.length; i++)
    {
        if(i == 0)
        {
            message += invalidVars[i];
        }
        else if (i == invalidVars.length - 1)
        {
            message += ' and ' + invalidVars[i];
        }
        else
        {
            message += ', ' + invalidVars[i];
        }
    }
    
    return message + '.';
}

//Catalog Page Displays
function CatalogPopulateMultiSelectDDL(selectedValues, variants, values)
{
    var selectedArray = selectedValues.split('|');

    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        var displayName = 'Select ' + variantName;
        if(myVarArray.length > 3)
        {
            displayName = myVarArray[3];
        }
        
        addOption(variantDDLId, displayName, '-1');
        
        for(var j=0; j<values.length; j++)
        {
            var myValArray = values[j].split('|');
            if(variantId == myValArray[0])
            {
                var valueId = myValArray[1];
                var valueName = myValArray[2];
                
                addOption(variantDDLId, valueName, valueId);
            }
        }
        
        SetSelectedValue(variantDDLId, selectedArray[i]);
    }
}
function CatalogFilterMultiSelectDDL(allowRedirect, variants, values, items)
{    
    //Need to build a filter string x | y | z
    var filter = '';   
    var isValid = true; 
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            isValid = false;
        }
        
        if(filter != '')
        {
            filter += '|';
        }
        filter += selected;        
    }
    
    var filterArray = filter.split('|');
    
    if(isValid && allowRedirect)
    {
        if(_DisplayItemPricing)
        {
            CatalogToggleItemPricing(filterArray, items);
        }
        if(_DisplaySKU)
        {
            CatalogToggleSKU(filterArray, items);
        }
    }    
    
    //Rewrite the drop down lists using this filter compared to the items array
    
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        var displayName = 'Select ' + variantName;
        if(myVarArray.length > 3)
        {
            displayName = myVarArray[3];
        }
        
        clear(variantDDLId);
        
        addOption(variantDDLId, displayName, '-1');
        
        var selectedValue = filterArray[i];
        var selectedImage = null;
        
        for(var j=0; j<values.length; j++)
        {
            var myValArray = values[j].split('|');
            if(variantId == myValArray[0])
            {
                var valueId = myValArray[1];
                var valueName = myValArray[2];
                
                //Create filter for this variant filterx | value | filterz
                //Add all matches to the dropdownlist
                var variantFilter = filter.split('|');
                
                //Now replace variantFilter[i] with the values, and try to find a match in the items table
                variantFilter[i] = myValArray[1];
                if(CatalogValidItem(variantFilter, items))
                {
                    addOption(variantDDLId, valueName, valueId);
                }
            
                if(selectedValue == valueId)
                {
                    selectedImage = myValArray[3];
                }
            }
        }
                
        //Is there a selected value for this variant?
        if(selectedValue != -1)
        {
            SetSelectedValue(variantDDLId, selectedValue);
            
            if(selectedImage != null)
            {
                getID('PrimaryImage').src=selectedImage;
            }
        }
    }
}

function CatalogValidItem(filterArray, items)
{    
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(filterArray[j] != -1 && itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            return true;
        }
    }
    
    return false;
}

function CatalogToggleItemPricing(filterArray, items)
{            
    //Find the item
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            var id = itemsArray[j];
            
            //Set all of the items to display none
            for(var a=0; a<items.length; a++)
            {
                var citemsArray = items[a].split('|');
                getID('pricing'+citemsArray[j]).style.display='none';
            }
            getID('pricing'+id).style.display='block';
            break;
        }
    }
}

function CatalogToggleSKU(filterArray, items)
{            
    //Find the item
    for(var i=0; i<items.length; i++)
    {
        var isValid = true;
        
        var itemsArray = items[i].split('|');
        
        for(var j=0; j<filterArray.length; j++)
        {
            if(itemsArray[j] != filterArray[j])
            {
                isValid = false;
            }
        }
        
        if(isValid)
        {
            var id = itemsArray[j];
            
            //Set all of the items to display none
            for(var a=0; a<items.length; a++)
            {
                var citemsArray = items[a].split('|');
                getID('sku'+citemsArray[j]).style.display='none';
            }
            getID('sku'+id).style.display='block';
            break;
        }
    }
}

function CatalogValidateMultiSelectDisplay(variants, valuesHF)
{ 
    var isValid = true; 
    var selectedValues = '';
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            isValid = false;
        }  
        selectedValues += ' | ' + selected;
    }
    getID(valuesHF).value = selectedValues;
    
    return isValid;
}

function CatalogInvalidMultiSelectDisplayMessage(variants)
{  
    var index = 0;
    var invalidVars = new Array();
    for(var i=0; i<variants.length; i++)
    {
        var myVarArray = variants[i].split('|');
        var variantId = myVarArray[0];
        var variantName = myVarArray[1];
        var variantDDLId = myVarArray[2];
        
        //Does it have a selected value?
        var selected = GetSelectedValue(variantDDLId);
        
        if(selected == '-1')
        {
            invalidVars[index++] = variantName;
        }       
    }    
    
    var message = 'Please select a '; 
    
    for(var i=0; i<invalidVars.length; i++)
    {
        if(i == 0)
        {
            message += invalidVars[i];
        }
        else if (i == invalidVars.length - 1)
        {
            message += ' and ' + invalidVars[i];
        }
        else
        {
            message += ', ' + invalidVars[i];
        }
    }
    
    return message + '.';
}
