var isIE = document.all;
var WarningDiv;

function ShowWarning(elementID)
{
	doShow(WarningDiv);		
	if (isIE){
	    WarningDiv.innerText = msgCaplock;
	}else{
	    WarningDiv.textContent = msgCaplock;
	}

	MoveDiv2(elementID);
}

function HideWarning()
{
    if(WarningDiv!=null)
    {
	    WarningDiv.innerText = '';
	    doHide(WarningDiv);
	}
}

function MoveDiv2(elementID)
{
	var element = document.getElementById(elementID);
	var offset = element.value.length*8 + 20;
	
	if (isIE)
	{
	    WarningDiv.style.top = document.body.scrollTop + element.getBoundingClientRect().top + 5;
	    WarningDiv.style.left = document.body.scrollLeft + element.getBoundingClientRect().left + offset;
	}
	else
	{
	    var x = document.body.scrollLeft + document.getBoxObjectFor(element).x + offset;
	    var y = document.body.scrollTop + document.getBoxObjectFor(element).y + 5;
	    WarningDiv.style.top = y + 'px';
	    WarningDiv.style.left = x + 'px';
	}
}

function checkInput(e)
{
    if (!WarningDiv)
    {
        WarningDiv = document.createElement('div');
        WarningDiv.setAttribute('id', 'WarningDiv');
        document.body.appendChild(WarningDiv);
    }
	checkCapsLock(e);
}

function checkCapsLock(e) {
    var targetID = isIE ? e.srcElement.id : e.target.id;
    
	var myKeyCode=0;
	var myShiftKey=false;
	
	// Internet Explorer 4+
	if ( document.all ) {
	myKeyCode = e.keyCode;
	myShiftKey = e.shiftKey;

	// Netscape 4
	} else if ( document.layers ) {
	myKeyCode = e.which;
	myShiftKey=( myKeyCode == 16 ) ? true : false;

	// Netscape 6
	} else if ( document.getElementById ) {
	myKeyCode = e.which;
	myShiftKey = ( myKeyCode == 16 ) ? true : false;
	}

	if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
		ShowWarning(targetID);
	} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
		ShowWarning(targetID);
	}
	else 
	{
	    var tmp = isIE ? WarningDiv.innerText : WarningDiv.textContent;
	    if(tmp == msgCaplock)
	    {
		    HideWarning();
	    }
	}
 }
 
function doShow(element)
{
	element.style.display = 'block';
}

function doHide(element)
{
	element.style.display = 'none';
}

function bindWarningEvent(textboxID)
{
    var textbox = document.getElementById(textboxID);
    if( textbox.addEventListener ) 
    {
        textbox.addEventListener('keypress', checkInput, false);
        textbox.addEventListener('onblur', HideWarning, false);
    } 
    else if( textbox.attachEvent ) 
    {
        textbox.attachEvent('onkeypress', checkInput);
        textbox.attachEvent('onblur', HideWarning);
        
    }
}