/*
This script is created by: Kamshory
http://planetbiru.com
*/
function _Left(obj){var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent;}}else if(obj.x)curleft+=obj.x;return curleft;};
function _Top(obj){var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}else if(obj.y)curtop+=obj.y;return curtop;};
function getObjectWidth(elm){var result=0;if(elm.offsetWidth){result=elm.offsetWidth;}else if(elm.clip&&elm.clip.width){result=elm.clip.width;}else if(elm.style&&elm.style.pixelWidth){result=elm.style.pixelWidth;}return parseInt(result);};
function getObjectHeight(elm){var result=0;if(elm.offsetHeight){result=elm.offsetHeight;}else if(elm.clip&&elm.clip.height){result=elm.clip.height;}else if(elm.style&&elm.style.pixelHeight){result=elm.style.pixelHeight;}return parseInt(result);};
this.shiftpressed=0;
this.capspressed=0;
this.objid;
this.kamsvk = {
'keys':[
[["`", "~"], ["1", "!"], ["2", "@"], ["3", "#"], ["4", "$"], ["5", "%"], ["6", "^"], ["7", "&"], ["8", "*"], ["9", "("], ["0", ")"], ["-", "_"], ["=", "+"], ["Bksp", "Bksp"]],
[["Tab", "Tab"], ["q", "Q"], ["w", "W"], ["e", "E"], ["r", "R"], ["t", "T"], ["y", "Y"], ["u", "U"], ["i", "I"], ["o", "O"], ["p", "P"], ["[", "{"], ["]", "}"], ["\\", "|"]],
[["Caps", "Caps"], ["a", "A"], ["s", "S"], ["d", "D"], ["f", "F"], ["g", "G"], ["h", "H"], ["j", "J"], ["k", "K"], ["l", "L"], [";", ":"], ["'", '"'], ["Enter", "Enter"]],
[["Shift", "Shift"], ["z", "Z"], ["x", "X"], ["c", "C"], ["v", "V"], ["b", "B"], ["n", "N"], ["m", "M"], [",", "<"], [".", ">"], ["/", "?"], ["Shift", "Shift"]],
[["&nbsp;", "&nbsp;"],["Close","Close"]]
]
};
function pushbutton(i,j,objid){
this.objid=objid;
var i,j,html='';
var keypressed='';
if(this.kamsvk.keys[i][j][0]=='Caps'){
this.capspressed=(this.capspressed==1)?0:1;
for(i in this.kamsvk.keys){
for(j in this.kamsvk.keys[i]){
if(document.getElementById('kvkbutton_'+i+'_'+j).innerHTML.length==1)
document.getElementById('kvkbutton_'+i+'_'+j).innerHTML=(this.capspressed)?document.getElementById('kvkbutton_'+i+'_'+j).innerHTML.toUpperCase():document.getElementById('kvkbutton_'+i+'_'+j).innerHTML.toLowerCase();
}}}
else if(this.kamsvk.keys[i][j][0]=='Shift'){
this.shiftpressed=(this.shiftpressed==1)?0:1;
for(i in this.kamsvk.keys){
for(j in this.kamsvk.keys[i]){
document.getElementById('kvkbutton_'+i+'_'+j).innerHTML=this.kamsvk.keys[i][j][this.shiftpressed];
}}}
else if(this.kamsvk.keys[i][j][0]=='Tab'){
keypressed="\t";
}
else if(this.kamsvk.keys[i][j][0]=='<'||this.kamsvk.keys[i][j][0]=='&lt;'){
keypressed="<";
}
else if(this.kamsvk.keys[i][j][0]=='>'||this.kamsvk.keys[i][j][0]=='&gt;'){
keypressed="<";
}
else if(this.kamsvk.keys[i][j][0]=='Enter'){
keypressed="\n";
}
else if(this.kamsvk.keys[i][j][0]=='Bksp'){
bkspace(objid);
return 0;
}
else if(this.kamsvk.keys[i][j][0]=='Close'){
document.getElementById(this.objid).focus();
document.getElementById('kamsvk').style.display='none';
}
else if(this.kamsvk.keys[i][j][0]=='&nbsp;'){
keypressed=' ';
}
else{
keypressed=document.getElementById('kvkbutton_'+i+'_'+j).innerHTML;
}
inserttext(keypressed,this.objid);
};

function createvk(obj, hpos, vpos){
var i,j,html='';
this.objid=obj.id;
for(i in this.kamsvk.keys){
for(j in this.kamsvk.keys[i]){
html+='<div class="btnouter" id="btnouter_'+i+'_'+j+'"><div class="kvkbutton" id="kvkbutton_'+i+'_'+j+'" onClick="pushbutton(\''+i+'\',\''+j+'\',\''+this.objid+'\')">'+this.kamsvk.keys[i][j][this.shiftpressed]+'</div></div>';
}
html+='<div class="clear"></div>';
}
document.getElementById('kamsvk-inner').innerHTML=html;
var left=0;
var top=0;
if(hpos=="right"){
left = (_Left(obj)+getObjectWidth(obj)+4);
}
else if(hpos=="left"){
left = (_Left(obj)-374);
}
else
{
left = (_Left(obj)+getObjectWidth(obj)-371);
}
if(vpos=="top"){
top = _Top(obj);
}
else
{
top = (_Top(obj)-124);
}
if(left<0)left=10;
if(top<0)top=10;
document.getElementById('kamsvk').style.left = left+"px";
document.getElementById('kamsvk').style.top = top+"px";
document.getElementById('kamsvk').style.display='block';
};
function bkspace(objid){
this.objid=objid;
document.getElementById(this.objid).focus();
if(document.getElementById(objid).selectionStart||document.getElementById(objid).selectionStart=="0"){
var startPos=document.getElementById(objid).selectionStart;
var endPos=document.getElementById(objid).selectionEnd;
var existing=document.getElementById(objid).value;
if(startPos!=endPos){
document.getElementById(objid).value=existing.substring(0, startPos) + '' + existing.substring(endPos, existing.length);}
else{
document.getElementById(objid).value=document.getElementById(objid).value.substring(0, document.getElementById(objid).value.length-1);
}
}
else{} 
}
function inserttext(text,objid){
if(text=='&lt;') text='<';
if(text=='&gt;') text='>';
if(text=='&nbsp;') text=' ';
try{
document.getElementById(objid).value += text;
}
catch(e){}
}
document.write('<div id="kamsvk"><link rel="stylesheet" href="virtualkeyboard.css" type="text/css"><div id="kamsvk-inner"></div></div>');
