function change_checkbox_state(box_id){
    var obj1 = document.getElementById(box_id + "_box");
    var obj2 = document.getElementById(box_id + "_input");

    if(obj1){
        if(obj2.value != ""){
            obj1.checked = true;
            address_generator();
        } else {
            obj1.checked = false;
        }
    } else {
        return false;
    }
}

function reg_form_checker(){
    //variables
    var login           = document.getElementById('login');
    var company_pass    = document.getElementById('company_pass');
    var parent_member_id= document.getElementById('parent_member_id');
    var parent_password = document.getElementById('parent_password');
    var hidden_login    = document.getElementById('hidden_login');
    var pass            = document.getElementById('pass');
    var repass          = document.getElementById('repass');
    var cname           = document.getElementById('cname_input');
    var bname           = document.getElementById('bname_input');
    var baddress        = document.getElementById('baddress_input');
    var country_index   = document.getElementById('fpocntry_id').selectedIndex;
    if(country_index){
        var country     = document.getElementById('fpocntry_id').options[country_index];
        var country_id  = country.value;
    } else {
        var country_id  = "";
    }
    var state_index     = document.getElementById('fpostate_id').selectedIndex;
    if(state_index>0){
        var state       = document.getElementById('fpostate_id').options[state_index];
        var state_id    = state.value;
    } else {
        var state_id    = "";
    }

    var city            = document.getElementById('city_input');
    var zip             = document.getElementById('zip_input');
    var phone           = document.getElementById('phone_input');
    var mphone          = document.getElementById('mphone_input');
    var bphone          = document.getElementById('bphone_input');
    var agree           = document.getElementById('agree');
    var error           = 0;
    var error_compare	= 0;
    var focus_object	= 0;

    //error_containers
    var login_err       = document.getElementById('login_error');
    var company_pass_err= document.getElementById('company_pass_error');
    var parent_comp_err = document.getElementById('parent_member_id_error');
    var parent_pass_err = document.getElementById('parent_pass_error');
    var login_err       = document.getElementById('login_error');
    var pass_err        = document.getElementById('pass_error');
    var repass_err      = document.getElementById('repass_error');
    var cname_err       = document.getElementById('cname_error');
    var bname_err       = document.getElementById('bname_error');
    var baddress_err    = document.getElementById('baddress_error');
    var country_err     = document.getElementById('country_error');
    var state_err       = document.getElementById('state_error')
    var city_err        = document.getElementById('city_error');
    var zip_err         = document.getElementById('zip_error');
    var phone_err       = document.getElementById('phone_error');
    var mphone_err      = document.getElementById('mphone_error');
    var bphone_err      = document.getElementById('bphone_error');
    var agree_err       = document.getElementById('agree_error');

    //LOGIN VALIDATION
    error++;
    error_compare = error;
    login_err.style.display = "block";
    if("" == login.value){
        login_err.innerHTML = "Required field cannot be left blank";
    } else {
        var email_exp = /^[^#%&\\\/)(?]+@[^#%&\\\/)(?]+\.[^#%&\\\/)(?]+$/i;
        if(!email_exp.test(login.value)){
            login_err.innerHTML = "The e-mail address you specified has incorrect format";
        } else {
            if(login.value.length < 6){
                login_err.innerHTML = "Your Email Address should be 6 or more characters";
            } else if(login.value.length > 50){
                login_err.innerHTML = "Email Address should be 50 or less characters";
            } else {
                if(hidden_login.value){
                    login_err.innerHTML = "This email address is already registered.  Please use a different email address or select the forgot password feature from the main login page if you have already registered.";
                } else {
                    error--;
                    login_err.innerHTML     = "";
                    login_err.style.display = "none";
                }
            }
        }
    }
    if(error_compare == error) focus_object = $('#login');
    //alert(error); //1

    //COMPANY PASSWORD VALIDATION
    if(company_pass){
        error++;
        error_compare = error;
        company_pass_err.style.display  = "block";
        if("" == company_pass.value){
            company_pass_err.innerHTML = "Required field cannot be left blank";
        } else {
            if(company_pass.value.length < 6){
                company_pass_err.innerHTML = "Your password should be 6 or more characters";
            } else if(company_pass.value.length > 16){
                company_pass_err.innerHTML = "Your password should be 16 or less characters";
            } else {
                error--;
                company_pass_err.innerHTML      = "";
                company_pass_err.style.display  = "none";
            }
        }
        if(error_compare == error) if(!focus_object) focus_object = $('#company_pass');
    }
    //alert(error); // 2

    //COMPANY PASSWORD AND PARENT COMPANY VALIDATION
    if(parent_member_id && parent_password){
        error++;
        parent_comp_err.style.display  = "block";
        if("" == parent_member_id.value){
            parent_comp_err.innerHTML = "Required field cannot be left blank";
            if(!focus_object) focus_object = $('#parent_member_id');
        } else {
            error--;
            parent_comp_err.innerHTML      = "";
            parent_comp_err.style.display  = "none";
        }

        error++;
        parent_pass_err.style.display  = "block";
        if("" == parent_password.value){
            parent_pass_err.innerHTML = "Required field cannot be left blank";
            if(!focus_object) focus_object = $('#parent_password');
        } else {
            error--;
            parent_pass_err.innerHTML      = "";
            parent_pass_err.style.display  = "none";
        }
    }
    //alert(error); //3

    //PASSWORD VALIDATION
    error++;
    error_compare = error;
    pass_err.style.display  = "block";
    if("" == pass.value){
        pass_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(pass.value.length < 6){
            pass_err.innerHTML = "Your password should be 6 or more characters";
        } else if(pass.value.length > 16){
            pass_err.innerHTML = "Your password should be 16 or less characters";
        } else {
            error--;
            pass_err.innerHTML      = "";
            pass_err.style.display  = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#pass');
    error++;
    error_compare = error;
    repass_err.style.display    = "block";
    if("" == repass.value){
        repass_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(repass.value.length < 6){
            repass_err.innerHTML = "Your password should be 6 or more characters";
        } else if(repass.value.length > 16){
            repass_err.innerHTML = "Your password should be 16 or less characters";
        } else {
            error--;
            repass_err.innerHTML        = "";
            repass_err.style.display    = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#repass');
    error++;
    if((pass.value != repass.value) && (pass.value != "" && repass.value != "")){
        pass_err.innerHTML          = "Passwords entered do not match";
        repass_err.innerHTML        = "";
        pass_err.style.display      = "block";
        pass.value      = "";
        repass.value    = "";
        if(!focus_object) focus_object = $('#pass');
    } else {
        error--;
    }
    //alert(error); //4

    //FIRST&LAST NAME VALIDATION
    error++;
    error_compare = error;
    cname_err.style.display = "block";
    if("" == cname.value){
        cname_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(cname.value.length < 3){
            cname_err.innerHTML = "Your First and Last Name should be 3 or more characters";
        } else if(cname.value.length > 70){
            cname_err.innerHTML = "Your First and Last Name should be 70 or less characters";
        } else {
            error--;
            cname_err.innerHTML     = "";
            cname_err.style.display = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#cname_input');
    //alert(error); //5

    //BUSINESS NAME VALIDATION
    error++;
    error_compare = error;
    bname_err.style.display = "block";
    if("" == bname.value){
        bname_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(bname.value.length < 3){
            bname_err.innerHTML = "Your Business Name should be 3 or more characters";
        } else if(bname.value.length > 70){
            bname_err.innerHTML = "Your Business Name should be 70 or less characters";
        } else {
            error--;
            bname_err.innerHTML     = "";
            bname_err.style.display = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#bname_input');
    //alert(error); //6

    //BUSINESS ADDRESS VALIDATION
    error++;
    error_compare = error;
    baddress_err.style.display  = "block";
    if("" == baddress.value){
        baddress_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(baddress.value.length < 3){
            baddress_err.innerHTML = "Your Business Address should be 3 or more characters";
        } else if(baddress.value.length > 100){
            baddress_err.innerHTML = "Your Business Address should be 100 or less characters";
        } else {
            error--;
            baddress_err.innerHTML      = "";
            baddress_err.style.display  = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#baddress_input');
    //alert(error); //7

    //COUNTRY VALIDATION
    error++;
    country_err.style.display   = "block";
    if("" == country_id){
        country_err.innerHTML = "Please choose a country from the list";
        if(!focus_object) focus_object = $('#fpocntry_id');
    } else {
        error--;
        country_err.innerHTML       = "";
        country_err.style.display   = "none";
    }
    //alert(error); //8

    //STATE VALIDATION
    error++;
    state_err.style.display = "block";
    if("" == state_id){
        state_err.innerHTML = "Please choose a state from the list";
        if(!focus_object) focus_object = $('#fpostate_id');
    } else {
        error--;
        state_err.innerHTML     = "";
        state_err.style.display = "none";
    }
    //alert(error); //9

    //CITY VALIDATION
    error++;
    error_compare = error;
    city_err.style.display  = "block";
    if("" == city.value){
        city_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(city.value.length < 3){
            city_err.innerHTML = "Your City should be 3 or more characters";
        } else if(city.value.length > 30){
            city_err.innerHTML = "Your City should be 30 or less characters";
        } else {
            error--;
            city_err.innerHTML      = "";
            city_err.style.display  = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#city_input');
    //alert(error); //10

    //ZIP  VALIDATION
    error++;
    error_compare = error;
    zip_err.style.display   = "block";
    if("" == zip.value){
        zip_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(country_id == 1){
            var zip_exp 	= /^[a-zA-Z0-9]*$/i;
            var zip_length	= 5;
        } else {
            var zip_exp 	= /^[a-zA-Z0-9\s]*$/i;
            var zip_length	= 10;
        }
        if(!zip_exp.test(zip.value)){
            zip_err.innerHTML = "Zip/Mail Code should be alphanumeric string only\n";
        } else {
            if(zip.value.length < 3){
                zip_err.innerHTML = "Your Zip/Mail Code should be 3 or more characters";
            } else if(zip.value.length > zip_length){
                zip_err.innerHTML = "Your Zip/Mail Code should be " + zip_length +" or less characters";
            } else {
                error--;
                zip_err.innerHTML        = "";
                zip_err.style.display   = "none";
            }
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#zip_input');
    //alert(error); //11

    //PHONE VALIDATION
    error++;
    error_compare = error;
    phone_err.style.display = "block";
    if("" == phone.value){
        phone_err.innerHTML = "Required field cannot be left blank";
    } else {
        if(phone.value.length < 3){
            phone_err.innerHTML = "Your Direct Phone should be 3 or more characters";
        } else if(phone.value.length > 20){
            phone_err.innerHTML = "Your Direct Phone should be 20 or less characters";
        } else {
            error--;
            phone_err.innerHTML     = "";
            phone_err.style.display = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#phone_input');
    //alert(error); //12

    //MOBILE PHONE VALIDATION
    error++;
    error_compare = error;
    mphone_err.style.display    = "block";
    if("" == mphone.value){
        error--;
    } else {
        if(mphone.value.length < 3){
            mphone_err.innerHTML = "Your Mobile Phone should be 3 or more characters";
        } else if(mphone.value.length > 20){
            mphone_err.innerHTML = "Your Mobile Phone should be 20 or less characters";
        } else {
            error--;
            mphone_err.innerHTML        = "";
            mphone_err.style.display    = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#mphone_input');
    //alert(error); //13

    //BUSINESS PHONE VALIDATION
    error++;
    error_compare = error;
    bphone_err.style.display    = "block";
    if("" == bphone.value){
        error--;
    } else {
        if(bphone.value.length < 3){
            bphone_err.innerHTML = "Your Business Phone should be 3 or more characters";
        } else if(bphone.value.length > 20){
            bphone_err.innerHTML = "Your Business Phone should be 20 or less characters";
        } else {
            error--;
            bphone_err.innerHTML        = "";
            bphone_err.style.display    = "none";
        }
    }
    if(error_compare == error) if(!focus_object) focus_object = $('#bphone_input');
    //alert(error); //14

    // AGREE FLAG VALIDATION
    error++;
    agree_err.style.display = "block";
    if(!agree.checked){
        agree_err.innerHTML = "You should agree to the Terms of Use and accept the Privacy Policy.";
        if(!focus_object) focus_object = $('#agree');
    } else {
        error--;
        agree_err.innerHTML     = "";
        agree_err.style.display = "none";
    }



    var email_is_fine 	= $('#email_is_fine').val();;
    var id				= $('#login').val();
    id = id.toLowerCase();
    if(id.substr(0,3) == 'www' && email_is_fine == '0'){
        error++;
        $('#yes').bind('click', function(){
            $('#email_is_fine').val('1');
            $('#confirm').jqmHide();
        })

        $('#no').bind('click', function(){
            $('#login').focus();
            $('#confirm').jqmHide();
        })

        $('#confirm').jqm({overlay: 88, modal: true, trigger: false});


        confirm("We've detected you put \"www\" in front of your e-mail address. Usually e-mail addresses don't need this. Please confirm your e-mail address is correct or edit it.");
        return false;
    }
    //alert(error); //15

    if(focus_object) {
        //alert(focus_object.attr('id'));
        focus_object.focus();
    }

    //SUBMITION OF FORM
    if(!error){
        //alert('not here');
        document.forms[0].action = "xt_agent_registration.php"
        document.forms[0].submit();
    } else {
        //alert('here');
        //alert(error);
        return false;
    }
}

function address_generator(){
    var paddress= "";
    var head 	= "";
    var body    = "";

    var cname	= "";
    var name	= "";
    var address	= "";
    var phones	= "";
    var email	= "";

    //checkboxes
    var email           = true;
    var cname_box       = $("#cname_box:checked").val();
    var bname_box       = $("#bname_box:checked").val();
    var baddress_box    = $("#baddress_box:checked").val();
    var country_box     = $("#country_box:checked").val();
    var state_box       = $("#state_box:checked").val();
    var city_box        = $("#city_box:checked").val();
    var zip_box         = $("#zip_box:checked").val();
    var phone_box       = $("#phone_box:checked").val();
    var mphone_box      = $("#mphone_box:checked").val();
    var bphone_box      = $("#bphone_box:checked").val();
    //values
    var email_input     = $("#login").val();
    var cname_input     = $("#cname_input").val();
    var bname_input     = $("#bname_input").val();
    var baddress_input  = $("#baddress_input").val();
    var country_input   = $("#fpocntry_id option:selected").text();
    var state_selected  = $("#fpostate_id option:selected").val();
    var state_input     = (state_selected != "0") ? $("#fpostate_id option:selected").attr('id') : "";
    var city_input      = $("#city_input").val();
    var zip_input       = $("#zip_input").val();
    var phone_input     = $("#phone_input").val();
    var mphone_input    = $("#mphone_input").val();
    var bphone_input    = $("#bphone_input").val();

    var my_div 			= $("#contact_info");
    //var bg_color = '#'+document.mem_settings.address_bgcolor.value;
    var bg_color = '#FFFFFF';
    //var text_color = '#'+document.mem_settings.text_color.value;
    var text_color = '#000000';

    //my_div.bgColor ='#'+document.mem_settings.address_bgcolor.value;
    my_div.bgColor = bg_color;

    if(bname_box && bname_input != ""){
        company = bname_input;
    } else {
        company = ""
    }
    if(cname_box && cname_input != ""){
        name = cname_input;
    } else {
        name = "";
    }

    if(baddress_box || state_box || city_box || zip_box || country_box){
        if(!baddress_box) baddress_input = "";
        if(!city_box) city_input = "";
        if(!state_box) state_input = "";
        if(!zip_box) zip_input = "";
        if(!country_box) country_input = "";

        address_a	= baddress_input + " " + city_input;
        address_b	= state_input + " " + zip_input + " " + country_input;
        if(address_a != " " && address_b != "  ")
            address_a += ", " + address_b;
        else
            address_a += " " + address_b;
        address = (address_a == "    ") ? "" : address_a;
    }
    if(phone_box && phone_input != ""){
        phones = "Direct Phone: "+phone_input;
    }
    if(bphone_box && bphone_input != ""){
        if(phones != "")
            phones += " Business Phone: "+bphone_input;
        else
            phones = "Business Phone: "+bphone_input;
    }
    if(mphone_box && mphone_input != ""){
        if(phones != "")
            phones += "<br/>Mobile Phone: "+mphone_input;
        else
            phones = "<br/>Mobile Phone: "+mphone_input;
    }
    if(email_input != ""){
        email = "email: <a href = 'mailto:"+email_input+"'>"+email_input+"</a>";
    } else {
        email = "";
    }

    headkeys = new Array("name","company");
    bodykeys = new Array("address","phones","email");
    allakeys = new Array("head","body");

    for (var i in headkeys){
        if(head != ""){
            if(eval(headkeys[i]) != ""){
                head += "<br/>"+eval(headkeys[i]);
            }
        } else {
            if(eval(headkeys[i]) != ""){
                head = eval(headkeys[i]);
            }
        }
    }

    if (head != "")
        head = "<font COLOR=\""+text_color+"\"><font class='text12px'>"+head+"</font>";

    for (var i in bodykeys){
        if(body != ""){
            if(eval(bodykeys[i]) != ""){
                body += "<br/>"+eval(bodykeys[i]);
            }
        } else {
            if(eval(bodykeys[i]) != ""){
                body = eval(bodykeys[i]);
            }
        }
    }
    for (var i in allakeys){
        if(paddress != ""){
            if(eval(allakeys[i]) != ""){
                paddress += "<br/>"+eval(allakeys[i]);
            }
        } else {
            if(eval(allakeys[i]) != ""){
                paddress = eval(allakeys[i]);
            }
        }
    }

    paddress = (paddress != "") ? paddress+"</font>" : "";

    $('div.jqmAlertContent').html(paddress);
    if(paddress != "")
        $('#contact_info').jqmShow();
}