﻿/** get element by id **/
function GetElementById(id) {
	return document.all ? document.all[id] : document.getElementById(id);

}
/** test is string numeric **/
function fnIsStringNumeric(sText) {
    var ValidChars = '0123456789';
    for (i = 0; i < sText.length; i++) {
        if (ValidChars.indexOf(sText.charAt(i)) == -1) {
            return false;
        }
    }
    return true;
}
/** validate org number **/
function fnIsValidOrganisationNumber(input) {
    var num = input.replace(/ /g,'');
    if (fnIsStringNumeric(num) && num.length == 9) {
        var numArray = new Array(9);
        numArray = num.split('');
        if (numArray[0] == 9 || numArray[0] == 8) {
            var sum = numArray[0] * 3;
            sum += numArray[1] * 2;
            sum += numArray[2] * 7;
            sum += numArray[3] * 6;
            sum += numArray[4] * 5;
            sum += numArray[5] * 4;
            sum += numArray[6] * 3;
            sum += numArray[7] * 2;
            var controlDigit = numArray[8];
            if ((sum % 11) == 0) {
                return (controlDigit == 0);
            }
            var result = 11 - (sum % 11);
            return (result == controlDigit);
        }
    }
    return false;
}

/** asp:CustomValidator functions **/
/* validate organisation number **/
function fnOrganisationNumberValidator(source, clientargs) {
    clientargs.IsValid = fnIsValidOrganisationNumber(clientargs.Value);
}
