var vFocus;
var vScreenName;
var myobj;
var vForm;
var kaykayTimer;
var kaySleepTime = 100;
var myTimer;
var waitTime = 1500;
var onObj
var onPad=false;
var ov = new Array(100);
var X, Y ;
var bGizle = false;
var keyClick = "P";  // P = Press M= Mouse
var dragging=false;
var obj, kayObj;
var direction = "toRight" ;
var over=false; 
var keypadVisible=false;
var keypadClose=false; 
var thisBrowser; 
var kaygan=false;
var verdir=0;
var hordir=0;
var keypadLanguage="TR";

var mix = false ;
var bharf = false ;
var parola = "";

var myTopOffset  = 100;
var myLeftOffset = 250;
var myTopRange   = 100;
var myLeftRange  = 250;

// Browser Detect  v2.1.6
// documentation: http://www.dithered.com/javascript/browser_detect/index.html

function BrowserHawk() {
   var ua = navigator.userAgent.toLowerCase(); 

   // browser engine name
   this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);

   // browser name
   this.isKonqueror   = (ua.indexOf('konqueror') != -1); 
   this.isSafari      = (ua.indexOf('safari') != - 1);
   this.isOmniweb     = (ua.indexOf('omniweb') != - 1);
   this.isOpera       = (ua.indexOf('opera') != -1); 
   this.isIcab        = (ua.indexOf('icab') != -1); 
   this.isAol         = (ua.indexOf('aol') != -1); 
   this.isIE          = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); 
   this.isMozilla     = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isFirebird    = (ua.indexOf('firebird/') != -1);
   this.isNS          = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
   
   // spoofing and compatible browsers
   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
   
   // rendering engine versions
   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
   this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 );
   
   // browser version
   this.versionMinor = parseFloat(navigator.appVersion); 
   
   // correct version number
   if (this.isGecko && !this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
   } else if (this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
   } else if (this.isIE && this.versionMinor >= 4) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
   } else if (this.isKonqueror) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
   } else if (this.isSafari) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );
   } else if (this.isOmniweb) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) );
   } else if (this.isOpera) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) );
   } else if (this.isIcab) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) );
   }
   
   this.versionMajor = parseInt(this.versionMinor); 
   
   // dom support
   this.isDOM1 = (document.getElementById);
   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
   
   // css compatibility mode
   this.mode = document.compatMode ? document.compatMode : 'BackCompat';

   // platform
   this.isWin    = (ua.indexOf('win') != -1);
   this.isWin32  = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
   this.isMac    = (ua.indexOf('mac') != -1);
   this.isUnix   = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
   this.isLinux  = (ua.indexOf('linux') != -1);
   
   // speuser_kuladiic browser shortcuts
   this.isNS4x = (this.isNS && this.versionMajor == 4);
   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
   this.isNS4up = (this.isNS && this.versionMinor >= 4);
   this.isNS6x = (this.isNS && this.versionMajor == 6);
   this.isNS6up = (this.isNS && this.versionMajor >= 6);
   this.isNS7x = (this.isNS && this.versionMajor == 7);
   this.isNS7up = (this.isNS && this.versionMajor >= 7);
   
   this.isIE4x = (this.isIE && this.versionMajor == 4);
   this.isIE4up = (this.isIE && this.versionMajor >= 4);
   this.isIE5x = (this.isIE && this.versionMajor == 5);
   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   this.isIE5up = (this.isIE && this.versionMajor >= 5);
   this.isIE6x = (this.isIE && this.versionMajor == 6);
   this.isIE6up = (this.isIE && this.versionMajor >= 6);
   
   this.isIE4xMac = (this.isIE4x && this.isMac);
}

function setDir() {
  verdir = Math.floor(Math.random()*2);
  hordir = Math.floor(Math.random()*2);
}

function randomPlace() {

	var mydiv;
	var ty,lx;
	
	ty = myTopOffset  + Math.floor(Math.random() * myTopRange);
        lx = myLeftOffset + Math.floor(Math.random() * myLeftRange);
         
	mydiv = document.getElementById("mypad");
	mydiv = mydiv.style;
		
	if (thisBrowser.isIE) {
		mydiv.pixelLeft = lx;
		mydiv.pixelTop  = ty ;			
	} else {
	   mydiv.left = lx;
     mydiv.top  = ty;
	}
	
}


