function popup(url) {
    newwindow = window.open(url, 'name', 'height=600,width=800');
    if (window.focus) {
        newwindow.focus();
    }
    return false;
}
function validate() {

    if (document.getElementById('FirstName').value == "") {
        alert("Please enter your first name.");
        return false;
    }
    if (document.getElementById('LastName').value == "") {
        alert("Please enter your last name.");
        return false;
    }

    if (!checkEmail(document.getElementById('Email').value)) {
        alert("Please enter a valid email address.");
        return false;
    }
    if (document.getElementById('Address1').value == "") {
        alert("Please enter your address.");
        return false;
    }
    if (document.getElementById('City').value == "") {
        alert("Please enter your city.");
        return false;
    }
    if (document.getElementById('State').value == "") {
        alert("Please enter your state.");
        return false;
    }
    if (!validateZIP(document.getElementById('Zip').value)) {
        alert("Invalid Zipcode. Please enter your 5 digit or 5 digit+4 zipcode. Example: 30350 or 30350-2344");
        return false;
    }

    if (document.getElementById('BirthDate').value == "0") {
        alert("Please select your year of birth.");
        return false;
    }
    if (document.getElementById('BirthMonth').value == "0") {
        alert("Please select your month of birth.");
        return false;
    }
    if (!age(document.getElementById('BirthDate').value)) {
        document.location = "https://http://wyethcoupons.com/pages/4"
    }
if (!valbutton(document.forms[0])) {
alert("Please select your gender.");
return false;
}
if (document.getElementById('ChildrenInHouseHold').value == "") {
alert("Please select how many children are in your household.");
return false;
}



    checkAddress();
}
function valbutton(thisform) {
    // place any other field validations that you require here
    // validate myradiobuttons
myOption = -1;
for (i=thisform.Gender.length-1; i > -1; i--) {
if (thisform.Gender[i].checked) {
myOption = i; i = -1;
}
}
if (myOption == -1) {
return false;
} else {
	return true;
}	x
}

function qs(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0].toLowerCase() == variable.toLowerCase()) {
            return pair[1];
        }
    }
}
function age(yob) {
    now = new Date();
    tY = new Date();
    tY = now.getFullYear();


    if ((tY - yob) >= 18) {

        return true;

    } else {

        return false;
    }
}

function checkEmail(myForm) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm)) {
        return (true)
    }
    //alert("Invalid E-mail Address! Please re-enter.")
    return (false)
}

function validateZIP(field) {
    var valid = "0123456789-";
    var hyphencount = 0;

    if (field.length != 5 && field.length != 10) {
        //alert("Please enter your 5 digit or 5 digit+4 zip code.");
        return false;
    }
    for (var i = 0; i < field.length; i++) {
        temp = "" + field.substring(i, i + 1);
        if (temp == "-") hyphencount++;
        if (valid.indexOf(temp) == "-1") {
            //alert("Invalid characters in your zip code.  Please try again.");
            return false;
        }
        if ((hyphencount > 1) || ((field.length == 10) && "" + field.charAt(5) != "-")) {
            //alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
            return false;
        }
    }
    return true;
}


function scrape() {

    formArray = new Array("firstname", "lastname", "address", "zipcode", "email", "year", "g3_arid", "externaluserid", "source");
    for (var i = 0; i < formArray.length; i++) {
        if (qs(formArray[i])) {
            document.getElementById(formArray[i]).value = unescape(qs(formArray[i]));
        }
    }
    document.getElementById("externaluserid").value = document.getElementById("g3_arid").value;

}

function checkAddress() {
    var address = escape(document.forms[0].elements["Address1"].value);

    if (document.forms[0].elements["Address2"].value != "") {
        address = address + " " + escape(document.forms[0].elements["Address2"].value);
    }
    var zipcode = document.forms[0].elements["Zip"].value;
    var sUrl = "/addresses/verify?address=" + address + "&zip=" + zipcode;

    //callback functions for success or failure
    var handleSuccess = function(o) {
        if (o.responseText !== undefined) {

            }
        if (window.ActiveXObject) {
            var doc = new ActiveXObject("Microsoft.XMLDOM");
            doc.async = "false";
            doc.loadXML(o.responseText);
        }
        // code for Mozilla, Firefox, Opera, etc.
        else
        {
            var parser = new DOMParser();
            var doc = parser.parseFromString(o.responseText, "text/xml");
        }

        var x = doc.documentElement;

        var responseCode = x.childNodes[1].childNodes[20].childNodes[0].nodeValue;
				//alert(responseCode);
        var returnedAddress = x.childNodes[1].childNodes[0].childNodes[0].nodeValue;
        var returnedZip = x.childNodes[1].childNodes[4].childNodes[0].nodeValue;
        var errorMessage = "";
        if (responseCode == "V") {
            var agree = confirm("Here is the address you will be submitting. \nAddress: " + returnedAddress + "\nZipcode: " + returnedZip + "\nClick \"OK\" to send this address or \"Cancel\" to enter a new one.");
            if (agree) {
                document.forms[0].elements["Address1"].value = returnedAddress;

                document.forms[0].elements["Zip"].value = returnedZip;
                //alert(getString());
                document.forms[0].submit();
            }

        } else {

            switch (responseCode)
            {
            case "R":
                errorMessage = "Please Check your Street Number";
                break
            case "U":
                errorMessage = "That street name was not found";
                break
            case "T":
                errorMessage = "Please Check your Street Address";
                break
				    case "X":
                errorMessage = "Please Check your Street Address";
                break
            case "Z":
                errorMessage = "Please check your zipcode";
                break
            default:
                errorMessage = "undefined";
            }

            alert("There was a problem with your address: \n" + errorMessage + "\nAddress:" + returnedAddress + "\nZipcode:" + returnedZip);
            return false;
        }
        //document.write("<p>ResponseCode:" + x.childNodes[0].childNodes[0].nodeValue);

    }
    var handleFailure = function(o) {
        if (o.responseText !== undefined) {
            //urchinTracker('Melissa Error:' + o.statusText);
            document.forms[0].submit();
            //return true;
        }
    }

    var callback =
    {
        success: handleSuccess,
        failure: handleFailure,
        timeout: 10000
    };


    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);


}
