$(document).ready(function(){
	jQuery('a[rel*=facebox]').facebox();
	$("a[@rel*=external]").attr("target", "_blank");
	$("a[@rel*=back]").click( function(){ history.back(); return false });
	$("a[@rel*=print]").click( function(){ print(); });
	
	$("input.inputFocus").focus(function(){
	   if ($(this).val() == $(this).attr('title')) {
	       $(this).val('');
	   }
	}).blur(function(){
	   if ($(this).val() == '') {
           $(this).val($(this).attr('title'));
       }
	});		
		
	$('div.post h2 a').each(function(i) {
		$(this).parent().parent('div.entry img').attr('title', $(this).html());
		$(this).parent().parent('div.entry img').attr('alt', $(this).html());
	});
	
	/* Blog */
	$("form.post-comment").submit(function(){
	   $(".ajax-comment img").show();
       $(".ajax-comment span").removeClass();
       $(".ajax-comment span").html("");
       
	   var $this = $(this);
	   var formSubmit = true;
	   $(this).find('input,textarea,select').each(function(id,elm){
	       if (!$(elm).val()) {
	           formSubmit = false;
	           $(".ajax-comment img").hide();
               $(".ajax-comment span").addClass("error");
               $(".ajax-comment span").html("Por favor preencha todos os campos!");
	           return false;
	       }
	   });
	   	   
	   if (formSubmit == true) {   
		   $.post(rootUrl+'index/comment/',{id:$('#postComment_postId').val(),name:$('#postComment_name').val(),email:$('#postComment_email').val(),comment:$('#postComment_comment').val(),stateId:$('#postComment_stateId').val()},function(response){		       
		       $('.comment-list').append(response);      
		       var comments = $this.parent().siblings('.comment-list').find('li').length
		       comments += (comments > 1) ? " Comentários":" Comentário";
		       $('a[rel="post-comment"]').html(comments);
		       $(".ajax-comment img").hide();
               $(".ajax-comment span").addClass("success");
               $(".ajax-comment span").html("Comentário efetuado com sucesso!");
               $(".comment-list .hide").fadeIn();
			   $(".comment-list .hide").removeClass("hide");
			   $('#postComment_postId').val('');
			   $('#postComment_name').val('');
			   $('#postComment_email').val('');
			   $('#postComment_stateId').val('');
			   $('#postComment_comment').val('');               
		   });
	   }
	   return false;
	});
	/* end:Blog */
	
	/* Library */	
	if (typeof $('#img-container a[rel="lightbox"]').lightBox == "function") {
	    $('#amplify-image').hide();
		lightboxInit($('#img-container a[rel="lightbox"]'));
		
		$('#img-list li a').click(function(){
		   var $this = $(this);
		   var params = $(this).attr('href');
		   params = params.replace('?','');
		   
		   $.ajax({
			   type: "POST",
			   url: rootUrl+'library/loadImage',
			   data: params,
			   success: function(content){
				    $('#img-container').html(content);
				    $('#img-list li').removeClass('active');
				    $this.parent().addClass('active');
		            lightboxInit($('#img-container a[rel="lightbox"]'));
			   }
		   });
		   	   
		   return false;
		});
	}	
	
	$('#category_id').change(function(){
	   if ($(this).val()) {
	       window.location.href = rootUrl+'biblioteca-de-especies/grupo/'+$(this).val();	       
	   } else {
	       window.location.href = rootUrl+'biblioteca-de-especies';
	   }
    });
    
    $('#scientificName_id').change(function(){
       if ($(this).val()) {
           window.location.href = rootUrl+'biblioteca-de-especies/'+$(this).val();           
       } else {
           window.location.href = rootUrl+'biblioteca-de-especies';
       }
    });
    
    $('#commonName_id').change(function(){
       if ($(this).val()) {
           window.location.href = rootUrl+'biblioteca-de-especies/'+$(this).val();           
       } else {
           window.location.href = rootUrl+'biblioteca-de-especies';
       }
    }); 
	/* end:Library */
		
	
	/* Question */
	
	$("#main-question .comment").hide();
    $("#main-question a[rel='post-comment']").click(function(){
       $(this).parent().siblings(".comment").slideToggle('slow');
       return false;
    });
    
	$(".question-comment").submit(function(){
	    var commentForm = $(this);	    
		commentForm.find(".ajax-comment img").show();
		commentForm.find(".ajax-comment span").removeClass();
		commentForm.find(".ajax-comment span").html("");
		var formSubmit = true;
		$(this).find('input,textarea').each(function(id,elm){
			if (!$(elm).val()) {
				formSubmit = false;
				commentForm.find(".ajax-comment img").hide();
				commentForm.find(".ajax-comment span").addClass("error");
				commentForm.find(".ajax-comment span").html("Por favor preencha todos os campos!");
				return false;
			}
		});			
		
		if(formSubmit == true) {
			$.post(rootUrl + 'question/comment',{question_id: $(this).find('input[name="question_id"]').val(), name: $(this).find('input[name="name"]').val(), email: $(this).find('input[name="email"]').val(), comment: $(this).find('textarea[name="comment"]').val()}, function(response) {
				if(response){
				
					commentForm.find(".ajax-comment img").hide();
					commentForm.find(".ajax-comment span").addClass("success");
					commentForm.find(".ajax-comment span").html("Mensagem enviada com sucesso!");
					commentForm.parent().siblings("ul.comment-list").append(response);					
					commentForm.parent().siblings("ul.comment-list").find("li:last").fadeIn();
					commentForm.parent().siblings("ul.comment-list").find("li:last").removeClass("hide");
					if (commentForm.find('input[name="name"]').attr('type') != "hidden") {
					    commentForm.find('input[name="name"]').val("");
					    commentForm.find('input[name="email"]').val("");
				    }
				    commentForm.find('textarea[name="comment"]').val("");					
					setTimeout(function(){
						$(".comment").slideUp("slow");
						commentForm.find(".ajax-comment span").html("");
					}, 2000);
				}
			});
		} 
		return false;
	});
	/* end:Question */	
	
	/* box-login */
	$('#user-menu li.logar').click(function() {
		$('div#box-login').animate({
			top: 0
		}, 650);
	});
	
	$('#login-form').submit(function() {	
		loginForm($('#user_email').val(),$('#user_password').val(),$(this),'loader.gif');
		return false;
	});
	
	$('#forgot-password').click(function(){
       forgotPassword($('#user_email').val(),$(this),'loader.gif');
       return false;
    });
	/* end:box-login */
	
	/* search */
	
	$('#search-tabs a').click(function(){
	   $(this).parents('ul').find('li').removeClass('active');
	   $(this).parent().addClass('active');
	   $('ul.tab').hide();
	   $($(this).attr('href')).show();
	   return false;
	});
		
	/* end:search */
	
	/* Promotion */
	$('#close-layer').click(function(){
	   closeLayerRegulamento();
	   return false;
	});
	
	$('#open-terms').click(openLayerRegulamento);
	
	$('#promotion-register').click(openLayerCadastrar);
	
	$('#promotion-participate').click(openLayerEnviar);
	
	$('#promotion-login').submit(function() {   
        loginForm($('#promotion_email').val(),$('#promotion_password').val(),$(this),'ajax-loader.gif');
        return false;
    });
	
	$('#promotion-forgot').click(function(){
	   forgotPassword($('#promotion_email').val(),$(this),'ajax-loader.gif');
	   return false;
	});
	
	/* end:Promotion */
	
	
	
	/**
	Tracking analytics
	padrao: rel="analytics_secao/acesso"
	*/
	$("a[rel*='analytics']").click(function() {
	    var analytics = strstr($(this).attr("rel"),"analytics");
		var name = elmId(analytics);
		var area = "/site/" + name;
		track(area);
		return true;
	});
	
});