function toggle() {
  
   if (mix) {
      mix = false;
	  
	  if (keypadLanguage=="TR")
	    document.num_form.Karistir.value="Karıştır";
	  else
  	  document.num_form.Karistir.value="Shuffle";

   } else {
      mix = true;
 	  
	  if (keypadLanguage=="TR")
  	  document.num_form.Karistir.value="Sabitle";
	  else
 	    document.num_form.Karistir.value="Fixed";
		 
	  ScrambleBoth();
   }
   
}

function onMyPad() {
   onPad=true;
}

function outMyPad() {
   onPad=false;
   if (kaygan) {
     setDir(); 
     kaykay();
   } 
}

function browserDetect() {
  
   var nf;
   var fe;

   thisBrowser = new BrowserHawk()
  
   //sadece windows üzerinde ve internet explorer 6 ve üzerinde kayması için
   if (thisBrowser.isIE6up && thisBrowser.isWin) {
      //kaygan=true;
      kaygan=false; 
   } else {
      kaygan=false;
	    //document.num_form.BirKarakterSil.value="<<";
   }
   
   if (thisBrowser.isMac) {
      nf=document.num_form;
      for (i=0;i<nf.elements.length;i++){
        fe = nf.elements[i];
        if (  fe.name != "pClick" & fe.name != "Karistir"  && fe.name != "BüyükHarf" && fe.name != "kapat" && fe.name != "Sil") {
	        nf.elements[i].style.width = "30px";
	      }
      }
   }
         
}

function hideKeypad() {
   if (keypadVisible) {
     document.getElementById("mypad").style.visibility="hidden";
     keypadVisible=false;     
     if (kaykayTimer) 
        clearTimeout(kaykayTimer);
   }
}


function ClickRadio(obj) {   
	if (obj.checked)  { 
    keyClick = "P" ;
	} else {
	   keyClick="M";
	}
}

function showKeypad(sanal_this) {    
  
  parola = sanal_this.name;
  
   if ( isEngelli() )
	  return;
 
   if (!keypadVisible) {
      keypadVisible=true;
	  //randomPlace();
      document.getElementById("mypad").style.visibility="visible";
      
      //check box değerini al
      ClickRadio(document.num_form.pClick);
                                                
      for (i=0;i<document.num_form.pClick.length;i++){
       if (document.num_form.pClick[i].checked) {
        keyClick=document.num_form.pClick[i].value; break;
       }
      }      
      if (kaygan) {
        setDir(); 
        kaykay();
      } 
   }
   
}

function kaykay() {
  	if (keypadVisible && !onPad )
  	{
		kayObj = document.getElementById("mypad");
		kayObj = kayObj.style;
		
		if (hordir==1) {
  	  kayObj.pixelLeft = kayObj.pixelLeft + 1;
			if ( kayObj.pixelLeft + 300 > 800)
			  hordir = 0;
    } else {
  	  kayObj.pixelLeft = kayObj.pixelLeft - 1;
			if ( kayObj.pixelLeft < 0)
			hordir = 1;
		}
		   
		if (verdir==1) {
  	  kayObj.pixelTop = kayObj.pixelTop + 1;
			if ( kayObj.pixelTop + 150 > 500)
			verdir = 0;
		} else {
  	  kayObj.pixelTop = kayObj.pixelTop - 1;
			if ( kayObj.pixelTop < 0)
			  verdir = 1;
		}
	
	  kaykayTimer = setTimeout("kaykay()", kaySleepTime );
			
	} else {
	
	   if (kaykayTimer) 
      clearTimeout(kaykayTimer);
	  
	}
	
}

function startDrag(e) {
	
  if (over) {
    browserDetect();
		dragging = true;
		obj = document.getElementById("mypad");
		obj = obj.style;
		if (thisBrowser.isIE) {
			X = event.clientX-obj.pixelLeft;
			Y = event.clientY-obj.pixelTop;			
		} else {
			X = e.clientX-parseInt(obj.left);
			Y = e.clientY-parseInt(obj.top);
		}
	}
	
}

