var MaxLengthCampo = 0;
var CampoActivo = null; 
var CriarAlerta = false;
var browser = new Browser();
var ArrastarObj = new Object();

function Browser() {
    var userAgent, tipoBrowser, i;
    this.isIE = false;
    this.isNS = false;
    this.version = null;

    userAgent = navigator.userAgent;
    tipoBrowser = "MSIE";
    if ((i = userAgent.indexOf(tipoBrowser)) >= 0) {
        this.isIE = true;
        this.version = parseFloat(userAgent.substr(i + tipoBrowser.length));
        return;
    }
    tipoBrowser = "Netscape6/";
    if ((i = userAgent.indexOf(tipoBrowser)) >= 0) {
        this.isNS = true;
        this.version = parseFloat(userAgent.substr(i + tipoBrowser.length));
        return;
    }
}


function CampoFocus(input, maxLength) {
    CampoActivo = input;
    MaxLengthCampo = maxLength;

    teclado.style.display = '';
}

function VerificaTecla(ev) {
    if ( ev.keyCode == 9 || ev.keyCode == 8 || ev.keyCode == 46 ) {
        CriarAlerta = true;
        AlertError();
        return false;
    }
    return true;
}

function AlertError() {
    alert('Para sua segurança, utilize o teclado virtual');
}


function AdicionarValor(tecla, idCampo) {
    if (CampoActivo != null) {
        if (MaxLengthCampo > 0 && CampoActivo.value.length >= MaxLengthCampo) {
            alert('Campo com o máximo de ' + MaxLengthCampo + ' dígitos');
        } else {
            CampoActivo.value += tecla;
            CampoActivo.focus();
            if (MaxLengthCampo > 0 && CampoActivo.value.length >= MaxLengthCampo) {
                if (CampoActivo.name == idCampo ) {
                    el = document.getElementById(idCampo);
                    
                    if ( el!=null ) {
                        el.focus();
                    }
                }
            }
        }
    }
}

function AdicionarValorAgentes(tecla)
{
    if (CampoActivo != null)
    	CampoActivo.value += tecla;
}

function Limpar() {
    if (CampoActivo != null) {
        CampoActivo.value = '';
    }
}

function Corrigir() {
    if (CampoActivo != null) {
		var comp,campo;
		comp=CampoActivo.value.length;
        CampoActivo.value = CampoActivo.value.substring(0,comp-1);
        }
}

function dragTeclado(event, id) {
  var el;
  var x, y;

  if (id)
    ArrastarObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      ArrastarObj.elNode = window.event.srcElement;
    if (browser.isNS)
      ArrastarObj.elNode = event.target;

    if (ArrastarObj.elNode.nodeType == 3)
      ArrastarObj.elNode = ArrastarObj.elNode.parentNode;
 }

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  ArrastarObj.cursorStartX = x;
  ArrastarObj.cursorStartY = y;
  ArrastarObj.elStartLeft  = parseInt(ArrastarObj.elNode.style.left, 10);
  ArrastarObj.elStartTop   = parseInt(ArrastarObj.elNode.style.top,  10);

  if (isNaN(ArrastarObj.elStartLeft)) ArrastarObj.elStartLeft = 0;
  if (isNaN(ArrastarObj.elStartTop))  ArrastarObj.elStartTop  = 0;

  ArrastarObj.elNode.style.zIndex = ++ArrastarObj.elNode.style.zIndex;

  if (browser.isIE) {
    document.attachEvent("onmousemove", ArrastarTecladoGo);
    document.attachEvent("onmouseup",   ArrastarTecladoStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", ArrastarTecladoGo,   true);
    document.addEventListener("mouseup",   ArrastarTecladoStop, true);
    event.preventDefault();
  }
}

function ArrastarTecladoGo(event) {
  var x, y;

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  ArrastarObj.elNode.style.left = (ArrastarObj.elStartLeft + x - ArrastarObj.cursorStartX) + "px";
  ArrastarObj.elNode.style.top  = (ArrastarObj.elStartTop  + y - ArrastarObj.cursorStartY) + "px";
  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function ArrastarTecladoStop(event) {
  if (browser.isIE) {
    document.detachEvent("onmousemove", ArrastarTecladoGo);
    document.detachEvent("onmouseup",   ArrastarTecladoStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", ArrastarTecladoGo,   true);
    document.removeEventListener("mouseup",   ArrastarTecladoStop, true);
  }
}

//NETVASP

var key0 = '0';
var key1 = '1';
var key2 = '2';
var key3 = '3';
var key4 = '4';
var key5 = '5';
var key6 = '6';
var key7 = '7';
var key8 = '8';
var key9 = '9';

var bAlertRaiseda = false;

function handleTaba(ev) {
	//se for um tab
	if ( (ev.keyCode == 9 || // tab
		 ev.keyCode == 8 ||  // backspace
		 ev.keyCode == 46) && !bAlertRaiseda) { // delete
		alert("Utilize o rato");
		el = document.getElementById('DUMMY_LINK');
		el.focus();
		return false;
	}
	bAlertRaiseda = false;
	return true;
}

var maxFieldLengtha = 8;

function checkKeyCodea(ev) {
	if ( ev.keyCode == 9 ) { // tab
		bAlertRaiseda = true;
		msgKeyboarda();
		return false;
	}
	else if (ev.keyCode == 8 ||  // backspace
		 ev.keyCode == 46) { // delete
		bAlertRaiseda = true;
		msgKeyboardadel();
		return false;
	}
	return true;
}

function msgKeyboarda() {
	alert("Para sua segurança, utilize o teclado virtual");
}

function typea(key) {
	if (CampoActivo != null) {
		if (maxFieldLengtha > 0 && CampoActivo.value.length >= maxFieldLengtha) {
			alert("Não pode inserir mais do que " + maxFieldLengtha + " caracteres");
		} else {
			CampoActivo.value += key;
		}
	}
}
