var tabs;
var isPostingQuestion = false;

$(function(){
	
	if (typeof pergunta !== 'undefined') {
		_gaq.push(['_trackEvent', 'banner_id', banner_id]);
	}						
	
	tabs = new Tabs('#doubt');
	tabs.swfCallBackName = 'tabs.endSwf';
	tabs.init();
	tabs.chosenFiles.init();
	
	styleForm.init();
	styleForm.loader = false;
	styleForm.getData(styleForm.populate)
	
	cqlook.homeMediasNavigator(homeMedias);
	
	$('.okAction').click(function(e){
	
		e.preventDefault();
		
		var aHref = $(this);
		aHref.next().show();
		window.setTimeout(function(){aHref.next().fadeOut();}, 3000);
	});

	$(".modal").not("#fullMediaModal, #embedModal").overlay({
		top: 100, closeOnClick: false, 
		mask: {
			color: '#000000',
			loadSpeed: 1100,
			opacity: 0.7
	}});
	
	// Política de privacidade
	$('#footer a').click(function(){
		$("#politicaModal").data("overlay").load();	
	});
	
	$("#doubt_description, #customer_doubt_description").
		keyup(descriptionCounter).bind('paste', descriptionCounter);
	
	$('#linkUrl, #doubt_description, #customer_email, #customer_name, #event_type_other, #social_group_other').
		inputPlaceHolder();
	
	
	$('#time li a, #weather li a').click(function(e){
				
		e.preventDefault();
		
		var aHref = $(this);

		aHref.parent().parent().find('a').removeClass('active');
		aHref.addClass('active');
	});	
	
	if (typeof pergunta !== 'undefined') {
		$('#doubt_description').focus().val(pergunta);
	}	

	$('#doubtAction').click(function(e){
	
		var analytics = {
			category: 'Pergunta',
			action: 'Envio',
			label: null,
			value: null,
			doIt: function() {
				if (typeof _gaq === 'undefined')
					return;
				_gaq._getAsyncTracker()._trackEvent(analytics.category, analytics.action, analytics.label, analytics.value);
			}
		};
		
		e.preventDefault();
		
		if (tabs.isBusy) {
			return;
		}
		
			
		if ($('#doubt_description').data('placeholder').isOriginal()) {
			
			analytics.label = 'Incompleta';
			analytics.doIt();
			
			cqlook.showMessageModal('Por favor, preencha primeiramente sua pergunta', 'error')
			return;
		}
		
		if (isPostingQuestion) {
			return;
		}
		
		isPostingQuestion = true;
		
		var data = {
			type: 'question',
			description: $('#doubt_description').val(),
			style: ChooserRegistry.status,
			occasion: {
				time: function() {
					if ($('#time a.active').length === 0) return null;
					return $('#time a.active').parent().attr('id').split('_')[1];
				}(),
				weather_id: function() {
					if ($('#weather a.active').length === 0) return null;
					return $('#weather a.active').parent().attr('id').split('_')[1];
				}(),
				event_type_id: function(){
					if ($('#event_type option:selected').val() === '') return null;
					return $('#event_type option:selected').val();
				}(),
				event_type_other: $('#event_type_other').val(),
				social_group_id: function() {
					if ($('#social_group option:selected').val() === '') return null;
					return $('#social_group option:selected').val();
				}(),
				social_group_other: $('#social_group_other').val()
			}
		};
		
		/*console.info(data);
		return;*/
		
		cqlook.loader.show();
		
        var description = data.description;
		
        $.post('/services/post/save_post', {
            type: 'question',
            post: JSON.stringify(data)
            }, function(result){
			
            cqlook.loader.hide(function(){
				
                isPostingQuestion = false;
				
                var json = $.parseJSON(result),
                text = 'Pergunta enviada com sucesso!',
                permalink = 'http://cqlook.com.br/' + json.data.permalink,
                was_logged = json.data.user_was_logged,
                modalCallack = function() {
							
                    $('#shareUrl').val(permalink);
                    $('#shareModal').data('overlay').load();
                    $('#post_desc_similar').val(description);
                    $('#relatedAction').click(function(){$("#post_similar").submit()});
						
                    var fbUrl = 'http://www.facebook.com/sharer.php?u=' + permalink,
                    tUrl = 'http://twitter.com/home?status=Me%20ajude%20no%20look%20'+ permalink +'%20%23comquelookeuvou%3F' ;
					ZeroClipboard.setMoviePath( baseHref + 'js/ZeroClipboard.swf' );
						
                    var clip = null;
						
                    clip = new ZeroClipboard.Client();
						
                    clip.addEventListener('mousedown', function (client) {
                        clip.setText(permalink);
                    });
						
                    clip.addEventListener('mouseover', function (client) {
                        $('#copyUrl').addClass('hover');
                    });
						
                    clip.glue( 'copyUrl', 'networkWrapper');
					
                    $('.facebook').click(function(){
                        window.open(fbUrl);
                    });
						
                    $('.twitter').click(function(){
                        window.open(tUrl);
                    });
						
                    $('.orkut').click(function(){
			obj = {
                            tt: 'Com que look eu vou?',
                            tn: $('head meta[property=og:image]').attr('content'),
                            cn: 'Com que look eu vou? é um ambiente que ajuda a tirar todas as suas dúvidas sobre o que vestir. Você pode perguntar, responder e até testar suas habilidades de consultor de estilo.',
                            du: permalink
                        };
                        url = 'http://promote.orkut.com/preview?nt=orkut.com&';
                        url += $.param(obj);
                        window.open(url);
                    });
						
						
                    var shareModal = $('#shareModal').data('overlay');
						
                    shareModal.onClose = function() {
                        window.location.href = '/';
                    };
						

                    $('.email').click(function(){
						
                        var currentShareOnClose = shareModal.onClose;
							
                        shareModal.onClose = function() {};
                        shareModal.close();
							
                        invite.init({
								
                            onClose: function() {
                                shareModal.load();
                                shareModal.onClose = currentShareOnClose;
                            },
                            service: '/services/invite/share',
                            type: 'share',
                            messages: {
                                success: 'Sua pergunta foi compartilhada por email!'
                            }
                        });
					
                        invite.open();
                    });
						
                   
						
                    $('#shareModal embed').parent().click(function(){
						
                        var aHref = $('#copyUrl');
							
                        aHref.html('').text('Copiado!').addClass('inverse');
                        Cufon.refresh();
							
                        $(this).remove();
                    });
                };
					
                if ( ! was_logged) {
                    analytics.label = 'Sucesso deslogado';
                    text = 'Sua pergunta está salva.<br />Para que ela seja exibida no site<br />você precisa completar o cadastro ou login.';
                    modalCallack = function() {
                        login.checkStatus(false);
                    };
                }
	
                if (json.success === true) {
                    analytics.doIt();
                    cqlook.showMessageModal(text, 'ok', modalCallack);
                    return;
                }

                analytics.label = 'Erro';
                analytics.doIt();
                cqlook.showMessageModal('Ocorreu um erro', 'error');
            });
        });
	});

	
	$('#event_type').change(function(){
	
	 var select = $(this),
		 	text = select.find('option:selected').text();
	 
	 if (text === 'Outro') {
			$('#event_type_other').show();
			return; 
	}
	 
	 
	 $('#event_type_other').hide();
	});
	
	$('#social_group').change(function(){
	
		var select = $(this),
			text = select.find('option:selected').text();
			 
		 if (text === 'Outras') {
			$('#social_group_other').show();
			return; 
		 }
		 
		 $('#social_group_other').hide();
	});	
	
	// Correção da posição do slider para WebKit
	if ($.browser.webkit) {
		var slider = $('.slider'),
			marginTop = parseInt(slider.css('margin-top').split('px')[0], 9);
				
		marginTop++;
		slider.css('margin-top', marginTop);
 	}	
	
	cqlook.postManager.init();
});	

var descriptionCounter = function() {

	var max = 1000;
		textarea = $(this),
		numChars = textarea.val().length,
		remaining = max - numChars;
	
	if (numChars >= max)
		textarea.val(textarea.val().slice(0, max - 1));
	
	if (remaining < 0)
		remaining = 0;
	
	$("#counter span").text(remaining);
	
	if (numChars >= 120)
		textarea.addClass('stage2');
	
	if (numChars < 120) 
		textarea.removeClass('stage2');
};