function drag(e) {

	if (obj) {
    browserDetect();
	  if (dragging)	{
		  if (thisBrowser.isIE) {
			  obj.pixelTop = event.clientY-Y;
			  obj.pixelLeft = event.clientX-X;			
		  } else {
			  obj.left = parseInt(e.clientX)-X;
			  obj.top = parseInt(e.clientY)-Y;
		  }
		  return false;
	  }	
  }  

}

function endDrag() {
	obj = null;
	dragging=false;
}

document.onmousedown = startDrag; 
document.onmousemove = drag; 
document.onmouseup = endDrag;

function Gizle(){
  
  var nf;
  var fe;
  
  nf=document.num_form;
  
  for (i=0;i<nf.elements.length;i++){
    fe = nf.elements[i];
    if (  fe.name != "pClick" && fe.name != "kapat" && fe.name != "Sil" && fe.name != "BirKarakterSil" && fe.name != "Karistir"  && fe.name != "BüyükHarf" ) {
	    ov[i] = nf.elements[i].value;
	    nf.elements[i].value=" ";
	  }
  }
  
  bGizle=true;
}



function unGizle(){
  var nf;
  var fe;
  
  if (bGizle) {
  
  nf=document.num_form;
  
  for (i=0;i<nf.elements.length;i++){
    fe = nf.elements[i];
    if ( fe.name != "pClick" && fe.name != "kapat" && fe.name != "Sil" && fe.name != "BirKarakterSil" && fe.name != "Karistir"  && fe.name != "BüyükHarf" ) {
	    nf.elements[i].value=ov[i];
	  }
  }
   
   bGizle = false;
   
   if (mix) 
    ScrambleBoth();
	  
  }
  
}

function omover(btnobj) {
  if (keyClick=="M") {
    onObj=btnobj;
    myTimer = setTimeout("mc(onObj)", waitTime);
  }
}


function omout(btnobj) {   
  if (keyClick=="M")  {
	if (myTimer) 
    clearTimeout(myTimer);
	  unGizle();
  }
}

/* -------------------------------------------------------------------------------------------------- */

function myFocus(frm,obj) {
  vForm=frm;
  myobj=obj;
  myobj.select();
}

function BoslukSil(vString) {

   if (typeof vString != "string") { return vString; }
   var rv = vString;
   var ch = rv.substring(0, 1);
   while (ch == " ") {
      rv = rv.substring(1, rv.length);
      ch = rv.substring(0, 1);
   }
   ch = rv.substring(rv.length-1, rv.length);
   while (ch == " ") {
      rv = rv.substring(0, rv.length-1);
      ch = rv.substring(rv.length-1, rv.length);
   }
   while (rv.indexOf("  ") != -1) {
      rv = rv.substring(0, rv.indexOf("  ")) + rv.substring(rv.indexOf("  ")+1, rv.length);
   }
   return rv;
}

function  mc(pObj){
    
	if (myobj.value.length < myobj.maxLength) {
	   myobj.value = myobj.value + BoslukSil(pObj.value);
	   Gizle();
     myobj.focus();
	} else {
	   if (keypadLanguage=="TR")
	    alert("Maximum uzunluğa eriştiniz!");
 	   else
		  alert("You reached to the maximum number of characters limit!");
	}
	
 }


 
function wc(pObj){

  if (keyClick=="M") {
	  if (keypadLanguage=="TR")
	    alert("Lütfen mouse ile harf/rakam üzerinde bekleyerek giriş yapınız.\n\nTıklayarak giriş yapmak istiyorsanız lütfen e-Üniversite Sanal Klavye \npenceresindeki \"Tuşlar Üzerine Tıklayarak Giriş\" seçeneğini seçiniz.");
	  else
		  alert("Please, hold your mouse over the button without pressing and wait for a while to enter your password!");		  
	   return;
	} 
  
	if (myobj.value.length < myobj.maxLength) {
	   myobj.value = myobj.value + BoslukSil(pObj.value);	
	   if (mix) 
      ScrambleBoth();       
	   myobj.focus();
  } else {
	   if (keypadLanguage=="TR")
	      alert("Maximum uzunluğa eriştiniz!");
	   else
		  alert("You reached to the maximum number of characters limit!");
	}
	
 }

