function util() {
    this.getParameterByName = function (url, name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(url);
        if (results == null) return "";
        else return decodeURIComponent(results[1].replace(/\+/g, " "));
    };

    this.animaElemento = function (elemento) {
        var intervalo = setInterval(function () {
            Util.animar(elemento)
        }, 300);
        var $elemento = $(elemento);

       // $elemento.css('maxWidth', ($elemento.outerWidth(true) + 30) + 'px');
        $elemento.attr('disabled', 'disabled');
        $elemento.data('intervalo', intervalo);
        $elemento.data('texto', $elemento.attr('value'));
    };

    this.paraElemento = function (elemento) {
        var $elemento = $(elemento);
        var intervalo = $elemento.data('intervalo');
        if (intervalo != undefined) clearInterval(intervalo);
        $elemento.attr('value', $elemento.data('texto'));
        $elemento.removeAttr('disabled');
		$elemento.removeClass('animando');
    };

    this.animar = function (elemento) {
        var $elemento = $(elemento);
        var i = $elemento.data('contador') == undefined ? 0 : $elemento.data('contador');
        var sPontos = '';

        if (i < 3) i++
        else i = 0

        for (var j = 0; j < i; j++) {
            sPontos = sPontos + '.';
        }

		if ($elemento.data('contador') == undefined)
			$elemento.addClass('animando');
					
        $elemento.val('Aguarde' + sPontos);
        $elemento.data('contador', i);
    };

    this.envioColorbox = function (form) {
        validador.preparaValidacao(form, function () {
			var $form = $(form);
			var $submit = $('input[type="submit"]', $form);
			
           // if (elemento != undefined) Util.animaElemento(elemento);
            $form.ajaxSubmit({
                clearForm: true,
                success: function (responseText) {
					if ($submit.length)
                   		Util.paraElemento($submit);
                    $.colorbox({
                        html: decodeURIComponent(responseText),
                        minWidth: 300,
                        minHeight: 100
                    });
                }
            });
        });
    };
}
//FUNÇÕES INICIAIS DE PLUGINS
$(function () {
    //FORMULÁRIOS
    $("input[name*=_C0018]").addClass("email");
    $("textarea[name*=_C0021]").attr("maxLength", "400");
	
    //MAPA
    $("form[id*=form-mapa-]").submit(function () {
        $('#trace-route-' + $(this).attr("idplugin")).trigger();
        return false;
    });
});
var Util = new util();
