﻿/****************New added***************************/

var zChar = new Array(' ', '(', ')', '-', '.');
var maxphonelength = 14;
var phonevalue1;
var phonevalue2;
var cursorposition;

function ParseForNumber1(object) {
    phonevalue1 = ParseChar(object.value, zChar);
}

function ParseForNumber2(object) {
    phonevalue2 = ParseChar(object.value, zChar);
}

function backspacerUP(object, e) {
    if (e) {
        e = e
    } else {
        e = window.event
    }
    if (e.which) {
        var keycode = e.which
    } else {
        var keycode = e.keyCode
    }

    ParseForNumber1(object)

    if (keycode >= 48) {
        ValidatePhone(object)
    }
}

function backspacerDOWN(object, e) {
    if (e) {
        e = e
    } else {
        e = window.event
    }
    if (e.which) {
        var keycode = e.which
    } else {
        var keycode = e.keyCode
    }
    ParseForNumber2(object)
}

function GetCursorPosition() {

    var t1 = phonevalue1;
    var t2 = phonevalue2;
    var bool = false
    for (i = 0; i < t1.length; i++) {
        if (t1.substring(i, 1) != t2.substring(i, 1)) {
            if (!bool) {
                cursorposition = i
                window.status = cursorposition
                bool = true
            }
        }
    }
}

function ValidatePhone(object) {

    var p = phonevalue1

    p = p.replace(/[^\d]*/gi, "")

    if (p.length < 3) {
        object.value = p
    } else if (p.length == 3) {
        pp = p;
        d4 = p.indexOf('(')
        d5 = p.indexOf(')')
        if (d4 == -1) {
            pp = "(" + pp;
        }
        if (d5 == -1) {
            pp = pp + ")";
        }
        object.value = pp;
    } else if (p.length > 3 && p.length < 7) {
        p = "(" + p;
        l30 = p.length;
        p30 = p.substring(0, 4);
        p30 = p30 + ") "

        p31 = p.substring(4, l30);
        pp = p30 + p31;

        object.value = pp;

    } else if (p.length >= 7) {
        p = "(" + p;
        l30 = p.length;
        p30 = p.substring(0, 4);
        p30 = p30 + ") "

        p31 = p.substring(4, l30);
        pp = p30 + p31;

        l40 = pp.length;
        p40 = pp.substring(0, 9);
        p40 = p40 + "-"

        p41 = pp.substring(9, l40);
        ppp = p40 + p41;

        object.value = ppp.substring(0, maxphonelength);
    }

    GetCursorPosition()

    if (cursorposition >= 0) {
        if (cursorposition == 0) {
            cursorposition = 2
        } else if (cursorposition <= 2) {
            cursorposition = cursorposition + 1
        } else if (cursorposition <= 4) {
            cursorposition = cursorposition + 3
        } else if (cursorposition == 5) {
            cursorposition = cursorposition + 3
        } else if (cursorposition == 6) {
            cursorposition = cursorposition + 3
        } else if (cursorposition == 7) {
            cursorposition = cursorposition + 4
        } else if (cursorposition == 8) {
            cursorposition = cursorposition + 4
            e1 = object.value.indexOf(')')
            e2 = object.value.indexOf('-')
            if (e1 > -1 && e2 > -1) {
                if (e2 - e1 == 4) {
                    cursorposition = cursorposition - 1
                }
            }
        } else if (cursorposition == 9) {
            cursorposition = cursorposition + 4
        } else if (cursorposition < 11) {
            cursorposition = cursorposition + 3
        } else if (cursorposition == 11) {
            cursorposition = cursorposition + 1
        } else if (cursorposition == 12) {
            cursorposition = cursorposition + 1
        } else if (cursorposition >= 13) {
            cursorposition = cursorposition
        }

        var txtRange = object.createTextRange();
        txtRange.moveStart("character", cursorposition);
        txtRange.moveEnd("character", cursorposition - object.value.length);
        txtRange.select();

    }

}

function ParseChar(sStr, sChar) {

    if (sChar.length == null) {
        zChar = new Array(sChar);
    }
    else zChar = sChar;

    for (i = 0; i < zChar.length; i++) {
        sNewStr = "";

        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);

        while (iEnd != -1) {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);

        sStr = sNewStr;
    }

    return sNewStr;
}



/*********************ENd********************************/