function HarfKaristir(){
  var digits = "n0n1n2n3n4n5n6n7n8n9";
  var vRandomNum;
  var vTemp;
  var nf;
  nf=document.num_form;
  
  for (i=0;i<nf.elements.length;i++){
    fe = nf.elements[i];
    if ( (digits.indexOf(fe.name) == -1) && fe.name != "pClick" && fe.name != "kapat" && fe.name != "Sil" && fe.name != "BirKarakterSil" && fe.name != "Karistir" && fe.name != "BüyükHarf") {
	    vRandomNum = 1+ Math.floor(Math.random()*7);
      vTemp = fe.value;
      fe.value=nf.elements[vRandomNum].value;
      nf.elements[vRandomNum].value = vTemp;
    }
  }
}

function harfDegis() {

  if (bharf) {
    bharf=false;
	  document.num_form.BüyükHarf.value="Büyük Harf";
  } else {
    bharf=true;
	  document.num_form.BüyükHarf.value="Küçük Harf";
  }
  
  var buyukharf = "ABCDEFGHIJKLMNOPQRSTUVWYZX";
  var kucukharf = "abcdefghijklmnopqrstuvwyzx";
  var digits = "n0n1n2n3n4n5n6n7n8n9";
  var nf,vd,iz=0;             
		
  nf=document.num_form;
		
  for (i=0;i<nf.elements.length;i++){
     fe = nf.elements[i];
     var ix=buyukharf.indexOf(fe.name);
     if ( (ix != -1) ) {
      vd = BoslukSil(nf.elements[i].value);
      if (bharf) {
        iz = kucukharf.indexOf(vd);
        vd = buyukharf.substr(iz,1);
      } else {
        iz = buyukharf.indexOf(vd);
        vd=kucukharf.substr(iz,1)
      }
      nf.elements[i].value = " "+vd+" "; 
     }
   }
  
}

function RakamKaristir(){

  var nmap = new Array(10,11,12,22,23,24,33,34,35,40);
  var digits = "n0n1n2n3n4n5n6n7n8n9";
  var vRandomNum;
  var vTemp;
  var nf;             
		
  nf=document.num_form;
		
  for (i=0;i<nf.elements.length;i++){
     fe = nf.elements[i];
     if ( (digits.indexOf(fe.name) != -1) ) {
       vRandomNum = Math.floor(Math.random()*9);
       vTemp = fe.value;
       fe.value=nf.elements[nmap[vRandomNum]].value; 
       nf.elements[nmap[vRandomNum]].value = vTemp; 
     }
   }
}

function ScrambleBoth(){
    HarfKaristir();
    RakamKaristir();
}

function  CharDelete(NumOfChar){
    if (NumOfChar==1) {
      myobj.value = "";
    } else{
      if (myobj.value.length>0)
         myobj.value = myobj.value.substring(0,myobj.value.length-1);
    }
    myobj.focus();
}

function OpenKeyPadExp() {
    window.open("IntMain.KeyPadExplanation", "KeyPadExp", "scrollbars=1,resizable=0,status=0,width=500,height=450");
}

function OpenKeyPadExpKurumsal() {
    window.open("TbsMain.KeyPadExplanation", "KeyPadExp", "scrollbars=1,resizable=0,status=0,width=500,height=450");
}

function keyAlert() {

   if ( isEngelli() )
      return true;
	  
   if (keypadLanguage=="TR")
 	   alert("Parola/Şifre girerken lütfen Sanal Klavye'yi kullanınız.");
	else
    alert("You should use e-keyboard to enter your password!");
	   
	return false;
}


function isEngelli() {
  var userForm;
  var userCode;

  if (document.signupForm) {
    userForm=document.signupForm; 
  } else if (document.eKocbankPassChg) {
    userForm=document.eKocbankPassChg; 
  } else {
    return false;
  }

  if (userForm.user_kuladi) {
    userCode=userForm.user_kuladi.value; 
  } else {
    return false;
  }
   
   if ( (userCode=="IQ00583107") || (userCode=="iq00583107") ) {
    if (userForm.elements[parola]) 
      userForm.elements[parola].readOnly=false;	   
      return true;   
   } else {
	  if (userForm.elements[parola]) 
	    userForm.elements[parola].readOnly=true;	   
	    return false;   
   }

}