﻿var klavyeKarakterleri = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","Ç","D","E","F","G","Ğ","H","I","İ","J","K","L","M","N","O","Ö","P","Q","R","S","Ş","T","U","Ü","V","W","X","Y","Z", " ");
var toplamElemanSayisi;
var gecerliGirdi = null;
var keypad = null;
var keypadSize = new Object();
var Winx=0;
var Winy=0;
var WinWidth=0;
var WinHeight=0;
var ScrollLeft;
var onayKutusu;
var ScrollTop;
var ob;
var uzerindemi = false;
var eskiAd = "Bos";
var klavyeGorunumu = false;

function tuslariOlustur(){
	for (var i=0;i<toplamElemanSayisi;i++){ var b = document.getElementsByName("but" + i)[0];
	if(b != null)
		b.value = klavyeKarakterleri[b.getAttribute("idx")];
	}
}

function klavyeIleYaz(gelenKarakter)
{
	f=gecerliGirdi;
	if(f.maxLength == null || (f.maxLength != null && f.maxLength == -1) || (f.maxLength != null && f.value.length < f.maxLength))
	{
	    gecerliGirdi.focus();
	    gecerliGirdi.value = gecerliGirdi.value + gelenKarakter;
	}
}

function karakterSil()
{
	gecerliGirdi.focus();
	gecerliGirdi.value = gecerliGirdi.value.substring(0,gecerliGirdi.value.length-1); 
}

function klavyeyiGoster()
{

    var show = false;
    if(onayKutusu != null)
    {
        show = onayKutusu.checked;
    }
    else
    {
        onayKutusu = document.getElementsByName("mcbxSanalKlavye")[0];
        if(onayKutusu != null)
            show = onayKutusu.checked;
    }
    if(show)
    {
        if(eskiAd != gecerliGirdi.name)
		{
		    eskiAd = gecerliGirdi.name;
		    klavyePozisyonunuBelirt();
			keypad.style.visibility="visible";
		}
//
//	    if (document.all && keypad.style.visibility != "visible")
//	    {
//	        klavyePozisyonunuBelirt();
//   		keypad.style.visibility="visible";
//    	}
//    	else if (document.layers && keypad.visibility != "show")
//     	{
//      	    klavyePozisyonunuBelirt();
//	 	    keypad.visibility="show";
//     	}
	 }
}


function klavyeyiSakla()
{
    gecerliGirdi=null;
    eskiAd = "Bos";    
	if (document.layers)
	    keypad.visibility="hidden";
	else
	    keypad.style.visibility="hidden";
}


function objeBoyutunuAl(obj, divsize)
{
	if (document.getElementById || document.all)
	{
	    divsize.top = obj.offsetTop;
	    divsize.left = obj.offsetLeft;
	    var tempObj = obj.offsetParent;
	    while(tempObj.offsetParent)
	    {
    		divsize.top = divsize.top + tempObj.offsetTop;
		    divsize.left = divsize.left + tempObj.offsetLeft;
		    tempObj = tempObj.offsetParent;
	    }
	    divsize.right = divsize.left + parseInt(obj.offsetWidth);
	    divsize.bottom = divsize.top + parseInt(obj.offsetHeight);
	    divsize.width = parseInt(obj.offsetWidth);
	    divsize.height = parseInt(obj.offsetHeight);
	}
	else
	{
		if (document.layers)
		{
		    divsize.top = parseInt(obj.style.top); 
	        divsize.left = parseInt(obj.style.left);
	        divsize.right = divsize.left + parseInt(obj.clip.width); 
            divsize.bottom = divsize.top + parseInt(obj.clip.height);
	        divsize.width = parseInt(obj.clip.width); 
	        divsize.heigt = parseInt(obj.clip.height);
		}
	}
}

