$(document).ready(init);

function init(){
	$("dt > label[for='state_id']").parent().css({"display":"none"});
	$("dd > select#state_id").parent().css({"display":"none"});
	$("dt > label[for='residence_state_id']").parent().css({"display":"none"});
	$("dd > select#residence_state_id").parent().css({"display":"none"});

	signShowState($("select#country_id option:selected").val(), 'state_id');
	signShowState($("select#residence_id option:selected").val(), 'residence_state_id');
	
	$("select#country_id").change(function () {
          $("select#country_id option:selected").each(function () {
                signShowState($("select#country_id option:selected").val(), 'state_id');
              });
    });
	$("select#residence_id").change(function () {
          $("select#residence_id option:selected").each(function () {
                signShowState($("select#residence_id option:selected").val(), 'residence_state_id');
              });
    });
    $("#submit_registration").click(function(){
        if ( $("#agree").attr('checked') ) {

            if (validateMyState() == 1) {
                return false;
            } else if (validateMyState() == 2) {
                $("#registration").submit();
                return true;
            }
        } else {
            alert("Please, read Terms and Conditions")
            return false;
        }
    });
    $("#submit_registration_adver").click(function(){
        if ( !$("#agree").attr('checked') ) {
            alert("Please, read Terms and Conditions")
            return false;
        } else {
            $("#registration").submit();
        }
    });
    $("#registration").keypress(eventclick);
    $('#agreehref').click(agreeview);
}

function eventclick(event) {
    if (event.keyCode=='13') {
        $("#submit_registration").click();
        $("#submit_registration_adver").click();
    }
}

function signShowState(country_id, ident) {
	$.ajax({
				type: "POST",
				url:  "/users/checkstate/",
				data: "country_id="+country_id,
				async: false,
				dataType: "json",
				success: function(data) {
					if(data.sign == 1) {
						$("dt > label[for='" + ident + "']").parent().css({"display":"block"});
						$("dd > select#" + ident).parent().css({"display":"block"});
					} else if(data.sign == 2) {
						$("dt > label[for='" + ident + "']").parent().css({"display":"none"});
						$("dd > select#" + ident).parent().css({"display":"none"});
						$("select#" + ident +" option:selected").val("");
					}
				},
				error: function(data) {
					alert("Some error occure");
				}
			}); 
    return false;
}

function validateMyState() {
	var visib = $("select#state_id").css("display");
	if (visib == "block") {
            var state_id = $("select#state_id option:selected").val();
            if (state_id == "") {
                $("select#state_id").css({"border":"2px #F00 solid"});
                $("dd:has(select#state_id)").find("ul.errors").each(function() {
                    $("ul.errors").remove();
                });
                $("dd:has(select#state_id)").append("<ul class='errors'><li>Value is required and can't be empty</li></ul>");
                return 1;
            } else {
                $("select#state_id").css({"border":"1px #777 solid"});
                return 2;
            }
	} 
	return 2;
}

function agreeview() {
	$('#registration').attr('action', '/users/viewterms');
	$('#registration').submit();
	return false;
}
