var reEmail = /^[a-zA-Z0-9_][\w\.-]*[\w]\@[\w\.-]+\.(com|edu|org|net|gov|mil|info|biz|name|cc|us|uk|ws|bz|tv|co|ca|de|jp|ro|tc|dk|gs|sh|be|st|vu|kz|lt|fm|ac|nz|to|ms|as|ph|vg){1}(\.(\w{2}))?$/;
var reZip = /^[0-9]{5}((\-)|(-[0-9]{4})|([0-9]{4}))?$/;
var reInteger = /^[0-9]+$/;
var reString = /[\(\)\-\.\s\+\,]/gi;
var reFullPhone = /^[0-9]{10}$/;
var strPhoneFormat = "\n\n     (999) 999-9999\n     999.999.9999\n     999-999-9999\n     9999999999";

function ValidateData() {

        var objForm = document.frmMain;

        var rdb = getCheckedValue(objForm.packagex) 

        if (rdb.length==0){
                alert("Please select a Package.");
                objForm.packagex[0].focus();
                return false;
              }

        if(objForm.f_name.value.length == 0) {
                alert("Please enter First Name.");
                objForm.f_name.focus();
                return false;
        }
        
        if(objForm.l_name.value.length == 0) {
                alert("Please enter Last Name.");
                objForm.l_name.focus();
                return false;
        }

        if(objForm.email.value.length == 0) {
                alert("Please enter valid Email.");
                objForm.email.focus();
                return false;
        }

        var strEmail;
        strEmail = objForm.email.value;
        
        if(!reEmail.test(strEmail.toLowerCase())) {
                alert("Please enter valid Email.");
                objForm.email.focus();
                return false;
        }

        var strFullPhone


        if(objForm.d_phone.value.length > 0) {

                        strFullPhone = objForm.d_phone.value.replace(reString, "");
                        if(!reFullPhone.test(strFullPhone)) {
                                alert("Please provide Phone in one of the following formats:" + strPhoneFormat);
                                objForm.d_phone.focus();
                                return false;
                        }
                        objForm.d_phone.value = fmtPhone(strFullPhone);
        }


        if (objForm.e_phone.value.length > 0) {

                        strFullPhone = objForm.e_phone.value.replace(reString, "");
                        if(!reFullPhone.test(strFullPhone)) {
                                alert("Please provide Pphone in one of the following formats:" + strPhoneFormat);
                                objForm.e_phone.focus();
                                return false;
                        }
                        objForm.e_phone.value = fmtPhone(strFullPhone);
        }
        
        if (objForm.c_phone.value.length > 0) {

                        strFullPhone = objForm.c_phone.value.replace(reString, "");
                        if(!reFullPhone.test(strFullPhone)) {
                                alert("Please provide Phone in one of the following formats:" + strPhoneFormat);
                                objForm.c_phone.focus();
                                return false;
                        }
                        objForm.c_phone.value = fmtPhone(strFullPhone);
        }


        if  ((objForm.c_phone.value.length==0) && (objForm.e_phone.value.length==0) && (objForm.d_phone.value.length ==0 )){
                          alert("Please provide Daytime Phone or Cell Phone or Evening Phone");
                                objForm.d_phone.focus();
                                return false;
        }


        if(objForm.login.value.length == 0) {
                alert("Please enter login name.");
                objForm.login.focus();
                return false;
        }

        if(objForm.login.value.length <6) {
                alert("Minimum Login name length is 6 alpha-numeric characters. \n Please check your login name.");
                objForm.login.focus();
                return false;
        }
        
        if(objForm.password1.value.length == 0) {
                alert("Please enter password.");
                objForm.password1.focus();
                return false;
        }

        if(objForm.password2.value.length == 0) {
                alert("Please enter confirm password.");
                objForm.password2.focus();
                return false;
        }

        if(objForm.password1.value != objForm.password2.value) {
                alert("Please check password fields.\n Password and confirmation password fields are not the same.\n Please enter password again.");
                objForm.password1.focus();
                return false;
        }

//-----------------------------------------------------
        if(objForm.address1.value.length == 0) {
                alert("Please enter street address.");
                objForm.address1.focus();
                return false;
        }
        
        if(objForm.city.value.length == 0) {
                alert("Please enter city.");
                objForm.city.focus();
                return false;
        }

        if(objForm.state.value.length == 0) {
                alert("Please select state.");
                objForm.state.focus();
                return false;
        }

        
        if(!reZip.test(objForm.zip.value)) {
                alert("Please enter valid zip code.");
                objForm.zip.focus();
                return false;
        }

        if(objForm.s_address1.value.length == 0) {
                alert("Please enter shipping street address.");
                objForm.s_address1.focus();
                return false;
        }
        
        if(objForm.s_city.value.length == 0) {
                alert("Please enter shipping city.");
                objForm.s_city.focus();
                return false;
        }

        if(objForm.s_state.value.length == 0) {
                alert("Please select shipping state.");
                objForm.s_state.focus();
                return false;
        }

        
        if(!reZip.test(objForm.s_zip.value)) {
                alert("Please enter valid shipping zip code.");
                objForm.s_zip.focus();
                return false;
        }


        if(objForm.fr_state1.value.length == 0) {
                alert("Please select minimum one state for which you wish to receive Living Will form.");
                objForm.fr_state1.focus();
                return false;
        }


//-------------------------------------------------
        return true;
}

function fmtPhone(strPhone) {
        var strRetVal;
        if(strPhone.length == 0) { strRetVal = ""; }
        else { strRetVal = "(" + strPhone.substring(0,3) + ") " + strPhone.substring(3,6) + "-" + strPhone.substr(6);}
        return strRetVal;
}

function getCheckedValue(radioObj) {
        if(!radioObj)
                return "";
        var radioLength = radioObj.length;
        if(radioLength == undefined)
                if(radioObj.checked)
                        return radioObj.value;
                else
                        return "";
        for(var i = 0; i < radioLength; i++) {
                if(radioObj[i].checked) {
                        return radioObj[i].value;
                }
        }
        return "";
}
