var tecladoativo = 0;
function VerificaTeclado()
{
	if( tecladoativo == 1 )
	{
		$('#Teclado').hide();
		tecladoativo = 0;
	}
}
function AtivaTeclado()
{
	setTimeout(function()
	{
		var w = $('#txtSenha').outerWidth();
		var h = $('#txtSenha').outerHeight();
		var p = $('#txtSenha').offset();
		
		var top = h+p.top;
		var left = p.left;

		$('#Teclado').show().css({top: top+'px', left: left+'px'});
		
		tecladoativo = 1;
	}, 500);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
var ObjCampo;
var Capslock = false;
var ShiftOn = false;

// precache
var TecUp = new Image(219,166);
TecUp = '/imagens/TecUp.jpg';
var TecLow = new Image(219,166);
TecLow = '/imagens/TecLow.gif';

function Teclado(Campo,Left,Top) // Left e Top são opcionais
{
	ObjCampo = Campo;
	var Posicao = '';
	if (Left!=null)
	{
		Posicao += 'left:'+Left+'px; ';
	}
	if (Top!=null)
	{
		Posicao += 'top:'+Top+'px; ';
	}
	
	if (document.getElementById('Teclado')==null) // Evita criar 2 teclados
	{
		window.document.write('<div id="Teclado" style="display:none;position:absolute;'+Posicao+'">'
												 +'  <img id="TecladoImg" src="'+TecLow+'" usemap="#mapa_teclado" border="0" />'
												 +'  <map name="mapa_teclado" >'
												 +'    <area shape="rect" onClick="tecla(\'1\');" coords="07,28,28,47" />'
												 +'		 <area shape="rect" onClick="tecla(\'2\');" coords="28,28,48,47" />'
	
												 +'    <area shape="rect" onClick="tecla(\'3\');" coords="48,28,69,47" />'
												 +'    <area shape="rect" onClick="tecla(\'4\');" coords="69,28,89,47" />'
												 +'    <area shape="rect" onClick="tecla(\'5\');" coords="89,28,109,47" />'
												 +'    <area shape="rect" onClick="tecla(\'6\');" coords="109,28,129,47" />'
												 +'    <area shape="rect" onClick="tecla(\'7\');" coords="129,28,150,47" />'
												 +'    <area shape="rect" onClick="tecla(\'8\');" coords="150,28,170,47" />'
												 +'    <area shape="rect" onClick="tecla(\'9\');" coords="170,28,190,47" />'
												 +'    <area shape="rect" onClick="tecla(\'0\');" coords="190,28,211,47" />'
					
												 +'    <area shape="rect" onClick="tecla(\'q\');" coords="07,47,28,66" />'
												 +'    <area shape="rect" onClick="tecla(\'w\');" coords="28,47,48,66" />'
												 +'    <area shape="rect" onClick="tecla(\'e\');" coords="48,47,69,66" />'
												 +'    <area shape="rect" onClick="tecla(\'r\');" coords="69,47,89,66" />'
												 +'    <area shape="rect" onClick="tecla(\'t\');" coords="89,47,109,66" />'
												 +'    <area shape="rect" onClick="tecla(\'y\');" coords="109,47,129,66" />'
												 +'    <area shape="rect" onClick="tecla(\'u\');" coords="129,47,150,66" />'
												 +'    <area shape="rect" onClick="tecla(\'i\');" coords="150,47,170,66" />'
												 +'    <area shape="rect" onClick="tecla(\'o\');" coords="170,47,190,66" />'
												 +'    <area shape="rect" onClick="tecla(\'p\');" coords="190,47,211,66" />'
							
												 +'    <area shape="rect" onClick="tecla(\'shift\');" coords="07,66,28,85" />'
												 +'    <area shape="rect" onClick="tecla(\'a\');" coords="28,66,48,85" />'
												 +'    <area shape="rect" onClick="tecla(\'s\');" coords="48,66,69,85" />'
												 +'    <area shape="rect" onClick="tecla(\'d\');" coords="69,66,89,85" />'
												 +'    <area shape="rect" onClick="tecla(\'f\');" coords="89,66,109,85" />'
												 +'    <area shape="rect" onClick="tecla(\'g\');" coords="109,66,129,85" />'
												 +'    <area shape="rect" onClick="tecla(\'h\');" coords="129,66,150,85" />'
												 +'    <area shape="rect" onClick="tecla(\'j\');" coords="150,66,170,85" />'
												 +'    <area shape="rect" onClick="tecla(\'k\');" coords="170,66,190,85" />'
												 +'    <area shape="rect" onClick="tecla(\'l\');" coords="190,66,211,85" />'
							
												 +'    <area shape="rect" onClick="tecla(\'caps\');" coords="07,85,48,105" />'
												 +'    <area shape="rect" onClick="tecla(\'z\');" coords="48,85,69,105" />'
												 +'    <area shape="rect" onClick="tecla(\'x\');" coords="69,85,89,105" />'
												 +'    <area shape="rect" onClick="tecla(\'c\');" coords="89,85,109,105" />'
												 +'    <area shape="rect" onClick="tecla(\'v\');" coords="109,85,129,105" />'
												 +'    <area shape="rect" onClick="tecla(\'b\');" coords="129,85,150,105" />'
												 +'    <area shape="rect" onClick="tecla(\'n\');" coords="150,85,170,105" />'
												 +'    <area shape="rect" onClick="tecla(\'m\');" coords="170,85,190,105" />'
												 +'    <area shape="rect" onClick="tecla(\'back\');" coords="190,85,211,105" />'
												 +'  </map>'
												 +'</div>');
	}

	function MouseDrag()
	{	
		var BoxMove = { Start:false, DistX:0, DistY:0, Obj:null };
		
		this.MouseDown = function(e)
		{ 
			var e = e || window.event; // Firefox e Opera || IE
			var Obj = e.target || e.srcElement; // Firefox e Opera || IE
	
			if (Obj.parentNode.id=='Teclado')
			{ 
				BoxMove.Start = true;
				BoxMove.DistX = e.clientX - Obj.parentNode.offsetLeft;
				BoxMove.DistY = e.clientY - Obj.parentNode.offsetTop;
				BoxMove.Obj = Obj;
	
				Obj.onselectstart=function(){return false}; // evita selecionar o titulo no IE
				return false; // evita selecionar o titulo no Firefox e Opera
			}
		}
		
		this.MouseMove = function(e)
		{
			var e = e || window.event; // Firefox e Opera || IE
			if (BoxMove.Start)
			{
				BoxMove.Obj.parentNode.style.left=(e.clientX-BoxMove.DistX)+'px'; 
				BoxMove.Obj.parentNode.style.top=(e.clientY-BoxMove.DistY)+'px'; 
			}
			return !(BoxMove.Start);
			
		}
		
		this.MouseUp = function(e)
		{ 
			var e = e || window.event; // Firefox e Opera || IE
			var Obj = e.target || e.srcElement; // Firefox e Opera || IE
			BoxMove.Start = false;
			BoxMove.Obj = null;
		}
	}
	
	function MouseOver()
	{
		this.MouseOver = function(e)
		{
			var e = e || window.event; // Firefox e Opera || IE
			var Obj = e.target || e.srcElement; // Firefox e Opera || IE
			if (Obj.parentNode.id=='Teclado' && Obj.offsetTop<28)
			{
				Obj.style.cursor = 'move';
			}
		}
		
		this.MouseOut = function(e)
		{
			var e = e || window.event; // Firefox e Opera || IE
			var Obj = e.target || e.srcElement; // Firefox e Opera || IE
			if (Obj.parentNode.id=='Teclado')
			{
				Obj.style.cursor = 'pointer';
			}
		}
	}
		
	var MouseCaption = new MouseDrag();
	document.onmousedown = MouseCaption.MouseDown;
	document.onmousemove = MouseCaption.MouseMove;
	document.onmouseup = MouseCaption.MouseUp;		
	
	var MouseSobre = new MouseOver();
	document.onmouseover = MouseSobre.MouseOver;
	document.onmouseout = MouseSobre.MouseOut;	
	
}

function tecla(Valor)
{
	// Processa as Teclas
	switch (Valor)
	{
		case 'caps' : Capslock = !(Capslock); break;
		case 'back' : ObjCampo.value = ObjCampo.value.substr(0,ObjCampo.value.length-1); break;
		case 'shift' : ShiftOn = true; Capslock = true;	break;				
		default : 
			if (Capslock)
			{
				Valor = Valor.toUpperCase();
			}
			ObjCampo.value += Valor;
			ObjCampo.focus();
			if (ShiftOn)
			{
				ShiftOn = false;
				Capslock = false;
			}
	}
	
	// Alterna imagem do teclado
	var ObjImg = document.getElementById('TecladoImg');
	if (Capslock)
	{
		ObjImg.src = TecUp;
	}
	else
	{
		ObjImg.src = TecLow;
	}			
}
