/*
 *	Class: phone.register
 */
phone.register = {};

/*
 *	Function: setup
 *	Initiate everything for register. Setup vars, events, etc.
 */
phone.register.setup = function() {
	phone.register.api = new API({resource:'users'});
	phone.register.$container	= $('#register').show();
	
	phone.register.$container.find('.btn_register').button(function() {
		phone.register.$container.find('form').submit();
	});
	phone.register.$container.find('form').submit(function() {
		console.log('submit');
		phone.register.submit();
		return false;
	});

};

phone.register.submit = function() {
	var phone_number = $.phone_number(phone.register.$container.find('input[name=phoneNumber]').val());

	var data = {
		phoneNumber: 	phone_number.number,
		name:	 				phone.register.$container.find('input[name=name]').val(),
		email: 				phone.register.$container.find('input[name=email]').val(),		
		password:			phone.register.$container.find('input[name=password]').val()
	}
	
	if(!phone_number.valid) {
		$popup.error('FIELDS_NUMBER_INVALID');
		return false;
	}
	
	if(!data.phoneNumber) {
		$popup.error('FIELDS_NUMBER_MISSING');
		return false;
	}

	if(!data.email) {
		$popup.error('FIELDS_EMAIL_MISSING');
		return false;
	}
	
	if(!data.name) {
		$popup.error('FIELDS_NAME_MISSING');
		return false;
	}

	if(!data.password) {
		$popup.error('FIELDS_PASSWORD_MISSING');
		return false;
	}

	if(data.password != phone.register.$container.find('input[name=password_repeat]').val()) {
		$popup.error('FIELDS_PASSWORD_REPEAT_INVALID');
		return false;
	}
	
	if(phone.register.$container.find('input[name=conditions]:checked').length == 0) {
		$popup.error('FIELDS_CONDITIONS');
		return false;
	}

	phone.register.api.call({method:'POST', url_vars:'new', data:data, success:function(data) {
		phone.register.hide();
		
		//Set user
		user.current = data.user;
		//Setup all sections
		phone.setup();
		//Populate userdata
		user.populate(user.current);	
	}});
}

phone.register.show = function() {
	phone.showSection('register', 'contacts');
	
	phone.register.original_heights = {
		phone_middle: phone.middle.$container.height(),
		sections: 		phone.middle.$container.find('.sections').height(),
		inner:				phone.register.$container.find('.inner').height()
	};
	
	phone.middle.$container.animate({'height':260}, 200);
	phone.middle.$container.find('.sections').animate({'height':260}, 200);
	phone.register.$container.find('.inner').animate({'height':260}, 200);
};

phone.register.hide = function() {
	phone.showSection('login', 'contacts');
	
	phone.middle.$container.animate({'height':phone.register.original_heights.phone_middle}, 200);	
	phone.middle.$container.find('.sections').animate({'height':phone.register.original_heights.sections}, 200);	
	phone.register.$container.find('.inner').animate({'height':phone.register.original_heights.inner}, 200);	
};
