Controller['novidades'] = {
	customButtons:true,
	hasForm:true,
	initialized:false,
	title:'Novidades',
	html:'',
	mainElement:{},
	data:{},
	setElement: function($elm)
	{
		if(Controller['novidades'].html == '')
		{
			Controller['novidades'].mainElement = $elm;
			Controller['novidades'].html = $elm.html();
		}
	},
	init: function()
	{
		ControllerNovidades.initialized = true;
		setTimeout(ControllerNovidades.update, 100);
	},
	update: function()
	{
		$('select:not(.no-custom)').SelectCustomizer();
		$('#novidades-i-uf_options div').click(function(e){
			e.preventDefault();
			//
			ControllerNovidades.updateCities($(this).attr('title'));
		});
		$('#form-novidades .bt-enviar').bind('click', ControllerNovidades.fSend);
		$('#form-novidades').bind('submit', ControllerNovidades.fSubmit).data('sending', false);
	},
	transitionIn: function()
	{
		var $content = ControllerNovidades.mainElement;
		$content.show();
		$content.find('.modal-section-background').fadeTo('fast', .7, function() {
			$content.find('.modal-section-content').fadeIn('fast', function() {
				ControllerNovidades.endTransitionIn();
			})
		});
	},
	transitionOut: function()
	{
		var $content = ControllerNovidades.mainElement;
		$content.find('.modal-section-content').fadeOut('fast', function() {
			$content.find('.modal-section-background').fadeOut('fast', function() {
				$content.hide();
				ControllerNovidades.endTransitionOut();
			})
		});
	},
	endTransitionIn: function()
	{
		if(ControllerNovidades.initialized === false)
			ControllerNovidades.init();
		else
			ControllerNovidades.update();
	},
	endTransitionOut: function()
	{
		Modal.close();
	},
	load:
	{
		beforeSend: function(){},
		success: function(){},
		complete: function()
		{
			if(window.ControllerNovidades == undefined)
				window.ControllerNovidades = Controller['novidades'];
				
			ControllerNovidades.mainElement.find('.modal-section-background, .modal-section-content').hide();
			ControllerNovidades.mainElement.find('.modal-section-close').bind('click', ControllerNovidades.closeModal);
			ControllerNovidades.transitionIn();
		},
		error: function(){}
	},
	close: function()
	{
		ControllerNovidades.transitionOut();
	},
	closeModal: function(e)
	{
		e.preventDefault();
		e.stopImmediatePropagation();
		ControllerNovidades.close();
	},
	updateCities: function(e)
	{
		if(ControllerNovidades.data[e] == undefined)
		{
			var request = $.getJSON(box3document.baseURL+'site/ajax/getCidades/'+e, function(j){
				ControllerNovidades.data[e] = j.cities;
			});
			request.complete(function(){
				ControllerNovidades.drawCities(e);
			});
		} else	ControllerNovidades.drawCities(e);
	},
	drawCities: function(e)
	{
		var elm = $('#container-novidades-cities');
		elm.html('<select name="cidade" data-errormessage="Selecione a cidade." class="required" id="novidades-i-cidade" title="Cidade"><option value="">Cidade</option></select>');
		elm = $('#novidades-i-cidade');
		//
		$.each(ControllerNovidades.data[e], function(id, cidade){
		elm.append('<option value="'+cidade+'">'+cidade+'</option>');
		});
		$('select:not(.no-custom)').SelectCustomizer();
	},
	fSend: function(e)
	{
		e.preventDefault();
		e.stopImmediatePropagation();

		var $self = $(this);
		var $form = $self.closest('form');
		if(box3form.validate($form))
			$form.submit();
	},
	fSubmit: function(e)
	{
		e.preventDefault();
		e.stopImmediatePropagation();
		$form = $(this);
		$message = $form.find('.error-message');
		if($form.data('sending') === false)
		{
			$.ajax({
				type: $form.attr('method'),
				url: box3document.baseURL + 'site/' + $form.attr('action'),
				data: $form.serialize(),
				dataType: 'json',
				beforeSend: function()
				{
					$form.data('sending', true);
					$message.text('Enviando dados...');
				},
				success: function(ret)
				{
					$form.data('sending', false);
					$message.text(ret.message);

					if(ret.success === true)
						ControllerNovidades.cleanForm($form);
				}
			});
		}
	},
	cleanForm: function ($form)
	{
		$form.find('input').val('');
		$('#container-novidades-cities').html('<select name="cidade" data-errormessage="Selecione a cidade." id="novidades-i-cidade" title="Cidade" class="required"><option value="">Cidade</option></select>');
		$('select:not(.no-custom)').SelectCustomizer();
		$('#novidades-i-uf_options div').first().trigger('click');
	}
}

