//browse xhr is loaded, prepare events
function browseLoaded() {
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    iam : {
		required:true
	    },
	    lookingfor : {
		required:true
	    },
	    age_from : {
		required:true,
		min:21,
		max:80,
		number:true
	    },
	    age_to : {
		required:true,
		min: 21,
		max: 80,
		number:true
	    },
	    country: {
		required:true,
		min:1,
		number:true
	    },
	    state: {
		required:true,
		min:1,
		number:true
	    },
	    city: {
		required:true,
		min:1,
		number:true
	    }
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_2.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form
    $("#form_register").validate();
	
    // country changes, load states
    $("#country").change(function() {

	if ($("#country").val() > 0) {
	    $("#country").attr("disabled","disabled");
	    $.ajax( {
		url : "../site/xhr/ajax_select_states.php",
		data : "country_id=" + $("#country").val(),
		type : "GET",
		cache : true,
		success : function(data) {
		    $("#state").html('');
		    $("#state").html(data);
		    $("#country").attr("disabled","");
		    $("#country").focus();
		}
	    });
	}
    }).change();

    // state changes, load cities
    $("#state").change(function() {
	if ($("#state").val() > 0) {
	    $("#state").attr("disabled","disabled");
	    $.ajax( {
		url : "../site/xhr/ajax_select_cities.php",
		data : "state_id=" + $("#state").val(),
		type : "GET",
		cache : true,
		success : function(data) {
		    $("#city").html('');
		    $("#city").html(data);
		    $("#state").attr("disabled","");
		    $("#state").focus();
		}
	    });
	}
    }).change();

}

function registration2Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    email : {
		required:true,
		email:true,
		remote: {
		    url: "../site/xhr/ajax_valid_email.php",
		    type: "get",
		    data: {
			email: function() {
			    return $("#email").val();
			}
		    }
		}
	    },
//	    email_verification : {
//		required:true,
//		equalTo:"#email"
//	    },
	    login : {
		required:true,
		minlength:5,
		remote: {
		    url: "../site/xhr/ajax_valid_username.php",
		    type: "get",
		    data: {
			username: function() {
			    return $("#login").val();
			}
		    }
		}
	    },
	    password : {
		required:true,
		minlength:5
	    },
//	    password_verification : {
//		required:true,
//		equalTo:"#password"
//	    }
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_3.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	},
	messages: {
	    email:{
		required: "Please enter your email address.",
		email: "Please enter a valid email address.",
		remote: jQuery.format("{0} is already in use.")
	    },
	    login : {
		required:"Please enter a login name.",
		minlength:"Please enter at least 5 characters.",
		remote: jQuery.format("{0} is invalid or already in use.\n(Allowed: characters from a-z, numbers and dashes).\nTry <u onclick='document.getElementById(\"login\").value = this.innerHTML;'>{0}"+Math.floor(Math.random()*101)+"</u>, <u onclick='document.getElementById(\"login\").value = this.innerHTML;'>{0}"+Math.floor(Math.random()*101)+"</u> or <u onclick='document.getElementById(\"login\").value = this.innerHTML;'>{0}"+Math.floor(Math.random()*101)+"</u>.")
	    },
	    password : {
		required:"Please enter a password.",
		minlength:"Please enter at least 5 characters."
	    }
	}
    });
	
    //validate form

    $("#form_register2").validate();

}

function registration3Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_4.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form

    $("#form_register3").validate();
	
}

function registration4Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_5.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form

    $("#form_register4").validate();
	
}

function registration5Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_6.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form

    $("#form_register5").validate();
	
}

function registration6Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    appearance:{
		required:false,
		minlength:10,
		maxlength:1000
	    },
	    general:{
		required:false,
		minlength:10,
		maxlength:1000
	    },
	    lookingfor:{
		required:false,
		minlength:10,
		maxlength:1000
	    }
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_7.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form

    $("#form_register6").validate();
	
}

function registration7Loaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    photo:{
		required:false
	    }
	},
	submitHandler: function(form) {
	    var options = {
		success:  function() {
		    $("#div_loading").hide();
		},
		target: '#div_register',
		url: '../site/xhr/ajax_register_congrats.php'
	    };
	    $("#div_loading").show();
	    $(form).ajaxSubmit( options );
	}
    });
	
    //validate form

    $("#form_register7").validate();
	
}

/**
 * The user has logged in, and needs to update his/her location
 */
function updateDataLoaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    country: {
		required:true,
		min:1,
		number:true
	    },
	    state: {
		required:true,
		min:1,
		number:true
	    },
	    city: {
		required:true,
		min:1,
		number:true
	    },
	    email : {
		required:true,
		email:true,
		remote: {
		    url: "../site/xhr/ajax_valid_email.php",
		    type: "get",
		    data: {
			email: function() {
			    return $("#email").val();
			}
		    }
		}
	    }
	},
	messages: {
	    email:{
		required: "Please enter your email address.",
		email: "Please enter a valid email address.",
		remote: jQuery.format("{0} is already in use.")
	    },
	    city : {
		required:"Please select the city you live in."
	    },
	    state: {
		required:"Please select the state you live in."
	    },
	    country: {
		required:"Please select the country you live in."
	    }
	},
	submitHandler: function(form) {
	    var options = {
		target: '#div_login',
		url: '../site/xhr/ajax_update_data.php'
	    };
	    $(form).ajaxSubmit( options );
	}
    });

    //validate form
    $("#form_update").validate();

    // country changes, load states
    $("#country").change(function() {

	if ($("#country").val() > 0) {
	    $("#country").attr("disabled","disabled");
	    $.ajax( {
		url : "../site/xhr/ajax_select_states.php",
		data : "country_id=" + $("#country").val(),
		type : "GET",
		cache : true,
		success : function(data) {
		    $("#state").html('');
		    $("#state").html(data);
		    $("#country").attr("disabled","");
		    $("#country").focus();
		}
	    });
	}
    }).change();

    // state changes, load cities
    $("#state").change(function() {
	if ($("#state").val() > 0) {
	    $("#state").attr("disabled","disabled");
	    $.ajax( {
		url : "../site/xhr/ajax_select_cities.php",
		data : "state_id=" + $("#state").val(),
		type : "GET",
		cache : true,
		success : function(data) {
		    $("#city").html('');
		    $("#city").html(data);
		    $("#state").attr("disabled","");
		    $("#state").focus();
		}
	    });
	}
    }).change();
}

/**
 * The user has logged in, and needs to update his/her username + userpass
 */
function updateLoginLoaded(){
    //setup validation
    jQuery.validator.setDefaults( {
	rules : {
	    login : {
		required:true,
		minlength:5,
		remote: {
		    url: "../site/xhr/ajax_valid_login.php",
		    type: "get",
		    data: {
			login: function() {
			    return $("#login").val();
			}
		    }
		}
	    },
	    password : {
		required:true,
		minlength: 5
	    },
	    password_verification : {
		required:true,
		equalTo:"#password"
	    }
	},
	messages: {
	    login:{
		required: "Please enter your new username.",
		remote: jQuery.format("{0} is invalid or already in use.\n(Allowed: characters from a-z, numbers and dashes)")
	    },
	    password : {
		required:"Please enter your new password."
	    }
	},
	submitHandler: function(form) {
	    var options = {
		target: '#div_login',
		url: '../site/xhr/ajax_update_login.php'
	    };
	    $(form).ajaxSubmit( options );
	}
    });

    //validate form
    $("#form_update").validate();

}
