﻿/*
	FontSize for jQuery (version 1.1)
	Copyright (c) 2009 Ramon Victor
	http://www.ramonvictor.com/plugin-font-size-jquery
	
	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/

(function ($) {
    $.fn.fontSize = function (options) {
        var defaults = {
            alvo: 'body',
            tipoPaiLink: 'none',
            variacoes: 5,
            opResetar: false
        };
        var d = $.extend(defaults, options);

        return this.each(function () {
            //Acrescentando os links para aumentar e diminuir tamanho da fonte	
            pailink = d.tipoPaiLink;
            reset = d.opResetar;

            $(this).html('<p>Tamanho do texto:</p><a href="#" title="Diminuir letras" id="diminuir-letras" class="menos">Diminuir letras</a> <a href="#" title="Aumentar letras" id="aumentar-letras" class="mais">Aumentar letras</a>');
            
            alvo = d.alvo;
            nvariacoes = d.variacoes;

            //Verificando número de variações
            if (nvariacoes % 2 == 0) {
                padrao = (nvariacoes / 2) + 1;
            } else {
                padrao = parseInt((nvariacoes / 2) + 1);
            }

            $(alvo).addClass("tam" + padrao);

            // Recuperando o número da classe atual
            $.natual = function () {
                atual = $(alvo).attr("class");
                t = atual.indexOf("tam");
                num = atual.substring((t + 3), (t + 5));
                return parseInt(num);
            }

            //Diminuindo número da classe até chegar a "1"
            $('.menos').click(function (e) {
                e.preventDefault();
                n = $.natual();
                if (n > 1) {
                    nAtual = "tam" + n;
                    n -= 1;
                    nc = "tam" + n;
                    $(alvo).removeAttr("class");
                    $(alvo).addClass(atual.replace(nAtual, nc));
                    $(this).parent().parent().find('a').removeClass('disabilitar');
                } else {
                    $(this).addClass('disabilitar');
                }
            });

            //Aumentando o número da classe até chegar ao número total de variações
            $('.mais').click(function (e) {
                e.preventDefault();
                n = $.natual();
                if (n < nvariacoes) {
                    nAtual = "tam" + n;
                    n = n + 1;
                    nc = "tam" + n;
                    $(alvo).removeAttr("class");
                    $(alvo).addClass(atual.replace(nAtual, nc));
                    $(this).parent().parent().find('a').removeClass('disabilitar');
                } else {
                    $(this).addClass('disabilitar');
                }
            });

        });
    };
})(jQuery);
