
/* MAKE SURE YOU UNCOMMENT EVERYTHING IF YOU EVER HAVE TO MOVE THIS OVER TO THE LIVE SERVERS... */

/*

var DMNETdomain = "";
var DMNETpage = window.location;
var DMNETversion = "86";
var DMNETsendTo = "//www.angieslist.com/dm.gif?";
var DMNETsession;

function dmneterr(){return true;}

window.onerror=dmneterr;
var s = new Date();

if (navigator.userAgent.indexOf('Mac') >= 0 && s.getTimezoneOffset() >= 720)
s.setTime (s.getTime() - 1440*60*1000);

var dmnetURL = location.protocol + DMNETsendTo+"v="+DMNETversion+"&vst=1";
var dmnetCookieString = document.cookie.toString();

if(dmnetCookieString.indexOf("_dmnid") == -1)
{
DMNETsession = parseInt( Math.random()*1000000 ) + "_" + s.getTime();
var domStr = "";
if(DMNETdomain != "")
{
domStr = "domain="+ DMNETdomain +";";
}
document.cookie = "_dmnid=" + DMNETsession + ";expires=Mon, 31-Dec-2008 00:00:00 GMT;"+domStr+"path=/;";
}
dmnetCookieString = document.cookie.toString();
if(dmnetCookieString.indexOf('_dmnid') == -1)
{
DMNETsession = "";
}
else
{
if(dmnetCookieString.indexOf(';') == -1)
dmnetCookieString = dmnetCookieString.replace(/_dm/g, ';_dm');

var start = dmnetCookieString.indexOf("_dmnid=") + 7;
var end = dmnetCookieString.indexOf(";",start);

if (end == -1)
end = dmnetCookieString.length;
DMNETsession = unescape(dmnetCookieString.substring(start,end));
}
dmnetURL += "&id="+DMNETsession+"&url="+escape(DMNETpage) + "&ref="+escape(document.referrer)+"&lng=" + ((!document.all ||  navigator.userAgent.match('Opera')) ? navigator.language : navigator.userLanguage) + "&tz=" + (Math.round(new Date('dec 1, 2002').getTimezoneOffset()/60)*-1);
if(screen)
dmnetURL += "&scr=" + escape( screen.width + "x" + screen.height + " " + screen.colorDepth + "bpp" );

dmnetURL += "&rnd=" + new Date().getTime();

if(document.layers)
{
document.write("<la"+"yer name=\"DMStats\" visibility=hide><img src=\""+dmnetURL+"\" height=1 width=1></la"+"yer>");
}
else
{
document.write("<di"+"v id=\"DMStats\" STYLE=\"position:absolute;visibility:hidden;\"><img src=\""+dmnetURL+"\" height=1 width=1></di"+"v>");
}

*/
function showResponse(PanelID) {
    obj = document.getElementById(PanelID);
    obj.style.display = 'block';
    //obj.style.visibility = 'visible';
    obj.style.height = '500px';
}


function toggleVisibility(PanelID, CssClass) {
    obj = document.getElementById(PanelID);
    if (obj.className == CssClass) {
        obj.className = "invisible";
    }
    else {
        obj.className = CssClass;
    }
}

function calcRemainingChars(eltowatch, eltowrite, maxchars) {
    tempString = eltowatch.id;
    eltowrite = tempString.substring(0, tempString.length - 15) + eltowrite;
    var numchars = document.getElementById(eltowatch.id).value.length;
    if (parseInt(numchars) > parseInt(maxchars)) {
        document.getElementById(eltowrite).style.color = "red";
    } else {
        document.getElementById(eltowrite).style.color = "black";
    }
    document.getElementById(eltowrite).value = (parseInt(maxchars) - parseInt(numchars));
}

function checkMaxLength(textarea, evt, maxLength) {
    if (textarea.selected && evt.shiftKey)
    // ignore shift click for select
        return true;
    var allowKey = false;
    if (textarea.selected && textarea.selectedLength > 0)
        allowKey = true;
    else {
        var keyCode =
	      document.layers ? evt.which : evt.keyCode;
        if (keyCode < 32 && keyCode != 13)
            allowKey = true;
        else
            allowKey = textarea.value.length < maxLength;
    }
    textarea.selected = false;
    return allowKey;
}

