﻿function fn_superselect(obj) {
    var doc = document.getElementById(obj);
    var docImg = document.getElementById('img_' + obj);
    if (docImg != null) { docImg.style.display = 'none'; }
    if (doc != null) {
        clearValidator("val_" + obj);
        var objValues = doc.options[doc.selectedIndex].value.split(',');
        if (objValues.length > 1) {
            $("#sa_pnl_product_popup_image_" + obj).removeClass("sa_pnl_product_popup_image");
            $("#sa_pnl_product_popup_image_" + obj).addClass("sa_pnl_product_popup_image_show").show("fast");
            docImg.src = objValues[objValues.length - 1];
            docImg.style.display = 'block';
        } else {
            if (docImg != null) {
                $("#sa_pnl_product_popup_image_" + obj).removeClass("sa_pnl_product_popup_image_show");
                $("#sa_pnl_product_popup_image_" + obj).addClass("sa_pnl_product_popup_image").hide("fast");
            }
        }
    }
}

function updateCharsLeft(srcObj, destObj, maxChars) {
    var srcO = document.getElementById(srcObj);
    var srcD = document.getElementById(destObj);
    if (srcO != null && srcD != null) {
        var charsLeft = maxChars - srcO.value.length;
        srcD.innerHTML = charsLeft + ' chars left.';
    }
}

function clearValidator(validator) {
    var validatorElement = document.getElementById(validator);
    if (validatorElement != null) { validatorElement.innerHTML = ""; }
}

var canCustomHeightSubmit = true;
var canCustomWidthSubmit = true;

function sa_chws_validateMinimumValue(obj, objectValue, minValue) {
    if (objectValue != '') {
        if (!parseInt(objectValue)) {
            document.getElementById(obj).value = '';
            alert('Non numerical value detected.\nPlease try again.');
            if (obj.toString().indexOf('_height_') > 0) { canCustomHeightSubmit = false; }
            if (obj.toString().indexOf('_width_') > 0) { canCustomWidthSubmit = false; }
        }
        if (parseInt(objectValue) < parseInt(minValue)) {
            alert('Value entered is below the minimum.\nPlease enter a value greater than ' + minValue);
            if (obj.toString().indexOf('_height_') > 0) { canCustomHeightSubmit = false; }
            if (obj.toString().indexOf('_width_') > 0) { canCustomWidthSubmit = false; }
        } else {
            if (obj.toString().indexOf('_height_') > 0) { canCustomHeightSubmit = true; }
            if (obj.toString().indexOf('_width_') > 0) { canCustomWidthSubmit = true; }
        }
    }
}

function superAttributeFormSubmit() {
    var boolCanSubmit = true;
    var selectSubmit = document.getElementById("skuid");
    if (selectSubmit != null) {
        if (selectSubmit.type != 'hidden') {
            if (selectSubmit.options.length == 0) { boolCanSubmit = false; }
            if (selectSubmit.selectedIndex < 0) { boolCanSubmit = false; }
            if (selectSubmit.value == '' || selectSubmit.value == 'Please select') { boolCanSubmit = false; }
        }
        if (boolCanSubmit) {
            EtailEncodePersText();
            var docForm = document.getElementById('buy_form');
            docForm.submit();
        } else {
            alert("Please select a product to add to your basket!");
        }
    }
}

function ValidateSuperAttributes(form_name) {

    var boolCanSubmit = true;
    var validateArray = new Array();
    var docForm = document.getElementById(form_name);

    if (docForm != null) {

        var vElements = docForm.elements;
        var prevObject;

        //Get all valid elements
        for (var g = 0; g < vElements.length; g++) {
            if (vElements[g].id != '') {
                var thisElem = document.getElementById(vElements[g].id);
                var superAttributeId = thisElem.id.substr(0, 3);
                if (superAttributeId == "ra_" || superAttributeId == "sa_") {
                    if (thisElem.id != prevObject) { validateArray.push(thisElem.id); }
                    prevObject = thisElem.id;
                }
            }
        }

        //Check if the elements have validators
        for (var k = 0; k < validateArray.length; k++) {
            var currentType = validateArray[k].substr(0, 3);
            var thisElemValidator = document.getElementById("val_" + validateArray[k]);
            if (thisElemValidator != null) {
                thisElemValidator.innerHTML = "";
                var isValid = false;
                for (var i = 0; i < vElements.length; i++) {
                    if (currentType == "ra_") {
                        if (currentType == vElements[i].id.substr(0, 3)) {
                            if (vElements[i].checked) { isValid = true; }
                        }
                    }
                    else {
                        if (currentType == "sa_") {
                            if (vElements[i].id != '') {
                                if (thisElemValidator.id.replace('val_', '') == vElements[i].id) {
                                    if (vElements[i].selectedIndex > 0) {
                                        isValid = true;
                                    }
                                }
                            }
                        }
                    }
                }
                if (!isValid) {
                    thisElemValidator.innerHTML = "Please select an option!";
                    boolCanSubmit = false;
                }
            }
        }
        if (boolCanSubmit) {
            superAttributeFormSubmit();
        }
    }
}
