    /**
     * validates order form
    */
    function checkOrderFormValues(frm, region, country, isSolo){
        var elenum = document.frm.elements.length;
        var is_credit;
        var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; // email pattern

        if(isSolo === -1){
            is_credit = false;
        } else {
            is_credit = true;
        }
        is_credit = document.frm.elements['cdc'].checked;

        for(i=0;i<elenum;i++) {
            var elem = document.frm.elements[i];

            if (elem.name == "order[firstname]" && elem.value==""){
                alert("First Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "order[lastname]" && elem.value==""){
                alert("Last Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "order[email]"){
                 if(elem.value==""){
                     alert("Email is empty!");
                     elem.focus();
                     return false;
                }
                if(pattern.test(elem.value) == false) {
                    alert("Please input correct email format!");
                    elem.focus();
                    return false;
                }
            }

            if((region == 'us') || (region == 'ca')){
               if (elem.name == "order[phone1]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "order[phone2]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "order[phone3]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            } else {
               if (elem.name == "order[phone]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            }
            if (elem.name == "order[bttc]" && elem.value==""){
                alert("Best time to call is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "order[best_day]" && elem.value==""){
                alert("Best day to call is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "order[country]" && elem.value==""){
                alert("Country is empty!");
                elem.focus();
                return false;
            }
            switch(region){
                case 'us':
                    if (elem.name == "order[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "order[zip]" && elem.value==""){
                        alert("Zip is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'nz':
                case 'au':
                case 'ca':
                    if (elem.name == "order[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "order[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'sa':
                    if(country == 'sa'){
                        if (elem.name == "order[state]" && elem.options.selectedIndex==0){
                            alert("State not selected!");
                            elem.focus();
                            return false;
                        }
                    }
                    if (elem.name == "order[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'zz':
                case 'eu':
                case 'uk':
                    if (elem.name == "order[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;
            }

            if (elem.name == "order[address]" && elem.value==""){
                alert("Address is empty!");
                elem.focus();
                return false;
            }

            if (elem.name == "order[city]" && elem.value==""){
                alert("City is empty!");
                elem.focus();
                return false;
            }

            // For credit card we need to check additional validitions
            if(is_credit == true){
                if (elem.name == "order[cc_type]" && elem.value.length == 0){
                    alert("Credit card type is not chosen");
                    elem.focus();
                    return false;
                }

                if (elem.name == "order[cc_name]" && elem.value==""){
                    alert("Credit card owner is empty");
                    elem.focus();
                    return false;
                }
                if (elem.name == "order[cc_number]" && elem.value==""){
                    alert("Credit card number is empty");
                    elem.focus();
                    return false;
                }
                if (elem.name == "order[cc_expiry]" && elem.options.selectedIndex==0){
                    alert("Credit card expiration is not chosen");
                    elem.focus();
                    return false;
                }

                if(isSolo != 'none'){
                    if (elem.name == "order[cc_cvv]" && elem.value==""){
                        alert("CVV (Security Code_ is empty)");
                        elem.focus();
                        return false;
                    }
                } else {
                    if (elem.name == "order[cc_issue]" && elem.value==""){
                        alert("Issue Number is empty");
                        elem.focus();
                        return false;
                    }
                }
            }
        } // end for
        return true;
    }

    function checknewLeadFormValues(frm, region, country){
        var elenum = document.frm.elements.length;
        var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; // email pattern

        for(i=0;i<elenum;i++) {
            var elem = document.frm.elements[i];

            if (elem.name == "lead[firstname]" && elem.value==""){
                alert("First Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "lead[lastname]" && elem.value==""){
                alert("Last Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "lead[email]"){
                 if(elem.value==""){
                     alert("Email is empty!");
                     elem.focus();
                     return false;
                }
                if(pattern.test(elem.value) == false) {
                    alert("Please input correct email format!");
                    elem.focus();
                    return false;
                }
            }

            if((region == 'us') || (region == 'ca')){
               if (elem.name == "lead[phone1]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "lead[phone2]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "lead[phone3]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            } else {
               if (elem.name == "lead[phone]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            }

            switch(region){
                case 'us':
                    if (elem.name == "lead[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "lead[zip]" && elem.value==""){
                        alert("Zip is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'nz':
                case 'au':
                case 'ca':
                    if (elem.name == "lead[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "lead[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'sa':
                    if(country == 'sa'){
                        if (elem.name == "lead[state]" && elem.options.selectedIndex==0){
                            alert("State not selected!");
                            elem.focus();
                            return false;
                        }
                    }
                    if (elem.name == "lead[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'zz':
                case 'eu':
                case 'uk':
                    if (elem.name == "lead[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;
            }

            if (elem.name == "lead[address]" && elem.value==""){
                alert("Address is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "lead[city]" && elem.value==""){
                alert("City is empty!");
                elem.focus();
                return false;
            }

            if (elem.name == "lead[bttc]" && elem.options.selectedIndex==0){
                alert("Please answer question about best time to call ");
                elem.focus();
                return false;
            }
            if (elem.name == "lead[best_day]" && elem.options.selectedIndex==0){
                alert("Please answer question about best day to call");
                elem.focus();
                return false;
            }

            /*
            if (elem.name == "lead[other_diets]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }
            if (elem.name == "lead[spend]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }

            */
        } // end for

        return true;
    }

    function checkFrontendNewLeadFormValues(frm, region, country){
        var elenum = document.frm.elements.length;
        var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; // email pattern

        for(i=0;i<elenum;i++) {
            var elem = document.frm.elements[i];

            if (elem.name == "info[firstname]" && elem.value==""){
                alert("First Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "info[lastname]" && elem.value==""){
                alert("Last Name is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "info[email]"){
                 if(elem.value==""){
                     alert("Email is empty!");
                     elem.focus();
                     return false;
                }
                if(pattern.test(elem.value) == false) {
                    alert("Please input correct email format!");
                    elem.focus();
                    return false;
                }
            }

            if((region == 'us') || (region == 'ca')){
               if (elem.name == "info[phone1]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "info[phone2]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
               if (elem.name == "info[phone3]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            } else {
               if (elem.name == "info[phone]" && elem.value==""){
                   alert("Phone is empty!");
                   elem.focus();
                   return false;
               }
            }

            switch(region){
                case 'us':
                    if (elem.name == "info[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "info[zip]" && elem.value==""){
                        alert("Zip is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'nz':
                case 'au':
                case 'ca':
                    if (elem.name == "info[state]" && elem.options.selectedIndex==0){
                        alert("State not selected!");
                        elem.focus();
                        return false;
                    }
                    if (elem.name == "info[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'sa':
                    if(country == 'sa'){
                        if (elem.name == "info[state]" && elem.options.selectedIndex==0){
                            alert("State not selected!");
                            elem.focus();
                            return false;
                        }
                    }
                    if (elem.name == "info[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;

                case 'zz':
                case 'eu':
                case 'uk':
                    if (elem.name == "info[postal_code]" && elem.value==""){
                        alert("Postal code is empty!");
                        elem.focus();
                        return false;
                    }
                break;
            }

            if (elem.name == "info[address]" && elem.value==""){
                alert("Address is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "info[city]" && elem.value==""){
                alert("City is empty!");
                elem.focus();
                return false;
            }
            if (elem.name == "info[other_diets]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }
            if (elem.name == "info[spend]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }
            if (elem.name == "info[bttc]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }
            if (elem.name == "info[best_day]" && elem.options.selectedIndex==0){
                alert("Please answer all survey Questions");
                elem.focus();
                return false;
            }
            if (elem.name == "info[agree]" && elem.checked == false){
                alert("Please check agree checkbox");
                elem.focus();
                return false;
            }
        } // end for

        document.getElementById('testim_id').value=testimId;
        return true;
    }