var letra = new Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');

function addFavorito(title, url){
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
}

var msgErro = function(x, a, c){
	alert("Ocorreu algum erro durante esse processo.\r\n\r\n Entre em contato conosco ");
};

var init = function()
{
	//criar validacoes
	$.each($('.form'), function()
	{
		$(this).validate();
	});
	
	//criar trava
	$.each($('textarea[TravaQtd]'), function()
	{
		var o = $(this);
		var qtd = parseInt(o.attr('TravaQtd'));
		var lbl = $("#" + o.attr('TravaLabel'));
		o.keypress(function(e){
			if(this.value.length >= qtd)
			{
				this.value = this.value.substring(0, (qtd - 1));
				return;
			}
			lbl.text(qtd - this.value.length);
		});
		
		o.keydown(function(e){
			lbl.text(qtd - this.value.length);
		});
	});
			
	//criar WatermarkInput
			$.each($('input[Watermark]'), function()
			{
		
				var Watermark = $(this).attr('Watermark');
				var cor = "#666666";
				if($(this).css('color'))
				{
					cor = $(this).css('color');
				}
				$(this).Watermark(Watermark, cor);
		
			});

			//criar maskaras
			$.each($('input[Mask]'), function()
			{
		
				var Mask = $(this).attr('Mask');
				$(this).mask(Mask);
		
			});

			//seta focus no campo
			$.each($('*[@FocusInit]'), function()
			{
		
				var Focus = $(this).attr('FocusInit');
				if(Focus){
				
					$(this).focus();
					
				}
		
			});
};

var conf = function(msg){
	if(!msg){
		return confirm('Deseja realmente remover este registro ?');
	}
	else{
		return confirm(msg);
	}
};

var confURL = function(url, msg){
	if(!msg){
		msg = false;
	}
	if(conf(msg))
	{
		window.location.href = url;
	}
};

var LinhaCor = function()
{
	$.each($(".Grid"), function(){
				var conta = 1;
				$.each($("tbody tr", this), function(){
					if(conta == 0)
					{
						$(this).addClass("Alter");
						conta = 1;
					}
					else
					{
						conta = 0;
					}
				});
			});
};

function formatarValor(fld, milSep, decSep, e) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	if (whichCode == 13) return true;  // Enter
	if (whichCode == 8 ) fld.value = '';
	else{
		key = String.fromCharCode(whichCode);  // Get key value from key code
		if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
		len = fld.value.length;
		for(i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';
		for(; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;
		len = aux.length;
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0'+ decSep + '0' + aux;
		if (len == 2) fld.value = '0'+ decSep + aux;
		if (len > 2) {
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--) {
				if (j == 3) {
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);
			fld.value += decSep + aux.substr(len - 2, len);
		}
	}
	return false;
}

function verificaKey(e)
{
	var key = ((window.Event) ? e.which : e.keyCode);
   	return { padrao : (key != 0 && key != 8 && key != 9 && key != 46 && key != 39 && key != 37), key : key}
}

function PermiteNumeros(e)
{
	var tecla = verificaKey(e);
    if(tecla.padrao)
    {
    	if(tecla.key <= 47 || tecla.key >= 58)
    	{
	   		(navigator.appName == 'Netscape')? e.preventDefault() : e.keyCode=0;
    	}
    } 
}

function formatar(campo, e, mask)
{
	var tecla = verificaKey(e);
	if(tecla.padrao)
   	{
		if (campo.value.length >= mask.length)
		{
			(navigator.appName == 'Netscape')? e.preventDefault() : e.keyCode=0;
			return false;
		}
			
		for (c = campo.value.length; c < mask.length; c++)
		{
			if (mask.charAt(c) != '?')
			{
				campo.value += mask.charAt(c);
				if(mask.charAt(c) == ')')
				{
					campo.value += " ";
				}
				return true;
			}
			else
			{
				return true;
			}
		}
	}
		
	return true;
}

function formatarData(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "??/??/????");
}

function formatarHora(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "??:??");
}

function formatarCEP(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "?????-???");
}

function formatarCPF(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "???.???.???-??");
}

function formatarCNPJ(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "??.???.???/????-??");
}

function formatarTelefone(field, e)
{
	PermiteNumeros(e);
	return formatar(field, e, "(??) ????-????");
}

function validarData(campo)
{
	var erro = false;
	var value = ((typeof campo.value == "undefined") ? campo : campo.value);
	
	//valida formato da data
	var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
	if (!(value.match(expReg))){erro = true;}
			    	    					
	//valida se a data eh valida
	var dia = value.substring(0,2);
	var	mes = value.substring(3,5);
	var	ano = value.substring(6,10);
	if (mes > 12){erro = true;} 
	if (mes==01||mes==03||mes==05||mes==07||mes==08||mes==10||mes==12){if (dia > 31){erro = true;}}
	else if(mes== 04 || mes==06 || mes==10 || mes==11){if (dia > 30){erro = true;}}
	else if (mes==02){if (dia > 28) {erro = true;}}

	return !erro;
}

function validarEmail(campo)
{
	var value = ((typeof campo.value == "undefined") ? campo : campo.value);
	return (/^[^\s,;]+@([^\s.,;]+\.)+[\w-]{2,}$/i.test(value));
}

function validarCPF(campo)
{
	var value = ((typeof campo.value == "undefined") ? campo : campo.value);
	var s = value;
	var i; 
	var erro = false;
	    
    s = s.replace(".", "");
    s = s.replace(".", "");
    s = s.replace("-", "");
            
	var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
    for (i = 0; i < 9; i++){
        d1 += c.charAt(i)*(10-i);
    }
    if (d1 == 0){     
        erro = true;
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1){
        erro = true;
    }
    d1 *= 2;
    for (i = 0; i < 9; i++){
        d1 += c.charAt(i)*(11-i);
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1){
        erro = true;
    }
            
    if(s == '11111111111'
    || s == '22222222222'
    || s == '33333333333'
    || s == '44444444444'
    || s == '55555555555'
    || s == '66666666666'
    || s == '77777777777'
    || s == '88888888888'
    || s == '99999999999'){
        erro = true;
    }
            
    return !erro;
}

function validarCNPJ(campo)
{
	var value = ((typeof campo.value == "undefined") ? campo : campo.value);
	var CNPJ = value;
	var erro = false;
			
	CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace ("-","");
    CNPJ = CNPJ. replace ("/","");
				
    if (CNPJ.length < 14) erro = true;
            
    var nonNumbers = /\D/;
    if (nonNumbers.test(CNPJ)) erro = true;
    var a = [];
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    for (i=0; i<12; i++){
        a[i] = CNPJ.charAt(i);
        b += a[i] * c[i+1];
    }
    if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
    b = 0;
    for (y=0; y<13; y++) {
        b += (a[y] * c[y]);
    }
    if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
    if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
        erro = true;
    }            
    return !erro;
}

function selecionaAction(pagina, form)
{
	if(!form)
	{
		form = ".form";
	}
	$(form).attr("action", pagina);
	$(form).submit();
}