﻿var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}

// Concatenate selected itemNo's for comparison
function changeCompare(itemNo, description, checkBox) {
    var value = theForm.hFieldCompare.value;
    if (checkBox.checked) {
        // Limit comparison to max 4 items
        var splitComparison = value.split('&');
        var counter = 0;

        for (var i = 0; i < splitComparison.length; i++) {
            if (splitComparison[i] != '') counter++;
        }

        // counter > 3 because current clicked checkbox is already set
        if (counter > 3) {
            alert(document.getElementById('ctl00_ContentPlaceHolder1_featurefilter_hFieldLimitProductCompare').value);
            checkBox.checked = false;
            return false;
        }

        // Add ItemNo if not already added
        if (value.indexOf(itemNo) == -1) {
            if (value == '') {
                theForm.hFieldCompare.value = value + 'cp=' + itemNo;
            }
            else {
                theForm.hFieldCompare.value = value + '&cp=' + itemNo;
            }
            addProduct(itemNo, description);
        }
    }
    else {
        // Delete ItemNo
        if (value.indexOf(itemNo) != -1) {
            theForm.hFieldCompare.value = value.replace('cp=' + itemNo, '')
            removeProduct(itemNo, description);
        }
    }
}

function redirectToPowerAdvisor() {
    window.location = '/products/nbpaadvisor';
    return false;
}

// Prepare url and redirect to comparison page
function redirectToComparisonPage() {
    var value = theForm.hFieldCompare.value;
    if (value) {
        // Limit comparison to max 4 items
        var splitComparison = value.split('&');
        var counter = 0;

        for (var i = 0; i < splitComparison.length; i++) {
            if (splitComparison[i] != '') counter++;
        }

        if (counter > 4) {
            alert(document.getElementById('ctl00_ContentPlaceHolder1_featurefilter_hFieldLimitProductCompare').value);
            return false;
        }
        
        // Trim starting/ending '&'
        var newVal;
        if (value.charAt(0) == '&') {
            newVal = value.substring(1, value.length);
        }
        else {
            newVal = value;
        }

        // Get current collection or group from url
        var featureUrl = '';
        var splitFeatures = theForm.hFieldFeatureFilter.value.split(',');
        for (var i = 0; i < splitFeatures.length; i++) {
            if (featureUrl == '') {
                featureUrl = 'fid=' + splitFeatures[i];
            }
            else {
                featureUrl = featureUrl + '&fid=' + splitFeatures[i];
            }
        }

        if (gup('ProductCategory')) {
            if (gup('ProductGroup')) {
                var redirectUrl = 'productcomparison.aspx?ProductCategory=' + gup('ProductCategory') + '&ProductGroup=' + gup('ProductGroup') + '&' + newVal + '&' + featureUrl;
                __doPostBack('__Page', redirectUrl);
            }
            else {
                var redirectUrl = 'productcomparison.aspx?ProductCategory=' + gup('ProductCategory') + '&ProductGroupCollection=' + gup('ProductGroupCollection') + '&' + newVal + '&' + featureUrl;
                __doPostBack('__Page', redirectUrl);
            }
        }
    }
    else {
        alert(document.getElementById('ctl00_ContentPlaceHolder1_featurefilter_hFieldNoProductsSelectedComparison').value);
    }

    return false;
}

// Get URL Parameters
function gup(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}

// Create new list item for selected product
function addProduct(itemNo, description) {
    var container = document.getElementById('compareProducts');
    // Create a new <li> element for to insert inside div
    var newElement = document.createElement('li');
    newElement.className = 'compareProductList';
    newElement.innerHTML = description;
    newElement.setAttribute("id", "compareProductList_" + itemNo);
    container.appendChild(newElement);
}

function removeProduct(itemNo, description) {
    var container = document.getElementById('compareProducts');
    var listItem = document.getElementById('compareProductList_' + itemNo);
    container.removeChild(listItem);
}