function storeSelection(field) {
    if (document.all) {
        field.selected = true;
        field.selectedLength =
	      field.createTextRange ?
	        document.selection.createRange().text.length : 1;
    }
}


function validateForm(button, e) {
    e = e || window.event;

    if (document.getElementById(button.id.substring(0, button.id.length - 14) + 'RemainingChars').value < 0) {
        alert('Your response cannot exceed 4500 characters.');
        e.cancel
        document.getElementById(button.id.substring(0, button.id.length - 14) + 'ResponseTextBox').focus();
        return false;
    }

    if (document.getElementById(button.id.substring(0, button.id.length - 14) + 'ResponseAcceptCB').checked == false) {
        alert('The Confirmation is a required field.');
        e.cancel
        document.getElementById(button.id.substring(0, button.id.length - 14) + 'ResponseAcceptCB').focus();
        return false;
    }

    return true;
}



//    var n;
//    var p;
//    var p1;
//    function ValidatePhone(fieldID){
//        p=p1.value

//        if(p.length==3){
//	        pp=p;
//	        d4=p.indexOf('(')
//	        d5=p.indexOf(')')
//	        if(d4==-1){
//		        pp="("+pp;
//	        }
//	        if(d5==-1){
//		        pp=pp+")";
//	        }
//	        document.getElementById(fieldID).value="";
//	        document.getElementById(fieldID).value=pp;
//        }
//    
//        if(p.length>3){
//	        d1=p.indexOf('(')
//	        d2=p.indexOf(')')
//	        if (d2==-1){
//		        l30=p.length;
//		        p30=p.substring(0,4);
//		        p30=p30+")"
//		        p31=p.substring(4,l30);
//		        pp=p30+p31;
//		        document.getElementById(fieldID).value="";
//	            document.getElementById(fieldID).value=pp;
//	        }
//	    }
//	    
//        if(p.length>5){
//	        p11=p.substring(d1+1,d2);
//	        if(p11.length>3){
//	            p12=p11;
//	            l12=p12.length;
//	            l15=p.length
//	            p13=p11.substring(0,3);
//	            p14=p11.substring(3,l12);
//	            p15=p.substring(d2+1,l15);
//  	            document.getElementById(fieldID).value="";
//	            pp="("+p13+")"+p14+p15;
//	            document.getElementById(fieldID).value=pp;
//	        }
//	        l16=p.length;
//	        p16=p.substring(d2+1,l16);
//	        l17=p16.length;
//	        if(l17>3&&p16.indexOf('-')==-1){
//	            p17=p.substring(d2+1,d2+4);
//		        p18=p.substring(d2+4,l16);
//		        p19=p.substring(0,d2+1);
//		        pp=p19+p17+"-"+p18;
//	            document.getElementById(fieldID).value="";
//	            document.getElementById(fieldID).value=pp;
//	        }
//        }

//    }



//    function formatPhone(m){
//       n=m.name;
//        p1=m
//        if(m.value.length>=3){
//            ValidatePhone(m.id)
//        }
//    }





function CheckLength(TargetObject, Length) {

    LenString = TargetObject.value.length;

    if (LenString > Length) {
        TargetObject.value = TargetObject.value.substring(0, Length);
    }
}

function clearText(TargetObject, OriginalValue) {
    if (TargetObject.value == OriginalValue) {
        TargetObject.value = "";
    }
}

function openPopup(url) {
    window.open(url, "popup_id", "scrollbars,resizable,width=600,height=600");
    return false;
}


/*  Phone number formatting */
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 validateNumeric(id, id1, id2, ErrorId) {
    if (isNaN(document.getElementById(id).value) || isNaN(document.getElementById(id1).value) || isNaN(document.getElementById(id2).value)) {
        document.getElementById(ErrorId).innerHTML = "Numeric characters only.";
    }
    else {
        document.getElementById(ErrorId).innerHTML = "";
    }

}
function ValidatePhone(object) {
    var p = phonevalue1
    p = p.replace(/[^\d]*/gi, "")
    if (p.length != phonevalue1.length) {
        alert("Numeric characters only.");
    }
    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
        }
    }
}



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;
}