function elmId(id) {
    var link_id = id;
    var regular_expression = /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/;
    var elm_id = link_id.match(regular_expression); 
    return elm_id[1];
}

function strstr (haystack, needle, bool) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strstr('Kevin van Zonneveld', 'van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: strstr('Kevin van Zonneveld', 'van', true);
    // *     returns 2: 'Kevin '
    // *     example 3: strstr('name@example.com', '@');
    // *     returns 3: '@example.com'
    // *     example 4: strstr('name@example.com', '@', true);
    // *     returns 4: 'name'
 
    var pos = 0;
    
    haystack += '';
    pos = haystack.indexOf( needle );
    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}

function lightboxInit($elm) {        
	$elm.lightBox({
	   overlayBgColor:  '#193209',
	   imageLoading:    rootUrl+'imgs/lightbox/lightbox-ico-loading.gif',
	   imageBtnPrev:    rootUrl+'imgs/lightbox/lightbox-btn-prev.gif',
	   imageBtnNext:    rootUrl+'imgs/lightbox/lightbox-btn-next.gif',
	   imageBtnClose:   rootUrl+'imgs/lightbox/lightbox-btn-close.gif',
	   imageBlank:      rootUrl+'imgs/lightbox/lightbox-blank.gif',
	   txtImage:        'Imagem',
	   txtOf:           'de'
	});	
	
	$elm.hover(function(){
      $('#amplify-image').show();
    },function(){
      $('#amplify-image').hide();
    });
}


function openLayerRegulamento(){
	$('.layerRegulamento').show();	
};
function closeLayerRegulamento(){
	$('.layerRegulamento').hide();
	return false;
};

function openLayerEnviar(){
	$('.layerEnviar').show();
	return false;
};
function closeLayerEnviar(){
	$('.layerEnviar').hide();
	return false;
};

function openLayerCadastrar(){
	$('.layerCadastro').show();
	return false;
};
function closeLayerCadastrar(){
	$('.layerCadastro').hide();
	return false;
};

function loginForm(email, password, $elm, loaderImg) {
    var loader = "<img src='" + rootUrl + "imgs/others/" + loaderImg + "' width='' height='' alt='Carregando...' />";
    var infoLayer = $elm.find('span.info-msg');
    infoLayer.html(loader);    
    var formSubmit = true;
    if(!email) {
        formSubmit = false;
        infoLayer.html("Campo de e-mail vazio!");
    } else if (!password) {
        formSubmit = false;
        infoLayer.html("Campo de senha vazio!");
    }
    
    if(formSubmit == true) {
        $.post(rootUrl + 'user/login',{email: email, password: password}, function(response) {
            if(response){
                window.location.href = response;
            } else {
                infoLayer.html("Dados inválidos!");
            }
        });
    }
}

function forgotPassword(email, $elm, loaderImg) {
    var loader = "<img src='" + rootUrl + "imgs/others/" + loaderImg + "' width='' height='' alt='Carregando...' />";
    var formSubmit = true;
    var infoLayer = $elm.parents('form').find('span.info-msg');
    infoLayer.html(loader);
    
    if(!email) {
        formSubmit = false;
        infoLayer.html("Campo de e-mail vazio!");
    }
    
    if (formSubmit == true) {
        $.post(rootUrl+'user/forgot',{email:email},function(response) {
            infoLayer.html(response);
        });
    }
    
}
