	
	$(function() {
			
		$('INPUT:text, INPUT:password, TEXTAREA').each(function(){
			$(this).focus(function() {
				$(this).parent().parent().addClass('active');
			});

			$(this).blur(function() {
				$(this).parent().parent().removeClass('active');
			});
		});
		
		$('#submitSubscribe').click(function() {
			$('#signup').trigger('submit');
			checkAndColourForm('#signup');
			return false;
		});
		
		
		var rules = {};
		var form_fields_to_validate = ['b_first_name','b_last_name','email','email1','gender','country'];
		
		for (var i=0; i<form_fields_to_validate.length; i++) {
			if ($('#signup input[name=' + form_fields_to_validate[i] + ']').length) {
				if (form_fields_to_validate[i]=='email') {
					rules[form_fields_to_validate[i]] = {
						required : true,
						email : true,
						equalTo : "input[name=email1]"
					};
				} else if (form_fields_to_validate[i]=='email1') {
					rules[form_fields_to_validate[i]] = {
							required : true,
							email : true,
							equalTo : "input[name=email]"
						};
				} else {
					rules[form_fields_to_validate[i]] = 'required';
				}
			}
		}
		
		// check and submit account
		$('#signup').validate({
			rules			: rules,
			messages		: {
				b_first_name	:	"* required",
				b_last_name		:	"* required",
				email			: 	{ 
										required : "* required", 
										email : "* invalid",
										equalTo : '* addresses do not match'
									},
				email1			: 	{
										required : "* required", 
										email : "* invalid",
										equalTo : '* addresses do not match'
									},
				gender			:	"* required",
				country			:	"* required"
			},
			
			focusInvalid	: false
		});
		
		// get regions based on location
		$('#country').change(function() {
			if($(this).val() != "") {
				$.post(reiss_base_url+'register/', {
					'ajax'		: true,
					'location'	: $(this).val(),
					'act'		: 'get_regions'
				}, function(data) {
					$('#preferred_region').html(data);
					$('#preferred_region').next().remove();
					$('#preferred_region').dbselects({
						width                : 'get',
						maxItemsBeforeScroll : 10,
						showNullValues       : false
					});
					$('#preferred_region').next().find('.dropdown').css('zIndex', $('#preferred_store').next().find('.dropdown').css('zIndex'));
				}, "text");
			}
		});
		
		
		// get stores based on region
		$('#preferred_region').change(function() {
			if($(this).val() != "") {
				$.post(reiss_base_url+'register/', {
					'ajax'				: true,
					'preferred_region'	: $(this).val(),
					'act'				: 'get_stores'
				}, function(data) {
					$('#preferred_store').html(data);
					$('#preferred_store').next().remove();
					$('#preferred_store').dbselects({
						width                : 'get',
						maxItemsBeforeScroll : 10,
						showNullValues       : false
					});
					$('#preferred_store').next().find('.dropdown').css('zIndex', $('#preferred_region').next().find('.dropdown').css('zIndex'));
				}, "text");
			}
		});
	});


