﻿//global: class serial killer!
var ant;
var ant_keim;
var set_ant;
	window.addEvent('domready',function() {
	var x_k = $('x_k');
	var a_tx = $('ant_txt');
	var sum = $('su');
	var ton = $('tonos');
	var to = $('tof');
	var em = $('emul');
	var a_c = $('ant_c');
	var a_co = $('ant_co');
	var t_w = $('tonos_wr'); //after the keyboard is shown
	var dh = $('dh'); //**
	x_k.focus();
		v = $(document.body).getScrollSize();
		if (v.y-135 > 285)
			x_k.set('styles',{'height':v.y-285});
	var ton_ti = 0;
	var tonos = false;
	var dm_ti = 0;
	var d_m_t = false;
	var dx_ti = 0;
	var d_x_t = false;
	var w = new Array();
	var emu = true;
	w['a']="α"; w['a11a']="ά";
	w['b']="β";
	w['g']="γ";
	w['d']="δ";
	w['e']="ε"; w['e11a']="έ";
	w['z']="ζ";
	w['h']="η"; w['h11a']="ή";
	w['u']="θ";
	w['i']="ι"; w['i11a']="ί"; w['i11b']="ΐ"; w['i11c']="ϊ";
	w['k']="κ";
	w['l']="λ";
	w['m']="μ";
	w['n']="ν";
	w['j']="ξ";
	w['o']="ο"; w['o11a']="ό";
	w['p']="π";
	w['r']="ρ";
	w['s']="σ";
	w['t']="τ";
	w['y']="υ"; w['y11a']="ύ"; w['y11b']="ΰ"; w['y11c']="ϋ";
	w['f']="φ";
	w['x']="χ";
	w['c']="ψ";
	w['v']="ω"; w['v11a']="ώ";
	w['A']="Α"; w['A11a']="Ά";
	w['B']="Β";
	w['G']="Γ";
	w['D']="Δ"; 
	w['E']="Ε"; w['E11a']="Έ";
	w['Z']="Ζ"; 
	w['H']="Η"; w['H11a']="Ή";
	w['U']="Θ";
	w['I']="Ι"; w['I11a']="Ί"; w['I11c']="Ϊ";
	w['K']="Κ";
	w['L']="Λ";
	w['M']="Μ";
	w['N']="Ν";
	w['J']="Ξ";
	w['O']="Ο"; w['O11a']="Ό";
	w['P']="Π";
	w['R']="Ρ";
	w['S']="Σ";
	w['T']="Τ";
	w['Y']="Υ"; w['Y11a']="Ύ"; w['Y11c']="Ϋ";
	w['F']="Φ";
	w['X']="Χ";
	w['C']="Ψ";
	w['V']="Ω"; w['V11a']="Ώ";
	
	w[';']="΄";
	w['w']="ς";
	w['W']="ς";
	w['q']=";";
	w['Q']=";";
	var pith = ['space','`','1','2','3','4','5','6','7','8','9','0','=','[',']',';','\'',',','.','/','~','@','%','^','&','*','(',')','_','+','{','}','|',':','<','>','?'];
	var pos;
	var pressed;
	var aristera;
	var deks;
	var up_ant_txt = function(){
			if(x_k.get('value')=='')
				a_tx.set('styles',{'color':'#8a8a8a'});
			else
				a_tx.set('styles',{'color':'#000'});
	}
	if (Browser.Plugins.Flash.version >= 9)
		up_ant_txt();
	var update = function(){
		sum.set('text',x_k.get('value').length);
	}
	var rem_tonos = function(){
		ton.set('styles',{'color':'#eee'});
		to.set('styles',{'color':'#8a8a8a'});
		ton_ti = 0;
		tonos = false;
	}
	var tog_it = function(){
		txt = em.get('text');
		if (txt == 'Ενεργή')
			{
				emu=false;
				em.set({
					'text':'Ανενεργή',
					'styles':{
						'color':'#c03333'
					}
				});
			}
		else
		{
			emu = true;
			em.set({
					'text':'Ενεργή',
					'styles':{
						'color':'#1392c1'
					}
				});
		}
	}
	var set_ant_c = function(){
		var dims = a_c.getCoordinates();
		a_co.set({
			'styles':{
				'width':dims.width-7,
				'height':dims.height
			}
		});
	}
		set_ant = function(e){
		var start = e.getSelectionStart();
		var end = e.getSelectionEnd();
		if(start!=end)
			{
				ant_keim = e.getSelectedText();
				a_tx.set('text','Αντιγραφή επιλεγμένου κειμένου');
			}
		else
			{
				ant_keim = x_k.get('value');
				a_tx.set('text','Αντιγραφή κειμένου');
			}
		up_ant_txt();
		Swiff.remote(ant,'upKeim',ant_keim);
		var dims = a_c.getCoordinates();
		set_ant_c();
		}	
		update();
		update.periodical(1991);
		x_k.addEvents({
			'keypress': function(event){
				if (Browser.Plugins.Flash.version >= 9)
					(function(){set_ant(x_k)}).delay(5);
				if(emu)
				{
		    	if(event.key==';'||event.code==58)
		    		t_w.set('tween',{duration:250,link:'cancel'}).tween('background-color','#8a8a8a');
		    	if (event.code==59 && event.alt && event.control)
		    		{
		    			event.preventDefault();
		    			d_m_t = true;
		    			dm_ti++;	
		    		}
		    	if (event.code==58 && event.shift)
		    		{
		    			event.preventDefault();
		    			d_x_t = true;
		    			dx_ti++;
		    		}
		    	if (!event.control)
		    		this.fireEvent('kanto',event);
		    }
  		},
  		'kanto': function(z){
  			pressed = z.key;
  			if ((z.code > 64 && z.code < 91))
  				pressed = pressed.toUpperCase();
  			sunolo = this.get('value');
  			var epil = x_k.getSelectedRange();
  			pos = epil.start;
  			aristera = sunolo.substring(0,pos);
  			deks = sunolo.substring(epil.end, sunolo.length);
  			var ena = sunolo.substring(pos-1,pos);
		 			if (w[pressed]!=undefined)
		 			{
		 				$$('.en').each(function(e){
		 					if(e.get('text')==pressed.toUpperCase())
		 						{
		 							var a = e.getParent();
		 							a.set('tween',{duration:250,link:'cancel'}).tween('background-color','#8a8a8a');
		 						}
		 				});
		 				var gram = w[pressed];
		 				var can = true;
		 				var foc = 1;
		 				if (d_x_t && dx_ti >=1)
		 					{
		 						if (w[pressed+'11c']!=undefined)
		 							{
				 						foc=1;
					 					gram=w[pressed+'11c'];
		 							}
				 				else
				 					{
		 								foc=2;
		 								gram='¨'+w[pressed];
		 							}
		 						d_x_t = false;
		 						dx_ti = 0;
			 				}
		 				if (d_m_t && dm_ti >=1)
		 					{
		 						if (w[pressed+'11b']!=undefined)
		 						{
		 							foc=1;
		 							gram=w[pressed+'11b'];
		 						}
		 						else
		 							{
		 								foc=2;
		 								gram='΅'+w[pressed];
		 							}
		 						d_m_t = false;
		 						dm_ti = 0;
		 					}
						if (tonos)
								ton_ti++;
		 				if (w[pressed]=="΄" && !d_x_t)
			 				{
			 					can=false;
			 					tonos=true;
			 					ton.set('styles',{'color':'#bddbfd'});
			 					to.set('styles',{'color':'#000'});
			 				}
			 			if (ton_ti == 1)
			 				{
			 					ton.set('styles',{'color':'#eee'});
			 					to.set('styles',{'color':'#8a8a8a'});
			 					can = true;
		 							if(w[pressed+'11a']!=undefined)
		 								gram = w[pressed+'11a'];
		 							else
		 								{
		 									gram = '΄'+w[pressed];
		 									foc = 2;
		 								}
			 					ton_ti = 0;
			 					tonos = false;
			 				}
		 					z.preventDefault();
		 				if (can && emu)
		 					{
		 						var fir_scrol = x_k.getScroll();
		 						x_k.set('value',aristera+gram+deks);
		 						x_k.selectRange(pos+foc,pos+foc);
		 						if (Browser.Engine.gecko)
		 							x_k.scrollTo(0,fir_scrol.y);
		 					}
		 			}
		 			else
		 				{
		 					if (d_m_t)
				 				{
				 					if (dm_ti >= 2)
				 						{
				 							z.preventDefault();
				 							foc=2;
				 							gram='¨¨';
				 							dm_ti = 0;
				 						}
				 					if (dm_ti == 1)
				 						{
				 							if (z.key=='backspace')
				 								{
				 									d_m_t = false;
				 									dm_ti = 0;
				 								}
				 							else
				 								{
				 									pith.each(function(i){
				 										if (z.key=='space')
						 									{
						 										z.preventDefault();
						 										foc=1;
				 												gram='¨';
				 												dm_ti=0;
				 											}
				 										else if (z.key == i && z.key != ':')
				 											{
						 										z.preventDefault();
						 										foc=2;
				 												gram='¨'+i;
				 												dm_ti=0;
				 											}
				 									});
				 								}
				 						}
				 					if (d_m_t && foc >=1)
		 								{
			 								var fir_scrol = x_k.getScroll();
		 									x_k.set('value',aristera+gram+deks);
		 									x_k.selectRange(pos+foc,pos+foc);
		 									if (Browser.Engine.gecko)
			 									x_k.scrollTo(0,fir_scrol.y);
			 							}
				 				}
		 					if (d_x_t)
				 				{
				 					if (dx_ti >= 2)
				 						{
				 							z.preventDefault();
				 							foc=2;
				 							gram='¨¨';
				 							dx_ti = 0;
				 						}
				 					if (dx_ti == 1)
				 						{
				 							if (z.key=='backspace')
				 								{
				 									d_x_t = false;
				 									dx_ti = 0;
				 								}
				 							else
				 								{
				 									pith.each(function(i){
				 										if (z.key=='space')
						 									{
						 										z.preventDefault();
						 										foc=1;
				 												gram='¨';
				 												dx_ti=0;
				 											}
				 										else if (z.key == i && z.key != ':')
				 											{
						 										z.preventDefault();
						 										foc=2;
				 												gram='¨'+i;
				 												dx_ti=0;
				 											}
				 									});
				 								}
				 						}
				 					if (d_x_t && foc >=1)
		 								{
			 								var fir_scrol = x_k.getScroll();
		 									x_k.set('value',aristera+gram+deks);
		 									x_k.selectRange(pos+foc,pos+foc);
		 									if (Browser.Engine.gecko)
			 									x_k.scrollTo(0,fir_scrol.y);
			 							}
				 				}
		 					if(tonos)
		 						{
		 							pith.each(function(i){
		 							if (z.key == i)
		 								{
		 									rem_tonos();
		 									z.preventDefault();
		 									if(z.key=='space')
		 										{
		 											gram='΄'; // +\u0020
		 											foc = 1
		 										}
		 									else
		 										{
		 											gram='΄'+i;
		 											foc=2;
		 										}
		 									var fir_scrol = x_k.getScroll();
		 									x_k.set('value',aristera+gram+deks);
		 									x_k.selectRange(pos+foc,pos+foc);
		 									if (Browser.Engine.gecko)
		 										x_k.scrollTo(0,fir_scrol.y);
		 								}
		 							else if (z.key == 'backspace')
		 								rem_tonos();
		 							});
		 						}
		 					//'#','$','-','!','"' : hmmm
		 				}
		 		update();
  		},
  		'keyup':function(z){
  			//alert(z.code);
  			update();
  			$$('.en').each(function(e){
  				if(z.key==';'||z.code==58)
	    			t_w.set('tween',{duration:250,link:'cancel'}).tween('background-color','#4c4c4c');
		 			if(e.get('text')==z.key.toUpperCase())
		 				{
		 					var b = e.getParent();
		 					b.set('tween',{duration:250,link:'cancel'}).tween('background-color','#4c4c4c');
		 				}
		 		});
  		},
  		'keydown':function(){
  			if (Browser.Plugins.Flash.version >= 9)
					(function(){set_ant(x_k)}).delay(5);
			},
  		'mouseup':function(){
  			if (Browser.Plugins.Flash.version >= 9)
					(function(){set_ant(x_k)}).delay(5);
  		}
  	});

  	em.addEvents({
  		'click':function(e){tog_it(); e.preventDefault();},
  		'keypress':function(e){
  			if(e.key=='space')
  				tog_it();
  		}
  	});
  	
  	var meg = $(document.body).getScrollSize();
  	
  	function getheight(){
			z = $(document.body).getScrollSize();
			return z.y-15-52+"px"
		}
		
		function getwidth(){
			z = $(document.body).getScrollSize();
			return z.x+"px"
		}
		
		$(document.body).addEvents({
			'mouseenter':function(){
				dh.set({
					'styles':{
						'top':15,
						'width':50,
						'height':50
					}
				}).set({
					'styles':{
						'top':15,
						'width':getwidth(),
						'height':getheight()
					}
				});
			}
		});

		$('keyboard').set({
			'styles':{
				'top':meg.y-270+"px",
				'left':meg.x-935+"px"
			}
		})

		dh.set({
					'styles':{
						'top':15,
						'width':getwidth(),
						'height':getheight()
				}
		});

		var move = new Drag.Move($('keyboard'),{snap:4, container:'dh'}).detach();
		$('metak').addEvents({
		'mousedown':function(){
			 move.attach();
		},
		'mouseup':function(){
			 move.detach();
		},
		'mouseleave':function(){
			 move.detach();
		}
		});
		
		var kb = 0;
		
		var schange = function(ac,ev){
			ev.preventDefault();
			var z = x_k.getSize();
			if (ac=='incr')
			{
				x_k.tween('height',z.y+74);
			}
			else
			{
				if(z.y >= 76)
					x_k.tween('height',z.y-74);
			}
		}
		
		if(!Browser.Engine.webkit)
		{
			$('sin').set('text','+')
			$('sin').addEvents({
				'click':function(e){
					schange("incr",e);
				},
				'keypress':function(z){
					if (z.key=='space')
						schange("incr",z);
				}
			});
			$('pli').set('text','–')
			$('pli').addEvents({
				'click':function(z){
					schange("d",z);
				},
				'keypress':function(z){
					if (z.key=='space')
						schange("d",z);
				}
			});
		}
		if (Browser.Plugins.Flash.version >= 9)
			{
				set_ant_c();
				var dims = a_c.getCoordinates();
				ant = new Swiff('ant.swf',{
						id:'ant',
						vars:{
							keim:x_k.get('value')
						},
						width:'100%',
						height:'100%',
						container:a_co
				}).toElement();
			}
			else
				{
					a_c.set('text','');
					//$('af').set('text','');
				}
	});