

var zChar = new Array(' ', '(', ')', '-', '.');
var maxphonelength = 13;
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
                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,8);
        p40 = p40 + "-"

        p41 = pp.substring(8,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 <= 5) {
cursorposition = cursorposition + 2
} else if (cursorposition == 6) {
cursorposition = cursorposition + 2
} else if (cursorposition == 7) {
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 < 11) {
cursorposition = cursorposition + 3
} else if (cursorposition == 11) {
cursorposition = cursorposition + 1
} else if (cursorposition >= 12) {
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;
}

function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) {// if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
} else {
    cntfield.value = maxlimit - field.value.length;
}
return true;
}

function manageSecondaryResident() {
    if (document.resDetail.frmShowSecondaryResident.checked == 0) {
        state = true;
    } else {
        state = false;
    }
    document.resDetail.frmFName1.disabled = state;
    document.resDetail.frmLName1.disabled = state;
    document.resDetail.frmHomePhone1.disabled = state;
    document.resDetail.frmCellPhone1.disabled = state;
    document.resDetail.frmOfficePhone1.disabled = state;
    document.resDetail.frmFaxPhone1.disabled = state;
    document.resDetail.frmAltPhone1.disabled = state;
    document.resDetail.frmEmailAddr1.disabled = state;
    document.resDetail.frmHideEmailAddr1.disabled = state;
    document.resDetail.frmComments1.disabled = state;
    document.resDetail.frmInterests1.disabled = state;
    document.resDetail.frmOccupation1.disabled = state;

    if (document.resDetail.frmShowSecondaryResident.checked == 0) {
        document.resDetail.frmFName1.value = '';
        document.resDetail.frmLName1.value = '';
        document.resDetail.frmHomePhone1.value = '';
        document.resDetail.frmCellPhone1.value = '';
        document.resDetail.frmOfficePhone1.value = '';
        document.resDetail.frmFaxPhone1.value = '';
        document.resDetail.frmAltPhone1.value = '';
        document.resDetail.frmEmailAddr1.value = '';
        document.resDetail.frmHideEmailAddr1.value = '';
        document.resDetail.frmComments1.value = '';
        document.resDetail.frmInterests1.value = '';
        document.resDetail.frmOccupation1.value = '';
    }
}

function manageVacancy() {
    if (!document.resDetail.frmVacant) {
        return 0;
    }

    if (document.resDetail.frmVacant.checked == 1) {
        state = true;
    } else {
        state = false;
    }

    document.resDetail.frmFName0.disabled = state;
    document.resDetail.frmLName0.disabled = state;
    document.resDetail.frmHomePhone0.disabled = state;
    document.resDetail.frmCellPhone0.disabled = state;
    document.resDetail.frmOfficePhone0.disabled = state;
    document.resDetail.frmFaxPhone0.disabled = state;
    document.resDetail.frmAltPhone0.disabled = state;
    document.resDetail.frmEmailAddr0.disabled = state;
    document.resDetail.frmHideEmailAddr0.disabled = state;
    document.resDetail.frmComments0.disabled = state;
    document.resDetail.frmInterests0.disabled = state;
    document.resDetail.frmOccupation0.disabled = state;

    document.resDetail.frmShowSecondaryResident.disabled = state;

    document.resDetail.frmFName1.disabled = state;
    document.resDetail.frmLName1.disabled = state;
    document.resDetail.frmHomePhone1.disabled = state;
    document.resDetail.frmCellPhone1.disabled = state;
    document.resDetail.frmOfficePhone1.disabled = state;
    document.resDetail.frmFaxPhone1.disabled = state;
    document.resDetail.frmAltPhone1.disabled = state;
    document.resDetail.frmEmailAddr1.disabled = state;
    document.resDetail.frmHideEmailAddr1.disabled = state;
    document.resDetail.frmComments1.disabled = state;
    document.resDetail.frmInterests1.disabled = state;
    document.resDetail.frmOccupation1.disabled = state;

    if (document.resDetail.frmVacant.checked == 1) {
        document.resDetail.frmFName0.value = '';
        document.resDetail.frmLName0.value = '';
        document.resDetail.frmHomePhone0.value = '';
        document.resDetail.frmCellPhone0.value = '';
        document.resDetail.frmOfficePhone0.value = '';
        document.resDetail.frmFaxPhone0.value = '';
        document.resDetail.frmAltPhone0.value = '';
        document.resDetail.frmEmailAddr0.value = '';
        document.resDetail.frmHideEmailAddr0.value = '';
        document.resDetail.frmComments0.value = '';
        document.resDetail.frmInterests0.value = '';
        document.resDetail.frmOccupation0.value = '';

        document.resDetail.frmShowSecondaryResident.checked = false;

        document.resDetail.frmFName1.value = '';
        document.resDetail.frmLName1.value = '';
        document.resDetail.frmHomePhone1.value = '';
        document.resDetail.frmCellPhone1.value = '';
        document.resDetail.frmOfficePhone1.value = '';
        document.resDetail.frmFaxPhone1.value = '';
        document.resDetail.frmAltPhone1.value = '';
        document.resDetail.frmEmailAddr1.value = '';
        document.resDetail.frmHideEmailAddr1.value = '';
        document.resDetail.frmComments1.value = '';
        document.resDetail.frmInterests1.value = '';
        document.resDetail.frmOccupation1.value = '';
        }

    textCounter(document.resDetail.frmComments0, document.resDetail.commentsCounter0,1024);
    textCounter(document.resDetail.frmComments1, document.resDetail.commentsCounter1,1024);
    textCounter(document.resDetail.frmInterests0, document.resDetail.interestsCounter0,1024);
    textCounter(document.resDetail.frmInterests1, document.resDetail.interestsCounter1,1024);
    manageSecondaryResident();
}