﻿function returnObjById(id) {
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

function HideValidator(myValidator) {
    if (myValidator.style.visibility.length > 0 && myValidator.style.display.length == 0) {
        myValidator.style.visibility = 'hidden';
    }
    else if (myValidator.style.display.length > 0 && myValidator.style.visibility.length == 0) {
        myValidator.style.display = 'none';
    }
}

function ResizeModalPopup(Popup) {
    var Header = returnObjById('addboxtop');
    var Body = returnObjById('addcontent');
    var Button = returnObjById('addbutton');
    var Height = Header.offsetHeight + Body.offsetHeight + Button.offsetHeight;
    Height += 20;
    var Popup = returnObjById(Popup);
    Popup.style.height = Height;
}

function ResizeErrorModalPopup(Popup) {
    var Header = returnObjById('itemadderror');
    var Body = returnObjById('itemadderrorcontent');
    var Height = Header.offsetHeight + Body.offsetHeight;
    Height += 20;
    var Popup = returnObjById(Popup);
    Popup.style.height = Height;
}

function ResizePopup(Popup, element) {
    var element = returnObjById(element);
    var Popup = returnObjById(Popup);
    var Height = element.offsetHeight;
    Height += 20;
    Popup.style.height = Height;
}

function ShrinkPopup(Popup, element) {
    var element = returnObjById(element);
    var Popup = returnObjById(Popup);
    Height = 20;
    Width = 20;
    Popup.style.width = Width;
    Popup.style.height = Height;
    element.style.width = Width;
    element.style.height = Height;
}

function ValidateConnectedValidators(controlId) {
    if (controlId.length > 0) {
        for (i = 0; i < Page_Validators.length; i++) {
            if (Page_Validators[i].controltovalidate == controlId) {
                ValidatorValidate(Page_Validators[i]);
                if (!Page_Validators[i].isvalid) {
                    return false;
                }
            }
        }
        return true;
    }
    else {
        return true;
    }
}
function DisableConnectedValidators(controlId) {
    if (controlId.length > 0) {
        for (i = 0; i < Page_Validators.length; i++) {
            if (Page_Validators[i].controltovalidate == controlId) {
                ValidatorEnable(Page_Validators[i], false);
            }
        }
        return true;
    }
    else {
        return true;
    }
}
function EnableConnectedValidators(controlId) {
    if (controlId.length > 0) {
        for (i = 0; i < Page_Validators.length; i++) {
            if (Page_Validators[i].controltovalidate == controlId) {
                ValidatorEnable(Page_Validators[i]);
            }
        }
        return true;
    }
    else {
        return true;
    }
}

function FormatTitleCase(txtBox) {
    DisableConnectedValidators(txtBox.id);
    PageMethods.FormatTitleCase(txtBox.value, OnFormatComplete, OnFormatFailed, txtBox);
}

function RemoveSpaces(str) {
    str = str.replace(/\s/g, '');
    return str;
}
function FormatTelephoneNumber(txtBox) {
    DisableConnectedValidators(txtBox.id);
    PageMethods.FormatTelephoneNumber(txtBox.value, OnFormatComplete, OnFormatFailed, txtBox);
}
function FormatPostcode(txtBox) {
    DisableConnectedValidators(txtBox.id);
    PageMethods.FormatPostcode(txtBox.value, OnFormatComplete, OnFormatFailed, txtBox);
}

function OnFormatComplete(result, userContext) {
    userContext.value = result;
    EnableConnectedValidators(userContext.id);
}

function OnFormatFailed(error, userContext) {
    alert(error.get_message());
}

function DisableValidationGroup(group) {
    ToggleValidationGroup(group, false);
}

function EnableValidationGroup(group) {
    ToggleValidationGroup(group, true);
}

function ToggleValidationGroup(group, flag) {
    var i;
    for (i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].getAttribute('ValidationGroup') == group) {
            ValidatorEnable(Page_Validators[i], flag)
            HideValidator(Page_Validators[i]);
        }
    }
}

function TransposeData(txtBox, targetBox) {
    if (targetBox != undefined) {
        targetBox = returnObjById(targetBox);
    }
    if (targetBox != undefined) {
        if (PageControls.chkUseBilling.checked) {
            targetBox.value = txtBox.value;
        }
    }
}

function HideControl(controlID) {
    var obj = returnObjById(controlID)
    if (obj != undefined) {        
        obj.style.display = 'none';
        obj.style.height = 0;
    }
}

function ShowControl(controlID) {
    var obj = returnObjById(controlID)
    if (obj != undefined) {
        if (obj.tagName == 'SELECT') {
            obj.style.display= 'block';
            obj.style.height = 32;
        }
        else {
            obj.style.display = 'block';
            obj.style.height = 16;
        }
    }
}