var Help={
	show:function(node,title,text,e){
		Balloon.create();
		compono.appendClassName("balloon-helper",Balloon.base);
		Balloon.show(node,{title:title,body:node.innerHTML},e);
		node.onmouseout = this.hide;
	},
	hide:function(e){
		Balloon.hide(this,e,function(){
			compono.removeClassName("balloon-helper",Balloon.base);
		});
	},
	maskDt:function(e,act)
	{
		//Mascara: calendar
		//S/Mascara: calendar -blank
		
		oTxt  = e;
		
		if (act == 'focus')
		{
			//Foco : remove mascara inicial
			compono.appendClassName('calendar-blank',oTxt);
		}
		else
		{
			if (oTxt.value == '')
			{
				//Existe valor : remove mascara inicial
				compono.removeClassName('calendar-blank',oTxt);
				
			}
			else
			{
				//No existe valor : add mascara inicial
				compono.appendClassName('calendar-blank',oTxt);
			}
		}
	},
	dtTypeFormat:function(evt,o)
	{
		
		var keypress=(window.event)?event.keyCode:evt.which;
		
		if (o.value == '00-00-0000')
		{
			o.value=""
		}

		chars = '0123456789';
		sep1 = '-';
		cj1 = 2;
		cj2 = 5;

		if (keypress == 0 || keypress == 8)
			return;
		
		if ((chars.indexOf(String.fromCharCode (keypress))>=0) && o.value.length < (19))
		{
			if (o.value.length == cj1 )
			o.value = o.value + sep1;
			else if (o.value.length == cj2)
			o.value = o.value + sep1;
		}
		else
			return false;

	},
	autoCompletYear:function(o, vb)
	{
		dt = o.value.split('-');
		day =  dt[0];
		month = dt[1];
		year = dt[2];
		
		if (year != null && year.length== 2)
		{
			year = vb + year;
			o.value = day + '-' + month + '-' + year;
		}
		ValidatorOnChange(o.id);	
	},
	validateUserCardNumber:function(val,value)
	{
		var usrCrdNmb = value;
		var pref = usrCrdNmb.substring(0,3); //Prefixo do numero
		var crdBody = usrCrdNmb.substring(0,12); //Corpo de validao (12 posies inicias)
		var dver = usrCrdNmb.substring(12,13); //Verificador final (13 posio) - resultado da funo deve ser igual a esse digito
		var x = 0; //Resultado do calculo do primeiro lao
		var x2 = 0; //Resultado do calculo do segundo lao
		
		var crdBody = crdBody.split("");
		
		//** Nao obrigatorio
		if (usrCrdNmb == "")
			return true;
		
		//** Valida prefixo
		if (pref != "185")
			return false;
			
		//** Lao 1 : intercala a partir da posio 1
		for (var i=1; i<12; i+=2)
			x += eval(crdBody[i]);
		x*=3;
		
		//** Lao 2 : intercala a partir da posio 0
		for (var i=0; i<12; i+=2)
			x2 += eval(crdBody[i]);
		x += x2;
		
		//** Calculo digito verificador obtido
		x2 = 10 - (x % 10);
		
		//** True se verificador obtido igual 13 digito ou se o verificador obtido seja 10, false caso contrario
		if ((x2 == dver) || (x2 == 10))
			return true;
		else
			return false;	
		
	}
}