function klavyePozisyonunuBelirt()
{
	divElement = document.getElementById("div_keyb");
	if(gecerliGirdi == null)
	{
	    if(document.all)
	    {
    	    with(document.body)
		    {
		        Winx = scrollWidth;
		        Winy = scrollHeight;
		        WinWidth = clientWidth;
		        WinHeight = clientHeight;
		        if (clientWidth > Winx) Winx = clientWidth;
		        if (clientHeight > Winy) Winy = clientHeight;
		        ScrollLeft = scrollLeft;
		        ScrollTop = scrollTop;
		    }
		    if (!document.body.scrollWidth)
		    {
		        Winx = document.body.clientWidth;
			    Winy = document.body.clientHeight;
			    WinWidth = document.body.clientWidth;
			    WinHeight = document.body.clientHeight;
			    ScrollLeft = document.body.scrollLeft;
			    ScrollTop = document.body.scrollTop;
		    }
	    }
	    else if(document.layers)
	    {
	        Winx = document.width;
	        Winy = document.height;
	        WinWidth = window.innerWidth;
	        WinHeight = window.innerHeight;
	        if (window.innerWidth > Winx) Winx = window.innerWidth;
	        if (window.innerHeight > Winy) Winy = window.innerHeight;
	        ScrollLeft = window.pageXOffset;
	        ScrollTop = window.pageYOffset;
	    }
	    else if (document.getElementById)
	    {
		    if (document.height)
		    {
		        Winx = document.width;
	            Winy = document.height;
	            WinWidth = window.innerWidth;
	            WinHeight = window.innerHeight;
	            if (window.innerWidth > Winx) Winx = window.innerWidth;
	            if (window.innerHeight > Winy) Winy = window.innerHeight;
	            ScrollLeft = window.pageXOffset;
	            ScrollTop = window.pageYOffset;
		    }
	    }
	    objeBoyutunuAl(keypad, keypadSize);
	    x = Math.floor((WinWidth - keypadSize.width)) + ScrollLeft;
	    y = Math.floor((WinHeight - keypadSize.height)) + ScrollTop;
	    if(y < 1)
	     y = 200;
	    divElement.style.left= x / 2;
	    divElement.style.top= y / 2;
	}
	else
	{
	    divElement.style.left= findPos(gecerliGirdi)[0] - (gecerliGirdi.clientWidth / 2 + 10);
	    divElement.style.top= findPos(gecerliGirdi)[1] + gecerliGirdi.clientHeight + 5;
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function uzerindeMi(elm1, elm2)
{
	var obj1 = new Object();
	var obj2 = new Object();
	objeBoyutunuAl(elm1, obj1);
	objeBoyutunuAl(elm2, obj2);
	area1 = (obj1.right - obj1.left) * (obj1.bottom - obj1.top);
	area2 = (obj2.right - obj2.left) * (obj2.bottom - obj2.top);
	if(area1 > area2)
	{
		tempElm = elm1;
		elm1 = elm2; 
		elm2 = tempElm;
		objeBoyutunuAl(elm1, obj1);
		objeBoyutunuAl(elm2, obj2);
	}
	if (((obj1.left >= obj2.left) && (obj1.left <= obj2.right) && (obj1.top >= obj2.top) && (obj1.top <= obj2.bottom)) || ((obj1.right >= obj2.left) && (obj1.right <= obj2.right) && (obj1.top >= obj2.top) && (obj1.top <= obj2.bottom)) || ((obj1.left >= obj2.left) && (obj1.left <= obj2.right) && (obj1.bottom >= obj2.top) && (obj1.bottom <= obj2.bottom)) || ((obj1.right >= obj2.left) && (obj1.right <= obj2.right) && (obj1.bottom >= obj2.top) && (obj1.bottom <= obj2.bottom)))  return true;
	return false
}

function fareTiklandiginda(e)
{
	if (uzerindemi)
	{
		if (document.all)
		{
		    ob = document.getElementById("div_keyb");
			ob = ob.style; X=event.offsetX; Y=event.offsetY;
		}
		else 
		{
		    ob = document.getElementById("div_keyb");
			X=e.layerX; Y=e.layerY; 
			return false;
		}
	}
	
}

function fareHareketinde(e)
{
	if (ob)
	{
		if (document.all)
		{
			ob.pixelLeft = event.clientX-X + document.body.scrollLeft; 
			ob.pixelTop = event.clientY-Y + document.body.scrollTop;
			return false;
		}
		else
		{
			ob.style.top = e.pageY-Y;
			ob.style.left = e.pageX-X;
		}
	}
}

function fareBirakildiginde()
{
	ob = null; 
	//if (!document.all) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}

function fareButonunUzerindeyken(buton)
{
	buton.style.cursor='hand';
}

function klavyeyiOlustur(overlapObj, activationObj)
{
	toplamElemanSayisi = klavyeKarakterleri.length;
	keypad = document.getElementById("div_keyb");
	for (i=0; i < activationObj.length; i++)
	{
		activationObj[i].onmouseover = function() { klavyeGorunumu=true;}
		activationObj[i].onmouseout = function() { klavyeGorunumu=false;}
		activationObj[i].onfocus = function()
		{
			gecerliGirdi = this;
			klavyeyiGoster();
		}
	}
	
	tuslariOlustur();
	klavyePozisyonunuBelirt();
	document.onmousedown = fareTiklandiginda;
	document.onmousemove = fareHareketinde;
	document.onmouseup = fareBirakildiginde;
	document.onkeypress = tuslariOlustur;
}