function EnabledTextBox(checkBoxOther) {
    var checkBoxId = checkBoxOther.id.substring(8);
    if (checkBoxOther.checked) {
        document.getElementById("textBox" + checkBoxId).disabled = false;
    }
    else {
        document.getElementById("textBox" + checkBoxId).disabled = true;
        document.getElementById("textBox" + checkBoxId).value = "";
    }
}
//call function on onkeyup and onChange 
function ValidateTextAreaMaxLength(vObject, maxLength) {
    var vObj = document.getElementById(vObject);
    var iDifference = maxLength - vObj.value.length;
    if (iDifference < 0) {
        vObj.value = vObj.value.substring(0, maxLength);
    }
}
function TValidateLength(objId, iLength, strFieldName) // function returns boolean.
{
    var objTextArea = document.getElementById(objId);
    if (objTextArea.value.length != iLength) {
        WarningBox("Invalid " + strFieldName + " format");
        objTextArea.focus();
        return false;
    }
    return true;
}
function EnableDisabledSubmitButton(buttonSubmit, tStatus) {
    document.getElementById(buttonSubmit).disabled = tStatus;
}
function SetVisibility(varObj, tVisibility) {
    document.getElementById(varObj).style.display = tVisibility;
}
function TIsCaptchaMatch(ctrlTextBox, ctrlHiddenField) {
    if (document.getElementById(ctrlTextBox) && document.getElementById(ctrlHiddenField)) {
        if (document.getElementById(ctrlTextBox).value == document.getElementById(ctrlHiddenField).value) {
            return true;
        }
    }
    WarningBox('Security code not verified. Please try again!');
    return false;
}
function TCheckEmailID(paraEmail) {
    var email = document.getElementById(paraEmail).value;
    var re = /^(([^<>()[\]\=\\.,;:$#%?|+!*\s@^{}\'\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if (email.match(re))
        return true;
    else {
        WarningBox('Please enter a valid email address !');
        document.getElementById(paraEmail).focus();
        return false;
    }
}

/* Function to check special characters*/
function ValidateSpecialChar(vObject, vType) {
    var iChars;
    var AlertMsg;

    if (vType == "UserName") {
        iChars = "!#$%^&*()+=[]\\\;,/{}|\":<>?";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "Password") {
        iChars = "!#%^&*()+=[]\\\;,/{}|\":<>?";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "Name") {
        iChars = "$?%&^~!+_}{“?*-@()#";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "CompanyName") {
        iChars = "$?%^~!+}{“?><*-#";
        AlertMsg = "Special characters are not allowed!";
    }

    else if (vType == "Title") {
        iChars = "`!@#$%^&+=[]\\\;,{}|:<>?";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "Address") {

        iChars = "{}?^%+$";
        AlertMsg = "Special characters are not allowed!";
    }

    else if (vType == "CityState") {
        iChars = "$?%&^~!+_}{“?*-@()";
        AlertMsg = "Invalid string";
    }
    else if (vType == "Numeric") {
        iChars = "`!@#$%^&*()+=-[]\\\;,./{}|\:<>? ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'''";
        AlertMsg = "Invalid value";
    }
    else if (vType == "Email") {
        iChars = "?%&^~|\!%}{“?()";
        AlertMsg = "Email is not valid";
    }
    else if (vType == "LoginAccountName") {
        iChars = "'!#$%^&*()+=[]\\\;,/{}|\":<>?";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "PhoneNo") {
        iChars = "~!$%^=\?’”;:{}";
        AlertMsg = "Phone no is not valid";
    }
    else if (vType == "String") {
        iChars = "`!@#$%^&*'()+=-[]\\\;,./{}|\":<>?1234567890";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "AlphaNumeric") {
        iChars = "`!@#$%^&*()+=[]\\\';,./{}|\":<>?";
        AlertMsg = "Special characters are not allowed!";
    }
    else if (vType == "SingleQuote") {
        iChars = "'";
        AlertMsg = "Single quote is not allowed!";
    }

    else if (vType == "Date") {
        iChars = "$?%&^~|\!+*_}{“?@()";
        AlertMsg = "Invalid date";
    }
    else if (vType == "Testimonial") {
        iChars = "$?%^~!}{“?><*#";
        AlertMsg = "Special characters are not allowed!";
    }

    for (var i = 0; i < document.getElementById(vObject).value.length; i++) {
        if (iChars.indexOf(document.getElementById(vObject).value.charAt(i)) != -1) {

            WarningBox(AlertMsg);
            document.getElementById(vObject).focus();
            return false;
        }
    }
    return true;
}

function checkPhoneAndFaxLength(object) {
    var control = document.getElementsByName(object);

    if (control[0].value != "") {
        if (document.getElementById(object) != null) {
            var text = document.getElementById(object).value;
            var iLen = text.length;
            if (iLen < 14) {
                return false;
            }
        }
    }

    return true;
}

